diff --git a/plugins/shadowsocks/ico.png b/plugins/shadowsocks/ico.png
deleted file mode 100644
index 444bdbb8c..000000000
Binary files a/plugins/shadowsocks/ico.png and /dev/null differ
diff --git a/plugins/shadowsocks/index.html b/plugins/shadowsocks/index.html
deleted file mode 100755
index 2990129f1..000000000
--- a/plugins/shadowsocks/index.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
\ No newline at end of file
diff --git a/plugins/shadowsocks/index.py b/plugins/shadowsocks/index.py
deleted file mode 100755
index ba69484b1..000000000
--- a/plugins/shadowsocks/index.py
+++ /dev/null
@@ -1,195 +0,0 @@
-# coding:utf-8
-
-import sys
-import io
-import os
-import time
-import shutil
-
-sys.path.append(os.getcwd() + "/class/core")
-import mw
-
-app_debug = False
-if mw.isAppleSystem():
- app_debug = True
-
-
-def getPluginName():
- return 'shadowsocks'
-
-
-def getPluginDir():
- return mw.getPluginDir() + '/' + getPluginName()
-
-
-def getServerDir():
- return mw.getServerDir() + '/' + getPluginName()
-
-
-def getArgs():
- args = sys.argv[2:]
- tmp = {}
- args_len = len(args)
-
- if args_len == 1:
- t = args[0].strip('{').strip('}')
- t = t.split(':')
- tmp[t[0]] = t[1]
- elif args_len > 1:
- for i in range(len(args)):
- t = args[i].split(':')
- tmp[t[0]] = t[1]
-
- return tmp
-
-
-def checkArgs(data, ck=[]):
- for i in range(len(ck)):
- if not ck[i] in data:
- return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!'))
- return (True, mw.returnJson(True, 'ok'))
-
-
-def status():
- cmd = "ps -ef|grep ssserver |grep -v grep | awk '{print $2}'"
- data = mw.execShell(cmd)
- if data[0] == '':
- return 'stop'
- return 'start'
-
-
-def start():
- path = getPathFile()
- shell_cmd = 'ssserver -c ' + path + ' -d start'
-
- data = mw.execShell(shell_cmd)
-
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def stop():
- path = getPathFile()
- shell_cmd = 'ssserver -c ' + path + ' -d stop'
-
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def restart():
- path = getPathFile()
- shell_cmd = 'ssserver -c ' + path + ' -d restart'
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def reload():
- path = getPathFile()
- shell_cmd = 'ssserver -c ' + path + ' -d restart'
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def getPathFile():
- return getServerDir() + '/shadowsocks.json'
-
-
-def getInitDTpl():
- path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl"
- return path
-
-
-def initDreplace():
-
- file_tpl = getInitDTpl()
- service_path = os.path.dirname(os.getcwd())
-
- initD_path = getServerDir() + '/init.d'
- if not os.path.exists(initD_path):
- os.mkdir(initD_path)
- file_bin = initD_path + '/' + getPluginName()
-
- # initd replace
- content = mw.readFile(file_tpl)
- content = content.replace('{$SERVER_PATH}', service_path)
- mw.writeFile(file_bin, content)
- mw.execShell('chmod +x ' + file_bin)
-
- return file_bin
-
-
-def getInitDFile():
- if app_debug:
- return '/tmp/' + getPluginName()
- return '/etc/init.d/' + getPluginName()
-
-
-def initdStatus():
- if not app_debug:
- if mw.isAppleSystem():
- return "Apple Computer does not support"
- initd_bin = getInitDFile()
- if os.path.exists(initd_bin):
- return 'ok'
- return 'fail'
-
-
-def initdInstall():
- import shutil
- if not app_debug:
- if mw.isAppleSystem():
- return "Apple Computer does not support"
-
- source_bin = initDreplace()
- initd_bin = getInitDFile()
- shutil.copyfile(source_bin, initd_bin)
- mw.execShell('chmod +x ' + initd_bin)
- mw.execShell('chkconfig --add ' + getPluginName())
- return 'ok'
-
-
-def initdUinstall():
- if not app_debug:
- if mw.isAppleSystem():
- return "Apple Computer does not support"
-
- mw.execShell('chkconfig --del ' + getPluginName())
- initd_bin = getInitDFile()
- os.remove(initd_bin)
- return 'ok'
-
-
-def getLog():
- return '/var/log/shadowsocks.log'
-
-if __name__ == "__main__":
- func = sys.argv[1]
- if func == 'status':
- print(status())
- elif func == 'start':
- print(start())
- elif func == 'stop':
- print(stop())
- elif func == 'restart':
- print(restart())
- elif func == 'reload':
- print(reload())
- elif func == 'conf':
- print(getPathFile())
- elif func == 'initd_status':
- print(initdStatus())
- elif func == 'initd_install':
- print(initdInstall())
- elif func == 'initd_uninstall':
- print(initdUinstall())
- elif func == 'run_log':
- print(getLog())
- else:
- print('error')
diff --git a/plugins/shadowsocks/info.json b/plugins/shadowsocks/info.json
deleted file mode 100755
index ac4e49ccc..000000000
--- a/plugins/shadowsocks/info.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "title":"shadowsocks",
- "tip":"soft",
- "name":"shadowsocks",
- "type":"运行环境",
- "ps":"shadowsocks",
- "versions":"1.0",
- "shell":"install.sh",
- "checks":"server/shadowsocks",
- "author":"midoks",
- "home":"https://github.com/shadowsocks/shadowsocks",
- "date":"2020-06-02",
- "pid": "5"
-}
\ No newline at end of file
diff --git a/plugins/shadowsocks/init.d/shadowsocks.tpl b/plugins/shadowsocks/init.d/shadowsocks.tpl
deleted file mode 100755
index 9fb194df4..000000000
--- a/plugins/shadowsocks/init.d/shadowsocks.tpl
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-# chkconfig: 2345 55 25
-# description: shadowsocks Service
-
-### BEGIN INIT INFO
-# Provides: shadowsocks
-# Required-Start: $all
-# Required-Stop: $all
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-# Short-Description: starts shadowsocks
-# Description: starts the shadowsocks
-### END INIT INFO
-
-ROOT_PATH={$SERVER_PATH}
-
-p_start(){
- isStart=$(ps -ef | grep shadowsocks | grep -v grep | grep -v 'init.d' | grep -v 'service' | awk '{print $2}')
- if [ "$isStart" == "" ];then
- echo -e "Starting shadowsocks... \c"
-
-
- ssserver -c $ROOT_PATH/shadowsocks/shadowsocks.json -d start
- sleep 0.3
- isStart=$(ps -ef | grep shadowsocks | grep -v grep | grep -v 'init.d' | grep -v 'service' | awk '{print $2}')
- if [ "$isStart" == '' ];then
- echo -e "\033[31mError: shadowsocks service startup failed.\033[0m"
- return;
- fi
-
- echo -e "\033[32mdone\033[0m"
- else
- echo "Starting shadowsocks(pid $isStart) already running"
- fi
-}
-
-p_stop(){
- echo -e "Stopping shadowsocks... \c";
- pids=$(ps -ef | grep shadowsocks | grep -v grep | grep -v 'init.d' | grep -v 'service' | awk '{print $2}')
- arr=($pids)
-
- for p in ${arr[@]}
- do
- kill -9 $p
- done
- echo -e "\033[32mdone\033[0m"
-}
-
-
-case "$1" in
- start)
- p_start
- ;;
- stop)
- p_stop
- ;;
- restart|reload)
- p_stop
- sleep 0.3
- p_start
- ;;
- *)
- echo "Please use start or stop as first argument"
- ;;
-esac
-
diff --git a/plugins/shadowsocks/install.sh b/plugins/shadowsocks/install.sh
deleted file mode 100755
index 0d19637bf..000000000
--- a/plugins/shadowsocks/install.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
-export PATH
-
-
-curPath=`pwd`
-rootPath=$(dirname "$curPath")
-rootPath=$(dirname "$rootPath")
-serverPath=$(dirname "$rootPath")
-
-
-install_tmp=${rootPath}/tmp/mw_install.pl
-
-SYSOS=`uname`
-
-Install_shadowsocks()
-{
- isStart=""
- echo '正在安装脚本文件...' > $install_tmp
- mkdir -p $serverPath/shadowsocks
- echo '1.0' > $serverPath/shadowsocks/version.pl
-
- pip install shadowsocks
- cat $curPath/tmp/shadowsocks.json > $serverPath/shadowsocks/shadowsocks.json
-
- echo 'install complete' > $install_tmp
-}
-
-Uninstall_shadowsocks()
-{
- rm -rf $serverPath/shadowsocks
- echo "Uninstall completed" > $install_tmp
-}
-
-action=$1
-if [ "${1}" == 'install' ];then
- Install_shadowsocks
-else
- Uninstall_shadowsocks
-fi
diff --git a/plugins/shadowsocks/js/shadowsocks.js b/plugins/shadowsocks/js/shadowsocks.js
deleted file mode 100755
index ebfaed948..000000000
--- a/plugins/shadowsocks/js/shadowsocks.js
+++ /dev/null
@@ -1,92 +0,0 @@
-function str2Obj(str){
- var data = {};
- kv = str.split('&');
- for(i in kv){
- v = kv[i].split('=');
- data[v[0]] = v[1];
- }
- return data;
-}
-
-function lpPost(method,args,callback, title){
-
- var _args = null;
- if (typeof(args) == 'string'){
- _args = JSON.stringify(str2Obj(args));
- } else {
- _args = JSON.stringify(args);
- }
-
- var _title = '正在获取...';
- if (typeof(title) != 'undefined'){
- _title = title;
- }
-
- var loadT = layer.msg(_title, { icon: 16, time: 0, shade: 0.3 });
- $.post('/plugins/run', {name:'shadowsocks', func:method, args:_args}, function(data) {
- layer.close(loadT);
- if (!data.status){
- layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']});
- return;
- }
-
- if(typeof(callback) == 'function'){
- callback(data);
- }
- },'json');
-}
-
-function lpAsyncPost(method,args){
- var _args = null;
- if (typeof(args) == 'string'){
- _args = JSON.stringify(str2Obj(args));
- } else {
- _args = JSON.stringify(args);
- }
-
- var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 });
- return syncPost('/plugins/run', {name:'l2tp', func:method, args:_args});
-}
-
-function userList(){
- lpPost('user_list', '' ,function(data){
- var rdata = $.parseJSON(data['data']);
-
- if (!rdata['status']){
- layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']});
- return;
- }
- var list = rdata['data'];
-
- var con = '';
- con += '';
- con += '';
- con += '用户 | ';
- con += '密码 | ';
- con += '操作(添加) | ';
- con += '
';
-
- con += '';
-
- for (var i = 0; i < list.length; i++) {
- con += ''+
- '' + list[i]['user']+' | ' +
- '' + list[i]['pwd']+' | ' +
- '改密|删除 |
';
- }
-
- con += '';
- con += '
';
-
- $(".soft-man-con").html(con);
- });
-}
-
-
-
-function readme(){
- var readme = '';
- readme += '- 需开放配置文件[port_password]端口
';
- readme += '
';
- $('.soft-man-con').html(readme);
-}
diff --git a/plugins/shadowsocks/tmp/shadowsocks.json b/plugins/shadowsocks/tmp/shadowsocks.json
deleted file mode 100644
index bee3aff58..000000000
--- a/plugins/shadowsocks/tmp/shadowsocks.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "server":"0.0.0.0",
- "local_address":"127.0.0.1",
- "local_port":1080,
- "port_password": {
- "30008": "123123123"
- },
- "timeout":300,
- "method":"aes-256-cfb",
- "fast_open":true,
- "workers":5
-}
\ No newline at end of file