修复API接口使用

pull/368/head
midoks 2 years ago
parent 918ea8d0f9
commit 048bd573e8
  1. 3
      class/core/config_api.py
  2. 40
      class/core/mw.py
  3. 2
      class/core/ssh_terminal.py
  4. 4
      plugins/webssh/index.py

@ -649,7 +649,6 @@ class config_api:
def getPanelTokenApi(self): def getPanelTokenApi(self):
api_file = self.__api_addr api_file = self.__api_addr
tmp = mw.readFile(api_file) tmp = mw.readFile(api_file)
if not os.path.exists(api_file): if not os.path.exists(api_file):
ready_data = {"open": False, "token": "", "limit_addr": []} ready_data = {"open": False, "token": "", "limit_addr": []}
@ -668,7 +667,7 @@ class config_api:
token = mw.getRandomString(32) token = mw.getRandomString(32)
data['token'] = mw.md5(token) data['token'] = mw.md5(token)
data['token_crypt'] = mw.enCrypt( data['token_crypt'] = mw.enCrypt(
data['token'], token).decode('utf-8') data['token'], token)
mw.writeFile(api_file, json.dumps(data)) mw.writeFile(api_file, json.dumps(data))
data['token'] = "***********************************" data['token'] = "***********************************"

@ -580,7 +580,7 @@ def enCrypt(key, strings):
# 加密字符串 # 加密字符串
try: try:
import base64 import base64
_key = md5(key).encode('utf-8') _key = key.encode('utf-8')
_key = base64.urlsafe_b64encode(_key) _key = base64.urlsafe_b64encode(_key)
if type(strings) != bytes: if type(strings) != bytes:
@ -596,6 +596,44 @@ def enCrypt(key, strings):
def deCrypt(key, strings): def deCrypt(key, strings):
# 解密字符串
try:
import base64
_key = key.encode('utf-8')
_key = base64.urlsafe_b64encode(_key)
if type(strings) != bytes:
strings = strings.encode('utf-8')
from cryptography.fernet import Fernet
f = Fernet(_key)
result = f.decrypt(strings).decode('utf-8')
return result
except:
print(getTracebackInfo())
return strings
def enDoubleCrypt(key, strings):
# 加密字符串
try:
import base64
_key = md5(key).encode('utf-8')
_key = base64.urlsafe_b64encode(_key)
if type(strings) != bytes:
strings = strings.encode('utf-8')
import cryptography
from cryptography.fernet import Fernet
f = Fernet(_key)
result = f.encrypt(strings)
return result.decode('utf-8')
except:
print(getTracebackInfo())
return strings
def deDoubleCrypt(key, strings):
# 解密字符串 # 解密字符串
try: try:
import base64 import base64

@ -320,7 +320,7 @@ class ssh_terminal:
def getSshInfo(self, file): def getSshInfo(self, file):
rdata = mw.readFile(file) rdata = mw.readFile(file)
destr = mw.deCrypt('mdserver-web', rdata) destr = mw.enDoubleCrypt('mdserver-web', rdata)
return json.loads(destr) return json.loads(destr)
def setAttr(self, sid, info): def setAttr(self, sid, info):

@ -110,7 +110,7 @@ class App():
def getSshInfo(self, file): def getSshInfo(self, file):
rdata = mw.readFile(file) rdata = mw.readFile(file)
destr = mw.deCrypt('mdserver-web', rdata) destr = mw.enDoubleCrypt('mdserver-web', rdata)
return json.loads(destr) return json.loads(destr)
def get_server_by_host(self): def get_server_by_host(self):
@ -199,7 +199,7 @@ class App():
if not os.path.exists(dst_host_dir): if not os.path.exists(dst_host_dir):
os.makedirs(dst_host_dir) os.makedirs(dst_host_dir)
enstr = mw.enCrypt('mdserver-web', json.dumps(info)) enstr = mw.enDoubleCrypt('mdserver-web', json.dumps(info))
mw.writeFile(dst_host_dir + '/info.json', enstr) mw.writeFile(dst_host_dir + '/info.json', enstr)
return mw.returnJson(True, '添加成功!') return mw.returnJson(True, '添加成功!')

Loading…
Cancel
Save