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
+4 -4
View File
@@ -307,7 +307,7 @@ class main(databaseBase):
elif n == 0:
return public.returnMsg(False, public.lang("Sync failed"))
return public.returnMsg(True,'DATABASE_SYNC_SUCCESS',(str(n),))
return public.returnMsg(True,'Database sync success',(str(n),))
#添加到服务器
def ToDataBase(self,find):
@@ -351,7 +351,7 @@ class main(databaseBase):
if not dbname in nameArr:
if sql.table('databases').add('name,username,password,accept,ps,addtime,type,sid,db_type',(dbname,dbname,'','',public.getMsg('INPUT_PS'),time.strftime('%Y-%m-%d %X',time.localtime()),'SQLServer',self.sid,db_type)): n +=1
return public.returnMsg(True,'DATABASE_GET_SUCCESS',(str(n),))
return public.returnMsg(True,'Database success',(str(n),))
def ResDatabasePassword(self,args):
"""
@@ -378,8 +378,8 @@ class main(databaseBase):
#修改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'],))
public.WriteLog("TYPE_DATABASE",'Database password success',(find['name'],))
return public.returnMsg(True,'Database password success',(find['name'],))
def get_root_pwd(self,args):