From a17f8ed262274b031a0e5a7639ed0795500c6149 Mon Sep 17 00:00:00 2001 From: CN_SZTL Date: Sat, 26 Oct 2019 13:47:00 +0800 Subject: [PATCH] ssocks: add package --- package/ctcgfw/luci-app-ssocks/Makefile | 21 ++++++++ .../luasrc/controller/ssocks.lua | 23 +++++++++ .../luasrc/model/cbi/ssocks.lua | 41 ++++++++++++++++ .../luasrc/model/cbi/ssocks_log.lua | 14 ++++++ .../luasrc/view/ssocks/ssocks_status.htm | 22 +++++++++ .../ctcgfw/luci-app-ssocks/po/zh-cn/ssocks.po | 41 ++++++++++++++++ .../luci-app-ssocks/root/etc/config/ssocks | 7 +++ .../root/etc/config/ssocks-authorization | 1 + .../luci-app-ssocks/root/etc/init.d/ssocks | 40 ++++++++++++++++ .../root/etc/uci-defaults/ssocks | 17 +++++++ .../luasrc/model/cbi/unblockneteasemusic.lua | 5 +- package/ctcgfw/openwrt-ssocks/Makefile | 48 +++++++++++++++++++ .../default-settings/i18n/default.zh-cn.po | 3 ++ 13 files changed, 281 insertions(+), 2 deletions(-) create mode 100644 package/ctcgfw/luci-app-ssocks/Makefile create mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua create mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua create mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks_log.lua create mode 100644 package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm create mode 100644 package/ctcgfw/luci-app-ssocks/po/zh-cn/ssocks.po create mode 100644 package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks create mode 100644 package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization create mode 100755 package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks create mode 100755 package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks create mode 100644 package/ctcgfw/openwrt-ssocks/Makefile diff --git a/package/ctcgfw/luci-app-ssocks/Makefile b/package/ctcgfw/luci-app-ssocks/Makefile new file mode 100644 index 0000000000..26df3ebce1 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/Makefile @@ -0,0 +1,21 @@ +# Copyright (C) 2016 Openwrt.org +# +# This is a free software, use it under GNU General Public License v3.0. +# +# Created By [CTCGFW]Project-OpenWrt +# https://github.com/project-openwrt + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for sSocks +LUCI_DEPENDS:=+busybox +iptables +ssocks +LUCI_PKGARCH:=all +PKG_NAME:=luci-app-ssocks +PKG_VERSION:=1.0 +PKG_RELEASE:=1 + +PKG_MAINTAINER:=[CTCGFW]Project-OpenWrt + +include $(TOPDIR)/feeds/luci/luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua b/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua new file mode 100644 index 0000000000..eec721d777 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/luasrc/controller/ssocks.lua @@ -0,0 +1,23 @@ +-- This is a free software, use it under GNU General Public License v3.0. +-- Created By [CTCGFW]Project OpenWRT +-- https://github.com/project-openwrt + +module("luci.controller.ssocks", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/ssocks") then + return + end + + entry({"admin", "services", "ssocks"},firstchild(), _("sSocks Server"), 50).dependent = false + entry({"admin", "services", "ssocks", "general"},cbi("ssocks"), _("Base Setting"), 1) + entry({"admin", "services", "ssocks", "log"},form("ssocks_log"), _("Log"), 2) + entry({"admin", "services", "ssocks", "status"},call("act_status")).leaf=true +end + +function act_status() + local e={} + e.running=luci.sys.call("ps |grep ssocks |grep -v grep >/dev/null")==0 + luci.http.prepare_content("application/json") + luci.http.write_json(e) +end \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua b/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua new file mode 100644 index 0000000000..507f378d0d --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks.lua @@ -0,0 +1,41 @@ +mp = Map("ssocks", translate("sSocks Server")) +mp.description = translate("sSocks Server is a simple, small, and easy-to-use Socks5 server program, but supports TCP on IPv4 only.") + +mp:section(SimpleSection).template = "ssocks/ssocks_status" + +s = mp:section(TypedSection, "ssocks") +s.anonymous=true +s.addremove=false + +enable = s:option(Flag, "enable", translate("Enable")) +enable.default = 0 +enable.rmempty = false + +bind_addr = s:option(ListValue, "bind_addr", translate("Bind Address")) +bind_addr:value("lan", translate("LAN")) +bind_addr:value("wan", translate("WAN")) +bind_addr.description = translate("The address that sSocks Server binded.") +bind_addr.default = "wan" +bind_addr.rmempty = false + +listen_port = s:option(Value, "listen_port", translate("Listen Port")) +listen_port.description = translate("The port that sSocks Server listened at, don't reuse the port with other program.") +listen_port.placeholder = "10800" +listen_port.default = "10800" +listen_port.datatype = "port" +listen_port.rmempty = false + +username = s:option(Value, "username", translate("Username")) +username.description = translate("The authorization username, leave blank to deauthorize.") +username.placeholder = "Username" +username.default = "ctcgfw" +username.datatype = "string" + +password = s:option(Value, "password", translate("Password")) +password.description = translate("The authorization password, leave blank to deauthorize.") +password.placeholder = "Password" +password.default = "password" +password.datatype = "string" +password.password = true + +return mp diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks_log.lua b/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks_log.lua new file mode 100644 index 0000000000..740c374460 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/luasrc/model/cbi/ssocks_log.lua @@ -0,0 +1,14 @@ +local fs = require "nixio.fs" +local conffile = "/tmp/ssocks.log" + +f = SimpleForm("logview") + +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 15 +function t.cfgvalue() + return fs.readfile(conffile) or "" +end +t.readonly="readonly" + +return f diff --git a/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm b/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm new file mode 100644 index 0000000000..b9e979e090 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/luasrc/view/ssocks/ssocks_status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/package/ctcgfw/luci-app-ssocks/po/zh-cn/ssocks.po b/package/ctcgfw/luci-app-ssocks/po/zh-cn/ssocks.po new file mode 100644 index 0000000000..094fb04b34 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/po/zh-cn/ssocks.po @@ -0,0 +1,41 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "sSocks Server" +msgstr "sSocks服务端" + +msgid "sSocks Server is a simple, small, and easy-to-use Socks5 server program, but supports TCP on IPv4 only." +msgstr "sSocks服务端是一个简单、小巧且易于使用的Socks5服务器程序,但它仅支持IPv4上的TCP协议。" + +msgid "Enable" +msgstr "启用" + +msgid "Bind Address" +msgstr "绑定地址" + +msgid "The address that sSocks Server binded." +msgstr "sSocks服务端所绑定的地址。" + +msgid "LAN" +msgstr "局域网" + +msgid "WAN" +msgstr "广域网" + +msgid "Listen Port" +msgstr "监听端口" + +msgid "The port that sSocks Server listened at, don't reuse the port with other program." +msgstr "sSocks服务端所监听的端口,不可与其他程序共用一个端口。" + +msgid "Username" +msgstr "用户名" + +msgid "The authorization username, leave blank to deauthorize." +msgstr "连接用户名,留空以取消身份验证。" + +msgid "Password" +msgstr "密码" + +msgid "The authorization password, leave blank to deauthorize." +msgstr "连接密码,留空以取消身份验证。" \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks new file mode 100644 index 0000000000..b0ee65f5d7 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks @@ -0,0 +1,7 @@ + +config ssocks + option enable '0' + option bind_addr 'WAN' + option listen_port '10800' + option username 'ctcgfw' + option password 'password' diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization new file mode 100644 index 0000000000..8aea68e7ed --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/root/etc/config/ssocks-authorization @@ -0,0 +1 @@ +ctcgfw:password \ No newline at end of file diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks new file mode 100755 index 0000000000..caeb6a7832 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/root/etc/init.d/ssocks @@ -0,0 +1,40 @@ +#!/bin/sh /etc/rc.common +# Created By [CTCGFW]Project OpenWRT +# https://github.com/project-openwrt + +START=99 +STOP=10 + +enable="$(uci get ssocks.@ssocks[0].enable)" +bind_addr="$(uci get ssocks.@ssocks[0].bind_addr)" +listen_port="$(uci get ssocks.@ssocks[0].listen_port)" +username="$(uci get ssocks.@ssocks[0].username)" +password="$(uci get ssocks.@ssocks[0].password)" +lan_addr="$(uci get network.lan.ipaddr)" + +start() +{ + stop + [ "${enable}" -eq "0" ] && exit 0 + + mkdir -p "/tmp/" + mkdir -p "/var/etc/" + [ "${bind_addr}" == "LAN" ] && bind_address="${lan_addr}" || bind_address="0.0.0.0" + if [ -n "${username}" ] && [ -n "${password}" ]; then + rm -f /etc/config/ssocks-authorization + echo "${username}:${password}" > /etc/config/ssocks-authorization + auth_arg="--auth /etc/config/ssocks-authorization" + fi + /usr/bin/ssocks --port "${listen_port}" --bind "${bind_address}" --log "/tmp/ssocks.log" ${auth_arg} >/dev/null 2>&1 & + iptables -I INPUT -p tcp --dport "${listen_port}" -j ACCEPT + cat <<-EOF > "/var/etc/ssocks.include" +iptables -I INPUT -p tcp --dport "${listen_port}" -j ACCEPT + EOF +} + +stop() +{ + killall -9 ssocks >/dev/null 2>&1 + rm -f "/etc/config/ssocks-authorization" + rm -f "/var/etc/ssocks.include" +} diff --git a/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks b/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks new file mode 100755 index 0000000000..30222805b0 --- /dev/null +++ b/package/ctcgfw/luci-app-ssocks/root/etc/uci-defaults/ssocks @@ -0,0 +1,17 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@ssocks[-1] + add ucitrack ssocks + set ucitrack.@ssocks[-1].init=ssocks + commit ucitrack + delete firewall.ssocks + set firewall.ssocks=include + set firewall.ssocks.type=script + set firewall.ssocks.path=/var/etc/ssocks.include + set firewall.ssocks.reload=1 + commit firewall +EOF + +rm -f /tmp/luci-indexcache +exit 0 diff --git a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua index 49fa40bd99..16938c0c25 100644 --- a/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua +++ b/package/ctcgfw/luci-app-unblockneteasemusic/luasrc/model/cbi/unblockneteasemusic.lua @@ -17,13 +17,14 @@ account.description = translate("本插件监听的HTTP端口,不可与其他 account.placeholder = "5200" account.default = "5200" account.datatype = "port" -enabled.rmempty = false +account.rmempty = false + account = s:option(Value, "https_port", translate("[HTTPS] 监听端口")) account.description = translate("本插件监听的HTTPS端口,不可与其他程序/HTTP共用一个端口") account.placeholder = "5201" account.default = "5201" account.datatype = "port" -enabled.rmempty = false +account.rmempty = false speedtype = s:option(ListValue, "musicapptype", translate("音源接口")) speedtype:value("default", translate("默认")) diff --git a/package/ctcgfw/openwrt-ssocks/Makefile b/package/ctcgfw/openwrt-ssocks/Makefile new file mode 100644 index 0000000000..a8a8c7bb48 --- /dev/null +++ b/package/ctcgfw/openwrt-ssocks/Makefile @@ -0,0 +1,48 @@ +# +# Copyright (C) 2017-2018 Jian Chang +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ssocks +PKG_VERSION:=0.0.14 +PKG_RELEASE:=1 + +PKG_SOURCE:=ssocks-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://download.sourceforge.net/project/ssocks/ +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) +PKG_HASH:=skip + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=y0ug + +PKG_INSTALL:=1 +PKG_FIXUP:=autoreconf +PKG_USE_MIPS16:=0 +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_DEPENDS:=+zlib + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME) + SECTION:=net + CATEGORY:=Network + TITLE:=sSocks + URL:=https://sourceforge.net/projects/ssocks + DEPENDS:=+zlib +endef + +define Package/$(PKG_NAME)/description +sSocks is a package which contains: a socks5 server implements RFC 1928 (SOCKS V5) and RFC 1929 (Authentication for SOCKS V5), a reverse socks server and client, a netcat like tool and a socks5 relay. +endef + +define Package/$(PKG_NAME)/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ssocksd $(1)/usr/bin/ssocks +endef + +$(eval $(call BuildPackage,$(PKG_NAME))) diff --git a/package/lean/default-settings/i18n/default.zh-cn.po b/package/lean/default-settings/i18n/default.zh-cn.po index ea500f2681..3f450a9f24 100644 --- a/package/lean/default-settings/i18n/default.zh-cn.po +++ b/package/lean/default-settings/i18n/default.zh-cn.po @@ -52,6 +52,9 @@ msgstr "用于压缩内存数据的CPU并发线程数" msgid "Swap" msgstr "虚拟内存" +msgid "Base Setting" +msgstr "基本设置" + msgid "Force 40MHz mode" msgstr "强制40MHz频宽"