diff --git a/plugins/v2ray/ico.png b/plugins/v2ray/ico.png
deleted file mode 100644
index b5047906b..000000000
Binary files a/plugins/v2ray/ico.png and /dev/null differ
diff --git a/plugins/v2ray/index.html b/plugins/v2ray/index.html
deleted file mode 100755
index 821690d51..000000000
--- a/plugins/v2ray/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
\ No newline at end of file
diff --git a/plugins/v2ray/index.py b/plugins/v2ray/index.py
deleted file mode 100755
index d8d1102a7..000000000
--- a/plugins/v2ray/index.py
+++ /dev/null
@@ -1,173 +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 'v2ray'
-
-
-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 v2ray |grep -v grep | grep -v 'mdserver-web'| awk '{print $2}'"
- data = mw.execShell(cmd)
- if data[0] == '':
- return 'stop'
- return 'start'
-
-
-def start():
-
- shell_cmd = 'service ' + getPluginName() + ' start'
- data = mw.execShell(shell_cmd)
-
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def stop():
- shell_cmd = 'service ' + getPluginName() + ' stop'
-
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def restart():
- shell_cmd = 'service ' + getPluginName() + ' restart'
- data = mw.execShell(shell_cmd)
-
- log_file = getLog()
- if os.path.exists(log_file):
- clear_log_cmd = "echo '' > " + log_file
- mw.execShell(clear_log_cmd)
-
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def reload():
- shell_cmd = 'service ' + getPluginName() + ' reload'
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'ok'
- return data[1]
-
-
-def getPathFile():
- if mw.isAppleSystem():
- return getServerDir() + '/config.json'
- return '/usr/local/etc/v2ray/config.json'
-
-
-def getInitDFile():
- if app_debug:
- return '/tmp/' + getPluginName()
- return '/etc/init.d/' + getPluginName()
-
-
-def initdStatus():
- shell_cmd = 'systemctl status v2ray.service | grep loaded | grep "enabled;"'
- data = mw.execShell(shell_cmd)
- if data[0] == '':
- return 'fail'
- return 'ok'
-
-
-def initdInstall():
- import shutil
- if not app_debug:
- if mw.isAppleSystem():
- return "Apple Computer does not support"
-
- mw.execShell('systemctl enable ' + getPluginName())
- return 'ok'
-
-
-def initdUinstall():
- if not app_debug:
- if mw.isAppleSystem():
- return "Apple Computer does not support"
-
- mw.execShell('systemctl disable ' + getPluginName())
- return 'ok'
-
-
-def getLog():
- return '/var/log/v2ray/access.log'
-
-
-def getErrLog():
- return '/var/log/v2ray/error.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())
- elif func == 'error_log':
- print(getErrLog())
- else:
- print('error')
diff --git a/plugins/v2ray/info.json b/plugins/v2ray/info.json
deleted file mode 100755
index 3998b0d9f..000000000
--- a/plugins/v2ray/info.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "title":"v2ray",
- "tip":"soft",
- "name":"v2ray",
- "type":"运行环境",
- "ps":"v2ray",
- "versions":"1.0",
- "shell":"install.sh",
- "checks":"server/v2ray",
- "path": "server/v2ray",
- "author":"midoks",
- "home":"https://github.com/v2ray/v2ray-core",
- "date":"2020-06-08",
- "pid": "5"
-}
\ No newline at end of file
diff --git a/plugins/v2ray/install.sh b/plugins/v2ray/install.sh
deleted file mode 100755
index 4711b0ac7..000000000
--- a/plugins/v2ray/install.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/bash
-PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
-export PATH
-
-# case1 https://toutyrater.github.io/advanced/wss_and_web.html
-
-
-curPath=`pwd`
-rootPath=$(dirname "$curPath")
-rootPath=$(dirname "$rootPath")
-serverPath=$(dirname "$rootPath")
-
-
-install_tmp=${rootPath}/tmp/mw_install.pl
-
-SYSOS=`uname`
-
-Install_v2ray()
-{
- isStart=""
- echo '正在安装脚本文件...' > $install_tmp
- mkdir -p $serverPath/v2ray
- echo '1.0' > $serverPath/v2ray/version.pl
-
- if [ "Darwin" == "$SYSOS" ];then
- echo 'macosx unavailable' > $install_tmp
- cat $curPath/tmp/v2ray.json > /usr/local/etc/v2ray/config.json
- exit 0
- fi
-
- bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
- cat $curPath/tmp/v2ray.json > /usr/local/etc/v2ray/config.json
-
- echo 'install complete' > $install_tmp
-}
-
-Uninstall_v2ray()
-{
- rm -rf $serverPath/v2ray
- echo "Uninstall completed" > $install_tmp
-}
-
-action=$1
-if [ "${1}" == 'install' ];then
- Install_v2ray
-else
- Uninstall_v2ray
-fi
diff --git a/plugins/v2ray/js/shadowsocks.js b/plugins/v2ray/js/shadowsocks.js
deleted file mode 100755
index ebfaed948..000000000
--- a/plugins/v2ray/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/v2ray/tmp/v2ray.json b/plugins/v2ray/tmp/v2ray.json
deleted file mode 100644
index 8b0c7dde3..000000000
--- a/plugins/v2ray/tmp/v2ray.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "log" : {
- "access" : "/var/log/v2ray/access.log",
- "error" : "/var/log/v2ray/error.log",
- "loglevel":"warning"
- },
- "inbounds": [{
- "port": 34861,
- "listen": "127.0.0.1",
- "protocol": "vmess",
- "settings": {
- "clients": [
- {
- "id": "6e1e5234-05ee-45fe-b28d-80e91edb7f30",
- "alterId": 64
- }
- ]
- },
- "streamSettings":{
- "network": "ws",
- "wsSettings": {
- "path": "/ws"
- }
- }
- }],
- "outbounds": [{
- "protocol": "freedom",
- "settings": {}
- },{
- "protocol": "blackhole",
- "settings": {},
- "tag": "blocked"
- }],
- "routing": {
- "rules": [
- {
- "type": "field",
- "ip": ["geoip:private"],
- "outboundTag": "blocked"
- }
- ]
- },
- "inboundDetour": [
- {
- "protocol": "shadowsocks",
- "port": 30008,
- "settings": {
- "method": "aes-128-gcm",
- "password": "123123123",
- "udp": false
- }
- }
- ]
-}