add sspanelv3 interface, read the 'method' row
This commit is contained in:
parent
51bd3fcea0
commit
c7864acc37
4 changed files with 20 additions and 8 deletions
|
@ -1,7 +1,7 @@
|
|||
# Config
|
||||
TRANSFER_MUL = 1.0
|
||||
NODE_ID = 1
|
||||
API_INTERFACE = 'sspanelv2' #sspanelv2, muapiv2
|
||||
API_INTERFACE = 'sspanelv2' #sspanelv2, sspanelv3, muapiv2
|
||||
|
||||
# Mysql
|
||||
MYSQL_HOST = 'mdss.mengsky.net'
|
||||
|
|
|
@ -124,6 +124,10 @@ class DbTransfer(object):
|
|||
|
||||
port = row['port']
|
||||
passwd = common.to_bytes(row['passwd'])
|
||||
cfg = {}
|
||||
for name in ['method', 'obfs', 'protocol']:
|
||||
if name in row:
|
||||
cfg[name] = row[name]
|
||||
|
||||
if port not in cur_servers:
|
||||
cur_servers[port] = passwd
|
||||
|
@ -140,12 +144,12 @@ class DbTransfer(object):
|
|||
#password changed
|
||||
logging.info('db stop server at port [%s] reason: password changed' % (port,))
|
||||
ServerPool.get_instance().cb_del_server(port)
|
||||
new_servers[port] = passwd
|
||||
new_servers[port] = (passwd, cfg)
|
||||
|
||||
elif allow and ServerPool.get_instance().server_run_status(port) is False:
|
||||
#new_servers[port] = passwd
|
||||
logging.info('db start server at port [%s] pass [%s]' % (port, passwd))
|
||||
ServerPool.get_instance().new_server(port, passwd)
|
||||
ServerPool.get_instance().new_server(port, passwd, cfg)
|
||||
|
||||
for row in last_rows:
|
||||
if row['port'] in cur_servers:
|
||||
|
@ -158,9 +162,9 @@ class DbTransfer(object):
|
|||
from shadowsocks import eventloop
|
||||
DbTransfer.get_instance().event.wait(eventloop.TIMEOUT_PRECISION)
|
||||
for port in new_servers.keys():
|
||||
passwd = new_servers[port]
|
||||
passwd, cfg = new_servers[port]
|
||||
logging.info('db start server at port [%s] pass [%s]' % (port, passwd))
|
||||
ServerPool.get_instance().new_server(port, passwd)
|
||||
ServerPool.get_instance().new_server(port, passwd, cfg)
|
||||
|
||||
@staticmethod
|
||||
def del_servers():
|
||||
|
|
|
@ -106,7 +106,7 @@ class ServerPool(object):
|
|||
return False
|
||||
return True
|
||||
|
||||
def new_server(self, port, password):
|
||||
def new_server(self, port, password, user_config):
|
||||
ret = True
|
||||
port = int(port)
|
||||
ipv6_ok = False
|
||||
|
@ -117,6 +117,7 @@ class ServerPool(object):
|
|||
return 'this port server is already running'
|
||||
else:
|
||||
a_config = self.config.copy()
|
||||
a_config.update(user_config)
|
||||
if len(a_config['server_ipv6']) > 2 and a_config['server_ipv6'][0] == "[" and a_config['server_ipv6'][-1] == "]":
|
||||
a_config['server_ipv6'] = a_config['server_ipv6'][1:-1]
|
||||
a_config['server'] = a_config['server_ipv6']
|
||||
|
@ -145,6 +146,7 @@ class ServerPool(object):
|
|||
return 'this port server is already running'
|
||||
else:
|
||||
a_config = self.config.copy()
|
||||
a_config.update(user_config)
|
||||
a_config['server_port'] = port
|
||||
a_config['password'] = password
|
||||
a_config['max_connect'] = 128
|
||||
|
|
|
@ -1,6 +1,12 @@
|
|||
from configloader import load_config, get_config
|
||||
|
||||
def getKeys():
|
||||
return ['port', 'u', 'd', 'transfer_enable', 'passwd', 'enable' ]
|
||||
#return ['port', 'u', 'd', 'transfer_enable', 'passwd', 'enable', 'plan' ] # append the column name 'plan'
|
||||
load_config()
|
||||
key_list = ['port', 'u', 'd', 'transfer_enable', 'passwd', 'enable' ]
|
||||
if get_config().API_INTERFACE == 'sspanelv3':
|
||||
key_list += ['method']
|
||||
return key_list
|
||||
#return key_list + ['plan'] # append the column name 'plan'
|
||||
|
||||
def isTurnOn(row):
|
||||
return True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue