mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-08-30 11:49:48 +02:00
90 lines
3.1 KiB
Python
90 lines
3.1 KiB
Python
#coding: utf-8
|
|
# +-------------------------------------------------------------------
|
|
# | 宝塔Linux面板
|
|
# +-------------------------------------------------------------------
|
|
# | Copyright (c) 2015-2017 宝塔软件(http://bt.cn) All rights reserved.
|
|
# +-------------------------------------------------------------------
|
|
# | Author: 阿良 <287962566@qq.com>
|
|
# +-------------------------------------------------------------------
|
|
#
|
|
# ┏┓ ┏┓
|
|
# ┏┛┻━━━━━━┛┻┓
|
|
# ┃ ☃ ┃
|
|
# ┃ ┳┛ ┗┳ ┃
|
|
# ┃ ┻ ┃
|
|
# ┗━┓ ┏━┛
|
|
# ┃ ┗━━━┓
|
|
# ┃ 神兽保佑 ┣┓
|
|
# ┃ 永无BUG! ┏┛
|
|
# ┗┓┓┏━┳┓┏━━━┛
|
|
# ┃┫┫ ┃┫┫
|
|
# ┗┻┛ ┗┻┛
|
|
#
|
|
#+------------------------------
|
|
#| RESTful API控制器
|
|
#+------------------------------
|
|
import public,os
|
|
from json import loads,dumps
|
|
class panelApi:
|
|
tokenFile = 'data/token.json'
|
|
|
|
#获取Token
|
|
def GetToken(self,get):
|
|
if not os.path.exists(self.tokenFile): return public.returnMsg(False,'NOT_TURNON_API')
|
|
if os.path.exists(self.tokenFile): self.CreateToken(get);
|
|
token = loads(public.readFile(self.tokenFile))
|
|
return token;
|
|
|
|
#设置Token
|
|
def SetToken(self,get):
|
|
if not os.path.exists(self.tokenFile): return public.returnMsg(False,'NOT_TURNON_API')
|
|
token = loads(public.readFile(self.tokenFile))
|
|
|
|
#设置AK/SK
|
|
if hasattr(get,'access_key'):
|
|
token['access_key'] = get.access_key
|
|
token['secret_key'] = get.secret_key
|
|
|
|
#设置权限
|
|
if hasattr(get,'rule'):
|
|
token['rule'] = get.rule.split(',')
|
|
|
|
#设置IP白名单
|
|
if hasattr(get,'address'):
|
|
token['address'] = get.address.split(',')
|
|
|
|
|
|
public.writeFile(self.tokenFile,dumps(token))
|
|
public.WriteLog('API','EDIT_API');
|
|
return public.returnMsg(True,'SET_SUCCESS')
|
|
|
|
#初始化API接口
|
|
def CreateToken(self,get):
|
|
token = {}
|
|
token['access_key'] = public.GetRandomString(24)
|
|
token['secret_key'] = public.GetRandomString(48)
|
|
token['rule'] = []
|
|
token['address'] = []
|
|
token['status'] = False
|
|
public.writeFile(self.tokenFile,dumps(token))
|
|
public.WriteLog('API','TURNON_API')
|
|
return public.returnMsg(True,'INIT_API')
|
|
|
|
#设置API接口状态
|
|
def SetTokenStatus(self,get):
|
|
if not os.path.exists(self.tokenFile): return public.returnMsg(False,'NOT_TURNON_API')
|
|
token = loads(public.readFile(self.tokenFile))
|
|
if token['status']:
|
|
token['status'] = False
|
|
public.WriteLog('API','SET_API_STATUS',"关闭");
|
|
else:
|
|
token['status'] = True
|
|
public.WriteLog('API','SET_API_STATUS',"开启");
|
|
|
|
public.writeFile(self.tokenFile,dumps(token))
|
|
return public.returnMsg(True,'SET_SUCCESS')
|
|
|
|
|
|
|
|
|
|
|