From a38b2cfda942db3a2f8816b4c0fd8e54f3fec9b4 Mon Sep 17 00:00:00 2001 From: lean Date: Mon, 23 Mar 2020 01:34:49 +0800 Subject: [PATCH 1/3] luci-app-ssr-plus: add ss/v2ray/trojan global socks5 ssr server support --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../root/etc/init.d/shadowsocksr | 24 ++++++++++++++++--- .../usr/share/shadowsocksr/genv2config.lua | 10 ++++---- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index a4ff5e82f1..2b149a9a42 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=173 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index c2d92d63a0..dd8ac428ad 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -578,9 +578,26 @@ start_local() { [ "$local_server" = "nil" ] && return 1 local local_type=$(uci_get_by_name $local_server type) mkdir -p /var/run /var/etc - gen_config_file $local_server 3 $(uci_get_by_type socks5_proxy local_port 1080) - /usr/bin/ssr-local -c $CONFIG_SOCK5_FILE -u \ - -f /var/run/ssr-local.pid >/dev/null 2>&1 + + echo $local_type + if [ "$local_type" == "ssr" ]; then + gen_config_file $local_server 3 $(uci_get_by_type socks5_proxy local_port 1080) + /usr/bin/ssr-local -c $CONFIG_SOCK5_FILE -u -f /var/run/ssr-local.pid >/dev/null 2>&1 + elif [ "$local_type" == "ss" ]; then + gen_config_file $local_server 3 $(uci_get_by_type socks5_proxy local_port 1080) + /usr/bin/ss-local -c $CONFIG_SOCK5_FILE -u -f /var/run/ssr-local.pid >/dev/null 2>&1 + elif [ "$local_type" == "v2ray" ]; then + lua /usr/share/shadowsocksr/genv2config.lua $local_server tcp 0 $(uci_get_by_type socks5_proxy local_port 1080) >/var/etc/v2-ssr-local.json + sed -i 's/\\//g' /var/etc/v2-ssr-local.json + /usr/bin/v2ray/v2ray -config /var/etc/v2-ssr-local.json >/dev/null 2>&1 & + elif [ "$local_type" == "trojan" ]; then + lua /usr/share/shadowsocksr/gentrojanconfig.lua $local_server client $(uci_get_by_type socks5_proxy local_port 1080) >/var/etc/trojan-ssr-local.json + sed -i 's/\\//g' /var/etc/trojan-ssr-local.json + /usr/sbin/trojan --config /var/etc/trojan-ssr-local.json >/dev/null 2>&1 & + else + microsocks -i :: -p $(uci_get_by_type socks5_proxy local_port 1080) ssr-local >/dev/null 2>&1 & + fi + local_enable=1 } @@ -700,6 +717,7 @@ stop() { killall -q -9 trojan killall -q -9 ipt2socks kill -9 $(busybox ps -w | grep ssr-server | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + kill -9 $(busybox ps -w | grep ssr-local | grep -v grep | awk '{print $1}') >/dev/null 2>&1 killall -q -9 ssr-local killall -q -9 ss-local killall -q -9 kcptun-client diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua index a485dc9cc8..2554ebd17b 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua @@ -2,7 +2,7 @@ local ucursor = require "luci.model.uci".cursor() local json = require "luci.jsonc" local server_section = arg[1] local proto = arg[2] -local local_port = arg[3] +local local_port = arg[3] or "0" local socks_port = arg[4] or "0" local server = ucursor:get_all("shadowsocksr", server_section) @@ -13,7 +13,7 @@ log = { loglevel = "warning" }, -- 传入连接 - inbound = { + inbound = (local_port ~= "0") and { port = local_port, protocol = "dokodemo-door", settings = { @@ -24,12 +24,12 @@ log = { enabled = true, destOverride = { "http", "tls" } } - }, - -- 同时开启 socks 代理 + } or nil, + -- 开启 socks 代理 inboundDetour = (proto == "tcp" and socks_port ~= "0") and { { protocol = "socks", - port = 1088, + port = socks_port, settings = { auth = "noauth", udp = true From 6e8ec5dd6e4aa2f58e7ebd8669d5f60d6d0d2f71 Mon Sep 17 00:00:00 2001 From: lean Date: Mon, 23 Mar 2020 01:36:25 +0800 Subject: [PATCH 2/3] luci-app-ssr-plus:fix typo --- package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index dd8ac428ad..b18203f327 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -578,8 +578,7 @@ start_local() { [ "$local_server" = "nil" ] && return 1 local local_type=$(uci_get_by_name $local_server type) mkdir -p /var/run /var/etc - - echo $local_type + if [ "$local_type" == "ssr" ]; then gen_config_file $local_server 3 $(uci_get_by_type socks5_proxy local_port 1080) /usr/bin/ssr-local -c $CONFIG_SOCK5_FILE -u -f /var/run/ssr-local.pid >/dev/null 2>&1 From 8588a7326903d8d38f09a19e8b610e778f643a87 Mon Sep 17 00:00:00 2001 From: lean Date: Mon, 23 Mar 2020 02:21:09 +0800 Subject: [PATCH 3/3] luci-app-ssr-plus: add proxychains-ng depend --- include/target.mk | 2 +- package/lean/luci-app-ssr-plus/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/target.mk b/include/target.mk index 5e054d7922..a62c75f19b 100644 --- a/include/target.mk +++ b/include/target.mk @@ -17,7 +17,7 @@ DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fs block-mount coremark kmod-nf-nathelper kmod-nf-nathelper-extra kmod-ipt-raw wget libustream-openssl ca-certificates \ default-settings luci luci-proto-relay luci-app-ddns luci-app-sqm luci-app-upnp luci-app-adbyby-plus luci-app-autoreboot \ luci-app-filetransfer luci-app-vsftpd luci-app-ssr-plus luci-app-unblockmusic \ -luci-app-zerotier luci-app-arpbind luci-app-vlmcsd luci-app-wol luci-app-ramfree \ +luci-app-arpbind luci-app-vlmcsd luci-app-wol luci-app-ramfree \ luci-app-sfe luci-app-flowoffload luci-app-nlbwmon luci-app-accesscontrol luci-app-cpufreq \ ddns-scripts_aliyun ddns-scripts_dnspod # For nas targets diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 2b149a9a42..6b89302187 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -41,7 +41,7 @@ define Package/$(PKG_NAME) TITLE:=SS/SSR/V2Ray/Trojan LuCI interface PKGARCH:=all DEPENDS:=+shadowsocksr-libev-alt +ipset +ip-full +iptables-mod-tproxy +dnsmasq-full +coreutils +coreutils-base64 +pdnsd-alt +wget +lua +libuci-lua \ - +microsocks +dns2socks +shadowsocks-libev-ss-local +shadowsocksr-libev-ssr-local +shadowsocks-libev-ss-redir +simple-obfs +tcpping \ + +microsocks +dns2socks +shadowsocks-libev-ss-local +shadowsocksr-libev-ssr-local +shadowsocks-libev-ss-redir +simple-obfs +tcpping +proxychains-ng \ +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_plugin:v2ray-plugin \ +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray \ +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan \