diff --git a/package/lean/kcptun/Makefile b/package/lean/kcptun/Makefile index 729d64dabb..09d98ad51d 100644 --- a/package/lean/kcptun/Makefile +++ b/package/lean/kcptun/Makefile @@ -1,86 +1,67 @@ # -# Copyright (C) 2015-2016 OpenWrt.org +# Copyright (C) 2019 Xingwang Liao # -# This is free software, licensed under the GNU General Public License v3. +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. # include $(TOPDIR)/rules.mk -ifeq ($(ARCH),x86_64) - PKG_ARCH_KCPTUN:=amd64 -endif -ifeq ($(ARCH),mipsel) - PKG_ARCH_KCPTUN:=mipsle -endif -ifeq ($(ARCH),mips) - PKG_ARCH_KCPTUN:=mips -endif -ifeq ($(ARCH),i386) - PKG_ARCH_KCPTUN:=386 -endif -ifeq ($(ARCH),arm) - PKG_ARCH_KCPTUN:=arm7 -endif -ifeq ($(BOARD),bcm53xx) - PKG_ARCH_KCPTUN:=arm6 -endif -ifeq ($(BOARD),kirkwood) - PKG_ARCH_KCPTUN:=arm5 -endif -ifeq ($(ARCH),aarch64) - PKG_ARCH_KCPTUN:=arm64 -endif - PKG_NAME:=kcptun PKG_VERSION:=20200226 PKG_RELEASE:=1 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -PKG_SOURCE:=kcptun-linux-$(PKG_ARCH_KCPTUN)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/xtaci/kcptun/releases/download/v$(PKG_VERSION) -PKG_HASH:=skip + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/xtaci/kcptun/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=3d3c342b6073a199f3daa926f1b1d221d50d385fd6905bf00286b0f874439822 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.md +PKG_MAINTAINER:=Xingwang Liao + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_USE_MIPS16:=0 + +GO_PKG:=github.com/xtaci/kcptun + +GO_PKG_LDFLAGS:=-s -w -X 'main.VERSION=$(PKG_VERSION)-$(PKG_RELEASE) for OpenWrt' + +# Can't use GO_PKG_LDFLAGS_X to define X args with space include $(INCLUDE_DIR)/package.mk +include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk -define Package/$(PKG_NAME)/default - SECTION:=net - CATEGORY:=Network - TITLE:=Kcptun is a cross-platform proxy software - URL:=https://github.com/xtaci/kcptun +define Package/kcptun/Default + define Package/kcptun-$(1) + SECTION:=net + CATEGORY:=Network + SUBMENU:=Web Servers/Proxies + DEPENDS:=$$(GO_ARCH_DEPENDS) + TITLE:=Simple UDP Tunnel Based On KCP ($1) + URL:=https://github.com/xtaci/kcptun + endef + + define Package/kcptun-$(1)/description + A Stable & Secure Tunnel Based On KCP with N:M Multiplexing. + + This package contains the kcptun $(1). + endef + + define Package/kcptun-$(1)/install + $$(call GoPackage/Package/Install/Bin,$$(PKG_INSTALL_DIR)) + + $(STAGING_DIR_HOST)/bin/upx --lzma --best $$(PKG_INSTALL_DIR)/usr/bin/$(1) + + $$(INSTALL_DIR) $$(1)/usr/bin + $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin/kcptun-$(1) + endef endef -define Package/$(PKG_NAME)-server - $(call Package/$(PKG_NAME)/default) - TITLE+= (Server) - VARIANT:=server -endef +KCPTUN_COMPONENTS:=client server -define Package/$(PKG_NAME)-client - $(call Package/$(PKG_NAME)/default) - TITLE+= (Client) - VARIANT:=client -endef - -define Build/Prepare - tar -xzvf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) -endef - -define Build/Configure - $(STAGING_DIR_HOST)/bin/upx --lzma --best $(PKG_BUILD_DIR)/server_linux_$(PKG_ARCH_KCPTUN) - $(STAGING_DIR_HOST)/bin/upx --lzma --best $(PKG_BUILD_DIR)/client_linux_$(PKG_ARCH_KCPTUN) -endef - -define Build/Compile -endef - -define Package/$(PKG_NAME)-server/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/server_linux_$(PKG_ARCH_KCPTUN) $(1)/usr/bin/kcptun-server -endef - -define Package/$(PKG_NAME)-client/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/client_linux_$(PKG_ARCH_KCPTUN) $(1)/usr/bin/kcptun-client -endef - -$(eval $(call BuildPackage,$(PKG_NAME)-server)) -$(eval $(call BuildPackage,$(PKG_NAME)-client)) +$(foreach component,$(KCPTUN_COMPONENTS), \ + $(eval $(call Package/kcptun/Default,$(component))) \ + $(eval $(call GoBinPackage,kcptun-$(component))) \ + $(eval $(call BuildPackage,kcptun-$(component))) \ +) diff --git a/package/lean/luci-app-adbyby-plus/luasrc/model/cbi/adbyby.lua b/package/lean/luci-app-adbyby-plus/luasrc/model/cbi/adbyby.lua index 386c480855..037ae3e87d 100644 --- a/package/lean/luci-app-adbyby-plus/luasrc/model/cbi/adbyby.lua +++ b/package/lean/luci-app-adbyby-plus/luasrc/model/cbi/adbyby.lua @@ -38,7 +38,7 @@ o.rmempty = false o = s:taboption("basic", Button, "restart") o.title = translate("Adbyby and Rule state") o.inputtitle = translate("Restart Adbyby") -o.description = string.format("Last Update Checked: %s
Lazy Rule:%s
Video Rule:%s", UD, DL, DV) +o.description = string.format(""..translate("Last Update Checked")..": %s
"..translate("Lazy Rule")..":%s
"..translate("Video Rule")..":%s", UD, DL, DV) o.inputstyle = "reload" o.write = function() SYS.call("rm -rf /tmp/adbyby.updated && /usr/share/adbyby/admem.sh > /tmp/adupdate.log 2>&1 &") diff --git a/package/lean/luci-app-adbyby-plus/po/zh-cn/adbyby.po b/package/lean/luci-app-adbyby-plus/po/zh-cn/adbyby.po index b0842860c6..e1274dc543 100644 --- a/package/lean/luci-app-adbyby-plus/po/zh-cn/adbyby.po +++ b/package/lean/luci-app-adbyby-plus/po/zh-cn/adbyby.po @@ -123,3 +123,15 @@ msgstr "全局过滤" msgid "Update adbyby rules form official website first" msgstr "优先从官方网站更新规则" +msgid "Last Update Checked" +msgstr "上一次检查规则更新" + +msgid "Lazy Rule" +msgstr "普通规则版本" + +msgid "Video Rule" +msgstr "视频规则版本" + +msgid "Adblock Plus Host List" +msgstr "广告屏蔽大师 Plus 规则列表" + diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index f679ee007e..619aa5eacc 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:=154 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm index 2aac82e0e6..67aad5f534 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -212,15 +212,32 @@ url0 = ssu[1] } var sstr = url0; + document.getElementById('cbid.shadowsocksr.' + sid + '.type').value = "trojan"; document.getElementById('cbid.shadowsocksr.' + sid + '.type').dispatchEvent(event); var team = sstr.split('@'); var password = team[0] var serverPart = team[1].split(':'); - var port = serverPart[1].split('?')[0]; + var others = serverPart[1].split('?'); + var port = others[0] + var queryParam = {} + if(others.length > 0) { + var queryParams = others[1] + var queryArray = queryParams.split('&') + for (i = 0; i < queryArray.length; i++) { + var params = queryArray[i].split('='); + queryParam[decodeURIComponent(params[0])] = decodeURIComponent(params[1] || ''); + } + } + document.getElementById('cbid.shadowsocksr.' + sid + '.server').value = serverPart[0]; document.getElementById('cbid.shadowsocksr.' + sid + '.server_port').value = port; document.getElementById('cbid.shadowsocksr.' + sid + '.password').value = password; + document.getElementById('cbid.shadowsocksr.' + sid + '.tls').checked = true; + document.getElementById('cbid.shadowsocksr.' + sid + '.tls').dispatchEvent(event); + document.getElementById('cbid.shadowsocksr.' + sid + '.tls_host').value = queryParam.peer || ''; + document.getElementById('cbid.shadowsocksr.' + sid + '.insecure').checked = queryParam.allowInsecure === '1'; + if (param != undefined) { document.getElementById('cbid.shadowsocksr.' + sid + '.alias').value = decodeURI(param); } 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 7d866a9b10..4694d4684e 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 @@ -45,7 +45,7 @@ add_cron() { sed -i '/shadowsocksr/d' $CRON_FILE sed -i '/ssrplus.log/d' $CRON_FILE && echo '0 1 * * * echo "" > /tmp/ssrplus.log' >>$CRON_FILE [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/bin/lua /usr/share/shadowsocksr/subscribe.lua" >>$CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/bin/lua /usr/share/shadowsocksr/update.lua" >>$CRON_FILE + [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 5 * * * /usr/bin/lua /usr/share/shadowsocksr/update.lua" >>$CRON_FILE crontab $CRON_FILE } diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gentrojanconfig.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gentrojanconfig.lua index 719e3fbbcf..8cb979bef8 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gentrojanconfig.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gentrojanconfig.lua @@ -18,8 +18,8 @@ local trojan = { password = {server.password}, -- 传出连接 ssl = { - verify = false, - verify_hostname = (server.tls == "1") and false or true, + verify = (server.insecure == "0") and true or false, + verify_hostname = (server.tls == "1") and true or false, cert = "", cipher = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA", cipher_tls13 = "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384", diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua index 131919ad8b..26e225f817 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua @@ -96,14 +96,8 @@ end -- 处理数据 local function processData(szType, content) local result = { - -- auth_enable = '0', - -- switch_enable = '1', type = szType, local_port = 1234, - -- timeout = 60, -- 不太确定 好像是死的 - -- fast_open = 0, - -- kcp_enable = 0, - -- kcp_port = 0, kcp_param = '--nocomp' } if szType == 'ssr' then @@ -238,6 +232,9 @@ local function processData(szType, content) result.alias = UrlDecode(alias) result.type = "trojan" result.server = host[1] + -- 按照官方的建议 默认验证ssl证书 + result.insecure = "0" + result.tls = "1" if host[2]:find("?") then local query = split(host[2], "?") result.server_port = query[1] @@ -246,10 +243,17 @@ local function processData(szType, content) local t = split(v, '=') params[t[1]] = t[2] end + if params.peer then - result.tls = "1" + -- 未指定peer(sni)默认使用remote addr result.tls_host = params.peer end + + if params.allowInsecure == "1" then + result.insecure = "1" + else + result.insecure = "0" + end else result.server_port = host[2] end @@ -296,10 +300,10 @@ local execute = function() nodes = base64Decode(raw:sub(nEnd + 1, #raw)) nodes = jsonParse(nodes) local extra = { - airport = nodes.airport, - port = nodes.port, - encryption = nodes.encryption, - password = nodes.password + airport = nodes.airport, + port = nodes.port, + encryption = nodes.encryption, + password = nodes.password } local servers = {} -- SS里面包着 干脆直接这样 @@ -336,8 +340,9 @@ local execute = function() result.alias:find("QQ群") or result.alias:find("官网") or result.alias:find("防失联地址") or - not result.server - then + not result.server or + result.server:match("[^0-9a-zA-Z%-%.%s]") -- 中文做地址的 也没有人拿中文域名搞,就算中文域也有Puny Code SB 机场 + then log('丢弃无效节点: ' .. result.type ..' 节点, ' .. result.alias) else log('成功解析: ' .. result.type ..' 节点, ' .. result.alias) @@ -374,11 +379,11 @@ local execute = function() end else if not old.alias then - old.alias = old.server .. ':' .. old.server_port - end + old.alias = old.server .. ':' .. old.server_port + end log('忽略手动添加的节点: ' .. old.alias) end - + end) for k, v in ipairs(nodeResult) do for kk, vv in ipairs(v) do diff --git a/package/network/utils/linux-atm/patches/400-portability_fixes.patch b/package/network/utils/linux-atm/patches/400-portability_fixes.patch index 9fe3e1faea..41425eed19 100644 --- a/package/network/utils/linux-atm/patches/400-portability_fixes.patch +++ b/package/network/utils/linux-atm/patches/400-portability_fixes.patch @@ -34,7 +34,21 @@ #include --- a/src/sigd/atmsigd.c +++ b/src/sigd/atmsigd.c -@@ -517,7 +517,7 @@ int main(int argc,char **argv) +@@ -283,12 +283,11 @@ static void setup_signals(void) + /* ------------------------------- main ... ------------------------------- */ + + +-static void trace_on_exit(int status,void *dummy) ++static void trace_on_exit(void) + { + char path[PATH_MAX+1]; + FILE *file; + +- if (!status) return; + if (!dump_dir) file = stderr; + else { + sprintf(path,"atmsigd.%d.trace.exit",getpid()); +@@ -517,7 +516,7 @@ int main(int argc,char **argv) exit(0); } } diff --git a/target/linux/generic/config-4.14 b/target/linux/generic/config-4.14 index 88e5b19364..5bb2dedcc3 100644 --- a/target/linux/generic/config-4.14 +++ b/target/linux/generic/config-4.14 @@ -868,6 +868,7 @@ CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_586 is not set # CONFIG_CRYPTO_AES_ARM is not set # CONFIG_CRYPTO_AES_ARM_BS is not set +# CONFIG_CRYPTO_AES_ARM_CE is not set # CONFIG_CRYPTO_AES_NI_INTEL is not set # CONFIG_CRYPTO_AES_TI is not set CONFIG_CRYPTO_ALGAPI=y @@ -885,9 +886,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y # CONFIG_CRYPTO_CBC is not set # CONFIG_CRYPTO_CCM is not set # CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_CHACHA20_NEON is not set # CONFIG_CRYPTO_CHACHA20POLY1305 is not set # CONFIG_CRYPTO_CMAC is not set # CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRC32_ARM_CE is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CRC32C_INTEL is not set # CONFIG_CRYPTO_CRCT10DIF is not set @@ -935,6 +938,7 @@ CONFIG_CRYPTO_BLKCIPHER2=y # CONFIG_CRYPTO_GCM is not set # CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_GHASH_ARM_CE is not set # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set # CONFIG_CRYPTO_HASH is not set # CONFIG_CRYPTO_HMAC is not set @@ -972,9 +976,15 @@ CONFIG_CRYPTO_PCRYPT=y # CONFIG_CRYPTO_SERPENT is not set # CONFIG_CRYPTO_SHA1 is not set # CONFIG_CRYPTO_SHA1_ARM is not set +# CONFIG_CRYPTO_SHA1_ARM_CE is not set +# CONFIG_CRYPTO_SHA1_ARM_NEON is not set +# CONFIG_CRYPTO_SHA2_ARM_CE is not set # CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA256_ARM is not set # CONFIG_CRYPTO_SHA3 is not set # CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA512_ARM is not set +# CONFIG_CRYPTO_SIMD is not set # CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_TEST is not set # CONFIG_CRYPTO_TGR192 is not set diff --git a/target/linux/generic/config-4.19 b/target/linux/generic/config-4.19 index 19ac74e1c5..5e5781cd00 100644 --- a/target/linux/generic/config-4.19 +++ b/target/linux/generic/config-4.19 @@ -921,6 +921,7 @@ CONFIG_CRYPTO_AES=y # CONFIG_CRYPTO_AES_586 is not set # CONFIG_CRYPTO_AES_ARM is not set # CONFIG_CRYPTO_AES_ARM_BS is not set +# CONFIG_CRYPTO_AES_ARM_CE is not set # CONFIG_CRYPTO_AES_NI_INTEL is not set # CONFIG_CRYPTO_AES_TI is not set CONFIG_CRYPTO_ALGAPI=y @@ -939,9 +940,11 @@ CONFIG_CRYPTO_BLKCIPHER2=y # CONFIG_CRYPTO_CCM is not set # CONFIG_CRYPTO_CFB is not set # CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_CHACHA20_NEON is not set # CONFIG_CRYPTO_CHACHA20POLY1305 is not set # CONFIG_CRYPTO_CMAC is not set # CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRC32_ARM_CE is not set # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CRC32C_INTEL is not set # CONFIG_CRYPTO_CRCT10DIF is not set @@ -993,6 +996,7 @@ CONFIG_CRYPTO_BLKCIPHER2=y # CONFIG_CRYPTO_GCM is not set # CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GHASH is not set +# CONFIG_CRYPTO_GHASH_ARM_CE is not set # CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set # CONFIG_CRYPTO_HASH is not set # CONFIG_CRYPTO_HMAC is not set @@ -1035,9 +1039,15 @@ CONFIG_CRYPTO_PCRYPT=y # CONFIG_CRYPTO_SERPENT is not set # CONFIG_CRYPTO_SHA1 is not set # CONFIG_CRYPTO_SHA1_ARM is not set +# CONFIG_CRYPTO_SHA1_ARM_CE is not set +# CONFIG_CRYPTO_SHA1_ARM_NEON is not set +# CONFIG_CRYPTO_SHA2_ARM_CE is not set # CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA256_ARM is not set # CONFIG_CRYPTO_SHA3 is not set # CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_SHA512_ARM is not set +# CONFIG_CRYPTO_SIMD is not set # CONFIG_CRYPTO_SM3 is not set # CONFIG_CRYPTO_SM4 is not set # CONFIG_CRYPTO_SPECK is not set diff --git a/tools/upx/Makefile b/tools/upx/Makefile index 127acd0dab..fbf1dfbd2e 100644 --- a/tools/upx/Makefile +++ b/tools/upx/Makefile @@ -17,10 +17,8 @@ HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)-src include $(INCLUDE_DIR)/host-build.mk -UPX_UCLDIR := $(BUILD_DIR_HOST)/ucl-1.03 - define Host/Compile - UPX_UCLDIR=$(UPX_UCLDIR) \ + UPX_UCLDIR=$(STAGING_DIR_HOST) \ $(MAKE) -C $(HOST_BUILD_DIR)/src \ CXXFLAGS_WERROR="" LDFLAGS="$(HOST_LDFLAGS)" \ CXX="$(HOSTCXX)"