luci-app-passwall: bump to 4-7

Signed-off-by: CN_SZTL <cnsztl@project-openwrt.eu.org>
This commit is contained in:
xiaorouji 2021-01-11 22:16:29 +08:00 committed by CN_SZTL
parent b74b888f56
commit 35604d58dd
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
14 changed files with 5346 additions and 7401 deletions

View File

@ -7,8 +7,8 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-passwall
PKG_VERSION:=4
PKG_RELEASE:=6
PKG_DATE:=20210104
PKG_RELEASE:=7
PKG_DATE:=20210111
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)

View File

@ -174,7 +174,7 @@ if node_section then
listen = "0.0.0.0",
port = tonumber(socks_proxy_port),
protocol = "socks",
settings = {auth = "noauth", udp = true, ip = "127.0.0.1"}
settings = {auth = "noauth", udp = true}
})
network = "tcp,udp"
end

View File

@ -322,6 +322,9 @@ o = s:taboption("tips", DummyValue, "")
o.template = appname .. "/global/tips"
-- [[ Socks Server ]]--
o = s:taboption("Main", Flag, "socks_enabled", "Socks" .. translate("Main switch"))
o.rmempty = false
s = m:section(TypedSection, "socks", translate("Socks Config"))
s.anonymous = true
s.addremove = true

View File

