Update to v7.37.0

1. Added: USDT payment method (please contact customer service via email for payment)
2. Added: Russian language support
3. Added: Domains - Provider List added PorkBun, NameSilo
4. Added: Domains - SSL Certificate - Added Business Certificate
5. Added: Domains - SSL Certificate - Apply for SSL added file verification
6. Added: Setting - Panel SSL added file verification
7. Added: WP Toolkit - Create site with auto DNS resolution
8. Added: FTP - Log and Log analytics support for Ubuntu and Debian
9. Added: Website/WP Toolkit option to choose whether to create default HTML file when adding sites
10. Added: Automatic Daemon tasks: Nginx, Apache, FTP, Redis, MySQL, Memcached, etc.
11. Added: Brute force protection compatible with 2 log formats
12. Optimized: Brute force protection history records now display in reverse chronological order
13. Optimized: Brute force protection settings added unblock time notification for IP blocking configuration
14. Optimized: Website/WP Toolkit SSL interface
15. Optimized: Cron automatic backup with retry mechanism for remote uploads
16. Optimized: Pay interface
17. Fixed: Temporary login Fixed blank page issue
18. Fixed: Mail Server Fixed missing MX record auto-configuration issue
19. Fixed: Node projects occasionally failing to retrieve running status
20. Fixed: Issue where Account could not be confirmed after editing in some cases
21. Fixed #225
This commit is contained in:
Jack
2025-05-23 19:30:26 +08:00
parent 8eadc94c98
commit e65107a251
1039 changed files with 32561 additions and 11040 deletions
+7 -7
View File
@@ -504,8 +504,8 @@ class main(databaseBase, panelPgsql):
elif n == 0:
# return public.returnMsg(False, public.lang("Sync failed"))
return public.return_message(-1, 0, public.lang("Sync failed"))
# return public.returnMsg(True, 'DATABASE_SYNC_SUCCESS', (str(n),))
return public.return_message(0, 0, public.lang("DATABASE_SYNC_SUCCESS {}", n))
# return public.returnMsg(True, 'Database sync success', (str(n),))
return public.return_message(0, 0, public.lang("Database sync success {}", n))
def ToDataBase(self, find):
"""
@@ -563,8 +563,8 @@ class main(databaseBase, panelPgsql):
dbname, dbname, '', '', public.getMsg('INPUT_PS'), time.strftime('%Y-%m-%d %X', time.localtime()),
'pgsql', self.sid, db_type)): n += 1
# return public.returnMsg(True, 'DATABASE_GET_SUCCESS', (str(n),))
return public.return_message(0, 0, public.lang("DATABASE_GET_SUCCESS {}", n))
# return public.returnMsg(True, 'Database success', (str(n),))
return public.return_message(0, 0, public.lang("Database success {}", n))
def ResDatabasePassword(self, args):
"""
@@ -593,9 +593,9 @@ class main(databaseBase, panelPgsql):
# 修改SQLITE
public.M('databases').where("id=?", (id,)).setField('password', newpassword)
public.WriteLog("TYPE_DATABASE", 'DATABASE_PASS_SUCCESS', (find['name'],))
# return public.returnMsg(True, 'DATABASE_PASS_SUCCESS', (find['name'],))
return public.return_message(0, 0, public.lang("DATABASE_PASS_SUCCESS {}", find['name'],))
public.WriteLog("TYPE_DATABASE", 'Database password success', (find['name'],))
# return public.returnMsg(True, 'Database password success', (find['name'],))
return public.return_message(0, 0, public.lang("Database password success {}", find['name'],))
def get_root_pwd(self, args):
"""