From dea7f1824c913aa29c8d8ac78714e5de30480587 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Jun 2022 20:19:24 +0800 Subject: [PATCH] update 2022-06-14 20:19:24 --- .../model/cbi/gpsysupgrade/sysupgrade.lua | 16 ++++---- .../root/etc/profile.d/opkg.sh | 2 +- luci-app-ssr-plus/Makefile | 39 ++++++++++++++----- luci-app-xray/Makefile | 2 +- .../root/usr/share/xray/gen_config.lua | 15 ++++++- .../www/luci-static/resources/view/xray.js | 19 +++++++-- 6 files changed, 69 insertions(+), 24 deletions(-) diff --git a/luci-app-gpsysupgrade/luasrc/model/cbi/gpsysupgrade/sysupgrade.lua b/luci-app-gpsysupgrade/luasrc/model/cbi/gpsysupgrade/sysupgrade.lua index 2d236d9b0..5b9c22d51 100644 --- a/luci-app-gpsysupgrade/luasrc/model/cbi/gpsysupgrade/sysupgrade.lua +++ b/luci-app-gpsysupgrade/luasrc/model/cbi/gpsysupgrade/sysupgrade.lua @@ -41,19 +41,19 @@ function to_check() elseif model:match(".*R2S.*") then model = "rockchip_armv8/nanopi-r2s" check_update() - download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r2s-squashfs-sysupgrade.img.gz" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r2s-squashfs-sysupgrade.img.gz" elseif model:match(".*R4S.*") then model = "rockchip_armv8/nanopi-r4s" check_update() - download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r4s-squashfs-sysupgrade.img.gz" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r4s-squashfs-sysupgrade.img.gz" elseif model:match(".*R5S.*") then model = "rockchip_armv8/nanopi-r5s" check_update() - download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r5s_sd.img.gz" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r5s_sd.img.gz" elseif model:match(".*R2C.*") then model = "rockchip_armv8/nanopi-r2c" check_update() - download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r2c-squashfs-sysupgrade.img.gz" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-rockchip-armv8-nanopi-r2c-squashfs-sysupgrade.img.gz" elseif model:match(".*DoorNet2.*") then model = "rockchip_armv8/doornet2" check_update() @@ -85,15 +85,15 @@ function to_check() elseif model:match(".*AX6.*") then model = "ipq807x/redmi-ax6" check_update() - download_url = "https://op.supes.top/firmware/ipq807x/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-sysupgrade.bin" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-redmi_ax6-squashfs-nand-sysupgrade.bin" elseif model:match(".*AX9000.*") then model = "ipq807x/xiaomi-ax9000" check_update() - download_url = "https://op.supes.top/firmware/ipq807x/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-nand-sysupgrade.bin" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-xiaomi_ax9000-squashfs-nand-sysupgrade.bin" elseif model:match(".*AX3600.*") then model = "ipq807x/xiaomi-ax3600" check_update() - download_url = "https://op.supes.top/firmware/ipq807x/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrade.bin" + download_url = "https://op.supes.top/firmware/" ..model.. "/" ..remote_version.. "-openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-sysupgrade.bin" elseif model:match(".*XY-C5.*") then model = "ramips_mt7621/xy-c5" check_update() @@ -201,7 +201,7 @@ function to_flash(file,retain) if not file or file == "" or not fs.access(file) then return {code = 1, error = i18n.translate("Firmware file is required.")} end - sys.call("/sbin/sysupgrade " ..retain.. " " ..file.. "") + sys.call(". /etc/profile.d/opkg.sh;opkg save;/sbin/sysupgrade " ..retain.. " " ..file.. "") return {code = 0} end diff --git a/luci-app-gpsysupgrade/root/etc/profile.d/opkg.sh b/luci-app-gpsysupgrade/root/etc/profile.d/opkg.sh index 447e8c034..c21a8b049 100644 --- a/luci-app-gpsysupgrade/root/etc/profile.d/opkg.sh +++ b/luci-app-gpsysupgrade/root/etc/profile.d/opkg.sh @@ -28,7 +28,7 @@ echo "kmod busybox base-files " \ opkg_uci() { local OPKG_OPT="${1:-${OPKG_UCI}}" local OPKG_OPT="${OPKG_OPT:-auto}" -if ! uci -q get opkg > /dev/null +if ! uci -q get opkg.defaults > /dev/null then opkg init fi uci -q batch << EOI diff --git a/luci-app-ssr-plus/Makefile b/luci-app-ssr-plus/Makefile index ec4b2f411..6151ed8db 100644 --- a/luci-app-ssr-plus/Makefile +++ b/luci-app-ssr-plus/Makefile @@ -2,15 +2,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=186 -PKG_RELEASE:=3 +PKG_RELEASE:=5 PKG_CONFIG_DEPENDS:= \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust_Client \ @@ -28,13 +31,17 @@ LUCI_DEPENDS:= \ +coreutils +coreutils-base64 +dns2socks +dns2tcp +dnsmasq-full +ipset +kmod-ipt-nat \ +ip-full +iptables +iptables-mod-tproxy +lua +libuci-lua +microsocks +tcping \ +resolveip +shadowsocksr-libev-ssr-check +uclient-fetch \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:curl \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray-core \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:curl \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core \ + +PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core:curl \ + +PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core:sagernet-core \ +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \ +PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria:hysteria \ +PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks:ipt2socks \ +PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy:naiveproxy \ +PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2:redsocks2 \ - +PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core:curl \ - +PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core:sagernet-core \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-local \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client:shadowsocks-libev-ss-redir \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Server:shadowsocks-libev-ss-server \ @@ -50,6 +57,24 @@ LUCI_DEPENDS:= \ define Package/$(PKG_NAME)/config select PACKAGE_luci-lib-ipkg if PACKAGE_$(PKG_NAME) +choice + prompt "V2ray-core Selection" + default PACKAGE_$(PKG_NAME)_INCLUDE_Xray if aarch64||arm||i386||x86_64 + default PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY + + config PACKAGE_$(PKG_NAME)_INCLUDE_NONE_V2RAY + bool "None" + + config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray + bool "Include V2ray-core" + + config PACKAGE_$(PKG_NAME)_INCLUDE_Xray + bool "Include Xray-core" + + config PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core + bool "Include SagerNet-core (An enhanced edition of v2ray-core)" +endchoice + config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun bool "Include Kcptun" default n @@ -59,7 +84,7 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Hysteria default n config PACKAGE_$(PKG_NAME)_INCLUDE_IPT2Socks - bool "Include ipt2socks" + bool "Include IPT2Socks" default n config PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy @@ -71,10 +96,6 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 bool "Include Redsocks2" default n -config PACKAGE_$(PKG_NAME)_INCLUDE_SagerNet_Core - bool "Include sagernet-core (An enhanced edition of v2ray-core)" - default y if aarch64||arm||i386||x86_64 - config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Libev_Client bool "Include Shadowsocks Libev Client" default y if arm diff --git a/luci-app-xray/Makefile b/luci-app-xray/Makefile index 718666ff7..e2884f118 100644 --- a/luci-app-xray/Makefile +++ b/luci-app-xray/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-xray -PKG_VERSION:=1.13.1 +PKG_VERSION:=1.14.0 PKG_RELEASE:=1 PKG_LICENSE:=MPLv2 diff --git a/luci-app-xray/root/usr/share/xray/gen_config.lua b/luci-app-xray/root/usr/share/xray/gen_config.lua index 3860d79ec..a15056820 100644 --- a/luci-app-xray/root/usr/share/xray/gen_config.lua +++ b/luci-app-xray/root/usr/share/xray/gen_config.lua @@ -862,7 +862,20 @@ local function rules() }) end if geoip_existence then - if proxy.geoip_direct_code ~= nil then + if proxy.geoip_direct_code == nil or proxy.geoip_direct_code == "upgrade" then + if proxy.geoip_direct_code_list ~= nil then + local geoip_direct_code_list = {} + for _, v in ipairs(proxy.geoip_direct_code_list) do + table.insert(geoip_direct_code_list, "geoip:" .. v) + end + table.insert(result, 1, { + type = "field", + inboundTag = {"tproxy_tcp_inbound", "tproxy_udp_inbound", "dns_conf_inbound"}, + outboundTag = "direct", + ip = geoip_direct_code_list + }) + end + else table.insert(result, 1, { type = "field", inboundTag = {"tproxy_tcp_inbound", "tproxy_udp_inbound", "dns_conf_inbound"}, diff --git a/luci-app-xray/root/www/luci-static/resources/view/xray.js b/luci-app-xray/root/www/luci-static/resources/view/xray.js index 449d54714..4a71bb67a 100644 --- a/luci-app-xray/root/www/luci-static/resources/view/xray.js +++ b/luci-app-xray/root/www/luci-static/resources/view/xray.js @@ -135,6 +135,7 @@ return view.extend({ render: function (load_result) { const config_data = load_result[0]; + const geoip_direct_code = uci.get_first(config_data, "general", "geoip_direct_code"); const { geoip_existence, geoip_size, geosite_existence, geosite_size, optional_features } = check_resource_files(load_result[1]); let asset_file_status = _('WARNING: at least one of asset files (geoip.dat, geosite.dat) is not found under /usr/share/xray. Xray may not work properly. See here for help.') if (geoip_existence) { @@ -529,11 +530,21 @@ return view.extend({ s.tab('access_control', _('Transparent Proxy Rules')); - if (geoip_existence) { - o = s.taboption('access_control', form.Value, 'geoip_direct_code', _('GeoIP Direct Code'), _("Hosts in this GeoIP set will not be forwarded through Xray. Set to unspecified to forward all non-private hosts.")) + if (geoip_direct_code === "upgrade" || geoip_direct_code === void 0) { + if (geoip_existence) { + o = s.taboption('access_control', form.DynamicList, 'geoip_direct_code_list', _('GeoIP Direct Code List'), _("Hosts in these GeoIP sets will not be forwarded through Xray. Remove all items to forward all non-private hosts.")) + } else { + o = s.taboption('access_control', form.DynamicList, 'geoip_direct_code_list', _('GeoIP Direct Code List'), _("Resource file /usr/share/xray/geoip.dat not exist. All network traffic will be forwarded.
Compile your firmware again with data files to use this feature, or
download one (maybe disable transparent proxy first) and upload it to your router.")) + o.readonly = true + } } else { - o = s.taboption('access_control', form.Value, 'geoip_direct_code', _('GeoIP Direct Code'), _("Resource file /usr/share/xray/geoip.dat not exist. All network traffic will be forwarded.
Compile your firmware again with data files to use this feature, or
download one (maybe disable transparent proxy first) and upload it to your router.")) - o.readonly = true + if (geoip_existence) { + o = s.taboption('access_control', form.Value, 'geoip_direct_code', _('GeoIP Direct Code'), _("Hosts in this GeoIP set will not be forwarded through Xray. Set to unspecified to forward all non-private hosts.
Switching to new format (by selecting 'Upgrade configuration...') is recommended for multiple GeoIP options here.")) + } else { + o = s.taboption('access_control', form.Value, 'geoip_direct_code', _('GeoIP Direct Code'), _("Resource file /usr/share/xray/geoip.dat not exist. All network traffic will be forwarded.
Compile your firmware again with data files to use this feature, or
download one (maybe disable transparent proxy first) and upload it to your router.")) + o.readonly = true + } + o.value("upgrade", "Upgrade configuration...") } o.value("cn", "cn") o.value("telegram", "telegram")