From 07106cfbc82fb1edb93e32c03313fb7f1a378a49 Mon Sep 17 00:00:00 2001
From: CN_SZTL
Date: Sat, 21 Sep 2019 10:22:22 +0800
Subject: [PATCH] OpenClash: bump to v0.34.4-beta
---
package/cnsztl/luci-app-openclash/Makefile | 5 +-
.../config/openclash_custom_fake_black.conf | 2 +
.../files/etc/init.d/openclash | 235 +++++++++---------
.../files/etc/openclash/default.yaml | 32 ++-
.../files/etc/openclash/openclash_version | 4 +-
.../model/cbi/openclash/groups-config.lua | 4 +-
.../model/cbi/openclash/servers-config.lua | 25 +-
.../lua/luci/model/cbi/openclash/servers.lua | 16 +-
.../lua/luci/model/cbi/openclash/settings.lua | 4 +-
.../lib/lua/luci/view/openclash/developer.htm | 2 +-
.../usr/lib/lua/luci/view/openclash/myip.htm | 22 +-
.../usr/lib/lua/luci/view/openclash/state.htm | 6 +-
.../lib/lua/luci/view/openclash/status.htm | 62 ++++-
.../lib/lua/luci/view/openclash/update.htm | 6 +-
.../usr/share/openclash/dashboard/index.html | 4 +-
...s => 1.bundle.b2b352082cb77749cd2e.min.js} | 0
.../js/bundle.45da5278717379ab5871.min.js | 1 -
.../js/bundle.b2b352082cb77749cd2e.min.js | 1 +
...5871.css => main.b2b352082cb77749cd2e.css} | 18 +-
.../files/usr/share/openclash/yml_change.sh | 32 +++
.../usr/share/openclash/yml_groups_get.sh | 4 +-
.../usr/share/openclash/yml_groups_set.sh | 4 +
.../usr/share/openclash/yml_proxys_get.sh | 16 +-
.../usr/share/openclash/yml_proxys_set.sh | 31 ++-
.../i18n/zh-cn/openclash.zh-cn.po | 30 +--
25 files changed, 352 insertions(+), 214 deletions(-)
rename package/cnsztl/luci-app-openclash/files/usr/share/openclash/dashboard/js/{1.bundle.45da5278717379ab5871.min.js => 1.bundle.b2b352082cb77749cd2e.min.js} (100%)
delete mode 100644 package/cnsztl/luci-app-openclash/files/usr/share/openclash/dashboard/js/bundle.45da5278717379ab5871.min.js
create mode 100644 package/cnsztl/luci-app-openclash/files/usr/share/openclash/dashboard/js/bundle.b2b352082cb77749cd2e.min.js
rename package/cnsztl/luci-app-openclash/files/usr/share/openclash/dashboard/{main.45da5278717379ab5871.css => main.b2b352082cb77749cd2e.css} (99%)
diff --git a/package/cnsztl/luci-app-openclash/Makefile b/package/cnsztl/luci-app-openclash/Makefile
index a7076a257d..4565ec77c0 100644
--- a/package/cnsztl/luci-app-openclash/Makefile
+++ b/package/cnsztl/luci-app-openclash/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-openclash
-PKG_VERSION:=0.34.2
+PKG_VERSION:=0.34.4
PKG_RELEASE:=beta
PKG_MAINTAINER:=vernesong
@@ -30,7 +30,6 @@ define Build/Prepare
po2lmo $(po) $(PKG_BUILD_DIR)/$(patsubst %.po,%.lmo,$(notdir $(po)));)
chmod 0755 ${CURDIR}/files/etc/init.d/openclash
chmod -R 0755 ${CURDIR}/files/usr/share/openclash/
- chmod -R 0755 ${CURDIR}/files/usr/lib/lua/luci/model/cbi/openclash/
endef
define Build/Configure
@@ -73,6 +72,8 @@ elif [ -f "/tmp/config.yml" ]; then
mv "/tmp/config.yml" "/etc/openclash/config.yaml" 2>/dev/null
fi
uci set openclash.config.enable=0 2>/dev/null && uci commit openclash 2>/dev/null
+chmod 0755 /etc/init.d/openclash 2>/dev/null
+chmod -R 0755 /usr/share/openclash/ 2>/dev/null
rm -rf /tmp/luci*
endef
diff --git a/package/cnsztl/luci-app-openclash/files/etc/config/openclash_custom_fake_black.conf b/package/cnsztl/luci-app-openclash/files/etc/config/openclash_custom_fake_black.conf
index 236e32de41..57af44021d 100644
--- a/package/cnsztl/luci-app-openclash/files/etc/config/openclash_custom_fake_black.conf
+++ b/package/cnsztl/luci-app-openclash/files/etc/config/openclash_custom_fake_black.conf
@@ -55,3 +55,5 @@ interface.music.163.com
#win10本地连接检测
msftconnecttest.com
msftncsi.com
+#QQ快捷登录
+qq.com
\ No newline at end of file
diff --git a/package/cnsztl/luci-app-openclash/files/etc/init.d/openclash b/package/cnsztl/luci-app-openclash/files/etc/init.d/openclash
index f77a0cc1b3..44c6b01eaa 100755
--- a/package/cnsztl/luci-app-openclash/files/etc/init.d/openclash
+++ b/package/cnsztl/luci-app-openclash/files/etc/init.d/openclash
@@ -234,40 +234,44 @@ yml_dns_custom()
else
sed -i "/^ \{0,\}nameserver:/c\ nameserver:" "$2" 2>/dev/null
sed -i "/^ \{0,\}fallback:/c\ fallback:" "$2" 2>/dev/null
+ fi
+
+#fallback-filter
+ if [ ! -z "$(grep '^ \{0,\}fallback:' $2)" ]; then
+ if [ -z "$(grep '^ \{0,\}fallback-filter:' $2)" ]; then
+ sed -i '/OpenClash-General-Settings/i\ fallback-filter:' "$2" 2>/dev/null
+ sed -i '/OpenClash-General-Settings/i\ geoip: true' "$2" 2>/dev/null
+ sed -i '/OpenClash-General-Settings/i\ ipcidr:' "$2" 2>/dev/null
+ sed -i '/OpenClash-General-Settings/i\ - 240.0.0.0/4' "$2" 2>/dev/null
+ else
+ if [ -z "$(grep '^ fallback-filter:' $2)" ]; then
+ sed -i "/fallback-filter:/c\ fallback-filter:" "$2" 2>/dev/null
+ fi
+ if [ -z "$(grep '^ geoip: true' $2)" ]; then
+ sed -i "/geoip: true/c\ geoip: true" "$2" 2>/dev/null
+ fi
+ if [ -z "$(grep '^ ipcidr:' $2)" ]; then
+ sed -i "/ipcidr:/c\ ipcidr:" "$2" 2>/dev/null
+ fi
+ fi
+ if [ -z "$(grep "^ - " $2)" ]; then
+ sed -i '/^ \{0,\}nameserver:/,/^ \{0,\}fallback-filter:/ {s/^ \{0,\}- / - /}' "$2" 2>/dev/null #修改参数空格
+ fi
+ if [ -z "$(grep "^ - " $2)" ]; then
+ sed -i '/^ \{0,\}ipcidr:/,/OpenClash-General-Settings/ {s/^ \{0,\}- / - /}' "$2" 2>/dev/null #修改参数空格
+ fi
+ else #删除fallback-filter
+ if [ ! -z "$(grep '^ \{0,\}ipcidr:' $2)" ]; then
+ sed -i '/^ \{0,\}ipcidr:/,/OpenClash-General-Settings/ {/^ \{0,\}-/d}' "$2" 2>/dev/null
+ fi
if [ ! -z "$(grep "^ \{0,1\}- " $2)" ]; then
sed -i "s/^ \{0,\}- / - /" "$2" 2>/dev/null #添加参数空格
fi
+ sed -i '/fallback-filter:/d' "$2" 2>/dev/null
+ sed -i '/geoip:/d' "$2" 2>/dev/null
+ sed -i '/ipcidr:/d' "$2" 2>/dev/null
fi
-
-}
-#添加自定义Hosts设置
-yml_hosts_custom()
-{
- if [ "$en_mode" = "redir-host" ]; then
- if [ -z "$(grep '^ \{0,\}hosts:' $1)" ]; then
- echo " hosts:" >>"$1" 2>/dev/null
- else
- if [ -z "$(grep '^ hosts:' $1)" ]; then
- sed -i "/hosts:/c\ hosts:" "$1" 2>/dev/null
- fi
- fi
- sed -i "s/^ \{0,\}/ /" "$2" 2>/dev/null #修改参数空格
- sed -i "1i\##Custom HOSTS##" "$2" 2>/dev/null
- echo "##Custom HOSTS END##" >>"$2" 2>/dev/null
- sed -i '/##Custom HOSTS##/,/##Custom HOSTS END##/d' "$1" 2>/dev/null
- sed -i '/^ hosts:/r/etc/config/openclash_custom_hosts.list' "$1" 2>/dev/null
- sed -i '/##Custom HOSTS##/d' "$2" 2>/dev/null
- sed -i '/##Custom HOSTS END##/d' "$2" 2>/dev/null
- else
- sed -i '/^ *$/d' "$1" 2>/dev/null
- lastl = `sed -n '/hosts:/=' "$1" 2>/dev/null`
- lasthl = `sed -n '$=' "$1" 2>/dev/null`
- if [ "$lastl" = "$lasthl" ]; then
- sed -i '/^ \{0,\}hosts:/d' "$1" 2>/dev/null
- fi
- sed -i '/##Custom HOSTS##/,/##Custom HOSTS END##/d' "$1" 2>/dev/null
- fi
}
#获取认证信息
@@ -351,47 +355,46 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then
sleep 5
echo "" >$START_LOG
else
- echo "第三步: 修改配置文件..." >$START_LOG
- config_load "openclash"
- config_foreach yml_auth_get "authentication"
- yml_auth_custom "$CONFIG_FILE"
- yml_cut "$CHANGE_FILE" "$RULE_FILE" "$DNS_FILE" "$CONFIG_FILE" "$PROXY_FILE"
- yml_dns_custom "$enable_custom_dns" "$DNS_FILE"
- yml_hosts_custom "$CHANGE_FILE" "$HOSTS_FILE"
- sh /usr/share/openclash/yml_change.sh "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" &
- sh /usr/share/openclash/yml_rules_change.sh "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$RULE_FILE" &
- wait
- cat $CHANGE_FILE $DNS_FILE $PROXY_FILE $RULE_FILE > $CONFIG_FILE 2>/dev/null
- rm -rf /tmp/yaml_* 2>/dev/null
- echo "第四步: DNS设置检查..." >$START_LOG
- if [ ! -z "$(sed -n '/^ \{0,\}nameserver:/{n;p}' $CONFIG_FILE |grep '^ \{0,\}fallback:')" ] || [ ! -z "$(sed -n '/^ \{0,\}nameserver:/{n;p}' $CONFIG_FILE |grep 'OpenClash-General')" ]; then
- echo "错误: 配置文件DNS选项下的Nameserver必须设置服务器,已自动还原配置文件,请重新设置!" >$START_LOG
- echo "${LOGTIME} Nameserver Must Be Set, Please Change Your Configrations In Config.yaml" >>$LOG_FILE
- mv $START_BACKUP $CONFIG_FILE
- sleep 10
- echo "" >$START_LOG
- else
- echo "第五步: 启动 Clash 主程序..." >$START_LOG
- nohup $CLASH -d "$CLASH_CONFIG" >> $LOG_FILE 2>&1 &
+ echo "第三步: 修改配置文件..." >$START_LOG
+ config_load "openclash"
+ config_foreach yml_auth_get "authentication"
+ yml_auth_custom "$CONFIG_FILE"
+ yml_cut "$CHANGE_FILE" "$RULE_FILE" "$DNS_FILE" "$CONFIG_FILE" "$PROXY_FILE"
+ yml_dns_custom "$enable_custom_dns" "$DNS_FILE"
+ sh /usr/share/openclash/yml_change.sh "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$HOSTS_FILE" &
+ sh /usr/share/openclash/yml_rules_change.sh "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$RULE_FILE" &
+ wait
+ cat $CHANGE_FILE $DNS_FILE $PROXY_FILE $RULE_FILE > $CONFIG_FILE 2>/dev/null
+ rm -rf /tmp/yaml_* 2>/dev/null
+ echo "第四步: DNS设置检查..." >$START_LOG
+ if [ ! -z "$(sed -n '/^ \{0,\}nameserver:/{n;p}' $CONFIG_FILE |grep '^ \{0,\}fallback:')" ] || [ ! -z "$(sed -n '/^ \{0,\}nameserver:/{n;p}' $CONFIG_FILE |grep 'OpenClash-General')" ]; then
+ echo "错误: 配置文件DNS选项下的Nameserver必须设置服务器,已自动还原配置文件,请重新设置!" >$START_LOG
+ echo "${LOGTIME} Nameserver Must Be Set, Please Change Your Configrations In Config.yaml" >>$LOG_FILE
+ mv $START_BACKUP $CONFIG_FILE
+ sleep 10
+ echo "" >$START_LOG
+ else
+ echo "第五步: 启动 Clash 主程序..." >$START_LOG
+ nohup $CLASH -d "$CLASH_CONFIG" >> $LOG_FILE 2>&1 &
- echo "第六步: 设置控制面板..." >$START_LOG
- ln -s /usr/share/openclash/yacd /www/openclash 2>/dev/null
+ echo "第六步: 设置控制面板..." >$START_LOG
+ ln -s /usr/share/openclash/yacd /www/openclash 2>/dev/null
- echo "第七步: 设置 OpenClash 防火墙规则..." >$START_LOG
- if [ -z "$(uci get firewall.openclash)" ] || [ -z "$(uci get ucitrack.@openclash[-1].init)" ]; then
- uci delete ucitrack.@openclash[-1] >/dev/null 2>&1
- uci add ucitrack openclash >/dev/null 2>&1
- uci set ucitrack.@openclash[-1].init=openclash >/dev/null 2>&1
- uci commit ucitrack >/dev/null 2>&1
- uci delete firewall.openclash >/dev/null 2>&1
- uci set firewall.openclash=include >/dev/null 2>&1
- uci set firewall.openclash.type=script >/dev/null 2>&1
- uci set firewall.openclash.path=/var/etc/openclash.include >/dev/null 2>&1
- uci set firewall.openclash.reload=1 >/dev/null 2>&1
- uci commit firewall >/dev/null 2>&1
- fi
- mkdir -p /var/etc
- cat > "/var/etc/openclash.include" <<-EOF
+ echo "第七步: 设置 OpenClash 防火墙规则..." >$START_LOG
+ if [ -z "$(uci get firewall.openclash 2>/dev/null)" ] || [ -z "$(uci get ucitrack.@openclash[-1].init 2>/dev/null)" ]; then
+ uci delete ucitrack.@openclash[-1] >/dev/null 2>&1
+ uci add ucitrack openclash >/dev/null 2>&1
+ uci set ucitrack.@openclash[-1].init=openclash >/dev/null 2>&1
+ uci commit ucitrack >/dev/null 2>&1
+ uci delete firewall.openclash >/dev/null 2>&1
+ uci set firewall.openclash=include >/dev/null 2>&1
+ uci set firewall.openclash.type=script >/dev/null 2>&1
+ uci set firewall.openclash.path=/var/etc/openclash.include >/dev/null 2>&1
+ uci set firewall.openclash.reload=1 >/dev/null 2>&1
+ uci commit firewall >/dev/null 2>&1
+ fi
+ mkdir -p /var/etc
+cat > "/var/etc/openclash.include" <<-EOF
iptables -t nat -N openclash
iptables -t nat -A openclash -d 0.0.0.0/8 -j RETURN
iptables -t nat -A openclash -d 10.0.0.0/8 -j RETURN
@@ -407,52 +410,59 @@ iptables -t nat -A PREROUTING -p tcp -j openclash
iptables -t nat -A OUTPUT -p tcp -d 198.18.0.1/16 -j REDIRECT --to-ports "$proxy_port"
EOF
-if [ "$ipv6_enable" -eq 1 ]; then
- cat >> "/var/etc/openclash.include" <<-EOF
+ if [ "$ipv6_enable" -eq 1 ]; then
+cat >> "/var/etc/openclash.include" <<-EOF
ip6tables -t nat -N openclash
ip6tables -t nat -A openclash -p tcp -j REDIRECT --to-ports "$proxy_port"
ip6tables -t nat -A PREROUTING -p tcp -j openclash
EOF
-fi
+ fi
- /etc/init.d/firewall restart >/dev/null 2>&1
- /etc/init.d/miniupnpd restart >/dev/null 2>&1
-
- echo "第八步: 重启 Dnsmasq 程序..." >$START_LOG
- if [ "$(iptables -t nat -nL PREROUTING --line-number |grep dpt:53 |wc -l)" -gt 2 ]; then
- echo "发现53端口被劫持,请将OpenClash设置为劫持53端口程序的上游DNS服务器!" >$START_LOG
- echo "${LOGTIME} Warring: OpenClash May Can Not Take Over DNS, Please Use OpenClash for Upstream DNS Resolve Server" >> $LOG_FILE
- sleep 5
- fi
- [ "$enable_redirect_dns" != "0" ] && {
- change_dns
- }
- fake_block "$en_mode" "$direct_dns"
- /etc/init.d/dnsmasq restart >/dev/null 2>&1
- if pidof clash >/dev/null; then
- echo "第九步: 添加 OpenClash 计划任务,启动进程守护程序..." >$START_LOG
- add_cron
- echo "OpenClash 启动成功,请等待服务器上线!" >$START_LOG
- echo "${LOGTIME} OpenClash Start Successful" >> $LOG_FILE
- sleep 5
- echo "" >$START_LOG
- else
- if [ "$rule_source" != 0 ] || [ "$enable_custom_clash_rules" != 0 ]; then
- echo "错误: OpenClash 启动失败,尝试还原规则并重新启动 Clash 主程序..." >$START_LOG
- echo "${LOGTIME} OpenClash Can Not Start, Try Use Backup Rules Start Again" >> $LOG_FILE
- mv "$BACKUP_FILE" /etc/openclash/configrules.bak
- sed -i -n '/^Rule:/,$p' /etc/openclash/configrules.bak
- sed -i '/^Rule:/,$d' "$CONFIG_FILE"
- cat /etc/openclash/configrules.bak >> "$CONFIG_FILE"
- rm -rf /etc/openclash/configrules.bak
- nohup $CLASH -d "$CLASH_CONFIG" >> $LOG_FILE 2>&1 &
- sleep 3
- if pidof clash >/dev/null; then
- add_cron
- echo "OpenClash 使用备份规则启动成功,请更新、检查变动的规则后重试!" >$START_LOG
- echo "${LOGTIME} OpenClash Start Successful With Backup Rules Config, Please Check Or Update Other Rules And Retry" >> $LOG_FILE
- sleep 5
- echo "" >$START_LOG
+ /etc/init.d/firewall restart >/dev/null 2>&1
+ /etc/init.d/miniupnpd restart >/dev/null 2>&1
+
+ echo "第八步: 重启 Dnsmasq 程序..." >$START_LOG
+ if [ "$(iptables -t nat -nL PREROUTING --line-number |grep dpt:53 |wc -l)" -gt 2 ]; then
+ echo "发现53端口被劫持,请将OpenClash设置为劫持53端口程序的上游DNS服务器!" >$START_LOG
+ echo "${LOGTIME} Warring: OpenClash May Can Not Take Over DNS, Please Use OpenClash for Upstream DNS Resolve Server" >> $LOG_FILE
+ sleep 5
+ fi
+ [ "$enable_redirect_dns" != "0" ] && {
+ change_dns
+ }
+ fake_block "$en_mode" "$direct_dns"
+ /etc/init.d/dnsmasq restart >/dev/null 2>&1
+ if pidof clash >/dev/null; then
+ echo "第九步: 添加 OpenClash 计划任务,启动进程守护程序..." >$START_LOG
+ add_cron
+ echo "OpenClash 启动成功,请等待服务器上线!" >$START_LOG
+ echo "${LOGTIME} OpenClash Start Successful" >> $LOG_FILE
+ sleep 5
+ echo "" >$START_LOG
+ else
+ if [ "$rule_source" != 0 ] || [ "$enable_custom_clash_rules" != 0 ]; then
+ echo "错误: OpenClash 启动失败,尝试还原规则并重新启动 Clash 主程序..." >$START_LOG
+ echo "${LOGTIME} OpenClash Can Not Start, Try Use Backup Rules Start Again" >> $LOG_FILE
+ mv "$BACKUP_FILE" /etc/openclash/configrules.bak
+ sed -i -n '/^Rule:/,$p' /etc/openclash/configrules.bak
+ sed -i '/^Rule:/,$d' "$CONFIG_FILE"
+ cat /etc/openclash/configrules.bak >> "$CONFIG_FILE"
+ rm -rf /etc/openclash/configrules.bak
+ nohup $CLASH -d "$CLASH_CONFIG" >> $LOG_FILE 2>&1 &
+ sleep 3
+ if pidof clash >/dev/null; then
+ add_cron
+ echo "OpenClash 使用备份规则启动成功,请更新、检查变动的规则后重试!" >$START_LOG
+ echo "${LOGTIME} OpenClash Start Successful With Backup Rules Config, Please Check Or Update Other Rules And Retry" >> $LOG_FILE
+ sleep 5
+ echo "" >$START_LOG
+ else
+ echo "错误: OpenClash 启动失败,请到日志页面查看详细错误信息!" >$START_LOG
+ echo "${LOGTIME} OpenClash Can Not Start, Please Check The Error Info And Try Again" >> $LOG_FILE
+ sleep 10
+ echo "" >$START_LOG
+ stop && echo "" >$START_LOG
+ fi
else
echo "错误: OpenClash 启动失败,请到日志页面查看详细错误信息!" >$START_LOG
echo "${LOGTIME} OpenClash Can Not Start, Please Check The Error Info And Try Again" >> $LOG_FILE
@@ -460,17 +470,10 @@ fi
echo "" >$START_LOG
stop && echo "" >$START_LOG
fi
- else
- echo "错误: OpenClash 启动失败,请到日志页面查看详细错误信息!" >$START_LOG
- echo "${LOGTIME} OpenClash Can Not Start, Please Check The Error Info And Try Again" >> $LOG_FILE
- sleep 10
- echo "" >$START_LOG
- stop && echo "" >$START_LOG
fi
fi
fi
rm -rf $START_BACKUP 2>/dev/null
- fi
else
subscribe_url=$(uci get openclash.config.subscribe_url 2>/dev/null)
if [ ! -f "$CONFIG_FILE" ] && [ ! -z "$subscribe_url" ]; then
diff --git a/package/cnsztl/luci-app-openclash/files/etc/openclash/default.yaml b/package/cnsztl/luci-app-openclash/files/etc/openclash/default.yaml
index 3bd48e814f..14c4e9fa75 100644
--- a/package/cnsztl/luci-app-openclash/files/etc/openclash/default.yaml
+++ b/package/cnsztl/luci-app-openclash/files/etc/openclash/default.yaml
@@ -43,24 +43,27 @@ authentication: # 此项将被接管
- "user1:pass1"
- "user2:pass2"
+# # experimental hosts, support wildcard (e.g. *.clash.dev Even *.foo.*.example.com)
+# # static domain has a higher priority than wildcard domain (foo.example.com > *.example.com)
+#hosts:
+#'*.clash.dev': 127.0.0.1
+#'alpha.clash.dev': '::1'
+
dns: # 如订阅配置无包括此项的所有DNS设置,OpenClash将自动添加
enable: true # set true to enable dns (default is false) # 此项将被接管为true
ipv6: false # default is false # 此项将被接管
listen: 0.0.0.0:53 # 端口为53时将被接管为7874
enhanced-mode: redir-host # or fake-ip # 此项将被接管
fake-ip-range: 198.18.0.1/16 # if you don't know what it is, don't change it # 此项将被接管
-# experimental hosts, support wildcard (e.g. *.clash.dev Even *.foo.*.example.com)
-# static domain has a higher priority than wildcard domain (foo.example.com > *.example.com)
-# NOTE: hosts don't work with `fake-ip`
-# hosts: # 此项将被接管
-# '*.clash.dev': 127.0.0.1
-# 'alpha.clash.dev': '::1'
nameserver:
- 114.114.114.114
- - tls://dns.rubyfish.cn:853 # dns over tls
- https://1.1.1.1/dns-query # dns over https
fallback: # concurrent request with nameserver, fallback used when GEOIP country isn't CN
- tcp://1.1.1.1
+ fallback-filter:
+ geoip: true # default
+ ipcidr: # ips in these subnets will be considered polluted
+ - 240.0.0.0/4
# 以上设置您可直接覆盖到配置文件,无需更改
# Openclash 不会对下方服务器设置进行任何更改,请确保设置正确
@@ -68,17 +71,20 @@ dns: # 如订阅配置无包括此项的所有DNS设置,OpenClash将自动添
Proxy: # 此参数必须保留,不能删除
# shadowsocks
-# The types of cipher are consistent with go-shadowsocks2
-# support AEAD_AES_128_GCM AEAD_AES_192_GCM AEAD_AES_256_GCM AEAD_CHACHA20_POLY1305 AES-128-CTR AES-192-CTR AES-256-CTR AES-128-CFB AES-192-CFB AES-256-CFB CHACHA20-IETF XCHACHA20
-# In addition to what go-shadowsocks2 supports, it also supports chacha20 rc4-md5 xchacha20-ietf-poly1305
-- { name: "ss1", type: ss, server: server, port: 443, cipher: AEAD_CHACHA20_POLY1305, password: "password", udp: true }
+# The supported ciphers(encrypt methods):
+# aes-128-gcm aes-192-gcm aes-256-gcm
+# aes-128-cfb aes-192-cfb aes-256-cfb
+# aes-128-ctr aes-192-ctr aes-256-ctr
+# rc4-md5 chacha20 chacha20-ietf xchacha20
+# chacha20-ietf-poly1305 xchacha20-ietf-poly1305
+- { name: "ss1", type: ss, server: server, port: 443, cipher: chacha20-ietf-poly1305, password: "password", udp: true }
# old obfs configuration remove after prerelease
- name: "ss2"
type: ss
server: server
port: 443
- cipher: AEAD_CHACHA20_POLY1305
+ cipher: chacha20-ietf-poly1305
password: "password"
plugin: obfs
plugin-opts:
@@ -89,7 +95,7 @@ Proxy: # 此参数必须保留,不能删除
type: ss
server: server
port: 443
- cipher: AEAD_CHACHA20_POLY1305
+ cipher: chacha20-ietf-poly1305
password: "password"
plugin: v2ray-plugin
plugin-opts:
diff --git a/package/cnsztl/luci-app-openclash/files/etc/openclash/openclash_version b/package/cnsztl/luci-app-openclash/files/etc/openclash/openclash_version
index 76fbb8466b..b0f75a9f9c 100644
--- a/package/cnsztl/luci-app-openclash/files/etc/openclash/openclash_version
+++ b/package/cnsztl/luci-app-openclash/files/etc/openclash/openclash_version
@@ -1,2 +1,2 @@
-v0.34.2-beta
-data:image/png;base64,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
\ No newline at end of file
+v0.34.4-beta
+data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWoAAAAqCAMAAACtKeEJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjgxQkY5MzdERDk3QTExRTlBREM2RDg2M0FBQ0YyOTQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjgxQkY5MzdFRDk3QTExRTlBREM2RDg2M0FBQ0YyOTQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODFCRjkzN0JEOTdBMTFFOUFEQzZEODYzQUFDRjI5NDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODFCRjkzN0NEOTdBMTFFOUFEQzZEODYzQUFDRjI5NDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7+hhsNAAADAFBMVEV5eXnR5vM9PT0HZ52VlZWUxeEIa6QGcKxFgKLg7/eKioqAgIBXpNGhoaEdcqJjlbEFaaJiYmLKysppaWnR0dEbhcEGVYIqjcZtbW0GXpEHVoQVapp0tNjOzs6enp45lckKcq3v9PcJZJjGxsaStckGbag1dpoJdbM/Pz+y0+YXgL2izOXn5+cHXIwidaUjhLxERER0p8RFkb1GRkYkeapUi6sjapKTu9OEhIQwk8uRkZGGv9+5ubmlpaWpqanAwMC1tbVycnLa2toEU4CCgoKsrKxlZWVLS0vf399kq9NBQUE2kcbg4OCxytiDqsFFmspXlblGibAEYJRCQkKkzubw9fehv9AGcrAHWom2trZ0dHTCwsI0fKUIYZR3d3e+vr4YbZ1Kn8+vr6+xzdwmcZ0GXI8FZZuixtuy1elJns5HnM1nrtaiyd9zobqjwNHQ3+cFdLMEXI6Crsfc3NwEYpgJWIWJweIXYoxDfqAmb5mhw9eDs89lp80KebgCc7QBcrNRUVFTU1NUVFRVVVUFdrdSUlILfL0HeLkKe7wGd7hWVlYEdrYOgMAEdbYDdLUDdbUOf8ADdLQSg8MSg8QShMQThMUAcrJXV1cOf78Nfr8Nfr4Mfb4Mfb0Je7sJersIebkIeboJero6OjqqqqrV1dWrq6vU1NRISEg7OzvC3u5JSUl+fn7B3u7q6urw9/udnZ2Evd2EvN1MTEzz8/OCqcDB1eD09PR/f3+DvNzB3e2Fvt719fXg6vDC3+/A1N9Gm8vW1taMjIzB3e6GhoYUXokHWIfg6u/D3++Fvd6ErMJHm8zR4OiDr8jB2+qDu9yEtNBynrjo6OjC3u9EmcqFvd2Dq8IFdLTC3Ouyz+Bjnr8lisTB1+NInc6ErcXB2eeAudk1jsLQ5PAab6CEuNYGXY8FZ58JaaB/uNjB1+Q1hrSEq8JkmLaXl5cOe7gnbZURgsMQgcIPgMFZWVlaWlpfX19bW1tcXFxeXl5NTU1PT09QUFBYWFhdXV1OTk7///////820RSCAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAC+dJREFUeNrsVwlYVWUaPhxZBCFEBIFYFEVvinrzupALiFcCcUtDcUkmbaLIsijbc8aLst2amZolWgYERBCEi4qQqFmalqXt+VTWLDXobE4zFZOA8TLf///n3HvuvUg++TxOp8f3efjP973f9v/vOZwDUk/P/jXB7TrGxN/98HHqAVtPj9QzL7ld15j4Wz3gOo8eaX/yOX1j4m90gets0ppzepf61/rAA1LytzrHxH/rA9dJ316R+jLhRyD1f3QC6Ru944rUlw3jvtQJpP/qHVekvnxSP6ETSF/rHeOe1Al6lVoKSEk5+/+9CVLCxc4f98wF8MSQtdOmrXZlvwzxn+ZCfxmyenWv9atjXKjVeO2Z7w3pKzcENICjISXsq0tEWMrZ71n5Ml6+yMxxz14AXvwUvjFO5JDXxOF8/Z90kB5AL/VDbHjNhcpxYzSxaTnP9gk3qYNeBuKXR0evbAJSLlXqhIsW7BKkfq537MOSaxfd8BFsIVo2Bzj++uvrlgA5di6DpHevD6Eb8KILl+PGaOfte65PSOddkARMlTleiU85f4mYjarvWWmUjReZOe75XjEEGHk/oRkZWjpn3ReMffCAg/YCCe/ewIPoF124HDfGAZL6+T4huYmDV+T0mtRUk0FODbtYYcJmzw7SuFmzs75T6tlqjhOy1EYOqam3yygXqX/fG56LxPxl3kOHxvaHTUsPvf/+VWe8Y5e9jhcVai2OTwLcGmRgnSNHRQ5jQnJytFROjDBIajsZk+OUI+Aq9SBEybuF2Z2eev78NmwTHqCssweBBBxAP2fngUcP8Zd7EteoCgPOMrchizsCAw6hQenfgEO0BiXxjwEztZ3EV6KB9VTnansTN5u13O+p3fFVBQIhwBBhZcCroOB2/GMUc1YBMQUODI3dUESXDVNwpyA+xZKR/YECF+zD8Qf/gPdc2E/xXsx7tAPbPmVmhnjvk6kclTXyEFZGiHOxVOIMeqg7VHtTfkkJHU8NiHU561JVMgDzuJAUJdmGz1jzLuYFUUIVSJvBUaRHWEnJ8nnYX0XIKmnAAN4lCw1s3Y+GNTOGA57kODpR6+kzZqTxScpcT967QfTexnrfF0UfkUOaHatSk8KKADamuQduENoeh3+BG2JsS8YpBkaGv+Em9VoceDB2H2rdpLYBnzXTC2efUuw75e2PgLUFBbW+8K0lMNVtH7399hRfePQpdRbwjRPhJjWmfy3LwSQQWgJ2y3VBJX5oCmKv9igEcKlbAlJluW4W84xh9DtC6OqMRhLvkoTozpKSeVjO6DDs51IrncKAMEZvirLPDWOvM94tiXOYfp7c5RiklbpIYEN/+HJjLZr7FRUBEwq424xjRc44dqwWzSNjmRnii8Blo+4AnDNiMGxk24ZjqHWppMTbHo6IiFhHv0HkemAdORH0jioqijiJk8whOpBdI+hz4O9ULFmdQOfe7UTQkYUBiDWYqWGkxHc7mFVnTUOCbKwzGYKQRglVkChslKeiymo1JWOwkbDRSm+eIIoGteC81eqHeNlgqjPKK+FndXSi2bKpri5dlu1zk7CS9ybJgzkny+lGOUjsRYEqdVGscrZaBI5iUi8U9If4wEUwel48/nmUcsror4yTEaOKXKWmp7X/2A1FH/Qi9d8iIsaGH404gMiiIn8ciBjb78yqiPk0OPwEToQTKCvi6KozZ/qNPeky2F1qS99SyyZK2EiJUXJdnjXPQudO3chCRp5RhTCirXnJTGrKqhLVdSvhSRdPrKyzWmdiq4mRXdGsub1TMPCT4BKr1WK0z03DVHbn89Kb2E3Zhmg23GpylrpUwdC7kEGXUxgWXlRaCtwh6FrsLHXGokWBzfAIqSgtzcDSiLjSUpJaGw/5DIFHR5WW7kSt6CBQyhKbYylQGruUjfLCiFg+eAEbsdM+J650buS+jA8PuAyWNjmBpG53IrZiqzAAsXapiYMtaoUd5FZhB2OtEqp4sEqk5ycgjUelfLbasVXTqZN9BtKSooMdc4EVIhTF3K1I5F6X2IuCq8pUPAyMLivbiRHe5ABvCJakLnNGaGjorbcgo6zsDdwdeqaMXaGNU4fQofxay31lrzxRMGUnmFHrOMdOlq3O8fd1sBq4SN0J+PUttf2eVNlvzlaB6Ggu5gBN3J61ydhEqgUj3shzqkTFjGhJezvkhFl8h9EaqSUrjw0WUjvtRZW6QoX3fERWVPjiC+a8ipcEW4/HKpzhM9Q7fBJsFRUvaR4T7LLHd2lp6tJfoIIV1IuUvzCjHvW7OB5dMIFVKR38gU+uXXRT2wlNSwYpzwnd9AFyIuh4wgAcK+EFVKsGTNsVkFuNFzRxe1ZeaiI13orG3TwnUa2o0eYYiQibGk+PsjqX3hsilIZGt70o+LxcxahJ8C1/Cc3ZzGnGLsHS97HcDWWLgPItc5v/WM9Af53V18+xBx9rfpPTvrDV188tLw8VoAhJLVK8cE15eT09/Qr6lZfvUgd6YD7nFqiEAhep8xL4QRXwI8/sW+pu+j2oUdCH1Hmb0NLegBJmBiBereh2ykk1MPnjmaJC1ihlejs93heUeosdi+lRHkMfRWafwBjOzQW8t7hjDoZt2eKjCEV/V5Na9lg/hV6A5tBQH0oToAhJLVJ8cW35lkfxaj8FFNyLvSIG9G8b6JPpIBRIFmcY4tGyQpgr0hItlqlo4E40fS8JYiXsQLUwOmai4ZxSQD/V2KGJJyvVBGMUBmGliZlf0TtCkOeCNZ1WsMqOGnkWiyaChlteQQvvnUg3R+W0u2D4vNCOuAW4HcPauH0TbKPZ1Qvzfegy9/DhOcyNPMWjo32xtLAws40jlx7xtjZvlnz4MK3egm67F5+0tWUWarAQh/l1DjCusPCnQKTgR58qLI7EGOEAH3PuMPZqawtdpU5tp/8Qkjx37IimfwoT+bEGkcP+Z+tdaoulCWl+5yzBntXVblJ3NDHZ/EhQSxf9vkDqYjFTIrVOppyZLTs0nchgfRLR1K7KapiFtB2Wc5QvdVyE1IX0YaSPIjf7zYfH3MLRkfSMCZHEwVtxe+TChXttGDa5XKMghNGqGhx70VroDEocM2eh/xhgwWkaMYKaziXWy7awsPDvoHU03c+lsNEILxu+Q2qLbIlSvwgz6ch1Cdxs8bug1Mb2WUr+IDepu0U1pwxNiL+RxzorG9URyZpOyU2Ca0qwP8F1JqV3gmy5oNTFDmTPByYL0+fI3aI0MJy57wNvseudyuBXRy52lFFQGK2qwfEWWoud8b667xHmzOLiTPMe1f9zcfHppdwqLlYGv/mImGiHlO+CbrmyvTEpKmpmgqnSlJ+/sTJ4eVSUp6mysZFFxUq4vtFPsTrlSillcPXwgHYDeX6N12vjcvDy6uoATtVJjVKqKDFWWqYOr65OSTDt1nTabUpgfaaa5M78/KzGLMYZKhOmVw+OtlSySoXT7ILhZs1pMkfueWe9YoebA29rffPeyeY45o3fs2cCu946+Z2lBw8uDTwSeo+jjILC+Fg1OCbs+dhF6vF7Am8aQeUPmbOZu948+a5bDrdOCTxCM3zMgbe0XnNvcfHiI+8cPPjIpIiHxMQLS53faahUYOxkCnFzO11YUKxMl0qDWtAhK/npXJvd2rioFtT2SlktMakjOjSdOrZXKrN4holxXUrvunwHp9kFl3qzA4+Hm82Ziv3UMjPHQO7Fmc3Z7LpYkOajPpoyCgojVzU4ss25m50Rp1Sb16sZCnzsre2DcxeLiXZIG93RYUw3GG6s6RJe6o0Gg6lrI/17TRArodtY4yhINRoM6cYOZtYYu53irFqhUo2p9opuE40w8hGOTl01rI+pyym5ppcG9l0waKXe7JN92uEMXJybm60on5mdHSeM08QuHniPtoqCSkW2Vp247IEuUmdmD/RZT+VxduJ0eG7ueqXbwPDccFZ/z2lK8abyuO+UWl+4+XGdQOrSO27+hU7wI5D6VzqB1Kl3XP1LneBHIPVTOoF0fbfOcfXP9IHx0owrUl8e/Elq0ftjffXPdYHxNqnnvqAOXUMXUj89/rMeqaenZcZ5XUv99A8f//qrrafnfwIMAEheZfG8Th+6AAAAAElFTkSuQmCC
\ No newline at end of file
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/groups-config.lua b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/groups-config.lua
index 4d5dd6ac18..3e7b2abc7f 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/groups-config.lua
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/groups-config.lua
@@ -35,14 +35,14 @@ o.rmempty = false
o = s:option(Value, "test_url", translate("Test URL"))
o.default = "http://www.gstatic.com/generate_204"
-o.rmempty = true
+o.rmempty = false
o:depends("type", "url-test")
o:depends("type", "fallback")
o:depends("type", "load-balance")
o = s:option(Value, "test_interval", translate("Test Interval(s)"))
o.default = "300"
-o.rmempty = true
+o.rmempty = false
o:depends("type", "url-test")
o:depends("type", "fallback")
o:depends("type", "load-balance")
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers-config.lua b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers-config.lua
index da9b3393ea..6259843101 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers-config.lua
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers-config.lua
@@ -10,11 +10,6 @@ local sid = arg[1]
local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid")
local encrypt_methods_ss = {
- -- aead
- "AEAD_AES_128_GCM",
- "AEAD_AES_192_GCM",
- "AEAD_AES_256_GCM",
- "AEAD_CHACHA20_POLY1305",
-- stream
"rc4-md5",
@@ -29,6 +24,7 @@ local encrypt_methods_ss = {
"aes-256-gcm",
"chacha20",
"chacha20-ietf",
+ "xchacha20",
"chacha20-ietf-poly1305",
"xchacha20-ietf-poly1305",
}
@@ -62,7 +58,7 @@ o:value("http", translate("HTTP(S)"))
o.description = translate("Using incorrect encryption mothod may causes service fail to start")
-o = s:option(Value, "name", translate("Alias"))
+o = s:option(Value, "name", translate("Server Alias"))
o.rmempty = false
o = s:option(Value, "server", translate("Server Address"))
@@ -75,7 +71,7 @@ o.rmempty = false
o = s:option(Value, "password", translate("Password"))
o.password = true
-o.rmempty = true
+o.rmempty = false
o:depends("type", "ss")
o = s:option(ListValue, "cipher", translate("Encrypt Method"))
@@ -89,14 +85,14 @@ o.rmempty = true
o:depends("type", "vmess")
o = s:option(ListValue, "udp", translate("UDP Enable"))
-o.rmempty = false
+o.rmempty = true
o.default = "false"
o:value("true")
o:value("false")
o:depends("type", "ss")
o = s:option(ListValue, "obfs", translate("obfs-mode"))
-o.rmempty = false
+o.rmempty = true
o.default = "none"
o:value("none")
o:value("tls")
@@ -105,7 +101,7 @@ o:value("websocket", translate("websocket (ws)"))
o:depends("type", "ss")
o = s:option(ListValue, "obfs_vmess", translate("obfs-mode"))
-o.rmempty = false
+o.rmempty = true
o.default = "none"
o:value("none")
o:value("websocket", translate("websocket (ws)"))
@@ -116,6 +112,7 @@ o.datatype = "host"
o.rmempty = true
o:depends("obfs", "tls")
o:depends("obfs", "http")
+o:depends("obfs", "websocket")
o = s:option(Value, "custom", translate("ws-headers"))
o.rmempty = true
@@ -125,7 +122,7 @@ o:depends("obfs_vmess", "websocket")
-- [[ WS部分 ]]--
-- WS路径
-o = s:option(Value, "path", translate("ws-Path"))
+o = s:option(Value, "path", translate("ws-path"))
o.rmempty = true
o:depends("obfs", "websocket")
o:depends("obfs_vmess", "websocket")
@@ -161,7 +158,8 @@ o.rmempty = true
o.default = "false"
o:value("true")
o:value("false")
-o:depends("type", "vmess")
+o:depends("obfs", "websocket")
+o:depends("obfs_vmess", "websocket")
o:depends("type", "socks5")
o:depends("type", "http")
@@ -171,7 +169,8 @@ o.rmempty = true
o.default = "false"
o:value("true")
o:value("false")
-o:depends("type", "vmess")
+o:depends("obfs", "websocket")
+o:depends("obfs_vmess", "websocket")
o:depends("type", "socks5")
o:depends("type", "http")
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua
index fda0b4ad77..36b506e914 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua
@@ -41,7 +41,17 @@ o.inputstyle = "apply"
o.write = function()
uci:set("openclash", "config", "enable", 1)
uci:commit("openclash")
- luci.sys.call("/usr/share/openclash/yml_proxys_set.sh >/dev/null 2>&1 &")
+ local refresh_config = uci:get("openclash", "config", "create_config")
+ if (refresh_config == "1") then
+ luci.sys.call("/usr/share/openclash/yml_proxys_set.sh >/dev/null 2>&1")
+ uci:delete_all("openclash", "servers", function(s) return true end)
+ uci:delete_all("openclash", "groups", function(s) return true end)
+ luci.sys.call("/usr/share/openclash/yml_groups_get.sh >/dev/null 2>&1")
+ luci.sys.call("/etc/init.d/openclash restart >/dev/null 2>&1 &")
+ else
+ luci.sys.call("/usr/share/openclash/yml_proxys_set.sh >/dev/null 2>&1")
+ luci.sys.call("/etc/init.d/openclash restart >/dev/null 2>&1 &")
+ end
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash"))
end
@@ -56,7 +66,7 @@ o.inputstyle = "apply"
o.write = function()
uci:delete_all("openclash", "servers", function(s) return true end)
uci:delete_all("openclash", "groups", function(s) return true end)
- luci.sys.call("sh /usr/share/openclash/yml_groups_get.sh 2>/dev/null")
+ luci.sys.call("sh /usr/share/openclash/yml_groups_get.sh 2>/dev/null")
luci.http.redirect(luci.dispatcher.build_url("admin", "services", "openclash", "servers"))
end
@@ -123,7 +133,7 @@ function o.cfgvalue(...)
return Value.cfgvalue(...) or translate("None")
end
-o = s:option(DummyValue, "name", translate("Alias"))
+o = s:option(DummyValue, "name", translate("Server Alias"))
function o.cfgvalue(...)
return Value.cfgvalue(...) or translate("None")
end
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua
index 2b18ac755e..34cf15a167 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua
@@ -21,8 +21,9 @@ s:tab("geo_update", translate("GEOIP Update"))
s:tab("version_update", translate("Version Update"))
---- General Settings
+local cpu_model=SYS.exec("opkg status libc 2>/dev/null |grep 'Architecture' |awk -F ': ' '{print $2}' 2>/dev/null")
o = s:taboption("settings", ListValue, "core_version", translate("Chose to Download"))
-o.description = translate("For Core Update, Wrong Version Will Not Work")
+o.description = translate("CPU Model")..': '..cpu_model..', '..translate("Select Based On Your CPU Model For Core Update, Wrong Version Will Not Work")
o:value("linux-386")
o:value("linux-amd64", translate("linux-amd64(x86-64)"))
o:value("linux-armv5")
@@ -242,6 +243,7 @@ o.inputstyle = "reload"
o.write = function()
uci:set("openclash", "config", "enable", 1)
uci:commit("openclash")
+ SYS.call("rm -rf /etc/openclash/config.bak 2>/dev/null")
SYS.call("sh /usr/share/openclash/openclash.sh >/dev/null 2>&1 &")
HTTP.redirect(DISP.build_url("admin", "services", "openclash"))
end
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/developer.htm b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/developer.htm
index 36aa87f248..ae70254ee0 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/developer.htm
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/developer.htm
@@ -43,7 +43,7 @@
}
function binupdate_rediret()
{
- url5='https://github.com/Dreamacro/clash/releases';
+ url5='https://github.com/vernesong/OpenClash/releases/tag/Clash';
window.open(url5);
}
function openupdate_rediret()
diff --git a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/myip.htm b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/myip.htm
index 0938971299..da1db07dd4 100644
--- a/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/myip.htm
+++ b/package/cnsztl/luci-app-openclash/files/usr/lib/lua/luci/view/openclash/myip.htm
@@ -14,7 +14,7 @@
-
+
@@ -142,7 +142,7 @@
太平洋 国内:
- IPAPI 海外:
+ IP.SB 海外:
IPIFY 海外:
@@ -184,7 +184,7 @@
$$.getElementById('ip-pcol').innerHTML = '查询中...';
$$.getElementById('ip-ipify').innerHTML = '查询中...';
$$.getElementById('ip-ipipnet').innerHTML = '查询中...';
- $$.getElementById('ip-ipapi').innerHTML = '查询中...';
+ $$.getElementById('ip-ipsb').innerHTML = '查询中...';
let random = parseInt(Math.random() * 100000000);
let IP = {
get: (url, type) =>
@@ -246,7 +246,6 @@
$$.getElementById('ip-ipipnet-geo').innerHTML = `${data[1]}`;
});
},
-
getIPApiIP: () => {
IP.get(`https://ipapi.co/json?z=${random}`, 'json')
.then(resp => {
@@ -303,13 +302,16 @@
HTTP.runcheck();
IP.getIpipnetIP();
IP.getIpifyIP();
- IP.getIPApiIP();
IP.getWebrtcIP();
function getPcolIP(data){
$$.getElementById('ip-pcol').innerHTML = data.ip;
IP.parseIPIpip(data.ip, 'ip-pcol-ipip');
};
+ function getIpsbIP(data){
+ $$.getElementById('ip-ipsb').innerHTML = data.address;
+ $$.getElementById('ip-ipsb-geo').innerHTML = `${data.country} ${data.province} ${data.city} ${data.isp.name}`
+ };
window.onload=myip_Load();
@@ -321,19 +323,25 @@
pcipScript.src='https://whois.pconline.com.cn/ipJson.jsp?callback=getPcolIP';
pcip.appendChild(pcipScript);
+ var sbip = document.getElementsByTagName('HEAD').item(0);
+ var sbipScript= document.createElement("script");
+ sbipScript.defer = "defer";
+ sbipScript.src='https://ip.sb/addrinfo?callback=getIpsbIP';
+ sbip.appendChild(sbipScript);
+
const $$ = document;
random = parseInt(Math.random() * 100000000);
HTTP.runcheck();
IP.getIpipnetIP();
IP.getIpifyIP();
- IP.getIPApiIP();
IP.getWebrtcIP();
- setTimeout("myip_Load()",1000*8);
+ setTimeout("myip_Load()",1000*20);
}
+