diff --git a/package/ctcgfw/luci-app-openclash/Makefile b/package/ctcgfw/luci-app-openclash/Makefile index d2040075c7..5206c25f62 100644 --- a/package/ctcgfw/luci-app-openclash/Makefile +++ b/package/ctcgfw/luci-app-openclash/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-openclash -PKG_VERSION:=0.39.2 +PKG_VERSION:=0.39.3 PKG_RELEASE:=beta PKG_MAINTAINER:=vernesong @@ -99,8 +99,8 @@ if [ -f "/tmp/openclash.bak" ]; then mv "/tmp/openclash_custom_hosts.list.bak" "/etc/openclash/custom/openclash_custom_hosts.list" >/dev/null 2>&1 mv "/tmp/openclash_custom_fake_filter.list.bak" "/etc/openclash/custom/openclash_custom_fake_filter.list" >/dev/null 2>&1 if [ -d "/tmp/openclash_history/" ]; then - rm -rf "/etc/openclash/history" >/dev/null 2>&1 - mv "/tmp/openclash_history" "/etc/openclash/history" >/dev/null 2>&1 + cp -a "/tmp/openclash_history/." "/etc/openclash/history" >/dev/null 2>&1 + rm -rf "/tmp/openclash_history" >/dev/null 2>&1 fi fi if [ -f "/tmp/config.yaml" ]; then diff --git a/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash b/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash index a3a05ecf71..8e08a647c2 100755 --- a/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash +++ b/package/ctcgfw/luci-app-openclash/files/etc/init.d/openclash @@ -50,39 +50,46 @@ del_cron() } change_dns() { - if [ "$1" -ne "0" ]; then + if [ "$1" -eq "1" ]; then uci del dhcp.@dnsmasq[-1].server >/dev/null 2>&1 uci add_list dhcp.@dnsmasq[0].server=127.0.0.1#"$dns_port" - uci delete dhcp.@dnsmasq[0].resolvfile - uci set dhcp.@dnsmasq[0].noresolv=1 + uci delete dhcp.@dnsmasq[0].resolvfile 2>/dev/null + uci set dhcp.@dnsmasq[0].noresolv=1 2>/dev/null uci set openclash.config.redirect_dns=1 else - uci delete openclash.config.redirect_dns + uci delete openclash.config.redirect_dns 2>/dev/null fi if [ "$2" -eq "1" ]; then - uci set dhcp.@dnsmasq[0].cachesize=0 - uci set openclash.config.masq_cache=1 - else - uci delete openclash.config.masq_cache + uci set dhcp.@dnsmasq[0].cachesize=0 2>/dev/null fi uci commit dhcp uci commit openclash } revert_dns() { - uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$3" >/dev/null 2>&1 - [ "$1" = "1" ] && { - if [ -s "/tmp/resolv.conf.d/resolv.conf.auto" ]; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto >/dev/null 2>&1 - elif [ -s "/tmp/resolv.conf.auto" ]; then - uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto >/dev/null 2>&1 + [ "$1" -eq "0" ] && { + if [ "$(uci get openclash.config.dns_revert 2>/dev/null)" != "1" ]; then + uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$3" >/dev/null 2>&1 + if [ -s "/tmp/resolv.conf.d/resolv.conf.auto" ]; then + uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.d/resolv.conf.auto >/dev/null 2>&1 + elif [ -s "/tmp/resolv.conf.auto" ]; then + uci set dhcp.@dnsmasq[0].resolvfile=/tmp/resolv.conf.auto >/dev/null 2>&1 + fi + uci set dhcp.@dnsmasq[0].noresolv=0 >/dev/null 2>&1 + uci set openclash.config.dns_revert=1 2>/dev/null fi - uci set dhcp.@dnsmasq[0].noresolv=0 >/dev/null 2>&1 } - [ "$2" = "1" ] && { + [ "$1" -eq "1" ] && { + uci del_list dhcp.@dnsmasq[0].server=127.0.0.1#"$3" >/dev/null 2>&1 + uci set openclash.config.dns_revert=0 2>/dev/null + } + + [ "$(uci get dhcp.@dnsmasq[0].cachesize 2>/dev/null)" -eq "0" ] && { uci delete dhcp.@dnsmasq[0].cachesize >/dev/null 2>&1 - } + } 2>/dev/null + uci commit dhcp + uci commit openclash rm -rf /tmp/dnsmasq.d/dnsmasq_openclash.conf >/dev/null 2>&1 } @@ -915,6 +922,24 @@ lan_ac() } +firewall_redirect_exclude() +{ + local section="$1" + local src_dport + config_get "src_dport" "$section" "src_dport" "" + + if [ -z "$src_dport" ]; then + return + fi + + if [ -z "$en_mode_tun" ]; then + iptables -t mangle -A openclash -p udp --dport "$src_dport" -j RETURN >/dev/null 2>&1 + else + iptables -t mangle -A openclash -p tcp --dport "$src_dport" -j RETURN >/dev/null 2>&1 + iptables -t mangle -A openclash -p udp --dport "$src_dport" -j RETURN >/dev/null 2>&1 + fi +} + #配置文件选择 config_choose() { @@ -998,7 +1023,7 @@ do_run_core() core_type="Game" fi - if [ "$proxy_mode" = "Script" ] || [ "$rule_source" = "ConnersHua_provider" ]; then + if [ "$proxy_mode" = "Script" ] || [ "$rule_source" = "ConnersHua" ]; then ln -s /etc/openclash/core/clash_tun /etc/openclash/clash 2>/dev/null core_type="Tun" fi @@ -1103,6 +1128,10 @@ if [ -z "$en_mode_tun" ]; then iptables -t mangle -A openclash -m set --match-set localnetwork dst -j RETURN iptables -t mangle -A openclash -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 + iptables -t mangle -A openclash -p udp --dport 53 -j RETURN >/dev/null 2>&1 + #端口转发 + config_load "firewall" + config_foreach firewall_redirect_exclude "redirect" iptables -t mangle -A openclash -p udp -j TPROXY --on-port "$proxy_port" --on-ip 0.0.0.0 --tproxy-mark "$PROXY_FWMARK" iptables -t mangle -A PREROUTING -p udp -j openclash fi @@ -1158,17 +1187,25 @@ else fi ip rule add fwmark "$PROXY_FWMARK" table "$PROXY_ROUTE_TABLE" #设置防火墙 + iptables -t mangle -N openclash_output + iptables -t mangle -F openclash_output + iptables -t mangle -A openclash_output -m set --match-set localnetwork dst -j RETURN + if [ "$en_mode" = "fake-ip" ]; then + iptables -t mangle -A openclash_output -d 198.18.0.0/16 -j MARK --set-mark "$PROXY_FWMARK" + fi + iptables -t mangle -I OUTPUT -j openclash_output iptables -t mangle -N openclash iptables -t mangle -F openclash - iptables -t mangle -A openclash -m set --match-set localnetwork dst -j RETURN - if [ "$en_mode" = "fake-ip" ]; then - iptables -t mangle -A openclash -d 198.18.0.0/16 -j MARK --set-mark "$PROXY_FWMARK" - fi - iptables -t mangle -I OUTPUT -j openclash - iptables -t mangle -I PREROUTING -m set ! --match-set localnetwork dst -j MARK --set-mark "$PROXY_FWMARK" - iptables -t mangle -I PREROUTING -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -I PREROUTING -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 + #端口转发 + config_load "firewall" + config_foreach firewall_redirect_exclude "redirect" + #其他流量 + iptables -t mangle -A openclash -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 + iptables -t mangle -A openclash -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 + iptables -t mangle -A openclash -m set ! --match-set localnetwork dst -j MARK --set-mark "$PROXY_FWMARK" + iptables -t mangle -I PREROUTING -j openclash iptables -t nat -I PREROUTING -p tcp --dport 53 -j ACCEPT + #ipv6 # if [ "$ipv6_enable" -eq 1 ]; then # ip6tables -t mangle -I PREROUTING -j MARK --set-mark "$PROXY_FWMARK" @@ -1232,12 +1269,12 @@ revert_firewall() ip link set dev clash0 down >/dev/null 2>&1 ip tuntap del clash0 mode tun >/dev/null 2>&1 - iptables -t mangle -D OUTPUT -j openclash >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -m set --match-set lan_ac_black_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -m set ! --match-set lan_ac_white_ips src -j RETURN >/dev/null 2>&1 - iptables -t mangle -D PREROUTING -m set ! --match-set localnetwork dst -j MARK --set-mark "$PROXY_FWMARK" >/dev/null 2>&1 + iptables -t mangle -D OUTPUT -j openclash_output >/dev/null 2>&1 + iptables -t mangle -D PREROUTING -j openclash iptables -t mangle -F openclash >/dev/null 2>&1 iptables -t mangle -X openclash >/dev/null 2>&1 + iptables -t mangle -F openclash_output >/dev/null 2>&1 + iptables -t mangle -X openclash_output >/dev/null 2>&1 #ip6tables -t mangle -D PREROUTING -j MARK --set-mark "$PROXY_FWMARK" >/dev/null 2>&1 @@ -1311,8 +1348,8 @@ if [ "$enable" -eq 1 ] && [ -f "$CONFIG_FILE" ]; then yml_auth_custom "$CONFIG_FILE" yml_cut "$CHANGE_FILE" "$RULE_FILE" "$DNS_FILE" "$CONFIG_FILE" "$PROXY_FILE" "$PROXY_PROVIDER_FILE" "$GROUP_FILE" yml_dns_custom "$enable_custom_dns" "$DNS_FILE" - sh /usr/share/openclash/yml_change.sh >/dev/null 2>&1 "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$log_level" "$proxy_mode" "$intranet_allowed" "$en_mode_tun" "$stack_type" & - sh /usr/share/openclash/yml_rules_change.sh >/dev/null 2>&1 "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$RULE_FILE" "$set_rule_file" "$en_mode" "$enable_rule_proxy" "$BACKUP_FILE" "$RULE_PROVIDER_FILE" & + /usr/share/openclash/yml_change.sh >/dev/null 2>&1 "$LOGTIME" "$en_mode" "$enable_custom_dns" "$da_password" "$cn_port" "$proxy_port" "$CHANGE_FILE" "$ipv6_enable" "$http_port" "$socks_port" "$lan_ip" "$log_level" "$proxy_mode" "$intranet_allowed" "$en_mode_tun" "$stack_type" & + /usr/share/openclash/yml_rules_change.sh >/dev/null 2>&1 "$LOGTIME" "$rule_source" "$enable_custom_clash_rules" "$RULE_FILE" "$set_rule_file" "$en_mode" "$enable_rule_proxy" "$BACKUP_FILE" "$RULE_PROVIDER_FILE" & wait yml_provider_path "$PROXY_PROVIDER_FILE" "proxy_provider" yml_provider_path "$RULE_PROVIDER_FILE" "rule_provider" diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua.yaml b/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua.yaml index 9bfe12a74b..4b139049ac 100644 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua.yaml +++ b/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua.yaml @@ -1,1181 +1,71 @@ +rule-providers: +# name: # Provider 名称 +# type: http # http 或 file +# behavior: classical # 或 ipcidr、domain +# path: # 文件路径 +# url: # 只有当类型为 HTTP 时才可用,您不需要在本地空间中创建新文件。 +# interval: # 自动更新间隔,仅在类型为 HTTP 时可用 + + Unbreak: + type: http + behavior: classical + path: ./RuleSet/Unbreak.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Unbreak.yaml + interval: 86400 + + Streaming: + type: http + behavior: classical + path: ./RuleSet/StreamingMedia/Streaming.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Streaming.yaml + interval: 86400 + + StreamingSE: + type: http + behavior: classical + path: ./RuleSet/StreamingMedia/StreamingSE.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/StreamingSE.yaml + interval: 86400 + + Global: + type: http + behavior: classical + path: ./RuleSet/Global.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Global.yaml + interval: 86400 + + China: + type: http + behavior: classical + path: ./RuleSet/China.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/China.yaml + interval: 86400 + + ChinaIP: + type: http + behavior: ipcidr + path: ./RuleSet/Extra/ChinaIP.yaml + url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Extra/ChinaIP.yaml + interval: 86400 + +# 规则 rules: -##source:ConnersHua # Unbreak - - DOMAIN-SUFFIX,googletraveladservices.com,DIRECT - - DOMAIN,dl.google.com,DIRECT - - DOMAIN,mtalk.google.com,DIRECT + - RULE-SET,Unbreak,DIRECT # Global Area Network - # Streaming Media - # (Podcast) - # > Himalaya - # USER-AGENT,Himalaya*,GlobalMedia - - DOMAIN-SUFFIX,himalaya.com,GlobalMedia - # (Music) - # > Deezer - # USER-AGENT,Deezer*,GlobalMedia - - DOMAIN-SUFFIX,deezer.com,GlobalMedia - - DOMAIN-SUFFIX,dzcdn.net,GlobalMedia - # > JOOX - # USER-AGENT,JOOX*,GlobalMedia - # USER-AGENT,WeMusic*,GlobalMedia - - DOMAIN-SUFFIX,joox.com,GlobalMedia - - DOMAIN-KEYWORD,jooxweb-api,GlobalMedia - # > KKBOX - - DOMAIN-SUFFIX,kkbox.com,GlobalMedia - - DOMAIN-SUFFIX,kkbox.com.tw,GlobalMedia - - DOMAIN-SUFFIX,kfs.io,GlobalMedia - # > Pandora - # USER-AGENT,Pandora*,GlobalMedia - - DOMAIN-SUFFIX,pandora.com,GlobalMedia - # > SoundCloud - # USER-AGENT,SoundCloud*,GlobalMedia - - DOMAIN-SUFFIX,p-cdn.us,GlobalMedia - - DOMAIN-SUFFIX,sndcdn.com,GlobalMedia - - DOMAIN-SUFFIX,soundcloud.com,GlobalMedia - # > Spotify - # USER-AGENT,Spotify*,GlobalMedia - - DOMAIN-SUFFIX,pscdn.co,GlobalMedia - - DOMAIN-SUFFIX,scdn.co,GlobalMedia - - DOMAIN-SUFFIX,spotify.com,GlobalMedia - - DOMAIN-SUFFIX,spoti.fi,GlobalMedia - - DOMAIN-KEYWORD,spotify.com,GlobalMedia - - DOMAIN-KEYWORD,-spotify-com,GlobalMedia - # > TIDAL - # USER-AGENT,TIDAL*,GlobalMedia - - DOMAIN-SUFFIX,tidal.com,GlobalMedia - # > YouTubeMusic - # USER-AGENT,com.google.ios.youtubemusic*,GlobalMedia - # USER-AGENT,YouTubeMusic*,GlobalMedia -# (Video) - # > AbemaTV - # USER-AGENT,AbemaTV*,GlobalMedia - - DOMAIN-SUFFIX,abema.io,GlobalMedia - - DOMAIN-SUFFIX,abema.tv,GlobalMedia - - DOMAIN-SUFFIX,ameba.jp,GlobalMedia - - DOMAIN-SUFFIX,hayabusa.io,GlobalMedia - - DOMAIN-KEYWORD,abematv.akamaized.net,GlobalMedia - # > All 4 - # USER-AGENT,All4*,GlobalMedia - - DOMAIN-SUFFIX,c4assets.com,GlobalMedia - - DOMAIN-SUFFIX,channel4.com,GlobalMedia - # > Amazon Prime Video - # USER-AGENT,InstantVideo.US*,GlobalMedia - # USER-AGENT,Prime%20Video*,GlobalMedia - - DOMAIN-SUFFIX,aiv-cdn.net,GlobalMedia - - DOMAIN-SUFFIX,aiv-delivery.net,GlobalMedia - - DOMAIN-SUFFIX,amazonvideo.com,GlobalMedia - - DOMAIN-SUFFIX,primevideo.com,GlobalMedia - - DOMAIN,avodmp4s3ww-a.akamaihd.net,GlobalMedia - - DOMAIN,d25xi40x97liuc.cloudfront.net,GlobalMedia - - DOMAIN,dmqdd6hw24ucf.cloudfront.net,GlobalMedia - - DOMAIN,dmqdd6hw24ucf.cloudfront.net,GlobalMedia - - DOMAIN,d22qjgkvxw22r6.cloudfront.net,GlobalMedia - - DOMAIN,d1v5ir2lpwr8os.cloudfront.net,GlobalMedia - - DOMAIN-KEYWORD,avoddashs,GlobalMedia - # > Apple TV - - DOMAIN-SUFFIX,tv.apple.com,GlobalMedia - - DOMAIN,hls.itunes.apple.com,GlobalMedia - - DOMAIN,hls-amt.itunes.apple.com,GlobalMedia - - DOMAIN,play-edge.itunes.apple.com,GlobalMedia - # > Bahamut - # USER-AGENT,Anime*,GlobalMedia - - DOMAIN-SUFFIX,bahamut.com.tw,GlobalMedia - - DOMAIN-SUFFIX,gamer.com.tw,GlobalMedia - - DOMAIN,gamer-cds.cdn.hinet.net,GlobalMedia - - DOMAIN,gamer2-cds.cdn.hinet.net,GlobalMedia - # > BBC iPlayer - # USER-AGENT,BBCiPlayer*,GlobalMedia - - DOMAIN-SUFFIX,bbc.co.uk,GlobalMedia - - DOMAIN-SUFFIX,bbci.co.uk,GlobalMedia - - DOMAIN-KEYWORD,bbcfmt,GlobalMedia - - DOMAIN-KEYWORD,uk-live,GlobalMedia - # > DAZN - # USER-AGENT,DAZN*,GlobalMedia - - DOMAIN-SUFFIX,dazn.com,GlobalMedia - - DOMAIN-SUFFIX,dazn-api.com,GlobalMedia - - DOMAIN,d151l6v8er5bdm.cloudfront.net,GlobalMedia - - DOMAIN-KEYWORD,voddazn,GlobalMedia - # > Disney+ - # USER-AGENT,Disney+*,GlobalMedia - - DOMAIN-SUFFIX,disney-plus.net,GlobalMedia - - DOMAIN-SUFFIX,disneyplus.com,GlobalMedia - - DOMAIN-SUFFIX,dssott.com,GlobalMedia - - DOMAIN,cdn.registerdisney.go.com,GlobalMedia - - DOMAIN,global.edge.bamgrid.com,GlobalMedia - # > encoreTVB - # USER-AGENT,encoreTVB*,GlobalMedia - - DOMAIN-SUFFIX,encoretvb.com,GlobalMedia - - DOMAIN,edge.api.brightcove.com,GlobalMedia - - DOMAIN,bcbolt446c5271-a.akamaihd.net,GlobalMedia - # > FOX NOW - # USER-AGENT,FOX%20NOW*,GlobalMedia - - DOMAIN-SUFFIX,fox.com,GlobalMedia - - DOMAIN-SUFFIX,foxdcg.com,GlobalMedia - - DOMAIN-SUFFIX,theplatform.com,GlobalMedia - - DOMAIN-SUFFIX,uplynk.com,GlobalMedia - # > FOX+ - - DOMAIN-SUFFIX,foxplus.com,GlobalMedia -# - DOMAIN-SUFFIX,theplatform.com,GlobalMedia - - DOMAIN,cdn-fox-networks-group-green.akamaized.net,GlobalMedia - - DOMAIN,d3cv4a9a9wh0bt.cloudfront.net,GlobalMedia - - DOMAIN,foxsports01-i.akamaihd.net,GlobalMedia - - DOMAIN,foxsports02-i.akamaihd.net,GlobalMedia - - DOMAIN,foxsports03-i.akamaihd.net,GlobalMedia - - DOMAIN,staticasiafox.akamaized.net,GlobalMedia - # > HBO NOW & Max - # USER-AGENT,HBO%20NOW*,GlobalMedia - - DOMAIN-SUFFIX,hbo.com,GlobalMedia - - DOMAIN-SUFFIX,hbogo.com,GlobalMedia - - DOMAIN-SUFFIX,hbonow.com,GlobalMedia - # USER-AGENT,HBOMAX*,GlobalMedia - - DOMAIN-SUFFIX,hbomax.com,GlobalMedia - # > HBO GO HKG - # USER-AGENT,HBO%20GO%20PROD%20HKG*,GlobalMedia - - DOMAIN-SUFFIX,hbogoasia.com,GlobalMedia - - DOMAIN-SUFFIX,hbogoasia.hk,GlobalMedia - - DOMAIN,bcbolthboa-a.akamaihd.net,GlobalMedia - - DOMAIN,players.brightcove.net,GlobalMedia - - DOMAIN,s3-ap-southeast-1.amazonaws.com,GlobalMedia - - DOMAIN,dai3fd1oh325y.cloudfront.net,GlobalMedia - - DOMAIN,44wilhpljf.execute-api.ap-southeast-1.amazonaws.com,GlobalMedia - - DOMAIN,hboasia1-i.akamaihd.net,GlobalMedia - - DOMAIN,hboasia2-i.akamaihd.net,GlobalMedia - - DOMAIN,hboasia3-i.akamaihd.net,GlobalMedia - - DOMAIN,hboasia4-i.akamaihd.net,GlobalMedia - - DOMAIN,hboasia5-i.akamaihd.net,GlobalMedia - - DOMAIN,cf-images.ap-southeast-1.prod.boltdns.net,GlobalMedia - # > 华文电视 - # USER-AGENT,HWTVMobile*,GlobalMedia - - DOMAIN-SUFFIX,5itv.tv,GlobalMedia - - DOMAIN-SUFFIX,ocnttv.com,GlobalMedia - # > Hulu - - DOMAIN-SUFFIX,hulu.com,GlobalMedia - - DOMAIN-SUFFIX,huluim.com,GlobalMedia - - DOMAIN-SUFFIX,hulustream.com,GlobalMedia - # > Hulu / フールー - - DOMAIN-SUFFIX,happyon.jp,GlobalMedia - - DOMAIN-SUFFIX,hulu.jp,GlobalMedia - # > ITV - # USER-AGENT,ITV_Player*,GlobalMedia - - DOMAIN-SUFFIX,itv.com,GlobalMedia - - DOMAIN-SUFFIX,itvstatic.com,GlobalMedia - - DOMAIN,itvpnpmobile-a.akamaihd.net,GlobalMedia - # > KKTV - # USER-AGENT,KKTV*,GlobalMedia - # USER-AGENT,com.kktv.ios.kktv*,GlobalMedia - - DOMAIN-SUFFIX,kktv.com.tw,GlobalMedia - - DOMAIN-SUFFIX,kktv.me,GlobalMedia - - DOMAIN,kktv-theater.kk.stream,GlobalMedia - # > LINE TV - # USER-AGENT,LINE%20TV*,GlobalMedia - - DOMAIN-SUFFIX,linetv.tw,GlobalMedia - - DOMAIN,d3c7rimkq79yfu.cloudfront.net,GlobalMedia - # > LiTV - - DOMAIN-SUFFIX,litv.tv,GlobalMedia - - DOMAIN,litvfreemobile-hichannel.cdn.hinet.net,GlobalMedia - # > My5 - # USER-AGENT,My5*,GlobalMedia - - DOMAIN-SUFFIX,channel5.com,GlobalMedia - - DOMAIN-SUFFIX,my5.tv,GlobalMedia - - DOMAIN,d349g9zuie06uo.cloudfront.net,GlobalMedia - # > myTV SUPER - # USER-AGENT,mytv*,GlobalMedia - - DOMAIN-SUFFIX,mytvsuper.com,GlobalMedia - - DOMAIN-SUFFIX,tvb.com,GlobalMedia - # > Netflix - # USER-AGENT,Argo*,GlobalMedia - - DOMAIN-SUFFIX,netflix.com,GlobalMedia - - DOMAIN-SUFFIX,netflix.net,GlobalMedia - - DOMAIN-SUFFIX,nflxext.com,GlobalMedia - - DOMAIN-SUFFIX,nflximg.com,GlobalMedia - - DOMAIN-SUFFIX,nflximg.net,GlobalMedia - - DOMAIN-SUFFIX,nflxso.net,GlobalMedia - - DOMAIN-SUFFIX,nflxvideo.net,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest0.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest1.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest2.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest3.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest4.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest5.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest6.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest7.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest8.com,GlobalMedia - - DOMAIN-SUFFIX,netflixdnstest9.com,GlobalMedia - - IP-CIDR,23.246.0.0/18,GlobalMedia,no-resolve - - IP-CIDR,37.77.184.0/21,GlobalMedia,no-resolve - - IP-CIDR,45.57.0.0/17,GlobalMedia,no-resolve - - IP-CIDR,64.120.128.0/17,GlobalMedia,no-resolve - - IP-CIDR,66.197.128.0/17,GlobalMedia,no-resolve - - IP-CIDR,108.175.32.0/20,GlobalMedia,no-resolve - - IP-CIDR,192.173.64.0/18,GlobalMedia,no-resolve - - IP-CIDR,198.38.96.0/19,GlobalMedia,no-resolve - - IP-CIDR,198.45.48.0/20,GlobalMedia,no-resolve - # > niconico - # USER-AGENT,Niconico*,GlobalMedia - - DOMAIN-SUFFIX,dmc.nico,GlobalMedia - - DOMAIN-SUFFIX,nicovideo.jp,GlobalMedia - - DOMAIN-SUFFIX,nimg.jp,GlobalMedia - - DOMAIN-SUFFIX,socdm.com,GlobalMedia - # > Now E - - DOMAIN-SUFFIX,nowe.com,GlobalMedia - - DOMAIN-SUFFIX,nowestatic.com,GlobalMedia - # > PBS - # USER-AGENT,PBS*,GlobalMedia - - DOMAIN-SUFFIX,pbs.org,GlobalMedia - # > Pornhub - - DOMAIN-SUFFIX,phncdn.com,GlobalMedia - - DOMAIN-SUFFIX,phprcdn.com,GlobalMedia - - DOMAIN-SUFFIX,pornhub.com,GlobalMedia - - DOMAIN-SUFFIX,pornhubpremium.com,GlobalMedia - # > 台湾好 - # USER-AGENT,TaiwanGood*,GlobalMedia - - DOMAIN-SUFFIX,skyking.com.tw,GlobalMedia - - DOMAIN,hamifans.emome.net,GlobalMedia - # > TikTok - # USER-AGENT,TikTok*,GlobalMedia - - DOMAIN-SUFFIX,byteoversea.com,GlobalMedia - - DOMAIN-SUFFIX,ibytedtos.com,GlobalMedia - - DOMAIN-SUFFIX,muscdn.com,GlobalMedia - - DOMAIN-SUFFIX,musical.ly,GlobalMedia - - DOMAIN-SUFFIX,tiktokcdn.com,GlobalMedia - - DOMAIN-SUFFIX,tiktokv.com,GlobalMedia - - DOMAIN-KEYWORD,-tiktokcdn-com,GlobalMedia - # > Twitch - - DOMAIN-SUFFIX,jtvnw.net,GlobalMedia - - DOMAIN-SUFFIX,ttvnw.net,GlobalMedia - - DOMAIN-SUFFIX,twitch.tv,GlobalMedia - - DOMAIN-SUFFIX,twitchcdn.net,GlobalMedia - # > ViuTV - # USER-AGENT,Viu*,GlobalMedia - - DOMAIN-SUFFIX,viu.com,GlobalMedia - - DOMAIN-SUFFIX,viu.tv,GlobalMedia - - DOMAIN,api.viu.now.com,GlobalMedia - - DOMAIN,d1k2us671qcoau.cloudfront.net,GlobalMedia - - DOMAIN,d2anahhhmp1ffz.cloudfront.net,GlobalMedia - - DOMAIN,dfp6rglgjqszk.cloudfront.net,GlobalMedia - # > YouTube - # USER-AGENT,com.google.ios.youtube*,GlobalMedia - # USER-AGENT,YouTube*,GlobalMedia - - DOMAIN-SUFFIX,googlevideo.com,GlobalMedia - - DOMAIN-SUFFIX,youtube.com,GlobalMedia - - DOMAIN,youtubei.googleapis.com,GlobalMedia - # > bilibili - - DOMAIN-SUFFIX,biliapi.net,HKMTMedia - - DOMAIN,api.bilibili.com,HKMTMedia - - DOMAIN,www.bilibili.com,HKMTMedia - - DOMAIN,upos-hz-mirrorakam.akamaized.net,HKMTMedia - # > 愛奇藝台灣站 - - DOMAIN,cache.video.iqiyi.com,HKMTMedia - # > 芒果TV国际 - - DOMAIN-SUFFIX,api.mgtv.com,HKMTMedia - # > WeTV - - DOMAIN-SUFFIX,wetv.vip,HKMTMedia - - DOMAIN-SUFFIX,wetvinfo.com,HKMTMedia + # (Streaming Media) + - RULE-SET,Streaming,Streaming -# (DNS Cache Pollution) - # > Google - - DOMAIN-SUFFIX,appspot.com,PROXY - - DOMAIN-SUFFIX,blogger.com,PROXY - - DOMAIN-SUFFIX,getoutline.org,PROXY - - DOMAIN-SUFFIX,gvt0.com,PROXY - - DOMAIN-SUFFIX,gvt1.com,PROXY - - DOMAIN-SUFFIX,gvt3.com,PROXY - - DOMAIN-SUFFIX,xn--ngstr-lra8j.com,PROXY - - DOMAIN-KEYWORD,google,PROXY - - DOMAIN-KEYWORD,blogspot,PROXY - # > Microsoft - - DOMAIN-SUFFIX,onedrive.live.com,PROXY - - DOMAIN,az416426.vo.msecnd.net,PROXY - - DOMAIN,az668014.vo.msecnd.net,PROXY - # > Facebook - - DOMAIN-SUFFIX,cdninstagram.com,PROXY - - DOMAIN-SUFFIX,fb.com,PROXY - - DOMAIN-SUFFIX,fb.me,PROXY - - DOMAIN-SUFFIX,fbaddins.com,PROXY - - DOMAIN-SUFFIX,fbcdn.net,PROXY - - DOMAIN-SUFFIX,fbsbx.com,PROXY - - DOMAIN-SUFFIX,fbworkmail.com,PROXY - - DOMAIN-SUFFIX,instagram.com,PROXY - - DOMAIN-SUFFIX,m.me,PROXY - - DOMAIN-SUFFIX,messenger.com,PROXY - - DOMAIN-SUFFIX,oculus.com,PROXY - - DOMAIN-SUFFIX,oculuscdn.com,PROXY - - DOMAIN-SUFFIX,rocksdb.org,PROXY - - DOMAIN-SUFFIX,whatsapp.com,PROXY - - DOMAIN-SUFFIX,whatsapp.net,PROXY - - DOMAIN-KEYWORD,facebook,PROXY - # > Twitter - - DOMAIN-SUFFIX,periscope.tv,PROXY - - DOMAIN-SUFFIX,pscp.tv,PROXY - - DOMAIN-SUFFIX,t.co,PROXY - - DOMAIN-SUFFIX,twimg.co,PROXY - - DOMAIN-SUFFIX,twimg.com,PROXY - - DOMAIN-SUFFIX,twitpic.com,PROXY - - DOMAIN-SUFFIX,twitter.com,PROXY - - DOMAIN-SUFFIX,vine.co,PROXY - # > Telegram - - DOMAIN-SUFFIX,telegra.ph,PROXY - - DOMAIN-SUFFIX,telegram.org,PROXY - - IP-CIDR,91.108.4.0/22,PROXY,no-resolve - - IP-CIDR,91.108.8.0/22,PROXY,no-resolve - - IP-CIDR,91.108.12.0/22,PROXY,no-resolve - - IP-CIDR,91.108.16.0/22,PROXY,no-resolve - - IP-CIDR,91.108.56.0/22,PROXY,no-resolve - - IP-CIDR,149.154.160.0/20,PROXY,no-resolve - - IP-CIDR,2001:b28:f23d::/48,PROXY,no-resolve - - IP-CIDR,2001:b28:f23f::/48,PROXY,no-resolve - - IP-CIDR,2001:67c:4e8::/48,PROXY,no-resolve - # > Line - - DOMAIN-SUFFIX,line.me,PROXY - - DOMAIN-SUFFIX,line-apps.com,PROXY - - DOMAIN-SUFFIX,line-scdn.net,PROXY - - DOMAIN-SUFFIX,naver.jp,PROXY - - IP-CIDR,103.2.30.0/23,PROXY,no-resolve - - IP-CIDR,125.209.208.0/20,PROXY,no-resolve - - IP-CIDR,147.92.128.0/17,PROXY,no-resolve - - IP-CIDR,203.104.144.0/21,PROXY,no-resolve - # > Akamai - - DOMAIN,a248.e.akamai.net,PROXY - - DOMAIN,a771.dscq.akamai.net,PROXY - # > Amazon CloudFront - - DOMAIN,d3c33hcgiwev3.cloudfront.net,PROXY - # > Others - - DOMAIN-SUFFIX,4shared.com,PROXY - - DOMAIN-SUFFIX,9cache.com,PROXY - - DOMAIN-SUFFIX,9gag.com,PROXY - - DOMAIN-SUFFIX,abc.com,PROXY - - DOMAIN-SUFFIX,abc.net.au,PROXY - - DOMAIN-SUFFIX,abebooks.com,PROXY - - DOMAIN-SUFFIX,amazon.co.jp,PROXY - - DOMAIN-SUFFIX,apigee.com,PROXY - - DOMAIN-SUFFIX,apkcombo.com,PROXY - - DOMAIN-SUFFIX,apk-dl.com,PROXY - - DOMAIN-SUFFIX,apkfind.com,PROXY - - DOMAIN-SUFFIX,apkmirror.com,PROXY - - DOMAIN-SUFFIX,apkmonk.com,PROXY - - DOMAIN-SUFFIX,apkpure.com,PROXY - - DOMAIN-SUFFIX,aptoide.com,PROXY - - DOMAIN-SUFFIX,archive.is,PROXY - - DOMAIN-SUFFIX,archive.org,PROXY - - DOMAIN-SUFFIX,archiveofourown.org,PROXY - - DOMAIN-SUFFIX,arte.tv,PROXY - - DOMAIN-SUFFIX,artstation.com,PROXY - - DOMAIN-SUFFIX,arukas.io,PROXY - - DOMAIN-SUFFIX,ask.com,PROXY - - DOMAIN-SUFFIX,avg.com,PROXY - - DOMAIN-SUFFIX,avgle.com,PROXY - - DOMAIN-SUFFIX,badoo.com,PROXY - - DOMAIN-SUFFIX,bandwagonhost.com,PROXY - - DOMAIN-SUFFIX,bangkokpost.com,PROXY - - DOMAIN-SUFFIX,bbc.com,PROXY - - DOMAIN-SUFFIX,behance.net,PROXY - - DOMAIN-SUFFIX,bibox.com,PROXY - - DOMAIN-SUFFIX,biggo.com.tw,PROXY - - DOMAIN-SUFFIX,binance.com,PROXY - - DOMAIN-SUFFIX,bitcointalk.org,PROXY - - DOMAIN-SUFFIX,bitfinex.com,PROXY - - DOMAIN-SUFFIX,bitmex.com,PROXY - - DOMAIN-SUFFIX,bit-z.com,PROXY - - DOMAIN-SUFFIX,bloglovin.com,PROXY - - DOMAIN-SUFFIX,bloomberg.cn,PROXY - - DOMAIN-SUFFIX,bloomberg.com,PROXY - - DOMAIN-SUFFIX,blubrry.com,PROXY - - DOMAIN-SUFFIX,book.com.tw,PROXY - - DOMAIN-SUFFIX,booklive.jp,PROXY - - DOMAIN-SUFFIX,books.com.tw,PROXY - - DOMAIN-SUFFIX,boslife.net,PROXY - - DOMAIN-SUFFIX,box.com,PROXY - - DOMAIN-SUFFIX,brave.com,PROXY - - DOMAIN-SUFFIX,businessinsider.com,PROXY - - DOMAIN-SUFFIX,buzzfeed.com,PROXY - - DOMAIN-SUFFIX,bwh1.net,PROXY - - DOMAIN-SUFFIX,castbox.fm,PROXY - - DOMAIN-SUFFIX,cbc.ca,PROXY - - DOMAIN-SUFFIX,cdw.com,PROXY - - DOMAIN-SUFFIX,change.org,PROXY - - DOMAIN-SUFFIX,channelnewsasia.com,PROXY - - DOMAIN-SUFFIX,ck101.com,PROXY - - DOMAIN-SUFFIX,clarionproject.org,PROXY - - DOMAIN-SUFFIX,cloudcone.com,PROXY - - DOMAIN-SUFFIX,clyp.it,PROXY - - DOMAIN-SUFFIX,cna.com.tw,PROXY - - DOMAIN-SUFFIX,comparitech.com,PROXY - - DOMAIN-SUFFIX,conoha.jp,PROXY - - DOMAIN-SUFFIX,crucial.com,PROXY - - DOMAIN-SUFFIX,cts.com.tw,PROXY - - DOMAIN-SUFFIX,cw.com.tw,PROXY - - DOMAIN-SUFFIX,cyberctm.com,PROXY - - DOMAIN-SUFFIX,dailymotion.com,PROXY - - DOMAIN-SUFFIX,dailyview.tw,PROXY - - DOMAIN-SUFFIX,daum.net,PROXY - - DOMAIN-SUFFIX,daumcdn.net,PROXY - - DOMAIN-SUFFIX,dcard.tw,PROXY - - DOMAIN-SUFFIX,deadline.com,PROXY - - DOMAIN-SUFFIX,deepdiscount.com,PROXY - - DOMAIN-SUFFIX,depositphotos.com,PROXY - - DOMAIN-SUFFIX,deviantart.com,PROXY - - DOMAIN-SUFFIX,disconnect.me,PROXY - - DOMAIN-SUFFIX,discordapp.com,PROXY - - DOMAIN-SUFFIX,discordapp.net,PROXY - - DOMAIN-SUFFIX,disqus.com,PROXY - - DOMAIN-SUFFIX,dlercloud.com,PROXY - - DOMAIN-SUFFIX,dmhy.org,PROXY - - DOMAIN-SUFFIX,dns2go.com,PROXY - - DOMAIN-SUFFIX,dowjones.com,PROXY - - DOMAIN-SUFFIX,dropbox.com,PROXY - - DOMAIN-SUFFIX,dropboxapi.com,PROXY - - DOMAIN-SUFFIX,dropboxusercontent.com,PROXY - - DOMAIN-SUFFIX,duckduckgo.com,PROXY - - DOMAIN-SUFFIX,duyaoss.com,PROXY - - DOMAIN-SUFFIX,dw.com,PROXY - - DOMAIN-SUFFIX,dynu.com,PROXY - - DOMAIN-SUFFIX,earthcam.com,PROXY - - DOMAIN-SUFFIX,ebookservice.tw,PROXY - - DOMAIN-SUFFIX,economist.com,PROXY - - DOMAIN-SUFFIX,edgecastcdn.net,PROXY - - DOMAIN-SUFFIX,edu,PROXY - - DOMAIN-SUFFIX,edx-cdn.org,PROXY - - DOMAIN-SUFFIX,elpais.com,PROXY - - DOMAIN-SUFFIX,enanyang.my,PROXY - - DOMAIN-SUFFIX,encyclopedia.com,PROXY - - DOMAIN-SUFFIX,esoir.be,PROXY - - DOMAIN-SUFFIX,etherscan.io,PROXY - - DOMAIN-SUFFIX,euronews.com,PROXY - - DOMAIN-SUFFIX,evozi.com,PROXY - - DOMAIN-SUFFIX,exblog.jp,PROXY - - DOMAIN-SUFFIX,feeder.co,PROXY - - DOMAIN-SUFFIX,feedly.com,PROXY - - DOMAIN-SUFFIX,feedx.net,PROXY - - DOMAIN-SUFFIX,firech.at,PROXY - - DOMAIN-SUFFIX,flickr.com,PROXY - - DOMAIN-SUFFIX,flipboard.com,PROXY - - DOMAIN-SUFFIX,flitto.com,PROXY - - DOMAIN-SUFFIX,foreignpolicy.com,PROXY - - DOMAIN-SUFFIX,fortawesome.com,PROXY - - DOMAIN-SUFFIX,freetls.fastly.net,PROXY - - DOMAIN-SUFFIX,friday.tw,PROXY - - DOMAIN-SUFFIX,ft.com,PROXY - - DOMAIN-SUFFIX,ftchinese.com,PROXY - - DOMAIN-SUFFIX,ftimg.net,PROXY - - DOMAIN-SUFFIX,gate.io,PROXY - - DOMAIN-SUFFIX,getlantern.org,PROXY - - DOMAIN-SUFFIX,getsync.com,PROXY - - DOMAIN-SUFFIX,github.com,PROXY - - DOMAIN-SUFFIX,github.io,PROXY - - DOMAIN-SUFFIX,githubusercontent.com,PROXY - - DOMAIN-SUFFIX,globalvoices.org,PROXY - - DOMAIN-SUFFIX,goo.ne.jp,PROXY - - DOMAIN-SUFFIX,goodreads.com,PROXY - - DOMAIN-SUFFIX,gov,PROXY - - DOMAIN-SUFFIX,gov.tw,PROXY - - DOMAIN-SUFFIX,greatfire.org,PROXY - - DOMAIN-SUFFIX,gumroad.com,PROXY - - DOMAIN-SUFFIX,hbg.com,PROXY - - DOMAIN-SUFFIX,heroku.com,PROXY - - DOMAIN-SUFFIX,hightail.com,PROXY - - DOMAIN-SUFFIX,hk01.com,PROXY - - DOMAIN-SUFFIX,hkbf.org,PROXY - - DOMAIN-SUFFIX,hkbookcity.com,PROXY - - DOMAIN-SUFFIX,hkej.com,PROXY - - DOMAIN-SUFFIX,hket.com,PROXY - - DOMAIN-SUFFIX,hootsuite.com,PROXY - - DOMAIN-SUFFIX,hudson.org,PROXY - - DOMAIN-SUFFIX,hyread.com.tw,PROXY - - DOMAIN-SUFFIX,ibtimes.com,PROXY - - DOMAIN-SUFFIX,i-cable.com,PROXY - - DOMAIN-SUFFIX,icij.org,PROXY - - DOMAIN-SUFFIX,icoco.com,PROXY - - DOMAIN-SUFFIX,imgur.com,PROXY - - DOMAIN-SUFFIX,initiummall.com,PROXY - - DOMAIN-SUFFIX,inoreader.com,PROXY - - DOMAIN-SUFFIX,insecam.org,PROXY - - DOMAIN-SUFFIX,ipfs.io,PROXY - - DOMAIN-SUFFIX,issuu.com,PROXY - - DOMAIN-SUFFIX,istockphoto.com,PROXY - - DOMAIN-SUFFIX,japantimes.co.jp,PROXY - - DOMAIN-SUFFIX,jiji.com,PROXY - - DOMAIN-SUFFIX,jinx.com,PROXY - - DOMAIN-SUFFIX,jkforum.net,PROXY - - DOMAIN-SUFFIX,joinmastodon.org,PROXY - - DOMAIN-SUFFIX,justmysocks.net,PROXY - - DOMAIN-SUFFIX,justpaste.it,PROXY - - DOMAIN-SUFFIX,kadokawa.co.jp,PROXY - - DOMAIN-SUFFIX,kakao.com,PROXY - - DOMAIN-SUFFIX,kakaocorp.com,PROXY - - DOMAIN-SUFFIX,kik.com,PROXY - - DOMAIN-SUFFIX,kingkong.com.tw,PROXY - - DOMAIN-SUFFIX,kobo.com,PROXY - - DOMAIN-SUFFIX,kobobooks.com,PROXY - - DOMAIN-SUFFIX,kodingen.com,PROXY - - DOMAIN-SUFFIX,lemonde.fr,PROXY - - DOMAIN-SUFFIX,lepoint.fr,PROXY - - DOMAIN-SUFFIX,lihkg.com,PROXY - - DOMAIN-SUFFIX,limbopro.xyz,PROXY - - DOMAIN-SUFFIX,listennotes.com,PROXY - - DOMAIN-SUFFIX,livestream.com,PROXY - - DOMAIN-SUFFIX,logimg.jp,PROXY - - DOMAIN-SUFFIX,logmein.com,PROXY - - DOMAIN-SUFFIX,mail.ru,PROXY - - DOMAIN-SUFFIX,mailchimp.com,PROXY - - DOMAIN-SUFFIX,marc.info,PROXY - - DOMAIN-SUFFIX,matters.news,PROXY - - DOMAIN-SUFFIX,maying.co,PROXY - - DOMAIN-SUFFIX,medium.com,PROXY - - DOMAIN-SUFFIX,mega.nz,PROXY - - DOMAIN-SUFFIX,mergersandinquisitions.com,PROXY - - DOMAIN-SUFFIX,mil,PROXY - - DOMAIN-SUFFIX,mingpao.com,PROXY - - DOMAIN-SUFFIX,mixi.jp,PROXY - - DOMAIN-SUFFIX,mobile01.com,PROXY - - DOMAIN-SUFFIX,mubi.com,PROXY - - DOMAIN-SUFFIX,myspace.com,PROXY - - DOMAIN-SUFFIX,myspacecdn.com,PROXY - - DOMAIN-SUFFIX,nanyang.com,PROXY - - DOMAIN-SUFFIX,nationalinterest.org,PROXY - - DOMAIN-SUFFIX,naver.com,PROXY - - DOMAIN-SUFFIX,neowin.net,PROXY - - DOMAIN-SUFFIX,newstapa.org,PROXY - - DOMAIN-SUFFIX,nexitally.com,PROXY - - DOMAIN-SUFFIX,nhk.or.jp,PROXY - - DOMAIN-SUFFIX,nii.ac.jp,PROXY - - DOMAIN-SUFFIX,nikkei.com,PROXY - - DOMAIN-SUFFIX,nofile.io,PROXY - - DOMAIN-SUFFIX,notion.so,PROXY - - DOMAIN-SUFFIX,now.com,PROXY - - DOMAIN-SUFFIX,nrk.no,PROXY - - DOMAIN-SUFFIX,nuget.org,PROXY - - DOMAIN-SUFFIX,nyaa.si,PROXY - - DOMAIN-SUFFIX,nyaa.si,PROXY - - DOMAIN-SUFFIX,nyt.com,PROXY - - DOMAIN-SUFFIX,nytchina.com,PROXY - - DOMAIN-SUFFIX,nytcn.me,PROXY - - DOMAIN-SUFFIX,nytco.com,PROXY - - DOMAIN-SUFFIX,nytimes.com,PROXY - - DOMAIN-SUFFIX,nytimg.com,PROXY - - DOMAIN-SUFFIX,nytlog.com,PROXY - - DOMAIN-SUFFIX,nytstyle.com,PROXY - - DOMAIN-SUFFIX,ok.ru,PROXY - - DOMAIN-SUFFIX,okex.com,PROXY - - DOMAIN-SUFFIX,on.cc,PROXY - - DOMAIN-SUFFIX,orientaldaily.com.my,PROXY - - DOMAIN-SUFFIX,overcast.fm,PROXY - - DOMAIN-SUFFIX,paltalk.com,PROXY - - DOMAIN-SUFFIX,parsevideo.com,PROXY - - DOMAIN-SUFFIX,pawoo.net,PROXY - - DOMAIN-SUFFIX,pbxes.com,PROXY - - DOMAIN-SUFFIX,pcdvd.com.tw,PROXY - - DOMAIN-SUFFIX,pchome.com.tw,PROXY - - DOMAIN-SUFFIX,pcloud.com,PROXY - - DOMAIN-SUFFIX,picacomic.com,PROXY - - DOMAIN-SUFFIX,pinimg.com,PROXY - - DOMAIN-SUFFIX,pixiv.net,PROXY - - DOMAIN-SUFFIX,player.fm,PROXY - - DOMAIN-SUFFIX,plurk.com,PROXY - - DOMAIN-SUFFIX,po18.tw,PROXY - - DOMAIN-SUFFIX,potato.im,PROXY - - DOMAIN-SUFFIX,potatso.com,PROXY - - DOMAIN-SUFFIX,prism-break.org,PROXY - - DOMAIN-SUFFIX,proxifier.com,PROXY - - DOMAIN-SUFFIX,pt.im,PROXY - - DOMAIN-SUFFIX,pts.org.tw,PROXY - - DOMAIN-SUFFIX,pubu.com.tw,PROXY - - DOMAIN-SUFFIX,pubu.tw,PROXY - - DOMAIN-SUFFIX,pureapk.com,PROXY - - DOMAIN-SUFFIX,quora.com,PROXY - - DOMAIN-SUFFIX,quoracdn.net,PROXY - - DOMAIN-SUFFIX,qz.com,PROXY - - DOMAIN-SUFFIX,rakuten.co.jp,PROXY - - DOMAIN-SUFFIX,rarbgprx.org,PROXY - - DOMAIN-SUFFIX,readingtimes.com.tw,PROXY - - DOMAIN-SUFFIX,readmoo.com,PROXY - - DOMAIN-SUFFIX,redbubble.com,PROXY - - DOMAIN-SUFFIX,redd.it,PROXY - - DOMAIN-SUFFIX,reddit.com,PROXY - - DOMAIN-SUFFIX,redditmedia.com,PROXY - - DOMAIN-SUFFIX,resilio.com,PROXY - - DOMAIN-SUFFIX,reuters.com,PROXY - - DOMAIN-SUFFIX,reutersmedia.net,PROXY - - DOMAIN-SUFFIX,rfi.fr,PROXY - - DOMAIN-SUFFIX,rixcloud.com,PROXY - - DOMAIN-SUFFIX,roadshow.hk,PROXY - - DOMAIN-SUFFIX,rsshub.app,PROXY - - DOMAIN-SUFFIX,scmp.com,PROXY - - DOMAIN-SUFFIX,scribd.com,PROXY - - DOMAIN-SUFFIX,seatguru.com,PROXY - - DOMAIN-SUFFIX,shadowsocks.org,PROXY - - DOMAIN-SUFFIX,shindanmaker.com,PROXY - - DOMAIN-SUFFIX,shopee.tw,PROXY - - DOMAIN-SUFFIX,slideshare.net,PROXY - - DOMAIN-SUFFIX,softfamous.com,PROXY - - DOMAIN-SUFFIX,ssrcloud.org,PROXY - - DOMAIN-SUFFIX,startpage.com,PROXY - - DOMAIN-SUFFIX,steamcommunity.com,PROXY - - DOMAIN-SUFFIX,steemit.com,PROXY - - DOMAIN-SUFFIX,steemitwallet.com,PROXY - - DOMAIN-SUFFIX,straitstimes.com,PROXY - - DOMAIN-SUFFIX,streema.com,PROXY - - DOMAIN-SUFFIX,t66y.com,PROXY - - DOMAIN-SUFFIX,tapatalk.com,PROXY - - DOMAIN-SUFFIX,teco-hk.org,PROXY - - DOMAIN-SUFFIX,teco-mo.org,PROXY - - DOMAIN-SUFFIX,teddysun.com,PROXY - - DOMAIN-SUFFIX,textnow.me,PROXY - - DOMAIN-SUFFIX,theguardian.com,PROXY - - DOMAIN-SUFFIX,theinitium.com,PROXY - - DOMAIN-SUFFIX,themoviedb.org,PROXY - - DOMAIN-SUFFIX,thetvdb.com,PROXY - - DOMAIN-SUFFIX,tineye.com,PROXY - - DOMAIN-SUFFIX,tiny.cc,PROXY - - DOMAIN-SUFFIX,tinyurl.com,PROXY - - DOMAIN-SUFFIX,torproject.org,PROXY - - DOMAIN-SUFFIX,tumblr.com,PROXY - - DOMAIN-SUFFIX,turbobit.net,PROXY - - DOMAIN-SUFFIX,tutanota.com,PROXY - - DOMAIN-SUFFIX,tvboxnow.com,PROXY - - DOMAIN-SUFFIX,udn.com,PROXY - - DOMAIN-SUFFIX,unseen.is,PROXY - - DOMAIN-SUFFIX,upmedia.mg,PROXY - - DOMAIN-SUFFIX,uptodown.com,PROXY - - DOMAIN-SUFFIX,urbandictionary.com,PROXY - - DOMAIN-SUFFIX,ustream.tv,PROXY - - DOMAIN-SUFFIX,uwants.com,PROXY - - DOMAIN-SUFFIX,v2ray.com,PROXY - - DOMAIN-SUFFIX,viber.com,PROXY - - DOMAIN-SUFFIX,videopress.com,PROXY - - DOMAIN-SUFFIX,vimeo.com,PROXY - - DOMAIN-SUFFIX,voachinese.com,PROXY - - DOMAIN-SUFFIX,voanews.com,PROXY - - DOMAIN-SUFFIX,voxer.com,PROXY - - DOMAIN-SUFFIX,vzw.com,PROXY - - DOMAIN-SUFFIX,w3schools.com,PROXY - - DOMAIN-SUFFIX,washingtonpost.com,PROXY - - DOMAIN-SUFFIX,wattpad.com,PROXY - - DOMAIN-SUFFIX,whoer.net,PROXY - - DOMAIN-SUFFIX,wikileaks.org,PROXY - - DOMAIN-SUFFIX,wikimapia.org,PROXY - - DOMAIN-SUFFIX,wikimedia.org,PROXY - - DOMAIN-SUFFIX,wikinews.org,PROXY - - DOMAIN-SUFFIX,wikipedia.org,PROXY - - DOMAIN-SUFFIX,wikiquote.org,PROXY - - DOMAIN-SUFFIX,wikiwand.com,PROXY - - DOMAIN-SUFFIX,winudf.com,PROXY - - DOMAIN-SUFFIX,wire.com,PROXY - - DOMAIN-SUFFIX,wn.com,PROXY - - DOMAIN-SUFFIX,wordpress.com,PROXY - - DOMAIN-SUFFIX,workflow.is,PROXY - - DOMAIN-SUFFIX,worldcat.org,PROXY - - DOMAIN-SUFFIX,wsj.com,PROXY - - DOMAIN-SUFFIX,wsj.net,PROXY - - DOMAIN-SUFFIX,xhamster.com,PROXY - - DOMAIN-SUFFIX,xn--90wwvt03e.com,PROXY - - DOMAIN-SUFFIX,xn--i2ru8q2qg.com,PROXY - - DOMAIN-SUFFIX,xnxx.com,PROXY - - DOMAIN-SUFFIX,xvideos.com,PROXY - - DOMAIN-SUFFIX,yahoo.com,PROXY - - DOMAIN-SUFFIX,yandex.ru,PROXY - - DOMAIN-SUFFIX,ycombinator.com,PROXY - - DOMAIN-SUFFIX,yesasia.com,PROXY - - DOMAIN-SUFFIX,yes-news.com,PROXY - - DOMAIN-SUFFIX,yomiuri.co.jp,PROXY - - DOMAIN-SUFFIX,you-get.org,PROXY - - DOMAIN-SUFFIX,zaobao.com,PROXY - - DOMAIN-SUFFIX,zb.com,PROXY - - DOMAIN-SUFFIX,zello.com,PROXY - - DOMAIN-SUFFIX,zeronet.io,PROXY - - DOMAIN-SUFFIX,zoom.us,PROXY + # (StreamingSE) + - RULE-SET,StreamingSE,StreamingSE - - DOMAIN,cc.tvbs.com.tw,PROXY - - DOMAIN,ocsp.int-x3.letsencrypt.org,PROXY - - DOMAIN,payments-jp.amazon.com,PROXY - - DOMAIN,s3-ap-northeast-1.amazonaws.com,PROXY - - DOMAIN,s3-ap-southeast-2.amazonaws.com,PROXY - - DOMAIN,search.avira.com,PROXY - - - DOMAIN-KEYWORD,jav,PROXY - - DOMAIN-KEYWORD,pinterest,PROXY - - DOMAIN-KEYWORD,porn,PROXY - -# (IP Blackhole) - # > Google - - DOMAIN-SUFFIX,abc.xyz,PROXY - - DOMAIN-SUFFIX,advertisercommunity.com,PROXY - - DOMAIN-SUFFIX,ampproject.org,PROXY - - DOMAIN-SUFFIX,android.com,PROXY - - DOMAIN-SUFFIX,androidify.com,PROXY - - DOMAIN-SUFFIX,dialogflow.com,PROXY - - DOMAIN-SUFFIX,autodraw.com,PROXY - - DOMAIN-SUFFIX,capitalg.com,PROXY - - DOMAIN-SUFFIX,certificate-transparency.org,PROXY - - DOMAIN-SUFFIX,chrome.com,PROXY - - DOMAIN-SUFFIX,chromeexperiments.com,PROXY - - DOMAIN-SUFFIX,chromestatus.com,PROXY - - DOMAIN-SUFFIX,chromium.org,PROXY - - DOMAIN-SUFFIX,creativelab5.com,PROXY - - DOMAIN-SUFFIX,debug.com,PROXY - - DOMAIN-SUFFIX,deepmind.com,PROXY - - DOMAIN-SUFFIX,firebaseio.com,PROXY - - DOMAIN-SUFFIX,getmdl.io,PROXY - - DOMAIN-SUFFIX,ggpht.com,PROXY - - DOMAIN-SUFFIX,gmail.com,PROXY - - DOMAIN-SUFFIX,gmodules.com,PROXY - - DOMAIN-SUFFIX,godoc.org,PROXY - - DOMAIN-SUFFIX,golang.org,PROXY - - DOMAIN-SUFFIX,gstatic.com,PROXY - - DOMAIN-SUFFIX,gv.com,PROXY - - DOMAIN-SUFFIX,gwtproject.org,PROXY - - DOMAIN-SUFFIX,itasoftware.com,PROXY - - DOMAIN-SUFFIX,madewithcode.com,PROXY - - DOMAIN-SUFFIX,material.io,PROXY - - DOMAIN-SUFFIX,page.link,PROXY - - DOMAIN-SUFFIX,polymer-project.org,PROXY - - DOMAIN-SUFFIX,admin.recaptcha.net,PROXY - - DOMAIN-SUFFIX,recaptcha.net,PROXY - - DOMAIN-SUFFIX,shattered.io,PROXY - - DOMAIN-SUFFIX,synergyse.com,PROXY - - DOMAIN-SUFFIX,telephony.goog,PROXY - - DOMAIN-SUFFIX,tensorflow.org,PROXY - - DOMAIN-SUFFIX,tfhub.dev,PROXY - - DOMAIN-SUFFIX,tiltbrush.com,PROXY - - DOMAIN-SUFFIX,waveprotocol.org,PROXY - - DOMAIN-SUFFIX,waymo.com,PROXY - - DOMAIN-SUFFIX,webmproject.org,PROXY - - DOMAIN-SUFFIX,webrtc.org,PROXY - - DOMAIN-SUFFIX,whatbrowser.org,PROXY - - DOMAIN-SUFFIX,widevine.com,PROXY - - DOMAIN-SUFFIX,x.company,PROXY - - DOMAIN-SUFFIX,youtu.be,PROXY - - DOMAIN-SUFFIX,yt.be,PROXY - - DOMAIN-SUFFIX,ytimg.com,PROXY - # > Telegram - - DOMAIN-SUFFIX,t.me,PROXY - - DOMAIN-SUFFIX,tdesktop.com,PROXY - - DOMAIN-SUFFIX,telegram.me,PROXY - - DOMAIN-SUFFIX,telesco.pe,PROXY - # > Others - - DOMAIN-SUFFIX,noxinfluencer.com,PROXY - - DOMAIN-SUFFIX,smartmailcloud.com,PROXY - - DOMAIN-SUFFIX,twitter.jp,PROXY - - DOMAIN-SUFFIX,weebly.com,PROXY - -# (Region-Restricted Access Denied) -# ---(Apple)--- - # > Apple URL Shortener - - DOMAIN-SUFFIX,appsto.re,PROXY - # > iBooks Store download - - DOMAIN,books.itunes.apple.com,PROXY - # > App Store Preview - - DOMAIN,apps.apple.com,PROXY - - DOMAIN,itunes.apple.com,PROXY - # > Spotlight - - DOMAIN,api-glb-sea.smoot.apple.com,PROXY - # > Look Up - - DOMAIN,lookup-api.apple.com,PROXY - - DOMAIN-SUFFIX,smoot.apple.com,PROXY - # > Apple Music Web - - DOMAIN,beta.music.apple.com,PROXY -# ------ - # > Others - - DOMAIN-SUFFIX,bing.com,PROXY - - DOMAIN-SUFFIX,cccat.io,PROXY - - DOMAIN-SUFFIX,ifixit.com,PROXY - - DOMAIN-SUFFIX,mangakakalot.com,PROXY - - DOMAIN-SUFFIX,shopeemobile.com,PROXY - - # (Network Jitter) - # > Fix download or update is stuck in App Store,and when change the Apple ID region,the payment information can be selected by none. - - DOMAIN-KEYWORD,buy.itunes.apple.com,PROXY - # - DOMAIN-SUFFIX,evernote.com,PROXY - - DOMAIN-SUFFIX,inkbunny.net,PROXY - - DOMAIN-SUFFIX,metapix.net,PROXY - - DOMAIN-SUFFIX,s3.amazonaws.com,PROXY - - DOMAIN-SUFFIX,wp.com,PROXY - - DOMAIN-SUFFIX,zaobao.com.sg,PROXY + # (DNS Cache Pollution) / (IP Blackhole) / (Region-Restricted Access Denied) / (Network Jitter) + - RULE-SET,Global,PROXY # China Area Network - # > 360 - - DOMAIN-SUFFIX,qhres.com,DIRECT - - DOMAIN-SUFFIX,qhimg.com,DIRECT - # > Alibaba - # USER-AGENT,%E4%BC%98%E9%85%B7*,DIRECT - - DOMAIN-SUFFIX,alibaba.com,DIRECT - - DOMAIN-SUFFIX,alibabausercontent.com,DIRECT - - DOMAIN-SUFFIX,alicdn.com,DIRECT - - DOMAIN-SUFFIX,alikunlun.com,DIRECT - - DOMAIN-SUFFIX,alipay.com,DIRECT - - DOMAIN-SUFFIX,amap.com,DIRECT - - DOMAIN-SUFFIX,autonavi.com,DIRECT - - DOMAIN-SUFFIX,dingtalk.com,DIRECT - - DOMAIN-SUFFIX,mxhichina.com,DIRECT - - DOMAIN-SUFFIX,soku.com,DIRECT - - DOMAIN-SUFFIX,taobao.com,DIRECT - - DOMAIN-SUFFIX,tmall.com,DIRECT - - DOMAIN-SUFFIX,tmall.hk,DIRECT - - DOMAIN-SUFFIX,ykimg.com,DIRECT - - DOMAIN-SUFFIX,youku.com,DIRECT - - DOMAIN-SUFFIX,xiami.com,DIRECT - - DOMAIN-SUFFIX,xiami.net,DIRECT - # > Apple - - DOMAIN-SUFFIX,aaplimg.com,DIRECT - - DOMAIN-SUFFIX,apple.co,DIRECT - - DOMAIN-SUFFIX,apple.com,DIRECT - - DOMAIN-SUFFIX,apple-cloudkit.com,DIRECT - - DOMAIN-SUFFIX,appstore.com,DIRECT - - DOMAIN-SUFFIX,cdn-apple.com,DIRECT - - DOMAIN-SUFFIX,icloud.com,DIRECT - - DOMAIN-SUFFIX,icloud-content.com,DIRECT - - DOMAIN-SUFFIX,me.com,DIRECT - - DOMAIN-SUFFIX,mzstatic.com,DIRECT - - DOMAIN-KEYWORD,apple.com.akadns.net,DIRECT - - DOMAIN-KEYWORD,icloud.com.akadns.net,DIRECT - # > Baidu - - DOMAIN-SUFFIX,baidu.com,DIRECT - - DOMAIN-SUFFIX,baidubcr.com,DIRECT - - DOMAIN-SUFFIX,bdstatic.com,DIRECT - - DOMAIN-SUFFIX,yunjiasu-cdn.net,DIRECT - # > bilibili - - DOMAIN-SUFFIX,acgvideo.com,DIRECT - - DOMAIN-SUFFIX,biliapi.com,DIRECT - - DOMAIN-SUFFIX,biliapi.net,DIRECT - - DOMAIN-SUFFIX,bilibili.com,DIRECT - - DOMAIN-SUFFIX,bilibili.tv,DIRECT - - DOMAIN-SUFFIX,hdslb.com,DIRECT - # > ByteDance - - DOMAIN-SUFFIX,feiliao.com,DIRECT - - DOMAIN-SUFFIX,pstatp.com,DIRECT - - DOMAIN-SUFFIX,snssdk.com,DIRECT - - DOMAIN-SUFFIX,iesdouyin.com,DIRECT - - DOMAIN-SUFFIX,toutiao.com,DIRECT - # > CCTV - - DOMAIN-SUFFIX,cctv.com,DIRECT - - DOMAIN-SUFFIX,cctvpic.com,DIRECT - - DOMAIN-SUFFIX,livechina.com,DIRECT - # > DiDi - - DOMAIN-SUFFIX,didialift.com,DIRECT - - DOMAIN-SUFFIX,didiglobal.com,DIRECT - - DOMAIN-SUFFIX,udache.com,DIRECT - # > 蛋蛋赞 - - DOMAIN-SUFFIX,343480.com,DIRECT - - DOMAIN-SUFFIX,baduziyuan.com,DIRECT - - DOMAIN-SUFFIX,com-hs-hkdy.com,DIRECT - - DOMAIN-SUFFIX,czybjz.com,DIRECT - - DOMAIN-SUFFIX,dandanzan.com,DIRECT - - DOMAIN-SUFFIX,fjhps.com,DIRECT - - DOMAIN-SUFFIX,kuyunbo.club,DIRECT - - DOMAIN-SUFFIX,youkutv.cc,DIRECT - # > ChinaTelecom - - DOMAIN-SUFFIX,21cn.com,DIRECT - # > HunanTV - - DOMAIN-SUFFIX,hitv.com,DIRECT - - DOMAIN-SUFFIX,mgtv.com,DIRECT - # > iQiyi - - DOMAIN-SUFFIX,iqiyi.com,DIRECT - - DOMAIN-SUFFIX,iqiyipic.com,DIRECT - - DOMAIN-SUFFIX,71.am,DIRECT - # > JD - - DOMAIN-SUFFIX,jd.com,DIRECT - - DOMAIN-SUFFIX,jd.hk,DIRECT - - DOMAIN-SUFFIX,jdpay.com,DIRECT - - DOMAIN-SUFFIX,360buyimg.com,DIRECT - # > Kingsoft - - DOMAIN-SUFFIX,iciba.com,DIRECT - - DOMAIN-SUFFIX,ksosoft.com,DIRECT - # > Meitu - - DOMAIN-SUFFIX,meitu.com,DIRECT - - DOMAIN-SUFFIX,meitudata.com,DIRECT - - DOMAIN-SUFFIX,meitustat.com,DIRECT - - DOMAIN-SUFFIX,meipai.com,DIRECT - # > MI - - DOMAIN-SUFFIX,duokan.com,DIRECT - - DOMAIN-SUFFIX,mi.com,DIRECT - - DOMAIN-SUFFIX,mi-img.com,DIRECT - - DOMAIN-SUFFIX,miui.com,DIRECT - - DOMAIN-SUFFIX,miwifi.com,DIRECT - - DOMAIN-SUFFIX,xiaomi.com,DIRECT - - DOMAIN-SUFFIX,xiaomi.net,DIRECT - # > Microsoft - - DOMAIN-SUFFIX,microsoft.com,DIRECT - - DOMAIN-SUFFIX,msecnd.net,DIRECT - - DOMAIN-SUFFIX,office365.com,DIRECT - - DOMAIN-SUFFIX,outlook.com,DIRECT - - DOMAIN-SUFFIX,s-microsoft.com,DIRECT - - DOMAIN-SUFFIX,visualstudio.com,DIRECT - - DOMAIN-SUFFIX,windows.com,DIRECT - - DOMAIN-SUFFIX,windowsupdate.com,DIRECT -# - DOMAIN-KEYWORD,-microsoft-com.akamaized.net,DIRECT - # > NetEase - # USER-AGENT,NeteaseMusic*,DIRECT - # USER-AGENT,%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90*,DIRECT - - DOMAIN-SUFFIX,163.com,DIRECT - - DOMAIN-SUFFIX,126.com,DIRECT - - DOMAIN-SUFFIX,126.net,DIRECT - - DOMAIN-SUFFIX,127.net,DIRECT - - DOMAIN-SUFFIX,163yun.com,DIRECT - - DOMAIN-SUFFIX,lofter.com,DIRECT - - DOMAIN-SUFFIX,netease.com,DIRECT - - DOMAIN-SUFFIX,ydstatic.com,DIRECT - # > PayPal - # USER-AGENT,PayPal*,DIRECT - - DOMAIN-SUFFIX,paypal.com,DIRECT - - DOMAIN-SUFFIX,paypal.me,DIRECT - - DOMAIN-SUFFIX,paypalobjects.com,DIRECT - # > Sina - - DOMAIN-SUFFIX,sina.com,DIRECT - - DOMAIN-SUFFIX,weibo.com,DIRECT - - DOMAIN-SUFFIX,weibocdn.com,DIRECT - # > Sohu - - DOMAIN-SUFFIX,sohu.com,DIRECT - - DOMAIN-SUFFIX,sohucs.com,DIRECT - - DOMAIN-SUFFIX,sohu-inc.com,DIRECT - - DOMAIN-SUFFIX,v-56.com,DIRECT - # > Sogo - - DOMAIN-SUFFIX,sogo.com,DIRECT - - DOMAIN-SUFFIX,sogou.com,DIRECT - - DOMAIN-SUFFIX,sogoucdn.com,DIRECT - # > Tencent - # USER-AGENT,MicroMessenger%20Client,DIRECT - # USER-AGENT,WeChat*,DIRECT - # USER-AGENT,%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1*,DIRECT - - DOMAIN-SUFFIX,gtimg.com,DIRECT - - DOMAIN-SUFFIX,idqqimg.com,DIRECT - - DOMAIN-SUFFIX,igamecj.com,DIRECT - - DOMAIN-SUFFIX,myapp.com,DIRECT - - DOMAIN-SUFFIX,myqcloud.com,DIRECT - - DOMAIN-SUFFIX,qq.com,DIRECT - - DOMAIN-SUFFIX,qqmail.com,DIRECT - - DOMAIN-SUFFIX,servicewechat.com,DIRECT - - DOMAIN-SUFFIX,tencent.com,DIRECT - - DOMAIN-SUFFIX,tencent-cloud.net,DIRECT - - DOMAIN-SUFFIX,tenpay.com,DIRECT - - DOMAIN-SUFFIX,wechat.com,DIRECT - - DOMAIN,file-igamecj.akamaized.net,DIRECT - # > Content Delivery Network - - DOMAIN-SUFFIX,ccgslb.com,DIRECT - - DOMAIN-SUFFIX,ccgslb.net,DIRECT - - DOMAIN-SUFFIX,chinanetcenter.com,DIRECT - - DOMAIN-SUFFIX,meixincdn.com,DIRECT - - DOMAIN-SUFFIX,ourdvs.com,DIRECT - - DOMAIN-SUFFIX,staticdn.net,DIRECT - - DOMAIN-SUFFIX,wangsu.com,DIRECT - # > IP Query - - DOMAIN-SUFFIX,ipip.net,DIRECT - - DOMAIN-SUFFIX,ip.la,DIRECT - - DOMAIN-SUFFIX,ip.sb,DIRECT - - DOMAIN-SUFFIX,ip-cdn.com,DIRECT - - DOMAIN-SUFFIX,ipv6-test.com,DIRECT - - DOMAIN-SUFFIX,test-ipv6.com,DIRECT - - DOMAIN-SUFFIX,whatismyip.com,DIRECT - - DOMAIN,ip.istatmenus.app,DIRECT - # > Speed Test - # - DOMAIN-SUFFIX,speedtest.net,DIRECT - - DOMAIN-SUFFIX,netspeedtestmaster.com,DIRECT - - DOMAIN,speedtest.macpaw.com,DIRECT - # > Private Tracker - - DOMAIN-SUFFIX,animebytes.tv,DIRECT - - DOMAIN-SUFFIX,awesome-hd.me,DIRECT - - DOMAIN-SUFFIX,broadcasthe.net,DIRECT - - DOMAIN-SUFFIX,chdbits.co,DIRECT - - DOMAIN-SUFFIX,classix-unlimited.co.uk,DIRECT - - DOMAIN-SUFFIX,empornium.me,DIRECT - - DOMAIN-SUFFIX,gazellegames.net,DIRECT - - DOMAIN-SUFFIX,hdchina.org,DIRECT - - DOMAIN-SUFFIX,hdsky.me,DIRECT - - DOMAIN-SUFFIX,hdhome.org,DIRECT - - DOMAIN-SUFFIX,hdbits.org,DIRECT - - DOMAIN-SUFFIX,icetorrent.org,DIRECT - - DOMAIN-SUFFIX,jpopsuki.eu,DIRECT - - DOMAIN-SUFFIX,keepfrds.com,DIRECT - - DOMAIN-SUFFIX,madsrevolution.net,DIRECT - - DOMAIN-SUFFIX,myanonamouse.net,DIRECT - - DOMAIN-SUFFIX,m-team.cc,DIRECT - - DOMAIN-SUFFIX,morethan.tv,DIRECT - - DOMAIN-SUFFIX,nanyangpt.com,DIRECT - - DOMAIN-SUFFIX,ncore.cc,DIRECT - - DOMAIN-SUFFIX,open.cd,DIRECT - - DOMAIN-SUFFIX,ourbits.club,DIRECT - - DOMAIN-SUFFIX,passthepopcorn.me,DIRECT - - DOMAIN-SUFFIX,privatehd.to,DIRECT - - DOMAIN-SUFFIX,pterclub.com,DIRECT - - DOMAIN-SUFFIX,redacted.ch,DIRECT - - DOMAIN-SUFFIX,springsunday.net,DIRECT - - DOMAIN-SUFFIX,tjupt.org,DIRECT - - DOMAIN-SUFFIX,totheglory.im,DIRECT - # > Scholar - - DOMAIN-SUFFIX,acm.org,DIRECT - - DOMAIN-SUFFIX,acs.org,DIRECT - - DOMAIN-SUFFIX,aip.org,DIRECT - - DOMAIN-SUFFIX,ams.org,DIRECT - - DOMAIN-SUFFIX,annualreviews.org,DIRECT - - DOMAIN-SUFFIX,aps.org,DIRECT - - DOMAIN-SUFFIX,ascelibrary.org,DIRECT - - DOMAIN-SUFFIX,asm.org,DIRECT - - DOMAIN-SUFFIX,asme.org,DIRECT - - DOMAIN-SUFFIX,astm.org,DIRECT - - DOMAIN-SUFFIX,bmj.com,DIRECT - - DOMAIN-SUFFIX,cambridge.org,DIRECT - - DOMAIN-SUFFIX,cas.org,DIRECT - - DOMAIN-SUFFIX,clarivate.com,DIRECT - - DOMAIN-SUFFIX,ebscohost.com,DIRECT - - DOMAIN-SUFFIX,emerald.com,DIRECT - - DOMAIN-SUFFIX,engineeringvillage.com,DIRECT - - DOMAIN-SUFFIX,icevirtuallibrary.com,DIRECT - - DOMAIN-SUFFIX,ieee.org,DIRECT - - DOMAIN-SUFFIX,imf.org,DIRECT - - DOMAIN-SUFFIX,iop.org,DIRECT - - DOMAIN-SUFFIX,jamanetwork.com,DIRECT - - DOMAIN-SUFFIX,jhu.edu,DIRECT - - DOMAIN-SUFFIX,jstor.org,DIRECT - - DOMAIN-SUFFIX,karger.com,DIRECT - - DOMAIN-SUFFIX,libguides.com,DIRECT - - DOMAIN-SUFFIX,madsrevolution.net,DIRECT - - DOMAIN-SUFFIX,mpg.de,DIRECT - - DOMAIN-SUFFIX,myilibrary.com,DIRECT - - DOMAIN-SUFFIX,nature.com,DIRECT - - DOMAIN-SUFFIX,oecd-ilibrary.org,DIRECT - - DOMAIN-SUFFIX,osapublishing.org,DIRECT - - DOMAIN-SUFFIX,oup.com,DIRECT - - DOMAIN-SUFFIX,ovid.com,DIRECT - - DOMAIN-SUFFIX,oxfordartonline.com,DIRECT - - DOMAIN-SUFFIX,oxfordbibliographies.com,DIRECT - - DOMAIN-SUFFIX,oxfordmusiconline.com,DIRECT - - DOMAIN-SUFFIX,pnas.org,DIRECT - - DOMAIN-SUFFIX,proquest.com,DIRECT - - DOMAIN-SUFFIX,rsc.org,DIRECT - - DOMAIN-SUFFIX,sagepub.com,DIRECT - - DOMAIN-SUFFIX,sciencedirect.com,DIRECT - - DOMAIN-SUFFIX,sciencemag.org,DIRECT - - DOMAIN-SUFFIX,scopus.com,DIRECT - - DOMAIN-SUFFIX,siam.org,DIRECT - - DOMAIN-SUFFIX,spiedigitallibrary.org,DIRECT - - DOMAIN-SUFFIX,springer.com,DIRECT - - DOMAIN-SUFFIX,springerlink.com,DIRECT - - DOMAIN-SUFFIX,tandfonline.com,DIRECT - - DOMAIN-SUFFIX,un.org,DIRECT - - DOMAIN-SUFFIX,uni-bielefeld.de,DIRECT - - DOMAIN-SUFFIX,webofknowledge.com,DIRECT - - DOMAIN-SUFFIX,westlaw.com,DIRECT - - DOMAIN-SUFFIX,wiley.com,DIRECT - - DOMAIN-SUFFIX,worldbank.org,DIRECT - - DOMAIN-SUFFIX,worldscientific.com,DIRECT - # > Other - - DOMAIN-SUFFIX,cn,DIRECT - # - DOMAIN-SUFFIX,vmware.com,DIRECT - - DOMAIN-SUFFIX,115.com,DIRECT - - DOMAIN-SUFFIX,360in.com,DIRECT - - DOMAIN-SUFFIX,51ym.me,DIRECT - - DOMAIN-SUFFIX,8686c.com,DIRECT - - DOMAIN-SUFFIX,abchina.com,DIRECT - - DOMAIN-SUFFIX,accuweather.com,DIRECT - - DOMAIN-SUFFIX,aicoinstorge.com,DIRECT - - DOMAIN-SUFFIX,air-matters.com,DIRECT - - DOMAIN-SUFFIX,air-matters.io,DIRECT - - DOMAIN-SUFFIX,aixifan.com,DIRECT - - DOMAIN-SUFFIX,amd.com,DIRECT - - DOMAIN-SUFFIX,b612.net,DIRECT - - DOMAIN-SUFFIX,bdatu.com,DIRECT - - DOMAIN-SUFFIX,beitaichufang.com,DIRECT - - DOMAIN-SUFFIX,bjango.com,DIRECT - - DOMAIN-SUFFIX,booking.com,DIRECT - - DOMAIN-SUFFIX,bstatic.com,DIRECT - - DOMAIN-SUFFIX,cailianpress.com,DIRECT - - DOMAIN-SUFFIX,camera360.com,DIRECT - - DOMAIN-SUFFIX,chaoxing.com,DIRECT - - DOMAIN-SUFFIX,chinaso.com,DIRECT - - DOMAIN-SUFFIX,chuimg.com,DIRECT - - DOMAIN-SUFFIX,chunyu.mobi,DIRECT - - DOMAIN-SUFFIX,chushou.tv,DIRECT - - DOMAIN-SUFFIX,cmbchina.com,DIRECT - - DOMAIN-SUFFIX,cmbimg.com,DIRECT - - DOMAIN-SUFFIX,ctrip.com,DIRECT - - DOMAIN-SUFFIX,dfcfw.com,DIRECT - - DOMAIN-SUFFIX,docschina.org,DIRECT - - DOMAIN-SUFFIX,douban.com,DIRECT - - DOMAIN-SUFFIX,doubanio.com,DIRECT - - DOMAIN-SUFFIX,douyu.com,DIRECT - - DOMAIN-SUFFIX,dxycdn.com,DIRECT - - DOMAIN-SUFFIX,dytt8.net,DIRECT - - DOMAIN-SUFFIX,eastmoney.com,DIRECT - - DOMAIN-SUFFIX,eudic.net,DIRECT - - DOMAIN-SUFFIX,feng.com,DIRECT - - DOMAIN-SUFFIX,fengkongcloud.com,DIRECT - - DOMAIN-SUFFIX,frdic.com,DIRECT - - DOMAIN-SUFFIX,futu5.com,DIRECT - - DOMAIN-SUFFIX,futunn.com,DIRECT - - DOMAIN-SUFFIX,gandi.net,DIRECT - - DOMAIN-SUFFIX,gcores.com,DIRECT - - DOMAIN-SUFFIX,geilicdn.com,DIRECT - - DOMAIN-SUFFIX,getpricetag.com,DIRECT - - DOMAIN-SUFFIX,gifshow.com,DIRECT - - DOMAIN-SUFFIX,godic.net,DIRECT - - DOMAIN-SUFFIX,hicloud.com,DIRECT - - DOMAIN-SUFFIX,hongxiu.com,DIRECT - - DOMAIN-SUFFIX,hostbuf.com,DIRECT - - DOMAIN-SUFFIX,huxiucdn.com,DIRECT - - DOMAIN-SUFFIX,huya.com,DIRECT - - DOMAIN-SUFFIX,ibm.com,DIRECT - - DOMAIN-SUFFIX,infinitynewtab.com,DIRECT - - DOMAIN-SUFFIX,ithome.com,DIRECT - - DOMAIN-SUFFIX,java.com,DIRECT - - DOMAIN-SUFFIX,jianguoyun.com,DIRECT - - DOMAIN-SUFFIX,jianshu.io,DIRECT - - DOMAIN-SUFFIX,jidian.im,DIRECT - - DOMAIN-SUFFIX,kaiyanapp.com,DIRECT - - DOMAIN-SUFFIX,kaspersky-labs.com,DIRECT - - DOMAIN-SUFFIX,keepcdn.com,DIRECT - - DOMAIN-SUFFIX,kkmh.com,DIRECT - - DOMAIN-SUFFIX,licdn.com,DIRECT - - DOMAIN-SUFFIX,linkedin.com,DIRECT - - DOMAIN-SUFFIX,loli.net,DIRECT - - DOMAIN-SUFFIX,luojilab.com,DIRECT - - DOMAIN-SUFFIX,maoyan.com,DIRECT - - DOMAIN-SUFFIX,maoyun.tv,DIRECT - - DOMAIN-SUFFIX,meituan.com,DIRECT - - DOMAIN-SUFFIX,meituan.net,DIRECT - - DOMAIN-SUFFIX,mls-cdn.com,DIRECT - - DOMAIN-SUFFIX,mobike.com,DIRECT - - DOMAIN-SUFFIX,moke.com,DIRECT - - DOMAIN-SUFFIX,mubu.com,DIRECT - - DOMAIN-SUFFIX,myzaker.com,DIRECT - - DOMAIN-SUFFIX,nim-lang-cn.org,DIRECT - - DOMAIN-SUFFIX,nvidia.com,DIRECT - - DOMAIN-SUFFIX,oracle.com,DIRECT - - DOMAIN-SUFFIX,plex.tv,DIRECT - - DOMAIN-SUFFIX,qdaily.com,DIRECT - - DOMAIN-SUFFIX,qidian.com,DIRECT - - DOMAIN-SUFFIX,qyer.com,DIRECT - - DOMAIN-SUFFIX,qyerstatic.com,DIRECT - - DOMAIN-SUFFIX,raychase.net,DIRECT - - DOMAIN-SUFFIX,ronghub.com,DIRECT - - DOMAIN-SUFFIX,ruguoapp.com,DIRECT - - DOMAIN-SUFFIX,sankuai.com,DIRECT - - DOMAIN-SUFFIX,scomper.me,DIRECT - - DOMAIN-SUFFIX,seafile.com,DIRECT - - DOMAIN-SUFFIX,sm.ms,DIRECT - - DOMAIN-SUFFIX,smzdm.com,DIRECT - - DOMAIN-SUFFIX,snapdrop.net,DIRECT - - DOMAIN-SUFFIX,snwx.com,DIRECT - - DOMAIN-SUFFIX,s-reader.com,DIRECT - - DOMAIN-SUFFIX,sspai.com,DIRECT - - DOMAIN-SUFFIX,takungpao.com,DIRECT - - DOMAIN-SUFFIX,teamviewer.com,DIRECT - - DOMAIN-SUFFIX,tianyancha.com,DIRECT - - DOMAIN-SUFFIX,udacity.com,DIRECT - - DOMAIN-SUFFIX,uning.com,DIRECT - - DOMAIN-SUFFIX,weather.com,DIRECT - - DOMAIN-SUFFIX,weico.cc,DIRECT - - DOMAIN-SUFFIX,weidian.com,DIRECT - - DOMAIN-SUFFIX,xiachufang.com,DIRECT - - DOMAIN-SUFFIX,ximalaya.com,DIRECT - - DOMAIN-SUFFIX,xinhuanet.com,DIRECT - - DOMAIN-SUFFIX,xmcdn.com,DIRECT - - DOMAIN-SUFFIX,yangkeduo.com,DIRECT - - DOMAIN-SUFFIX,zhangzishi.cc,DIRECT - - DOMAIN-SUFFIX,zhihu.com,DIRECT - - DOMAIN-SUFFIX,zhimg.com,DIRECT - - DOMAIN-SUFFIX,zhuihd.com,DIRECT - - DOMAIN,download.jetbrains.com,DIRECT - - DOMAIN,images-cn.ssl-images-amazon.com,DIRECT + - RULE-SET,China,DIRECT # Local Area Network - IP-CIDR,192.168.0.0/16,DIRECT @@ -1185,10 +75,12 @@ rules: - IP-CIDR,100.64.0.0/10,DIRECT - IP-CIDR,224.0.0.0/4,DIRECT + # (可选)使用来自 ipipdotnet 的 ChinaIP 以解决数据不准确的问题,使用 ChinaIP.yaml 时可禁用下列直至(包括)「GEOIP,CN」规则 + # - RULE-SET,ChinaIP,DIRECT # Tencent - IP-CIDR,119.28.28.28/32,DIRECT - IP-CIDR,182.254.116.0/24,DIRECT # GeoIP China - GEOIP,CN,DIRECT - - MATCH,MATCH + - MATCH,MATCH \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua_provider.yaml b/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua_provider.yaml deleted file mode 100644 index ec64e8c12f..0000000000 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/ConnersHua_provider.yaml +++ /dev/null @@ -1,97 +0,0 @@ -rule-providers: -# name: # Provider 名称 -# type: http # http 或 file -# behavior: classical # 或 ipcidr、domain -# path: # 文件路径 -# url: # 只有当类型为 HTTP 时才可用,您不需要在本地空间中创建新文件。 -# interval: # 自动更新间隔,仅在类型为 HTTP 时可用 - - Unbreak: - type: http - behavior: classical - path: ./RuleSet/Unbreak.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Unbreak.yaml - interval: 86400 - - Streaming: - type: http - behavior: classical - path: ./RuleSet/StreamingMedia/Streaming.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/Streaming.yaml - interval: 86400 - - StreamingSE: - type: http - behavior: classical - path: ./RuleSet/StreamingMedia/StreamingSE.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/StreamingMedia/StreamingSE.yaml - interval: 86400 - - Global: - type: http - behavior: classical - path: ./RuleSet/Global.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Global.yaml - interval: 86400 - - China: - type: http - behavior: classical - path: ./RuleSet/China.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/China.yaml - interval: 86400 - - IP-Blackhole: - type: http - behavior: ipcidr - path: ./RuleSet/Extra/IP-Blackhole.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Extra/IP-Blackhole.yaml - interval: 86400 - - ChinaIP: - type: http - behavior: ipcidr - path: ./RuleSet/Extra/ChinaIP.yaml - url: https://raw.githubusercontent.com/DivineEngine/Profiles/master/Clash/RuleSet/Extra/ChinaIP.yaml - interval: 86400 - -# 规则 -rules: -##source:ConnersHua_provider - # Unbreak - - RULE-SET,Unbreak,DIRECT - - # Global Area Network - - # (Streaming Media) - - RULE-SET,Streaming,Streaming - - # (StreamingSE) - - RULE-SET,StreamingSE,StreamingSE - - # (DNS Cache Pollution) / (IP Blackhole) / (Region-Restricted Access Denied) / (Network Jitter) - - RULE-SET,Global,PROXY - - # China Area Network - - RULE-SET,China,DIRECT - - # Local Area Network - - IP-CIDR,192.168.0.0/16,DIRECT - - IP-CIDR,10.0.0.0/8,DIRECT - - IP-CIDR,172.16.0.0/12,DIRECT - - IP-CIDR,127.0.0.0/8,DIRECT - - IP-CIDR,100.64.0.0/10,DIRECT - - IP-CIDR,224.0.0.0/4,DIRECT - - # IP Blackhole - - RULE-SET,IP-Blackhole,PROXY - - # Tencent - - IP-CIDR,119.28.28.28/32,DIRECT - - IP-CIDR,182.254.116.0/24,DIRECT - # 使用来自 ipipdotnet 的 ChinaIP 以解决数据不准确的问题,使用 ChinaIP.yaml 时禁用「GEOIP,CN」规则 - # - RULE-SET,ChinaIP,DIRECT - # GeoIP China - - GEOIP,CN,DIRECT - - - MATCH,MATCH diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/default.yaml b/package/ctcgfw/luci-app-openclash/files/etc/openclash/default.yaml index 456057096d..6c24fe3221 100644 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/default.yaml +++ b/package/ctcgfw/luci-app-openclash/files/etc/openclash/default.yaml @@ -18,8 +18,8 @@ allow-lan: true # 此项将被接管为true # "[aaaa::a8aa:ff:fe09:57d8]": bind a single IPv6 address bind-address: "*" # HTTP(S)\SOCKS5 监听地址,此项将被接管为all -# Rule / Global/ Direct (default is Rule) -mode: Rule # 此项将被接管 +# rule / global / direct (default is rule) +mode: rule # 此项将被接管 # set log level to stdout (default is info) # info / warning / error / debug / silent @@ -35,10 +35,6 @@ external-ui: "/usr/share/openclash/dashboard" # 此项将被接管 # Secret for RESTful API (Optional) secret: '123456' # 此项将被接管 -# experimental feature -experimental: - ignore-resolve-fail: true # ignore dns resolve fail, default value is true - # authentication of local SOCKS5/HTTP(S) server authentication: # 此项将被接管 - "user1:pass1" @@ -283,7 +279,7 @@ proxy-groups: # 此参数必须保留,不能删除 #rule-providers: # name: # name of the provider # type: http # type of the provider, it can be a HTTP or a File -# behavior: ipcidr # or domain +# behavior: classical # or ipcidr、domain # path: # where is the file, ./ relative to clash home # url: # only available when type is HTTP, where to download a file. You don't need to create a new file in local space. # interval: # auto-update interval, only available when type is HTTP @@ -316,6 +312,4 @@ rules: # 此参数必须保留,不能删除 - SRC-PORT,7777,DIRECT # or use rule with provider - RULE-SET,name,Proxy -# FINAL would remove after prerelease -# you also can use `FINAL,Proxy` or `FINAL,,Proxy` now - MATCH,auto \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version b/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version index 3bb3c12fc2..ea79ace438 100644 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version +++ b/package/ctcgfw/luci-app-openclash/files/etc/openclash/openclash_version @@ -1,2 +1,2 @@ -v0.39.2-beta -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXMAAAAqCAMAAAB2kksrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkExOEUzN0FEQjExNzExRUFBN0EzQUMwNzMzQjZGNzA2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkExOEUzN0FFQjExNzExRUFBN0EzQUMwNzMzQjZGNzA2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTE4RTM3QUJCMTE3MTFFQUE3QTNBQzA3MzNCNkY3MDYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTE4RTM3QUNCMTE3MTFFQUE3QTNBQzA3MzNCNkY3MDYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vmb1mAAADAFBMVEXB1eAHZp3R0dFtbW1Jns49PT2EvN2EhIQ1dZq6urokhLtFmspknr6UxeE6lspTiqmGv98HXpGizOVYpdKCgoIJeLienp7a2tqlpaUGVYJ4eHh2ttqx0ePf39/R5vLn5+c/Pz/GxsahoaHOzs4kapJpaWkHW4tilLGStcgJca2RkZEJZZkKaqFxcXEFXI6/v79GRkasrKy1tbUXYo1mrdYFbanR4uzKysrw9fcFcK2jwNFiYmIEU4Bkq9MKdrVHi7JLS0tDQ0Pg4ODC2eaLi4sFYJWDs84Xgb5Fkbx2dnaz1eoGdLLAwMCcnJwrjsYEWorCwsJBQUEneKZCQkJFgKImcJuDrcW2trajxdmXl5dHnMyUvtYFaaJlZWUnicGNjY02kcYFZZtzobuxzdwJWIUHVoTR3+gFcrCDqsEIbKSBudmvr69gYGCiyd8chsMZdapyn7iUlJSSutCjzuYJYZQEYph0dHSyytiTvtcJcKuJweIwk8t0sdUUX4kJdbMahME1hbJDfqEHV4YRgsMCc7QBcrNRUVFUVFRVVVVSUlILfL0Ke7xWVlYHeLkFdrcEdrYOgMAOf8ADdLQDdbUDdLUEdbYSg8NXV1cSg8QShMQThMUAcrIGd7gOf78Nfr8Nfr4Mfb4Mfb0Je7sJersIebkJero6OjqqqqrU1NTV1dWrq6tISEipqak7OzuAgIB+fn7w9/vC3u5JSUmBgYGCqcDq6urz8/NMTEz19fXh7/eDvNz09PTv9Pd/f38HcKvA1N/B3e2Fvt7g6u/B3e6JiYmErMLo6Oh0s9jC3++hv9ALerng6vCDq8LB3u6Du9yEtNDD3+8LdK8Fa6bW1tZGm8sIaJ+Evd0FZ5/g7vbg7/cEWIgZg8Dv9voKebgLb6gGdbRGhKcVaJcIWYgnbZWDr8hVos+ErcUEVYMHcq9or9czeqOyz+BkmbdGibB1qMVTU1MPgMEQgcJZWVlaWlpfX19bW1tcXFxNTU1eXl5PT09QUFBYWFhdXV1OTk7///////+ncqwAAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADDVJREFUeNrsVwlUFOcdH4R1UQRFzIJrhFU0IEYcUOLBmuwiHhFrJdF4RH1ixCMmRmPUGGsO24rA2qYnPUyaIC6nYUFOIeJ9J0aTqNHcR7Vt7LbWBsTwo//vm9ndmQUMr8nzvd3n7z3m+5+//8zvm50ZhNbWmhWDr3sD/uQB2PicrbVVaE1ad9078EePwMbwVqFmWJOX4A+egY02YYW3SN70ew/Bc8Kwb70FP/UQbBS+vaP57YYXaf5vT4Hwjdfgjua3H//yFAj/9Rrc0fz242VPgfAfr8GvPAXtaq6Ni4uL8f3hVZmv1c53Or5abWd69Fp9J9lf6RBB/Xr1C3IPvrwypFevXn5Of9rflJ6yqG3vK73Q65X/G8I1dyTOqgFH0pzEa98T2jityq/BHKc9FaM6Q/Eu3u3ksFc7wMp3+OW8s1IVnSZFURsi+YGS59duUXiQGydp3tG4V/16+b16S7TRXF8JhBbpdJE0Svt9NY9DnNK1DEeSc2uBmB9W8790gGO4r8cDPe7DMVXUD1hy+PDY0YAfc9dg9D8fiBove4oigRfZVqo592N/R+NumeMQbqqRmIQqXw2DSVfV5+b3BGmu8ocBvrI5B1WZnaEQNWInh73WPkbi5IjFixePGI2RyrDf2C8Ws/BJrOFFo6lo8+axqG2nyH80+qlJSdfXOsKtchxCG5WqEjXmcpNJ1Ggsgzurrb6Panv69PFtX/PiCAyUzULMapGL9e0zJrpp7qsekuiocOD19jEFi4I/PvNx8GFMUYbPLF4cfO+9Qz8/jGPkHUP058vPbHiGdiZEXfQMK4rmRQqQrq+/Ps0vSBHyc3g85wyqaiS4a14DnWELtywmZhRiN/d2o1A+zkkCim4WoSixiB5DLFvEXgA1RbwOSORuYSJ3JDjZt+hQKQtId3wOCTeV5SuTb6rIbw6s5GFGWQSJOJmHpibKlb68cZby1LNkhKBWtmoRkpVlw6cnyD7xKWxZCpwZej9bTjyNJ2mBVJQ1VMD+tkXP/xVl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 \ No newline at end of file +v0.39.3-beta +data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXMAAAAqCAMAAAB2kksrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc2NjhFNjBBQzFERTExRUE5ODFDRUFEQTU3Rjg2M0NFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc2NjhFNjBCQzFERTExRUE5ODFDRUFEQTU3Rjg2M0NFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzY2OEU2MDhDMURFMTFFQTk4MUNFQURBNTdGODYzQ0UiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzY2OEU2MDlDMURFMTFFQTk4MUNFQURBNTdGODYzQ0UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4d9ffWAAADAFBMVEVISEiCqcAGcKxFmsrR0dFJns7B1eBtbW09PT2Gv9+EvN2EhIS6uroHXpEkhLsGVYKStcmTu9OUxeFYpdIJeLiCgoJlnr6enp7a2tokapKlpaV4eHgJdbTf399jlLHR5vLn5+c/Pz/GxsYIXIyhoaHOzs45lclpaWkIca0FbamRkZEEXI5mrdWizOVxcXG/v79FRUWsrKw0dJp2ttq1tbUKaqEwk8vR4uwFYJWy1urKysoEU4BiYmJGirFFgKIXYo02kcVkq9NLS0tDQ0Pg4ODC2eaLi4sIZJkGdLKDs86iwNEEWIh2dnbAwMCcnJzCwsJBQUFFkbyx0ePw9fcXgL0neKZXlbkFaaJCQkImcJuDrcW2trajx9yXl5dHnMwHbKVlZWUnicGNjY2yytgJaJ4FcrAJWIVzobuxzdwJbqgHZ51yn7ikzuavr6+hv9B0p8RgYGCiyd8rjsc1hrQZdaqUlJQJYZMGZJpGg6YEYph0dHQdh8NVjKtSiagJcKuJweJ0sdUahMFDfqEHV4cRgsMCc7QBcrNRUVFUVFRVVVVSUlILfL1WVlYFdrcKe7wHeLkOgMAEdrYDdLUOf8ADdbUEdbYDdLQSg8MSg8RXV1cShMQThMUAcrIGd7gOf78Nfr8Nfr4Mfb4Mfb0IebkJe7sJersJero6OjqqqqrU1NTV1dWrq6upqak7OzuAgIB+fn7w9/sHVoTC3u6BgYHq6upMTEzh7/f19fXz8/P09PSDvNzA1N9/f3/v9Pfg6u+Fvt7g6vDB3e3B3e50s9iJiYno6OgLerkUXomErMIFZZsFZ5+EtNCEvd3W1tbB3u4Fa6bC3+/g7vbD3+8LdK8FZ6Dg7/dGm8tVos+CutsEV4cZg8Dv9vqDr8gGdbTR3+gKeLcIWYjg7vcEVYMVaJdjpsxor9czeqNkmbc2g66ErcXP5PEmbZWyz+DB2+ujxdhTU1MPgMEQgcJZWVlaWlpfX19bW1tcXFxNTU1eXl5PT09QUFBYWFhdXV1OTk7///////90FWljAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAADEJJREFUeNrsVwlUFOcdH0BgdUUQoousAiuCCKiLolEXrwUBNVaMJsRYr6diPHNqvBNjWxEI9m5pa9IEdLkMC3JKQLwhkmhiTnObtmlrm02tLYjhR//fN7O7MwsYXpPne7vP33vM9z9//5nfNzszCJ2d1ZtG3nAF/N4JMPEZc2en0Jm444Zr4HdOgYkhnUL1mDYXwW+dAxPNwiZXkbztN06CZ4Qx37gKfuQkmCh8c1fzOw0X0vxfzgLhvy6Du5rfeXztLBD+4zK4q/mdx0+dBcK/XQa/cBZ0q7k6NjY2yvv7V2WFWr3C5nir1b3p0aq1vWR/oSd8HTH+mfERXcI7A/r27etpc5/4s9yzwZOKAnY6Rvui7wv/N4TrjohfUg2OxKXx178j1LFqhV+NpTZ7Hqb0huJ1vN7LYS/2gJ1v8ct5a6ci+oQYRVWA6PuLnqeyd6NYZO7rwEma9zTuRc++ni/eFl0011YAgcUaTTiNUn9XzWMRK3ezxyLRtrVA1Per+R97wCXcO3jq4HtxSRH1BD5papqzEPBk7kYsfHTqg7Mkzwag0a/JrxE4oeQ84RjoZY5DuKVEfCJqvFUMRk3NoFvfEaS5wh8DeEvmUtRk9oZCr9L3cthL3SMGjdPT09OnL0SMPOw551o6CzdiIy9ayIrS56BK0ey1jUXTVzmEXyJdX+oJt8txCF1UqolXJQhGo16lyh7ZW221gxTbM2iQd/eaC6EYIZlFWNIhFWu7Z4x30NxbOSTeWmHFy91jMtb6rLu8zqcJk+Xhy+npWydMSP6sCZfIuwS/z5Zf3rOVdiZAXpWeHrZ6wuqwbYCSlHR9+eUnPCNkIU+rx3O2oKJGhKPm1dDo9nMr28iMIhzj3jEUSceliUDxrWIUxxfTY4hli9kLoLqY1wHx3C2K544IG/t+DSokAemOzyXh5rF8RdItBfmtERU8zCiLIRIn8dC8eKnSmzcukZ96loQAVElWFQKysszYdo7sc9tgzpLhcvKnbDk3EI/TArEoK9kL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 \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/etc/openclash/rule_provider/IP-Blackhole.yaml b/package/ctcgfw/luci-app-openclash/files/etc/openclash/rule_provider/IP-Blackhole.yaml deleted file mode 100644 index 14cd18e265..0000000000 --- a/package/ctcgfw/luci-app-openclash/files/etc/openclash/rule_provider/IP-Blackhole.yaml +++ /dev/null @@ -1,46 +0,0 @@ -payload: - # IP Blackhole - # > Facebook - - '31.13.24.0/21' - - '31.13.64.0/18' - - '45.64.40.0/22' - - '66.220.144.0/20' - - '69.63.176.0/20' - - '69.171.224.0/19' - - '74.119.76.0/22' - - '103.4.96.0/22' - - '129.134.0.0/17' - - '157.240.0.0/17' - - '173.252.64.0/19' - - '173.252.96.0/19' - - '179.60.192.0/22' - - '185.60.216.0/22' - - '204.15.20.0/22' - # > Google - - '35.190.247.0/24' - - '64.233.160.0/19' - - '66.102.0.0/20' - - '66.249.80.0/20' - - '72.14.192.0/18' - - '74.125.0.0/16' - - '108.177.8.0/21' - - '172.217.0.0/16' - - '173.194.0.0/16' - - '209.85.128.0/17' - - '216.58.192.0/19' - - '216.239.32.0/19' - # > Twitter - - '69.195.160.0/19' - - '104.244.42.0/21' - - '192.133.76.0/22' - - '199.16.156.0/22' - - '199.59.148.0/22' - - '199.96.56.0/21' - - '202.160.128.0/22' - - '209.237.192.0/19' - # > Wikimedia - - '91.198.174.0/24' - - '103.102.166.0/24' - - '185.15.56.0/22' - - '198.35.26.0/23' - - '208.80.152.0/22' \ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua index cf6c493b6a..f82ef6ac73 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua +++ b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/servers.lua @@ -25,8 +25,7 @@ o = s:option(ListValue, "rule_sources", translate("Choose Template For Create Co o.description = translate("Use Other Rules To Create Config") o:depends("create_config", 1) o:value("lhie1", translate("lhie1 Rules")) -o:value("ConnersHua", translate("ConnersHua Rules")) -o:value("ConnersHua_provider", translate("ConnersHua(Provider-type) Rules")) +o:value("ConnersHua", translate("ConnersHua(Provider-type) Rules")) o:value("ConnersHua_return", translate("ConnersHua Return Rules")) o = s:option(ListValue, "servers_update", translate("Keep Settings")) diff --git a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua index 029b5b113c..6b3cff5366 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua +++ b/package/ctcgfw/luci-app-openclash/files/usr/lib/lua/luci/model/cbi/openclash/settings.lua @@ -75,11 +75,11 @@ o.default = "system" o = s:taboption("op_mode", ListValue, "proxy_mode", font_red..bold_on..translate("Proxy Mode")..bold_off..font_off) o.description = translate("Select Proxy Mode") -o:value("Rule", translate("Rule Proxy Mode")) -o:value("Global", translate("Global Proxy Mode")) -o:value("Direct", translate("Direct Proxy Mode")) -o:value("Script", translate("Script Proxy Mode (Tun Core Only)")) -o.default = "Rule" +o:value("rule", translate("Rule Proxy Mode")) +o:value("global", translate("Global Proxy Mode")) +o:value("direct", translate("Direct Proxy Mode")) +o:value("script", translate("Script Proxy Mode (Tun Core Only)")) +o.default = "rule" o = s:taboption("op_mode", Button, translate("Switch Operation Mode")) o.title = translate("Switch Operation Mode") @@ -256,8 +256,7 @@ o = s:taboption("rules", ListValue, "rule_source", translate("Enable Other Rules o.description = translate("Use Other Rules") o:value("0", translate("Disable Other Rules")) o:value("lhie1", translate("lhie1 Rules")) -o:value("ConnersHua", translate("ConnersHua Rules")) -o:value("ConnersHua_provider", translate("ConnersHua(Provider-type) Rules")) +o:value("ConnersHua", translate("ConnersHua(Provider-type) Rules")) o:value("ConnersHua_return", translate("ConnersHua Return Rules")) if not fs.isfile("/tmp/Proxy_Group") then @@ -268,7 +267,6 @@ file = io.open("/tmp/Proxy_Group", "r"); o = s:taboption("rules", ListValue, "GlobalTV", translate("GlobalTV")) o:depends("rule_source", "lhie1") o:depends("rule_source", "ConnersHua") -o:depends("rule_source", "ConnersHua_provider") for l in file:lines() do o:value(l) end @@ -276,7 +274,6 @@ o:depends("rule_source", "ConnersHua_provider") o = s:taboption("rules", ListValue, "AsianTV", translate("AsianTV")) o:depends("rule_source", "lhie1") o:depends("rule_source", "ConnersHua") -o:depends("rule_source", "ConnersHua_provider") for l in file:lines() do o:value(l) end @@ -284,7 +281,6 @@ o:depends("rule_source", "ConnersHua_provider") o = s:taboption("rules", ListValue, "Proxy", translate("Proxy")) o:depends("rule_source", "lhie1") o:depends("rule_source", "ConnersHua") -o:depends("rule_source", "ConnersHua_provider") o:depends("rule_source", "ConnersHua_return") for l in file:lines() do o:value(l) @@ -346,7 +342,6 @@ o:depends("rule_source", "lhie1") file:seek("set") o = s:taboption("rules", ListValue, "AdBlock", translate("AdBlock")) o:depends("rule_source", "lhie1") ---o:depends("rule_source", "ConnersHua_provider") for l in file:lines() do o:value(l) end @@ -354,7 +349,6 @@ o:depends("rule_source", "lhie1") o = s:taboption("rules", ListValue, "Domestic", translate("Domestic")) o:depends("rule_source", "lhie1") o:depends("rule_source", "ConnersHua") -o:depends("rule_source", "ConnersHua_provider") for l in file:lines() do o:value(l) end @@ -362,7 +356,6 @@ o:depends("rule_source", "ConnersHua_provider") o = s:taboption("rules", ListValue, "Others", translate("Others")) o:depends("rule_source", "lhie1") o:depends("rule_source", "ConnersHua") -o:depends("rule_source", "ConnersHua_provider") o:depends("rule_source", "ConnersHua_return") o.description = translate("Choose Proxy Group, Base On Your Servers Group in config.yaml") for l in file:lines() do diff --git a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html index 5f269a30f5..b0628c6457 100644 --- a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html +++ b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/index.html @@ -1 +1 @@ -Clash
\ No newline at end of file +Clash
\ No newline at end of file diff --git a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.0f871e89a0b8ff683256.min.js b/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.0f871e89a0b8ff683256.min.js deleted file mode 100644 index 5ca16adc9f..0000000000 --- a/package/ctcgfw/luci-app-openclash/files/usr/share/openclash/dashboard/js/1.bundle.0f871e89a0b8ff683256.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1.bundle.0f871e89a0b8ff683256.min.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],[function(e,t,n){"use strict";e.exports=n(54)},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t=0||(o[n]=e[n]);return o}n.d(t,"a",(function(){return r}))},,,,function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE){0;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}}(),e.exports=n(55)},function(e,t,n){e.exports=n(58)()},function(e,t,n){"use strict";e.exports=n(62)},function(e,t,n){var r=n(38)(Object,"create");e.exports=r},function(e,t,n){var r=n(109);e.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},function(e,t,n){var r=n(115);e.exports=function(e,t){var n=e.__data__;return r(t)?n["string"==typeof t?"string":"hash"]:n.map}},function(e,t,n){"use strict";function r(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r3?t.i-4:t.i:Array.isArray(e)?1:p(e)?2:h(e)?3:0}function s(e,t){return 2===l(e)?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function c(e,t){return 2===l(e)?e.get(t):e[t]}function f(e,t,n){var r=l(e);2===r?e.set(t,n):3===r?(e.delete(t),e.add(n)):e[t]=n}function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function p(e){return G&&e instanceof Map}function h(e){return q&&e instanceof Set}function m(e){return e.o||e.t}function v(e){if(Array.isArray(e))return e.slice();var t=Object.getOwnPropertyDescriptors(e);for(var n in delete t[X],t){var r=t[n];!1===r.writable&&(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(t[n]={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]})}return Object.create(Object.getPrototypeOf(e),t)}function g(e,t){Object.isFrozen(e)||o(e)||!i(e)||(l(e)>1&&(e.set=e.add=e.clear=e.delete=y),Object.freeze(e),t&&u(e,(function(e,t){return g(t,!0)}),!0))}function y(){r(2)}function b(e){var t=ee[e];return t||r(19,e),t}function w(e,t){ee[e]=t}function S(){return H}function x(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.p=t)}function _(e){E(e),e.v.forEach(k),e.v=null}function E(e){e===H&&(H=e.l)}function T(e){return H={v:[],l:H,h:e,m:!0,_:0}}function k(e){var t=e[X];0===t.i||1===t.i?t.j():t.O=!0}function C(e,t){t._=t.v.length;var n=t.v[0],o=void 0!==e&&e!==n;return t.h.g||b("ES5").S(t,e,o),o?(n[X].P&&(_(t),r(4)),i(e)&&(e=R(t,e),t.l||O(t,e)),t.u&&b("Patches").M(n[X],e,t.u,t.s)):e=R(t,n,[]),_(t),t.u&&t.p(t.u,t.s),e!==K?e:void 0}function R(e,t,n){if(null==(r=t)||"object"!=typeof r||Object.isFrozen(r))return t;var r,o=t[X];if(!o)return u(t,(function(r,i){return P(e,o,t,r,i,n)}),!0),t;if(o.A!==e)return t;if(!o.P)return O(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var i=4===o.i||5===o.i?o.o=v(o.k):o.o;u(i,(function(t,r){return P(e,o,i,t,r,n)})),O(e,i,!1),n&&e.u&&b("Patches").R(o,n,e.u,e.s)}return o.o}function P(e,t,n,r,a,u){if(o(a)){var l=R(e,a,u&&t&&3!==t.i&&!s(t.D,r)?u.concat(r):void 0);if(f(n,r,l),!o(l))return;e.m=!1}if(i(a)&&!Object.isFrozen(a)){if(!e.h.N&&e._<1)return;R(e,a),t&&t.A.l||O(e,a)}}function O(e,t,n){void 0===n&&(n=!1),e.h.N&&e.m&&g(t,n)}function M(e,t){var n=e[X];return(n?m(n):e)[t]}function I(e){e.P||(e.P=!0,e.l&&I(e.l))}function A(e){e.o||(e.o=v(e.t))}function N(e,t,n){var r=p(t)?b("MapSet").T(t,n):h(t)?b("MapSet").F(t,n):e.g?function(e,t){var n=Array.isArray(e),r={i:n?1:0,A:t?t.A:S(),P:!1,I:!1,D:{},l:t,t:e,k:null,o:null,j:null,C:!1},o=r,i=te;n&&(o=[r],i=ne);var a=Proxy.revocable(o,i),u=a.revoke,l=a.proxy;return r.k=l,r.j=u,l}(t,n):b("ES5").J(t,n);return(n?n.A:S()).v.push(r),r}function z(e){return o(e)||r(22,e),function e(t){if(!i(t))return t;var n,r=t[X],o=l(t);if(r){if(!r.P&&(r.i<4||!b("ES5").K(r)))return r.t;r.I=!0,n=F(t,o),r.I=!1}else n=F(t,o);return u(n,(function(t,o){r&&c(r.t,t)===o||f(n,t,e(o))})),3===o?new Set(n):n}(e)}function F(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return v(e)}function L(){function e(e,t){var n=i[e];return n?n.enumerable=t:i[e]=n={configurable:!0,enumerable:t,get:function(){var t=this[X];return te.get(t,e)},set:function(t){var n=this[X];te.set(n,e,t)}},n}function t(e){for(var t=e.length-1;t>=0;t--){var o=e[t][X];if(!o.P)switch(o.i){case 5:r(o)&&I(o);break;case 4:n(o)&&I(o)}}}function n(e){for(var t=e.t,n=e.k,r=Object.keys(n),o=r.length-1;o>=0;o--){var i=r[o],a=t[i];if(void 0===a&&!s(t,i))return!0;var u=n[i],l=u&&u[X];if(l?l.t!==a:!d(u,a))return!0}return r.length!==Object.keys(t).length}function r(e){var t=e.k;if(t.length!==e.t.length)return!0;var n=Object.getOwnPropertyDescriptor(t,t.length-1);return!(!n||n.get)}var i={};w("ES5",{J:function(t,n){var r=Array.isArray(t),o=function(t,n){var r=Object.getOwnPropertyDescriptors(n);for(var o in t&&delete r.length,delete r[X],r)r[o]=e(o,t||!!r[o].enumerable);if(t){var i=Array(n.length);return Object.defineProperties(i,r),i}return Object.create(Object.getPrototypeOf(n),r)}(r,t),i={i:r?5:4,A:n?n.A:S(),P:!1,I:!1,D:{},l:n,t:t,k:o,o:null,O:!1,C:!1};return Object.defineProperty(o,X,{value:i,writable:!0}),o},S:function(e,n,i){i?o(n)&&n[X].A===e&&t(e.v):(e.u&&function e(t){if(t&&"object"==typeof t){var n=t[X];if(n){var o=n.t,i=n.k,a=n.D,l=n.i;if(4===l)u(i,(function(t){t!==X&&(void 0!==o[t]||s(o,t)?a[t]||e(i[t]):(a[t]=!0,I(n)))})),u(o,(function(e){void 0!==i[e]||s(i,e)||(a[e]=!1,I(n))}));else if(5===l){if(r(n)&&(I(n),a.length=!0),i.length1?r-1:0),u=1;u1?n-1:0),i=1;i=0;n--){var r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}var i=b("Patches").$;return o(e)?i(e,t):this.produce(e,(function(e){return i(e,t.slice(n+1))}))},e}(),oe=new re,ie=oe.produce,ae=oe.produceWithPatches.bind(oe),ue=oe.setAutoFreeze.bind(oe),le=oe.setUseProxies.bind(oe),se=oe.applyPatches.bind(oe),ce=oe.createDraft.bind(oe),fe=oe.finishDraft.bind(oe);t.default=ie},,function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(37),o=n(88);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},function(e,t,n){var r=n(24).Symbol;e.exports=r},function(e,t,n){var r=n(85),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},function(e,t,n){var r=n(119);e.exports=function(e){return null==e?"":r(e)}},,function(e,t,n){e.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",o="day",i="week",a="month",u="quarter",l="year",s=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,c=/\[([^\]]+)]|Y{2,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,f=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},d={s:f,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+f(r,2,"0")+":"+f(o,2,"0")},m:function(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),r=e.clone().add(n,a),o=t-r<0,i=e.clone().add(n+(o?-1:1),a);return Number(-(n+(t-r)/(o?r-i:i-r))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(s){return{M:a,y:l,w:i,d:o,D:"date",h:r,m:n,s:t,ms:e,Q:u}[s]||String(s||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},h="en",m={};m[h]=p;var v=function(e){return e instanceof w},g=function(e,t,n){var r;if(!e)return h;if("string"==typeof e)m[e]&&(r=e),t&&(m[e]=t,r=e);else{var o=e.name;m[o]=e,r=o}return!n&&r&&(h=r),r||!n&&h},y=function(e,t){if(v(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new w(n)},b=d;b.l=g,b.i=v,b.w=function(e,t){return y(e,{locale:t.$L,utc:t.$u,$offset:t.$offset})};var w=function(){function f(e){this.$L=this.$L||g(e.locale,null,!0),this.parse(e)}var d=f.prototype;return d.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(b.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(s);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(t)}(e),this.init()},d.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},d.$utils=function(){return b},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(e,t){var n=y(e);return this.startOf(t)<=n&&n<=this.endOf(t)},d.isAfter=function(e,t){return y(e)-1&&(t.__listeners[r]=t.__listeners[t.__listeners.length-1],t.__listeners.length--)}}},e.prototype.notify=function(){for(var e=0,t=this.__listeners;en.errorRetryCount)){var i=Math.min(o.retryCount||0,8),a=~~((Math.random()+.5)*(1<0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]0));return Promise.all(l).then((function(){return f.get(r)}))}return Promise.resolve(f.get(r))},O=function(e,t,n){var r=m[e];if(e&&r)for(var o=0;o0));return[2,Promise.all(d).then((function(){return f.get(r)}))]}if(i)throw i;return[2,o]}}))}))};var I=E.Provider,A=function(){for(var e=this,t=[],n=0;n=1&&(o=t[0]),t.length>2?(i=t[1],a=t[2]):"function"==typeof t[1]?i=t[1]:"object"==typeof t[1]&&(a=t[1]);var s=f.serializeKey(o),c=s[0],g=s[1],y=s[2];a=Object.assign({},S,Object(r.useContext)(E),a),void 0===i&&(i=a.fetcher);var b=f.get(c)||a.initialData,w=f.get(y),_=Object(r.useRef)({data:!1,error:!1,isValidating:!1}),P=Object(r.useRef)({data:b,error:w,isValidating:!1}),I=Object(r.useState)(null)[1],A=Object(r.useCallback)((function(e){var t=!1;for(var n in e)P.current[n]=e[n],_.current[n]&&(t=!0);(t||a.suspense)&&I({})}),[]),N=Object(r.useRef)(!1),z=Object(r.useRef)(c),F=Object(r.useRef)({emit:function(e){for(var t=[],n=1;n=0&&(e[t]=e[e.length-1],e.pop()));m[c]&&((t=(e=m[c]).indexOf(o))>=0&&(e[t]=e[e.length-1],e.pop()));!C&&window.removeEventListener&&null!==i&&window.removeEventListener("online",i)}}}),[c,j]),R((function(){var t=null,n=function(){return T(e,void 0,void 0,(function(){return k(this,(function(e){switch(e.label){case 0:return P.current.error||!a.refreshWhenHidden&&!u()||!a.refreshWhenOffline&&!l()?[3,2]:[4,j({dedupe:!0})];case 1:e.sent(),e.label=2;case 2:return a.refreshInterval&&(t=setTimeout(n,a.refreshInterval)),[2]}}))}))};return a.refreshInterval&&(t=setTimeout(n,a.refreshInterval)),function(){t&&clearTimeout(t)}}),[a.refreshInterval,a.refreshWhenHidden,a.refreshWhenOffline,j]),a.suspense){var D=f.get(c)||b,B=f.get(y)||w;if(void 0===D&&void 0===B){if(d[c]||j(),d[c]&&"function"==typeof d[c].then)throw d[c];D=d[c]}if(void 0===D&&B)throw B;return{error:B,data:D,revalidate:j,mutate:L,isValidating:P.current.isValidating}}return Object(r.useMemo)((function(){var e={revalidate:j,mutate:L};return Object.defineProperties(e,{error:{get:function(){return _.current.error=!0,z.current===c?P.current.error:w},enumerable:!0},data:{get:function(){return _.current.data=!0,z.current===c?P.current.data:b},enumerable:!0},isValidating:{get:function(){return _.current.isValidating=!0,P.current.isValidating},enumerable:!0}}),e}),[j])},N=function(){for(var e=0,t=0,n=arguments.length;t=0;d--){var p=o[d];"."===p?l(o,d):".."===p?(l(o,d),f++):f&&(l(o,d),f--)}if(!s)for(;f--;f)o.unshift("..");!s||""===o[0]||o[0]&&u(o[0])||o.unshift("");var h=o.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};function c(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var f=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=c(t),o=c(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1};var d=function(e,t){if(!e)throw new Error("Invariant failed")};function p(e){return"/"===e.charAt(0)?e:"/"+e}function h(e){return"/"===e.charAt(0)?e.substr(1):e}function m(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function v(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function g(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function y(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=Object(a.a)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=s(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=y(e,t,d(),w.location);c.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t=200&&e<300}};l.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(i)})),e.exports=l}).call(this,n(132))},function(e,t,n){"use strict";var r=n(7),o=n(134),i=n(41),a=n(136),u=n(139),l=n(140),s=n(45);e.exports=function(e){return new Promise((function(t,c){var f=e.data,d=e.headers;r.isFormData(f)&&delete d["Content-Type"];var p=new XMLHttpRequest;if(e.auth){var h=e.auth.username||"",m=e.auth.password||"";d.Authorization="Basic "+btoa(h+":"+m)}var v=a(e.baseURL,e.url);if(p.open(e.method.toUpperCase(),i(v,e.params,e.paramsSerializer),!0),p.timeout=e.timeout,p.onreadystatechange=function(){if(p&&4===p.readyState&&(0!==p.status||p.responseURL&&0===p.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in p?u(p.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?p.response:p.responseText,status:p.status,statusText:p.statusText,headers:n,config:e,request:p};o(t,c,r),p=null}},p.onabort=function(){p&&(c(s("Request aborted",e,"ECONNABORTED",p)),p=null)},p.onerror=function(){c(s("Network Error",e,null,p)),p=null},p.ontimeout=function(){var t="timeout of "+e.timeout+"ms exceeded";e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),c(s(t,e,"ECONNABORTED",p)),p=null},r.isStandardBrowserEnv()){var g=n(141),y=(e.withCredentials||l(v))&&e.xsrfCookieName?g.read(e.xsrfCookieName):void 0;y&&(d[e.xsrfHeaderName]=y)}if("setRequestHeader"in p&&r.forEach(d,(function(e,t){void 0===f&&"content-type"===t.toLowerCase()?delete d[t]:p.setRequestHeader(t,e)})),r.isUndefined(e.withCredentials)||(p.withCredentials=!!e.withCredentials),e.responseType)try{p.responseType=e.responseType}catch(b){if("json"!==e.responseType)throw b}"function"==typeof e.onDownloadProgress&&p.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&p.upload&&p.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then((function(e){p&&(p.abort(),c(e),p=null)})),void 0===f&&(f=null),p.send(f)}))}},function(e,t,n){"use strict";var r=n(135);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},function(e,t,n){"use strict";var r=n(7);e.exports=function(e,t){t=t||{};var n={},o=["url","method","params","data"],i=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];r.forEach(o,(function(e){void 0!==t[e]&&(n[e]=t[e])})),r.forEach(i,(function(o){r.isObject(t[o])?n[o]=r.deepMerge(e[o],t[o]):void 0!==t[o]?n[o]=t[o]:r.isObject(e[o])?n[o]=r.deepMerge(e[o]):void 0!==e[o]&&(n[o]=e[o])})),r.forEach(a,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])}));var u=o.concat(i).concat(a),l=Object.keys(t).filter((function(e){return-1===u.indexOf(e)}));return r.forEach(l,(function(r){void 0!==t[r]?n[r]=t[r]:void 0!==e[r]&&(n[r]=e[r])})),n}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},,function(e,t){var n=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return n.test(e)}},function(e,t,n){"use strict";var r=n(33),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function l(e){return r.isMemo(e)?a:u[e.$$typeof]||o}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=a;var s=Object.defineProperty,c=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,d=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var a=c(n);f&&(a=a.concat(f(n)));for(var u=l(t),m=l(n),v=0;vO.length&&O.push(e)}function A(e,t,n){return null==e?0:function e(t,n,r,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var l=!1;if(null===t)l=!0;else switch(u){case"string":case"number":l=!0;break;case"object":switch(t.$$typeof){case i:case a:l=!0}}if(l)return r(o,t,""===n?"."+N(t,0):n),1;if(l=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;s