@ -72,6 +72,10 @@ local auto_switch = api.uci_get_type("auto_switch", "enable", 0)
var socks = document.getElementById("cbi-passwall-socks");
if (socks) {
var socks_enabled_dom = document.getElementById(global_id + "-socks_enabled");
socks_enabled_dom.parentNode.removeChild(socks_enabled_dom);
var descr = socks.getElementsByClassName("cbi-section-descr")[0];
descr.outerHTML = socks_enabled_dom.outerHTML;
rows = socks.getElementsByClassName("cbi-section-table-row");
for (var i = 0; i < rows.length; i++) {
var row = rows[i];

View File

@ -12,7 +12,7 @@ Copyright 2013 Yahoo!
Licensed under the BSD License.
https://github.com/pure-css/pure/blob/master/LICENSE.md
*/
.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}
.pure-g{letter-spacing:-.31em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active) {table .pure-g{display:block}}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class*=pure-u]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-12,.pure-u-1-2,.pure-u-1-24,.pure-u-1-3,.pure-u-1-4,.pure-u-1-5,.pure-u-1-6,.pure-u-1-8,.pure-u-10-24,.pure-u-11-12,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-2-24,.pure-u-2-3,.pure-u-2-5,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24,.pure-u-3-24,.pure-u-3-4,.pure-u-3-5,.pure-u-3-8,.pure-u-4-24,.pure-u-4-5,.pure-u-5-12,.pure-u-5-24,.pure-u-5-5,.pure-u-5-6,.pure-u-5-8,.pure-u-6-24,.pure-u-7-12,.pure-u-7-24,.pure-u-7-8,.pure-u-8-24,.pure-u-9-24{display:inline-block;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%}.pure-u-1-12,.pure-u-2-24{width:8.3333%}.pure-u-1-8,.pure-u-3-24{width:12.5%}.pure-u-1-6,.pure-u-4-24{width:16.6667%}.pure-u-1-5{width:20%}.pure-u-5-24{width:20.8333%}.pure-u-1-4,.pure-u-6-24{width:25%}.pure-u-7-24{width:29.1667%}.pure-u-1-3,.pure-u-8-24{width:33.3333%}.pure-u-3-8,.pure-u-9-24{width:37.5%}.pure-u-2-5{width:40%}.pure-u-10-24,.pure-u-5-12{width:41.6667%}.pure-u-11-24{width:45.8333%}.pure-u-1-2,.pure-u-12-24{width:50%}.pure-u-13-24{width:54.1667%}.pure-u-14-24,.pure-u-7-12{width:58.3333%}.pure-u-3-5{width:60%}.pure-u-15-24,.pure-u-5-8{width:62.5%}.pure-u-16-24,.pure-u-2-3{width:66.6667%}.pure-u-17-24{width:70.8333%}.pure-u-18-24,.pure-u-3-4{width:75%}.pure-u-19-24{width:79.1667%}.pure-u-4-5{width:80%}.pure-u-20-24,.pure-u-5-6{width:83.3333%}.pure-u-21-24,.pure-u-7-8{width:87.5%}.pure-u-11-12,.pure-u-22-24{width:91.6667%}.pure-u-23-24{width:95.8333%}.pure-u-1,.pure-u-1-1,.pure-u-24-24,.pure-u-5-5{width:100%}
.block {
margin: 0.5rem;
padding: 0;
@ -237,67 +237,35 @@ https://github.com/pure-css/pure/blob/master/LICENSE.md
var status_haproxy = document.getElementById('status_haproxy');
var status_kcptun = document.getElementById('status_kcptun');
if (data) {
var tcp_node_num = 1;
if (tcp_node_num >= 1) {
if (true) {
var status_tcp_node = document.getElementById('status_tcp_node');
if (status_tcp_node) {
var text = 'TCP<br />';
if (tcp_node_num == 1) {
if (data["tcp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
} else {
for(var i = 0; i < tcp_node_num; i++) {
var k = i + 1;
if (data["tcp_node" + k + "_status"])
text += '<span class="green"></span>';
else
text += '<span class="red"> X</span>';
}
}
if (data["tcp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
status_tcp_node.innerHTML = text;
}
var status_kcptun = document.getElementById('status_kcptun');
if (status_kcptun) {
var text = 'Kcptun<br />';
if (tcp_node_num == 1) {
if (data["kcptun_tcp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
} else {
for(var i = 0; i < tcp_node_num; i++) {
var k = i + 1;
if (data["kcptun_tcp_node" + k + "_status"])
text += '<span class="green"></span>';
else
text += '<span class="red"> X</span>';
}
}
if (data["kcptun_tcp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
status_kcptun.innerHTML = text;
}
}
var udp_node_num = 1;
if (udp_node_num >= 1) {
if (true) {
var status_udp_node = document.getElementById('status_udp_node');
if (status_udp_node) {
var text = 'UDP<br />';
if (udp_node_num == 1) {
if (data["udp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
} else {
for(var i = 0; i < udp_node_num; i++) {
var k = i + 1;
if (data["udp_node" + k + "_status"])
text += '<span class="green"></span>';
else
text += '<span class="red"> X</span>';
}
}
if (data["udp_node_status"])
text += '<span class="green"><%:RUNNING%></span>';
else
text += '<span class="red"><%:NOT RUNNING%></span>';
status_udp_node.innerHTML = text;
}
}

View File

@ -161,65 +161,33 @@ local status = api.uci_get_type("global_other", "status", "")
if (x && x.status == 200) {
var tcp_node_status = document.getElementById('_tcp_node_status');
if (tcp_node_status) {
var tcp_node_num = 1;
if (tcp_node_num >= 1) {
if (true) {
var text = '';
if (tcp_node_num == 1) {
if (json["tcp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
} else {
for(var i = 0; i < tcp_node_num; i++) {
var k = i + 1;
if (json["tcp_node" + k + "_status"])
text += '<font color="green" size="3"></font>';
else
text += '<font color="red" size="3"> X</font>';
}
}
if (json["tcp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
tcp_node_status.innerHTML = text;
var kcptun_tcp_node_status = document.getElementById('_kcptun_tcp_node_status');
text = "";
if (tcp_node_num == 1) {
if (json["kcptun_tcp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
} else {
for(var i = 0; i < tcp_node_num; i++) {
var k = i + 1;
if (json["tcp_node" + k + "_status"])
text += '<font color="green" size="3"></font>';
else
text += '<font color="red" size="3"> X</font>';
}
}
if(kcptun_tcp_node_status)
if (json["kcptun_tcp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
if (kcptun_tcp_node_status)
kcptun_tcp_node_status.innerHTML = text;
}
}
var udp_node_status = document.getElementById('_udp_node_status');
if (udp_node_status) {
var udp_node_num = 1;
if (udp_node_num >= 1) {
if (true) {
var text = '';
if (udp_node_num == 1) {
if (json["udp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
} else {
for(var i = 0; i < udp_node_num; i++) {
var k = i + 1;
if (json["udp_node" + k + "_status"])
text += '<font color="green" size="3"></font>';
else
text += '<font color="red" size="3"> X</font>';
}
}
if (json["udp_node_status"])
text += '<font color="green"><%:RUNNING%> ✓</font>';
else
text += '<font color="red"><%:NOT RUNNING%> X</font>';
udp_node_status.innerHTML = text;
}
}
@ -251,20 +219,18 @@ local status = api.uci_get_type("global_other", "status", "")
} else {
color = "red";
}
//s.setAttribute("color", color);
btn.setAttribute("style","color: " + color + " !important");
btn.value = use_time + " ms";;
s.setAttribute("color", color);
s.innerHTML = use_time + " ms";
} else if (rv.status) {
btn.setAttribute("style","color: green !important");
btn.value = "<%:Working...%>";
s.setAttribute("color", "green");
s.innerHTML = "<%:Working...%>";
} else {
//s.setAttribute("color", "red");
btn.setAttribute("style","color: red !important");
btn.value = '<%:Problem detected!%> X';
s.setAttribute("color", "red");
s.innerHTML = '<%:Problem detected!%> X';
}
}
btn.disabled = false;
//btn.value = '<%:Check%>';
btn.value = '<%:Check%>';
}
);
return false;

View File

@ -2,8 +2,6 @@
-- Copyright (C) 2018-2020 L-WRT Team
local api = require "luci.model.cbi.passwall.api.api"
local dsp = require "luci.dispatcher"
local nodes_display = api.uci_get_type("global_other", "nodes_display", "")
-%>
<style>
@ -30,11 +28,11 @@ table td, .table .td {
}
._select {
background: #dad8d8;
background: #dad8d8 !important;
}
._now_use {
background: #94e1ff;
background: #94e1ff !important;
}
.ping a:hover{
@ -225,26 +223,22 @@ table td, .table .td {
function get_now_use_node() {
XHR.get('<%=dsp.build_url("admin/services/passwall/get_now_use_node")%>', null,
function(x, result) {
for (var i = 1; i <= result.udp; i++) {
var id = result["UDP" + i];
if (id) {
var dom = document.getElementById("cbi-passwall-" + id);
if (dom) {
dom.classList.add("_now_use");
dom.title = "当前UDP" + i + "节点";
}
var id = result["TCP"];
if (id) {
var dom = document.getElementById("cbi-passwall-" + id);
if (dom) {
dom.classList.add("_now_use");
dom.title = "当前TCP节点";
//var v = "<a style='color: red'>当前TCP节点</a>" + document.getElementById("cbid.passwall." + id + ".remarks").value;
//document.getElementById("cbi-passwall-" + id + "-remarks").innerHTML = v;
}
}
for (var i = 1; i <= result.tcp; i++) {
var id = result["TCP" + i];
if (id) {
var dom = document.getElementById("cbi-passwall-" + id);
if (dom) {
dom.classList.add("_now_use");
dom.title = "当前TCP" + i + "节点";
//var v = "当前使用:" + document.getElementById("cbid.passwall." + id + ".remarks").value;
//document.getElementById("cbi-passwall-" + id + "-remarks").innerHTML = v;
}
id = result["UDP"];
if (id) {
var dom = document.getElementById("cbi-passwall-" + id);
if (dom) {
dom.classList.add("_now_use");
dom.title = "当前UDP节点";
}
}
}
@ -430,7 +424,7 @@ table td, .table .td {
<div style="display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;">
<div id="set_node_div">
<div class="cbi-value"><%:You choose node is:%><span id="set_node_name"></span></div>
<div class="cbi-value"><%:You choose node is:%><a style="color: red" id="set_node_name"></a></div>
<div class="cbi-value">
<input class="cbi-button cbi-button-edit" type="button" onclick="set_node('tcp')" value="TCP" />
<input class="cbi-button cbi-button-edit" type="button" onclick="set_node('udp')" value="UDP" />

View File

@ -1,6 +1,7 @@
config global
option enabled '0'
option socks_enabled '0'
option tcp_node 'nil'
option udp_node 'nil'
option dns_mode 'pdnsd'

View File

@ -225,7 +225,7 @@ check_port_exists() {
get_new_port() {
port=$1
[ "$port" == "auto" ] && port=2082
protocol=$2
protocol=$(echo $2 | tr 'A-Z' 'a-z')
result=$(check_port_exists $port $protocol)
if [ "$result" != 0 ]; then
temp=
@ -264,6 +264,7 @@ ln_start_bin() {
}
ENABLED=$(config_t_get global enabled 0)
SOCKS_ENABLED=$(config_t_get global socks_enabled 0)
TCP_REDIR_PORT=1041
TCP_NODE=$(config_t_get global tcp_node nil)
@ -603,14 +604,13 @@ node_switch() {
}
start_redir() {
eval num=\$${1}_NODE_NUM
eval node=\$${1}_NODE
[ "$node" != "nil" ] && {
TYPE=$(echo $(config_n_get $node type) | tr 'A-Z' 'a-z')
local config_file=$TMP_PATH/${1}.json
local log_file=$TMP_PATH/${1}.log
eval current_port=\$${1}_REDIR_PORT
local port=$(echo $(get_new_port $current_port $2))
local port=$(echo $(get_new_port $current_port $1))
eval ${1}_REDIR=$port
run_redir $node "0.0.0.0" $port $config_file $1 $log_file
#eval ip=\$${1}_NODE_IP
@ -1234,11 +1234,13 @@ start() {
#加锁防止并发开启服务
set_lock
load_config
start_socks
start_haproxy
[ "$SOCKS_ENABLED" = "1" ] && {
start_socks
}
[ "$NO_PROXY" == 1 ] || {
start_redir TCP tcp
start_redir UDP udp
start_redir TCP
start_redir UDP
start_dns
add_dnsmasq
source $APP_PATH/iptables.sh start

View File

@ -498,26 +498,28 @@ add_firewall_rule() {
fi
# 过滤Socks节点
local ids=$(uci show $CONFIG | grep "=socks" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}')
echolog "分析 Socks 服务所使用节点..."
local id enabled node port msg num
for id in $ids; do
enabled=$(config_n_get $id enabled 0)
[ "$enabled" == "1" ] || continue
node=$(config_n_get $id node nil)
port=$(config_n_get $id port 0)
msg="Socks 服务 [:${port}]"
if [ "$node" == "nil" ] || [ "$port" == "0" ]; then
msg="${msg} 未配置完全,略过"
elif [ "$(echo $node | grep ^tcp)" ]; then
eval "node=\${TCP_NODE}"
msg="${msg} 使用与 TCP 代理自动切换${num} 相同的节点,延后处理"
else
filter_node $node TCP
filter_node $node UDP
fi
echolog " - ${msg}"
done
[ "$SOCKS_ENABLED" = "1" ] && {
local ids=$(uci show $CONFIG | grep "=socks" | awk -F '.' '{print $2}' | awk -F '=' '{print $1}')
echolog "分析 Socks 服务所使用节点..."
local id enabled node port msg num
for id in $ids; do
enabled=$(config_n_get $id enabled 0)
[ "$enabled" == "1" ] || continue
node=$(config_n_get $id node nil)
port=$(config_n_get $id port 0)
msg="Socks 服务 [:${port}]"
if [ "$node" == "nil" ] || [ "$port" == "0" ]; then
msg="${msg} 未配置完全,略过"
elif [ "$(echo $node | grep ^tcp)" ]; then
eval "node=\${TCP_NODE}"
msg="${msg} 使用与 TCP 代理自动切换${num} 相同的节点,延后处理"
else
filter_node $node TCP
filter_node $node UDP
fi
echolog " - ${msg}"
done
}
# 处理轮换节点的分流或套娃
local node port stream switch

View File

@ -264,6 +264,9 @@
42.242.0.0/15
42.244.0.0/14
42.248.0.0/13
43.136.0.0/13
43.144.0.0/12
43.160.0.0/11
43.224.12.0/22
43.224.24.0/22
43.224.44.0/22
@ -953,7 +956,6 @@
43.251.232.0/22
43.251.236.0/22
43.251.244.0/22
43.252.40.0/22
43.252.48.0/22
43.252.56.0/22
43.252.224.0/22
@ -1112,7 +1114,6 @@
45.120.164.0/22
45.120.220.0/22
45.120.240.0/22
45.121.20.0/22
45.121.52.0/22
45.121.64.0/22
45.121.68.0/22
@ -1223,7 +1224,6 @@
45.125.16.0/22
45.125.24.0/22
45.125.28.0/22
45.125.32.0/22
45.125.44.0/22
45.125.52.0/22
45.125.56.0/22
@ -1249,7 +1249,6 @@
45.127.12.0/22
45.127.96.0/22
45.127.116.0/22
45.127.124.0/22
45.127.128.0/22
45.127.144.0/22
45.127.148.0/22
@ -1289,7 +1288,6 @@
45.249.36.0/22
45.249.92.0/22
45.249.112.0/22
45.249.180.0/22
45.249.188.0/22
45.249.192.0/22
45.249.196.0/22
@ -1471,8 +1469,6 @@
45.253.236.0/22
45.253.240.0/22
45.253.244.0/22
45.253.248.0/22
45.253.252.0/22
45.254.0.0/22
45.254.4.0/22
45.254.8.0/22
@ -1784,7 +1780,9 @@
61.29.128.0/18
61.29.192.0/19
61.29.224.0/20
61.29.240.0/20
61.29.240.0/21
61.29.248.0/22
61.29.254.0/23
61.45.128.0/18
61.45.224.0/20
61.47.128.0/18
@ -2080,7 +2078,6 @@
103.18.208.0/22
103.18.212.0/22
103.18.224.0/22
103.19.0.0/22
103.19.12.0/22
103.19.40.0/22
103.19.44.0/22
@ -3269,7 +3266,6 @@
103.86.32.0/22
103.86.44.0/22
103.86.60.0/22
103.86.68.0/22
103.86.80.0/22
103.86.84.0/22
103.86.88.0/22
@ -3399,7 +3395,6 @@
103.93.28.0/22
103.93.76.0/22
103.93.84.0/22
103.93.121.0/24
103.93.152.0/22
103.93.180.0/22
103.93.204.0/22
@ -3774,7 +3769,6 @@
103.119.224.0/22
103.120.52.0/22
103.120.72.0/22
103.120.76.0/24
103.120.88.0/22
103.120.96.0/22
103.120.100.0/22
@ -3915,9 +3909,7 @@
103.141.58.0/23
103.141.128.0/23
103.141.186.0/23
103.141.190.0/23
103.141.242.0/23
103.142.0.0/23
103.142.28.0/23
103.142.58.0/23
103.142.82.0/23
@ -4083,6 +4075,47 @@
103.155.48.0/23
103.155.76.0/23
103.155.100.0/23
103.155.110.0/23
103.155.120.0/23
103.155.214.0/23
103.155.248.0/23
103.156.24.0/23
103.156.28.0/23
103.156.68.0/23
103.156.78.0/23
103.156.104.0/23
103.156.158.0/23
103.156.166.0/23
103.156.174.0/23
103.156.186.0/23
103.156.228.0/23
103.157.30.0/23
103.157.138.0/23
103.157.174.0/23
103.157.212.0/23
103.157.234.0/23
103.157.254.0/23
103.158.0.0/23
103.158.8.0/23
103.158.13.0/24
103.158.16.0/23
103.158.190.0/23
103.158.200.0/23
103.158.224.0/23
103.159.80.0/23
103.159.122.0/23
103.159.124.0/23
103.159.134.0/23
103.159.142.0/23
103.160.32.0/23
103.160.34.0/23
103.160.112.0/23
103.160.114.0/23
103.160.244.0/23
103.160.254.0/23
103.161.14.0/23
103.161.102.0/23
103.161.138.0/23
103.192.0.0/22
103.192.4.0/22
103.192.8.0/22
@ -4119,7 +4152,6 @@
103.193.124.0/22
103.193.140.0/22
103.193.144.0/22
103.193.148.0/22
103.193.160.0/22
103.193.188.0/22
103.193.192.0/22
@ -4138,8 +4170,6 @@
103.195.148.0/22
103.195.152.0/22
103.195.160.0/22
103.195.192.0/22
103.196.60.0/22
103.196.64.0/22
103.196.72.0/22
103.196.88.0/22
@ -4172,7 +4202,6 @@
103.199.248.0/22
103.199.252.0/22
103.200.28.0/22
103.200.32.0/22
103.200.52.0/22
103.200.64.0/22
103.200.68.0/22
@ -4318,7 +4347,6 @@
103.203.24.0/22
103.203.28.0/22
103.203.32.0/22
103.203.52.0/22
103.203.56.0/22
103.203.96.0/22
103.203.100.0/22
@ -4551,7 +4579,6 @@
103.218.84.0/22
103.218.88.0/22
103.218.92.0/22
103.218.184.0/22
103.218.192.0/22
103.218.196.0/22
103.218.200.0/22
@ -4799,7 +4826,6 @@
103.227.212.0/22
103.227.228.0/22
103.228.12.0/22
103.228.28.0/22
103.228.88.0/22
103.228.128.0/22
103.228.136.0/22
@ -5090,7 +5116,6 @@
103.251.160.0/22
103.251.192.0/22
103.251.204.0/22
103.251.236.0/22
103.251.240.0/22
103.252.28.0/22
103.252.36.0/22
@ -5302,7 +5327,6 @@
113.208.128.0/17
113.209.0.0/16
113.212.0.0/18
113.212.64.0/22
113.212.88.0/22
113.212.100.0/22
113.212.184.0/21
@ -5330,7 +5354,8 @@
114.111.160.0/19
114.112.0.0/14
114.116.0.0/16
114.117.0.0/16
114.117.0.0/17
114.117.128.0/17
114.118.0.0/16
114.119.0.0/17
114.119.192.0/21
@ -5444,7 +5469,6 @@
116.204.168.0/22
116.204.216.0/22
116.204.232.0/22
116.204.236.0/22
116.205.0.0/16
116.206.92.0/22
116.206.176.0/22

View File

@ -33,10 +33,7 @@
2001:df0:bf80::/48
2001:df0:d180::/48
2001:df0:d880::/48
2001:df1:680::/48
2001:df1:c80::/48
2001:df1:2080::/48
2001:df1:3d00::/48
2001:df1:4180::/48
2001:df1:4580::/48
2001:df1:5280::/48
@ -90,10 +87,14 @@
2001:df4:a680::/48
2001:df4:a980::/48
2001:df4:c180::/48
2001:df4:c580::/48
2001:df4:c780::/48
2001:df4:cf00::/48
2001:df4:de80::/48
2001:df5:2080::/48
2001:df5:5f80::/48
2001:df5:7800::/48
2001:df6:100::/48
2001:df6:f00::/48
2001:df6:1c00::/48
2001:df6:3d00::/48
2001:df6:5d00::/48
@ -319,7 +320,6 @@
2400:d1c0::/32
2400:d200::/32
2400:d300::/32
2400:d380::/32
2400:d440::/32
2400:d600::/32
2400:d6c0::/32
@ -340,7 +340,6 @@
2400:eec0::/32
2400:ef40::/32
2400:f480::/32
2400:f540::/32
2400:f5c0::/32
2400:f7c0::/32
2400:f840::/32
@ -638,7 +637,6 @@
2402:6a00::/32
2402:6b40::/32
2402:6bc0::/32
2402:6dc0::/32
2402:6e00::/32
2402:6e80::/32
2402:6ec0::/32
@ -657,7 +655,6 @@
2402:7d00::/32
2402:7d80::/32
2402:8180::/32
2402:8280::/32
2402:8300::/32
2402:8380::/32
2402:85c0::/32
@ -1403,7 +1400,6 @@
2405:8a40::/32
2405:8a80::/32
2405:8ac0::/32
2405:8b40::/32
2405:8b80::/32
2405:8c80::/32
2405:8d80::/32
@ -1638,10 +1634,12 @@
2406:7a80::/32
2406:7b80::/32
2406:7c80::/32
2406:7cc0::/32
2406:7d00::/32
2406:7d80::/32
2406:7e80::/32
2406:7f80::/32
2406:7fc0::/32
2406:8080::/32
2406:8180::/32
2406:8280::/32
@ -1654,17 +1652,22 @@
2406:8980::/32
2406:8a80::/32
2406:8b80::/32
2406:8bc0::/32
2406:8c80::/32
2406:8d80::/32
2406:8e80::/32
2406:8f40::/32
2406:8f80::/32
2406:9180::/32
2406:9200::/32
2406:9280::/32
2406:9380::/32
2406:9480::/32
2406:94c0::/32
2406:96c0::/32
2406:9780::/32
2406:9d80::/32
2406:9e40::/32
2406:9e80::/32
2406:9f80::/32
2406:a080::/32
@ -1675,26 +1678,36 @@
2406:a580::/32
2406:a680::/32
2406:a780::/32
2406:a7c0::/32
2406:a880::/32
2406:a8c0::/32
2406:a980::/32
2406:aa80::/32
2406:aac0::/32
2406:ab80::/32
2406:abc0::/32
2406:ac80::/32
2406:acc0::/32
2406:ad40::/32
2406:ad80::/32
2406:ae80::/32
2406:af80::/32
2406:b080::/32
2406:b640::/32
2406:b880::/32
2406:b980::/32
2406:ba80::/32
2406:bb80::/32
2406:bc80::/32
2406:bd40::/32
2406:bd80::/32
2406:bdc0::/32
2406:be80::/32
2406:bf80::/32
2406:c080::/32
2406:c180::/32
2406:c280::/32
2406:c340::/32
2406:c480::/32
2406:c580::/32
2406:c680::/32
@ -1703,6 +1716,7 @@
2406:c900::/32
2406:c980::/32
2406:ca80::/32
2406:cac0::/32
2406:cb80::/32
2406:cc80::/32
2406:cd80::/32
@ -1712,9 +1726,12 @@
2406:cf02::/31
2406:cf80::/32
2406:d080::/32
2406:d140::/32
2406:d180::/32
2406:d280::/32
2406:d2c0::/32
2406:d380::/32
2406:d440::/32
2406:d480::/32
2406:d580::/32
2406:d680::/32
@ -1730,13 +1747,19 @@
2406:e080::/32
2406:e180::/32
2406:e280::/32
2406:e2c0::/32
2406:e380::/32
2406:e3c0::/32
2406:e500::/32
2406:e580::/32
2406:e680::/32
2406:e780::/32
2406:e8c0::/32
2406:ea40::/28
2406:f280::/32
2406:f300::/32
2406:f4c0::/32
2406:f7c0::/32
2406:f980::/32
2406:fc80::/32
2406:fd80::/32
@ -1868,7 +1891,9 @@
2408:8400::/22
2408:8800::/21
2409:2000::/21
2409:6000::/20
2409:8000::/20
240a:2000::/24
240a:4000::/21
240a:8000::/21
240a:c000::/20