diff --git a/include/kernel-version.mk b/include/kernel-version.mk index dcb962deea..ad4966352d 100755 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) endif -LINUX_VERSION-4.9 = .182 -LINUX_VERSION-4.14 = .127 -LINUX_VERSION-4.19 = .52 +LINUX_VERSION-4.9 = .184 +LINUX_VERSION-4.14 = .131 +LINUX_VERSION-4.19 = .56 -LINUX_KERNEL_HASH-4.9.182 = b16e12681a0638368479d73a9b1b8e9407c1ae4b7ae52fdf236d9e5657999695 -LINUX_KERNEL_HASH-4.14.127 = d7464c2379cdee46548ae9f848671f4669d4003af4034f3f738f2f0511ec75b3 -LINUX_KERNEL_HASH-4.19.52 = 266ee655620c3689ae94761970d6827fffc919760caf815427ad22730ba4381e +LINUX_KERNEL_HASH-4.9.184 = 033114d5350525dede995d31b596c31b0e26db8d77a0a1c53d36cdc36ead9faf +LINUX_KERNEL_HASH-4.14.131 = 19f6404c30f4a9a1fe3315b902676b6d63a470be5d55cf2a0e47983c643c8ff5 +LINUX_KERNEL_HASH-4.19.56 = 7326943215b9496f302e95892457a63d9a77e0446e99dd7bade6b425bc966bdf remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/include/target.mk b/include/target.mk index b2654d85d0..2a74838263 100755 --- a/include/target.mk +++ b/include/target.mk @@ -16,7 +16,7 @@ DEVICE_TYPE?=router DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd block-mount coremark \ kmod-nf-nathelper kmod-nf-nathelper-extra kmod-ipt-raw wget libustream-openssl ca-certificates \ default-settings luci luci-app-ddns luci-app-sqm luci-app-upnp luci-app-adbyby-plus luci-app-autoreboot \ -luci-app-filetransfer luci-app-vsftpd ddns-scripts_aliyun \ +luci-app-filetransfer luci-app-vsftpd ddns-scripts_aliyun luci-app-ssr-plus \ luci-app-pptp-server luci-app-arpbind luci-app-vlmcsd luci-app-wifischedule luci-app-wol luci-app-ramfree \ luci-app-sfe luci-app-flowoffload luci-app-nlbwmon luci-app-usb-printer luci-app-accesscontrol luci-app-zerotier luci-app-xlnetacc # For nas targets diff --git a/package/lean/default-settings/Makefile b/package/lean/default-settings/Makefile index db03b898db..d97a7a6acd 100755 --- a/package/lean/default-settings/Makefile +++ b/package/lean/default-settings/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=default-settings PKG_VERSION:=1.1 -PKG_RELEASE:=41 +PKG_RELEASE:=42 PKG_LICENSE:=GPLv3 PKG_LICENSE_FILES:=LICENSE diff --git a/package/lean/default-settings/files/zzz-default-settings b/package/lean/default-settings/files/zzz-default-settings index c50e731b5a..c7ceeb6be5 100755 --- a/package/lean/default-settings/files/zzz-default-settings +++ b/package/lean/default-settings/files/zzz-default-settings @@ -55,7 +55,7 @@ sed -i '/set wireless.radio${devidx}.disabled/d' /lib/wifi/mac80211.sh wifi up sed -i '/DISTRIB_REVISION/d' /etc/openwrt_release -echo "DISTRIB_REVISION='R9.6.19'" >> /etc/openwrt_release +echo "DISTRIB_REVISION='R9.7.6'" >> /etc/openwrt_release sed -i '/DISTRIB_DESCRIPTION/d' /etc/openwrt_release echo "DISTRIB_DESCRIPTION='OpenWrt '" >> /etc/openwrt_release diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile new file mode 100644 index 0000000000..1097a0b1c7 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -0,0 +1,86 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=luci-app-ssr-plus +PKG_VERSION:=1 +PKG_RELEASE:=97 + +PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Socks + +include $(INCLUDE_DIR)/package.mk + +define Package/$(PKG_NAME)/config +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks + bool "Include Shadowsocks New Version" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray + bool "Include V2ray" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun + bool "Include Kcptun" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server + bool "Include ShadowsocksR Server" + default n + +config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Socks + bool "Include ShadowsocksR Socks and Tunnel" + default n +endef + +define Package/luci-app-ssr-plus + SECTION:=luci + CATEGORY:=LuCI + SUBMENU:=3. Applications + TITLE:=SS/SSR/V2Ray LuCI interface + PKGARCH:=all + DEPENDS:=+shadowsocksr-libev-alt +ipset +ip-full +iptables-mod-tproxy +dnsmasq-full +coreutils +coreutils-base64 +bash +pdnsd-alt +wget \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server:shadowsocksr-libev-server \ + +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Socks:shadowsocksr-libev-ssr-local +endef + +define Build/Prepare +endef + +define Build/Compile +endef + +define Package/luci-app-ssr-plus/install + $(INSTALL_DIR) $(1)/usr/lib/lua/luci + cp -pR ./luasrc/* $(1)/usr/lib/lua/luci + $(INSTALL_DIR) $(1)/ + cp -pR ./root/* $(1)/ + $(INSTALL_DIR) $(1)/usr/lib/lua/luci/i18n + po2lmo ./po/zh-cn/ssr-plus.po $(1)/usr/lib/lua/luci/i18n/ssr-plus.zh-cn.lmo +endef + +define Package/luci-app-ssr-plus/postinst +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + ( . /etc/uci-defaults/luci-ssr-plus ) && rm -f /etc/uci-defaults/luci-ssr-plus + rm -f /tmp/luci-indexcache + chmod 755 /etc/init.d/shadowsocksr >/dev/null 2>&1 + /etc/init.d/shadowsocksr enable >/dev/null 2>&1 +fi +exit 0 +endef + +define Package/luci-app-ssr-plus/prerm +#!/bin/sh +if [ -z "$${IPKG_INSTROOT}" ]; then + /etc/init.d/shadowsocksr disable + /etc/init.d/shadowsocksr stop +fi +exit 0 +endef + +$(eval $(call BuildPackage,luci-app-ssr-plus)) diff --git a/package/lean/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua b/package/lean/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua new file mode 100644 index 0000000000..ef3b53e676 Binary files /dev/null and b/package/lean/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua differ diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua new file mode 100644 index 0000000000..5c76574240 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua @@ -0,0 +1,59 @@ +local shadowsocksr = "shadowsocksr" +local uci = luci.model.uci.cursor() +local server_table = {} + +uci:foreach(shadowsocksr, "servers", function(s) + if s.alias then + server_table[s[".name"]] = "[%s]:%s" %{string.upper(s.type), s.alias} + elseif s.server and s.server_port then + server_table[s[".name"]] = "[%s]:%s:%s" %{string.upper(s.type), s.server, s.server_port} + end +end) + +local key_table = {} +for key,_ in pairs(server_table) do + table.insert(key_table,key) +end + +table.sort(key_table) + +m = Map(shadowsocksr) + +s = m:section(TypedSection, "global", translate("Server failsafe auto swith settings")) +s.anonymous = true + +o = s:option(Flag, "monitor_enable", translate("Enable Process Deamon")) +o.rmempty = false + +o = s:option(Flag, "enable_switch", translate("Enable Auto Switch")) +o.rmempty = false + +o = s:option(Value, "switch_time", translate("Switch check cycly(second)")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 3600 + +o = s:option(Value, "switch_timeout", translate("Check timout(second)")) +o.datatype = "uinteger" +o:depends("enable_switch", "1") +o.default = 5 + +-- [[ SOCKS5 Proxy ]]-- +if nixio.fs.access("/usr/bin/ssr-local") then +s = m:section(TypedSection, "socks5_proxy", translate("SOCKS5 Proxy")) +s.anonymous = true + +o = s:option(ListValue, "server", translate("Server")) +o:value("nil", translate("Disable")) +for _,key in pairs(key_table) do o:value(key,server_table[key]) end +o.default = "nil" +o.rmempty = false + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.default = 1080 +o.rmempty = false + +end + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua new file mode 100644 index 0000000000..bf64611a12 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -0,0 +1,405 @@ +-- Copyright (C) 2017 yushi studio github.com/ywb94 +-- Licensed to the public under the GNU General Public License v3. + +local m, s, o,kcp_enable +local shadowsocksr = "shadowsocksr" +local uci = luci.model.uci.cursor() +local ipkg = require("luci.model.ipkg") +local fs = require "nixio.fs" +local sys = require "luci.sys" +local sid = arg[1] +local uuid = luci.sys.exec("cat /proc/sys/kernel/random/uuid") + +local function isKcptun(file) + if not fs.access(file, "rwx", "rx", "rx") then + fs.chmod(file, 755) + end + + local str = sys.exec(file .. " -v | awk '{printf $1}'") + return (str:lower() == "kcptun") +end + + +local server_table = {} +local encrypt_methods = { + "none", + "table", + "rc4", + "rc4-md5-6", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf", +} + +local encrypt_methods_ss = { + -- aead + "aes-128-gcm", + "aes-192-gcm", + "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305", + -- stream + "table", + "rc4", + "rc4-md5", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "salsa20", + "chacha20", + "chacha20-ietf", +} + +local protocol = { + "origin", + "verify_deflate", + "auth_sha1_v4", + "auth_aes128_sha1", + "auth_aes128_md5", + "auth_chain_a", + "auth_chain_b", + "auth_chain_c", + "auth_chain_d", + "auth_chain_e", + "auth_chain_f", +} + +obfs = { + "plain", + "http_simple", + "http_post", + "random_head", + "tls1.2_ticket_auth", +} + +local securitys = { + "auto", + "none", + "aes-128-gcm", + "chacha20-poly1305" +} + + +m = Map(shadowsocksr, translate("Edit ShadowSocksR Server")) +m.redirect = luci.dispatcher.build_url("admin/services/shadowsocksr/servers") +if m.uci:get(shadowsocksr, sid) ~= "servers" then + luci.http.redirect(m.redirect) + return +end + +-- [[ Servers Setting ]]-- +s = m:section(NamedSection, sid, "servers") +s.anonymous = true +s.addremove = false + +o = s:option(DummyValue,"ssr_url","SSR URL") +o.rawhtml = true +o.template = "shadowsocksr/ssrurl" +o.value =sid +o:depends("type", "ssr") + +o = s:option(ListValue, "type", translate("Server Node Type")) +o:value("ssr", translate("ShadowsocksR")) +if nixio.fs.access("/usr/bin/ss-redir") then +o:value("ss", translate("Shadowsocks New Version")) +end +if nixio.fs.access("/usr/bin/v2ray/v2ray") then +o:value("v2ray", translate("V2Ray")) +end +o.description = translate("Using incorrect encryption mothod may causes service fail to start") + +o = s:option(Value, "alias", translate("Alias(optional)")) + +o = s:option(Value, "server", translate("Server Address")) +o.datatype = "host" +o.rmempty = false + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +o.rmempty = false + +-- o = s:option(Value, "timeout", translate("Connection Timeout")) +-- o.datatype = "uinteger" +-- o.default = 60 +-- o.rmempty = false + +o = s:option(Value, "password", translate("Password")) +o.password = true +o.rmempty = true +o:depends("type", "ssr") +o:depends("type", "ss") + +o = s:option(ListValue, "encrypt_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods) do o:value(v) end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(ListValue, "encrypt_method_ss", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods_ss) do o:value(v) end +o.rmempty = true +o:depends("type", "ss") + +o = s:option(ListValue, "protocol", translate("Protocol")) +for _, v in ipairs(protocol) do o:value(v) end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(Value, "protocol_param", translate("Protocol param(optional)")) +o:depends("type", "ssr") + +o = s:option(ListValue, "obfs", translate("Obfs")) +for _, v in ipairs(obfs) do o:value(v) end +o.rmempty = true +o:depends("type", "ssr") + +o = s:option(Value, "obfs_param", translate("Obfs param(optional)")) +o:depends("type", "ssr") + +-- AlterId +o = s:option(Value, "alter_id", translate("AlterId")) +o.datatype = "port" +o.default = 16 +o.rmempty = true +o:depends("type", "v2ray") + +-- VmessId +o = s:option(Value, "vmess_id", translate("VmessId (UUID)")) +o.rmempty = true +o.default = uuid +o:depends("type", "v2ray") + +-- 加密方式 +o = s:option(ListValue, "security", translate("Encrypt Method")) +for _, v in ipairs(securitys) do o:value(v, v:upper()) end +o.rmempty = true +o:depends("type", "v2ray") + +-- 传输协议 +o = s:option(ListValue, "transport", translate("Transport")) +o:value("tcp", "TCP") +o:value("kcp", "mKCP") +o:value("ws", "WebSocket") +o:value("h2", "HTTP/2") +o:value("quic", "QUIC") +o.rmempty = true +o:depends("type", "v2ray") + +-- [[ TCP部分 ]]-- + +-- TCP伪装 +o = s:option(ListValue, "tcp_guise", translate("Camouflage Type")) +o:depends("transport", "tcp") +o:value("none", translate("None")) +o:value("http", "HTTP") +o.rmempty = true + +-- HTTP域名 +o = s:option(DynamicList, "http_host", translate("HTTP Host")) +o:depends("tcp_guise", "http") +o.rmempty = true + +-- HTTP路径 +o = s:option(DynamicList, "http_path", translate("HTTP Path")) +o:depends("tcp_guise", "http") +o.rmempty = true + +-- [[ WS部分 ]]-- + +-- WS域名 +o = s:option(Value, "ws_host", translate("WebSocket Host")) +o:depends("transport", "ws") +o.rmempty = true + +-- WS路径 +o = s:option(Value, "ws_path", translate("WebSocket Path")) +o:depends("transport", "ws") +o.rmempty = true + +-- [[ H2部分 ]]-- + +-- H2域名 +o = s:option(DynamicList, "h2_host", translate("HTTP/2 Host")) +o:depends("transport", "h2") +o.rmempty = true + +-- H2路径 +o = s:option(Value, "h2_path", translate("HTTP/2 Path")) +o:depends("transport", "h2") +o.rmempty = true + +-- [[ QUIC部分 ]]-- + +o = s:option(ListValue, "quic_security", translate("QUIC Security")) +o:depends("transport", "quic") +o.rmempty = true +o:value("none", translate("None")) +o:value("aes-128-gcm", translate("aes-128-gcm")) +o:value("chacha20-poly1305", translate("chacha20-poly1305")) + +o = s:option(Value, "quic_key", translate("QUIC Key")) +o:depends("transport", "quic") +o.rmempty = true + +o = s:option(ListValue, "quic_guise", translate("Header")) +o:depends("transport", "quic") +o.rmempty = true +o:value("none", translate("None")) +o:value("srtp", translate("VideoCall (SRTP)")) +o:value("utp", translate("BitTorrent (uTP)")) +o:value("wechat-video", translate("WechatVideo")) +o:value("dtls", "DTLS 1.2") +o:value("wireguard", "WireGuard") + +-- [[ mKCP部分 ]]-- + +o = s:option(ListValue, "kcp_guise", translate("Camouflage Type")) +o:depends("transport", "kcp") +o:value("none", translate("None")) +o:value("srtp", translate("VideoCall (SRTP)")) +o:value("utp", translate("BitTorrent (uTP)")) +o:value("wechat-video", translate("WechatVideo")) +o:value("dtls", "DTLS 1.2") +o:value("wireguard", "WireGuard") +o.rmempty = true + +o = s:option(Value, "mtu", translate("MTU")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 1350 +o.rmempty = true + +o = s:option(Value, "tti", translate("TTI")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 50 +o.rmempty = true + +o = s:option(Value, "uplink_capacity", translate("Uplink Capacity")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 5 +o.rmempty = true + +o = s:option(Value, "downlink_capacity", translate("Downlink Capacity")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 20 +o.rmempty = true + +o = s:option(Value, "read_buffer_size", translate("Read Buffer Size")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 2 +o.rmempty = true + +o = s:option(Value, "write_buffer_size", translate("Write Buffer Size")) +o.datatype = "uinteger" +o:depends("transport", "kcp") +o.default = 2 +o.rmempty = true + +o = s:option(Flag, "congestion", translate("Congestion")) +o:depends("transport", "kcp") +o.rmempty = true + +-- [[ allowInsecure ]]-- +o = s:option(Flag, "insecure", translate("allowInsecure")) +o.rmempty = true +o:depends("type", "v2ray") + +-- [[ TLS ]]-- +o = s:option(Flag, "tls", translate("TLS")) +o.rmempty = true +o.default = "0" +o:depends("type", "v2ray") + +-- [[ Mux ]]-- +o = s:option(Flag, "mux", translate("Mux")) +o.rmempty = true +o.default = "0" +o:depends("type", "v2ray") + +o = s:option(Value, "concurrency", translate("Concurrency")) +o.datatype = "uinteger" +o.rmempty = true +o.default = "8" +o:depends("mux", "1") + +o = s:option(Flag, "fast_open", translate("TCP Fast Open")) +o.rmempty = true +o.default = "0" +o:depends("type", "ssr") +o:depends("type", "ss") + +o = s:option(Flag, "switch_enable", translate("Enable Auto Switch")) +o.rmempty = false +o.default = "1" + +o = s:option(Value, "local_port", translate("Local Port")) +o.datatype = "port" +o.default = 1234 +o.rmempty = false + +if nixio.fs.access("/usr/bin/kcptun-client") then + +kcp_enable = s:option(Flag, "kcp_enable", translate("KcpTun Enable"), translate("bin:/usr/bin/kcptun-client")) +kcp_enable.rmempty = true +kcp_enable.default = "0" +kcp_enable:depends("type", "ssr") +kcp_enable:depends("type", "ss") + +o = s:option(Value, "kcp_port", translate("KcpTun Port")) +o.datatype = "port" +o.default = 4000 +function o.validate(self, value, section) + local kcp_file="/usr/bin/kcptun-client" + local enable = kcp_enable:formvalue(section) or kcp_enable.disabled + if enable == kcp_enable.enabled then + if not fs.access(kcp_file) then + return nil, translate("Haven't a Kcptun executable file") + elseif not isKcptun(kcp_file) then + return nil, translate("Not a Kcptun executable file") + end + end + + return value +end +o:depends("type", "ssr") +o:depends("type", "ss") + +o = s:option(Value, "kcp_password", translate("KcpTun Password")) +o.password = true +o:depends("type", "ssr") +o:depends("type", "ss") + +o = s:option(Value, "kcp_param", translate("KcpTun Param")) +o.default = "--nocomp" +o:depends("type", "ssr") +o:depends("type", "ss") + +end + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua new file mode 100644 index 0000000000..f2f1b74d04 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua @@ -0,0 +1,83 @@ +-- Copyright (C) 2017 yushi studio github.com/ywb94 +-- Copyright (C) 2018 lean github.com/coolsnowwolf +-- Licensed to the public under the GNU General Public License v3. + +local m, s, sec, o, kcp_enable +local shadowsocksr = "shadowsocksr" +local uci = luci.model.uci.cursor() + +local sys = require "luci.sys" + +m = Map(shadowsocksr, translate("ShadowSocksR Plus+ Settings")) + +m:section(SimpleSection).template = "shadowsocksr/status" + +local server_table = {} +uci:foreach(shadowsocksr, "servers", function(s) + if s.alias then + server_table[s[".name"]] = "[%s]:%s" %{string.upper(s.type), s.alias} + elseif s.server and s.server_port then + server_table[s[".name"]] = "[%s]:%s:%s" %{string.upper(s.type), s.server, s.server_port} + end +end) + +local key_table = {} +for key,_ in pairs(server_table) do + table.insert(key_table,key) +end + +table.sort(key_table) + +-- [[ Global Setting ]]-- +s = m:section(TypedSection, "global") +s.anonymous = true + +o = s:option(ListValue, "global_server", translate("Main Server")) +o:value("nil", translate("Disable")) +for _,key in pairs(key_table) do o:value(key,server_table[key]) end +o.default = "nil" +o.rmempty = false + +o = s:option(ListValue, "udp_relay_server", translate("Game Mode UDP Server")) +o:value("", translate("Disable")) +o:value("same", translate("Same as Global Server")) +for _,key in pairs(key_table) do o:value(key,server_table[key]) end + +o = s:option(ListValue, "threads", translate("Multi Threads Option")) +o:value("0", translate("Auto Threads")) +o:value("1", translate("1 Thread")) +o:value("2", translate("2 Threads")) +o:value("4", translate("4 Threads")) +o:value("8", translate("8 Threads")) +o.default = "0" +o.rmempty = false + +o = s:option(ListValue, "run_mode", translate("Running Mode")) +o:value("gfw", translate("GFW List Mode")) +o:value("router", translate("IP Route Mode")) +o:value("all", translate("Global Mode")) +o:value("oversea", translate("Oversea Mode")) +o.default = gfw + +o = s:option(ListValue, "pdnsd_enable", translate("Resolve Dns Mode")) +o:value("1", translate("Use Pdnsd tcp query and cache")) +o:value("0", translate("Use Local DNS Service listen port 5335")) +o.default = 1 + +o = s:option(ListValue, "tunnel_forward", translate("Anti-pollution DNS Server")) +o:value("8.8.4.4:53", translate("Google Public DNS (8.8.4.4)")) +o:value("8.8.8.8:53", translate("Google Public DNS (8.8.8.8)")) +o:value("208.67.222.222:53", translate("OpenDNS (208.67.222.222)")) +o:value("208.67.220.220:53", translate("OpenDNS (208.67.220.220)")) +o:value("209.244.0.3:53", translate("Level 3 Public DNS (209.244.0.3)")) +o:value("209.244.0.4:53", translate("Level 3 Public DNS (209.244.0.4)")) +o:value("4.2.2.1:53", translate("Level 3 Public DNS (4.2.2.1)")) +o:value("4.2.2.2:53", translate("Level 3 Public DNS (4.2.2.2)")) +o:value("4.2.2.3:53", translate("Level 3 Public DNS (4.2.2.3)")) +o:value("4.2.2.4:53", translate("Level 3 Public DNS (4.2.2.4)")) +o:value("1.1.1.1:53", translate("Cloudflare DNS (1.1.1.1)")) +o:value("114.114.114.114:53", translate("Oversea Mode DNS-1 (114.114.114.114)")) +o:value("114.114.115.115:53", translate("Oversea Mode DNS-2 (114.114.115.115)")) +o:depends("pdnsd_enable", "1") + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua new file mode 100644 index 0000000000..62e8d2a0de --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/control.lua @@ -0,0 +1,52 @@ +local m, s, o + +m = Map("shadowsocksr", translate("IP black-and-white list")) + +s = m:section(TypedSection, "access_control") +s.anonymous = true + +-- Part of WAN +s:tab("wan_ac", translate("WAN IP AC")) + +o = s:taboption("wan_ac", DynamicList, "wan_bp_ips", translate("WAN White List IP")) +o.datatype = "ip4addr" + +o = s:taboption("wan_ac", DynamicList, "wan_fw_ips", translate("WAN Force Proxy IP")) +o.datatype = "ip4addr" + +-- Part of LAN +s:tab("lan_ac", translate("LAN IP AC")) + +o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Bypassed Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({ family = 4 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +o = s:taboption("lan_ac", DynamicList, "lan_fp_ips", translate("LAN Force Proxy Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({ family = 4 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +o = s:taboption("lan_ac", DynamicList, "lan_gm_ips", translate("Game Mode Host List")) +o.datatype = "ipaddr" +luci.ip.neighbors({ family = 4 }, function(entry) + if entry.reachable then + o:value(entry.dest:string()) + end +end) + +-- Part of Self +-- s:tab("self_ac", translate("Router Self AC")) +-- o = s:taboption("self_ac",ListValue, "router_proxy", translate("Router Self Proxy")) +-- o:value("1", translatef("Normal Proxy")) +-- o:value("0", translatef("Bypassed Proxy")) +-- o:value("2", translatef("Forwarded Proxy")) +-- o.rmempty = false + +return m \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/list.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/list.lua new file mode 100644 index 0000000000..f0625b6048 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/list.lua @@ -0,0 +1,23 @@ +local fs = require "nixio.fs" +local conffile = "/etc/config/gfw.list" + +f = SimpleForm("custom", translate("GFW Custom List"), translate("Please refer to the following writing")) + +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 13 +function t.cfgvalue() + return fs.readfile(conffile) or "" +end + +function f.handle(self, state, data) + if state == FORM_VALID then + if data.conf then + fs.writefile(conffile, data.conf:gsub("\r\n", "\n")) + luci.sys.call("/usr/share/shadowsocksr/gfw2ipset.sh && /etc/init.d/dnsmasq restart") + end + end + return true +end + +return f \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua new file mode 100644 index 0000000000..05b4162fc4 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/log.lua @@ -0,0 +1,15 @@ +local fs = require "nixio.fs" +local conffile = "/tmp/ssrpro.log" + +f = SimpleForm("logview") + +t = f:field(TextValue, "conf") +t.rmempty = true +t.rows = 20 +function t.cfgvalue() + luci.sys.exec("[ -f /tmp/ssrplus.log ] && sed '1!G;h;$!d' /tmp/ssrplus.log > /tmp/ssrpro.log") + return fs.readfile(conffile) or "" +end +t.readonly="readonly" + +return f \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua new file mode 100644 index 0000000000..76ec0f0ac0 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server-config.lua @@ -0,0 +1,95 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. + +local m, s, o +local shadowsocksr = "shadowsocksr" +local sid = arg[1] + +local encrypt_methods = { + "rc4-md5", + "rc4-md5-6", + "rc4", + "table", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf", +} + +local protocol = { + "origin", +} + +obfs = { + "plain", + "http_simple", + "http_post", +} + +m = Map(shadowsocksr, translate("Edit ShadowSocksR Server")) + +m.redirect = luci.dispatcher.build_url("admin/services/shadowsocksr/server") +if m.uci:get(shadowsocksr, sid) ~= "server_config" then + luci.http.redirect(m.redirect) + return +end + + + + +-- [[ Server Setting ]]-- +s = m:section(NamedSection, sid, "server_config") +s.anonymous = true +s.addremove = false + +o = s:option(Flag, "enable", translate("Enable")) +o.default = 1 +o.rmempty = false + +o = s:option(Value, "server_port", translate("Server Port")) +o.datatype = "port" +o.default = 8388 +o.rmempty = false + +o = s:option(Value, "timeout", translate("Connection Timeout")) +o.datatype = "uinteger" +o.default = 60 +o.rmempty = false + +o = s:option(Value, "password", translate("Password")) +o.password = true +o.rmempty = false + +o = s:option(ListValue, "encrypt_method", translate("Encrypt Method")) +for _, v in ipairs(encrypt_methods) do o:value(v) end +o.rmempty = false + +o = s:option(ListValue, "protocol", translate("Protocol")) +for _, v in ipairs(protocol) do o:value(v) end +o.rmempty = false + + +o = s:option(ListValue, "obfs", translate("Obfs")) +for _, v in ipairs(obfs) do o:value(v) end +o.rmempty = false + +o = s:option(Value, "obfs_param", translate("Obfs param(optional)")) + +o = s:option(Flag, "fast_open", translate("TCP Fast Open")) +o.rmempty = false + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua new file mode 100644 index 0000000000..fcec57bc33 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/server.lua @@ -0,0 +1,114 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. + +local m, sec, o +local shadowsocksr = "shadowsocksr" +local uci = luci.model.uci.cursor() +local ipkg = require("luci.model.ipkg") + + +m = Map(shadowsocksr, translate("ShadowSocksR Server")) + +local encrypt_methods = { + "table", + "rc4", + "rc4-md5", + "rc4-md5-6", + "aes-128-cfb", + "aes-192-cfb", + "aes-256-cfb", + "aes-128-ctr", + "aes-192-ctr", + "aes-256-ctr", + "bf-cfb", + "camellia-128-cfb", + "camellia-192-cfb", + "camellia-256-cfb", + "cast5-cfb", + "des-cfb", + "idea-cfb", + "rc2-cfb", + "seed-cfb", + "salsa20", + "chacha20", + "chacha20-ietf", +} + +local protocol = { + "origin", + "verify_deflate", + "auth_sha1_v4", + "auth_aes128_sha1", + "auth_aes128_md5", + "auth_chain_a", +} + +obfs = { + "plain", + "http_simple", + "http_post", + "random_head", + "tls1.2_ticket_auth", + "tls1.2_ticket_fastauth", +} + + + + + +-- [[ Global Setting ]]-- +sec = m:section(TypedSection, "server_global", translate("Global Setting")) +sec.anonymous = true + + + +o = sec:option(Flag, "enable_server", translate("Enable Server")) +o.rmempty = false + +-- [[ Server Setting ]]-- +sec = m:section(TypedSection, "server_config", translate("Server Setting")) +sec.anonymous = true +sec.addremove = true +sec.template = "cbi/tblsection" +sec.extedit = luci.dispatcher.build_url("admin/services/shadowsocksr/server/%s") +function sec.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(sec.extedit % sid) + return + end +end + +o = sec:option(Flag, "enable", translate("Enable")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("0") +end +o.rmempty = false + +o = sec:option(DummyValue, "server_port", translate("Server Port")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + + +o = sec:option(DummyValue, "encrypt_method", translate("Encrypt Method")) +function o.cfgvalue(...) + local v = Value.cfgvalue(...) + return v and v:upper() or "?" +end + +o = sec:option(DummyValue, "protocol", translate("Protocol")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + + + +o = sec:option(DummyValue, "obfs", translate("Obfs")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + + + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua new file mode 100644 index 0000000000..d6896fb177 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua @@ -0,0 +1,103 @@ +-- Licensed to the public under the GNU General Public License v3. + +local m, s, o +local shadowsocksr = "shadowsocksr" + +local uci = luci.model.uci.cursor() +local server_count = 0 +uci:foreach("shadowsocksr", "servers", function(s) + server_count = server_count + 1 +end) + +m = Map(shadowsocksr, translate("Servers subscription and manage")) + +-- Server Subscribe + +s = m:section(TypedSection, "server_subscribe") +s.anonymous = true + +o = s:option(Flag, "auto_update", translate("Auto Update")) +o.rmempty = false +o.description = translate("Auto Update Server subscription, GFW list and CHN route") + + +o = s:option(ListValue, "auto_update_time", translate("Update time (every day)")) +for t = 0,23 do +o:value(t, t..":00") +end +o.default=2 +o.rmempty = false + +o = s:option(DynamicList, "subscribe_url", translate("Subscribe URL")) +o.rmempty = true + +o = s:option(Flag, "proxy", translate("Through proxy update")) +o.rmempty = false +o.description = translate("Through proxy update list, Not Recommended ") + +o = s:option(Button,"update",translate("Update")) +o.inputstyle = "reload" +o.write = function() + luci.sys.call("bash /usr/share/shadowsocksr/subscribe.sh >>/tmp/ssrplus.log 2>&1") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers")) +end + +o = s:option(Button,"delete",translate("Delete all severs")) +o.inputstyle = "reset" +o.description = string.format(translate("Server Count") .. ": %d", server_count) +o.write = function() + uci:delete_all("shadowsocksr", "servers", function(s) return true end) + luci.sys.call("uci commit shadowsocksr && /etc/init.d/shadowsocksr stop") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers")) +end + +-- [[ Servers Manage ]]-- +s = m:section(TypedSection, "servers") +s.anonymous = true +s.addremove = true +s.sortable = false +s.template = "cbi/tblsection" +s.extedit = luci.dispatcher.build_url("admin/services/shadowsocksr/servers/%s") +function s.create(...) + local sid = TypedSection.create(...) + if sid then + luci.http.redirect(s.extedit % sid) + return + end +end + +o = s:option(DummyValue, "type", translate("Type")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("") +end + +o = s:option(DummyValue, "alias", translate("Alias")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or translate("None") +end + +o = s:option(DummyValue, "server", translate("Server Address")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + +o = s:option(DummyValue, "server_port", translate("Server Port")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + +if nixio.fs.access("/usr/bin/kcptun-client") then + +o = s:option(DummyValue, "kcp_enable", translate("KcpTun")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "?" +end + +end + +o = s:option(DummyValue, "switch_enable", translate("Auto Switch")) +function o.cfgvalue(...) + return Value.cfgvalue(...) or "0" +end + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua new file mode 100644 index 0000000000..c8b8200fa1 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/status.lua @@ -0,0 +1,180 @@ +-- Copyright (C) 2017 yushi studio +-- Licensed to the public under the GNU General Public License v3. + +local IPK_Version="3.0.9" +local m, s, o +local redir_run=0 +local reudp_run=0 +local sock5_run=0 +local server_run=0 +local kcptun_run=0 +local tunnel_run=0 +local udp2raw_run=0 +local udpspeeder_run=0 +local gfw_count=0 +local ad_count=0 +local ip_count=0 +local gfwmode=0 + +if nixio.fs.access("/etc/dnsmasq.ssr/gfw_list.conf") then +gfwmode=1 +end + +local shadowsocksr = "shadowsocksr" +-- html constants +font_blue = [[]] +font_off = [[]] +bold_on = [[]] +bold_off = [[]] + +local fs = require "nixio.fs" +local sys = require "luci.sys" +local kcptun_version=translate("Unknown") +local kcp_file="/usr/bin/kcptun-client" +if not fs.access(kcp_file) then + kcptun_version=translate("Not exist") +else + if not fs.access(kcp_file, "rwx", "rx", "rx") then + fs.chmod(kcp_file, 755) + end + kcptun_version=sys.exec(kcp_file .. " -v | awk '{printf $3}'") + if not kcptun_version or kcptun_version == "" then + kcptun_version = translate("Unknown") + end + +end + +if gfwmode==1 then + gfw_count = tonumber(sys.exec("cat /etc/dnsmasq.ssr/gfw_list.conf | wc -l"))/2 + if nixio.fs.access("/etc/dnsmasq.ssr/ad.conf") then + ad_count=tonumber(sys.exec("cat /etc/dnsmasq.ssr/ad.conf | wc -l")) + end +end + +if nixio.fs.access("/etc/china_ssr.txt") then + ip_count = sys.exec("cat /etc/china_ssr.txt | wc -l") +end + +local icount=sys.exec("ps -w | grep ssr-reudp |grep -v grep| wc -l") +if tonumber(icount)>0 then +reudp_run=1 +else +icount=sys.exec("ps -w | grep ssr-retcp |grep \"\\-u\"|grep -v grep| wc -l") +if tonumber(icount)>0 then +reudp_run=1 +end +end + + +if luci.sys.call("ps -w | grep ssr-retcp | grep -v grep >/dev/null") == 0 then +redir_run=1 +end + +if luci.sys.call("pidof ssr-local >/dev/null") == 0 then +sock5_run=1 +end + +if luci.sys.call("pidof kcptun-client >/dev/null") == 0 then +kcptun_run=1 +end + +if luci.sys.call("pidof ssr-server >/dev/null") == 0 then +server_run=1 +end + +if luci.sys.call("ps -w | grep ssr-tunnel |grep -v grep >/dev/null") == 0 then +tunnel_run=1 +end + +if luci.sys.call("pidof pdnsd >/dev/null") == 0 then +pdnsd_run=1 +end + +m = SimpleForm("Version") +m.reset = false +m.submit = false + +s=m:field(DummyValue,"redir_run",translate("Global Client")) +s.rawhtml = true +if redir_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end + +s=m:field(DummyValue,"reudp_run",translate("Game Mode UDP Relay")) +s.rawhtml = true +if reudp_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end + +s=m:field(DummyValue,"pdnsd_run",translate("PDNSD")) +s.rawhtml = true +if pdnsd_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end + +if nixio.fs.access("/usr/bin/ssr-local") then +s=m:field(DummyValue,"sock5_run",translate("SOCKS5 Proxy")) +s.rawhtml = true +if sock5_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end +end + +if nixio.fs.access("/usr/bin/ssr-server") then +s=m:field(DummyValue,"server_run",translate("Global SSR Server")) +s.rawhtml = true +if server_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end +end + +if nixio.fs.access("/usr/bin/kcptun-client") then +s=m:field(DummyValue,"kcp_version",translate("KcpTun Version")) +s.rawhtml = true +s.value =kcptun_version + +s=m:field(DummyValue,"kcptun_run",translate("KcpTun")) +s.rawhtml = true +if kcptun_run == 1 then +s.value =font_blue .. bold_on .. translate("Running") .. bold_off .. font_off +else +s.value = translate("Not Running") +end +end + +s=m:field(DummyValue,"google",translate("Google Connectivity")) +s.value = translate("No Check") +s.template = "shadowsocksr/check" + +s=m:field(DummyValue,"baidu",translate("Baidu Connectivity")) +s.value = translate("No Check") +s.template = "shadowsocksr/check" + +if gfwmode==1 then +s=m:field(DummyValue,"gfw_data",translate("GFW List Data")) +s.rawhtml = true +s.template = "shadowsocksr/refresh" +s.value =tostring(math.ceil(gfw_count)) .. " " .. translate("Records") + +end + +s=m:field(DummyValue,"ip_data",translate("China IP Data")) +s.rawhtml = true +s.template = "shadowsocksr/refresh" +s.value =ip_count .. " " .. translate("Records") + +s=m:field(DummyValue,"check_port",translate("Check Server Port")) +s.template = "shadowsocksr/checkport" +s.value =translate("No Check") + +return m diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm new file mode 100644 index 0000000000..bd78926118 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/check.htm @@ -0,0 +1,38 @@ +<%+cbi/valueheader%> + + + + + +<%=self.value%> + +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm new file mode 100644 index 0000000000..ed91a2f22c --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/checkport.htm @@ -0,0 +1,36 @@ +<%+cbi/valueheader%> + + + +<%=self.value%> + + + +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm new file mode 100644 index 0000000000..00da6cd6d9 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/refresh.htm @@ -0,0 +1,44 @@ +<%+cbi/valueheader%> + + + + + +<%=self.value%> + +<%+cbi/valuefooter%> \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm new file mode 100644 index 0000000000..6bcc8bbc77 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/ssrurl.htm @@ -0,0 +1,139 @@ +<%+cbi/valueheader%> + + + + + +<%:ssr://%> + +<%+cbi/valuefooter%> diff --git a/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm new file mode 100644 index 0000000000..0dab4d5502 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/luasrc/view/shadowsocksr/status.htm @@ -0,0 +1,22 @@ + + +
+

+ <%:Collecting data...%> +

+
diff --git a/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po b/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po new file mode 100644 index 0000000000..56da600a04 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po @@ -0,0 +1,501 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8\n" + +msgid "ShadowSocksR Client" +msgstr "ShadowSocksR 客户端" + +msgid "Enable" +msgstr "启用" + +msgid "Disable" +msgstr "停用" + +msgid "Log" +msgstr "日志" + +msgid "ShadowSocksR is running" +msgstr "ShadowSocksR 客户端运行中" + +msgid "ShadowSocksR is not running" +msgstr "ShadowSocksR 客户端未运行" + +msgid "Global Setting" +msgstr "全局设置" + +msgid "Global Server" +msgstr "全局服务器" + +msgid "ShadowSocksR SOCK5 Proxy is running" +msgstr "ShadowSocksR SOCK5代理运行中" + +msgid "UDP Relay Server" +msgstr "UDP中继服务器" + +msgid "Same as Global Server" +msgstr "与全局服务器相同" + +msgid "Servers Setting" +msgstr "服务器配置" + +msgid "Alias(optional)" +msgstr "别名(可选)" + +msgid "Onetime Authentication" +msgstr "一次验证" + +msgid "Server Address" +msgstr "服务器地址" + +msgid "Server Port" +msgstr "服务器端口" + +msgid "Local Port" +msgstr "本地端口" + +msgid "Connection Timeout" +msgstr "连接超时" + +msgid "Password" +msgstr "密码" + +msgid "Encrypt Method" +msgstr "加密方式" + +msgid "Protocol" +msgstr "传输协议" + +msgid "Protocol param(optional)" +msgstr "传输协议参数(可选)" + +msgid "Obfs" +msgstr "混淆插件" + +msgid "Obfs param(optional)" +msgstr "混淆参数(可选)" + +msgid "Enable Tunnel(DNS)" +msgstr "启用隧道(DNS)转发" + +msgid "Tunnel Port" +msgstr "隧道(DNS)本地端口" + +msgid "Forwarding Tunnel" +msgstr "隧道(DNS)转发地址" + +msgid "Access Control" +msgstr "访问控制" + +msgid "Interfaces - WAN" +msgstr "接口 - WAN" + +msgid "Bypassed IP List" +msgstr "被忽略IP列表" + +msgid "NULL - As Global Proxy" +msgstr "留空 - 作为全局代理" + +msgid "Bypassed IP" +msgstr "额外被忽略IP" + +msgid "Forwarded IP" +msgstr "强制走代理IP" + +msgid "Interfaces - LAN" +msgstr "接口 - LAN" + +msgid "LAN Access Control" +msgstr "内网访问控制" + +msgid "Allow listed only" +msgstr "仅允许列表内" + +msgid "Allow all except listed" +msgstr "仅允许列表外" + +msgid "LAN Host List" +msgstr "内网主机列表" + +msgid "SSR Client" +msgstr "客户端" + +msgid "SSR Server" +msgstr "服务端" + +msgid "ShadowSocksR Server" +msgstr "ShadowSocksR 服务端" + +msgid "ShadowSocksR Server is running" +msgstr "ShadowSocksR 服务端运行中" + +msgid "ShadowSocksR Server is not running" +msgstr "ShadowSocksR 服务端未运行" + +msgid "Enable Server" +msgstr "启动服务端" + +msgid "Server Setting" +msgstr "服务端配置" + +msgid "KcpTun Enable" +msgstr "KcpTun 启用" + +msgid "bin:/usr/bin/kcptun-client" +msgstr "二进制文件:/usr/bin/kcptun-client" + +msgid "KcpTun Port" +msgstr "KcpTun 端口" + +msgid "KcpTun Param" +msgstr "KcpTun 参数" + +msgid "KcpTun Password" +msgstr "KcpTun 密码" + +msgid "Haven't a Kcptun executable file" +msgstr "不存在Kcptun可执行文件,请下载Kcptun可执行文件并改名放入/usr/bin/kcptun-client" + +msgid "Not a Kcptun executable file" +msgstr "Kcptun可执行文件格式不正确,请确认是否正确下载了路由器对应的可执行文件" + +msgid "Enable Process Monitor" +msgstr "启用进程监控" + +msgid "Edit ShadowSocksR Server" +msgstr "编辑服务器配置" + +msgid "Alias" +msgstr "别名" + +msgid "SOCKS5 Proxy" +msgstr "SOCKS5代理" + +msgid "Server" +msgstr "服务器" + +msgid "TCP Fast Open" +msgstr "TCP快速打开" + +msgid "Status" +msgstr "状态" + +msgid "Unknown" +msgstr "未知" + +msgid "Running Status" +msgstr "运行状态" + +msgid "Global Client" +msgstr "TCP透明代理" + +msgid "Global SSR Server" +msgstr "SSR服务端" + +msgid "DNS Tunnel" +msgstr "DNS 隧道" + +msgid "IPK Version" +msgstr "IPK 版本号" + +msgid "KcpTun Version" +msgstr "KcpTun 版本号" + +msgid "Not exist" +msgstr "未安装可执行文件" + +msgid "IPK Installation Time" +msgstr "IPK 安装时间" + +msgid "Project" +msgstr "项目地址" + +msgid "Not Running" +msgstr "未运行" + +msgid "Running" +msgstr "运行中" + +msgid "Enable GFW mode" +msgstr "启用 GFW 模式" + +msgid "Running Mode" +msgstr "运行模式" + +msgid "IP Route Mode" +msgstr "绕过中国大陆IP模式" + +msgid "GFW List Mode" +msgstr "GFW列表模式" + +msgid "Global Mode" +msgstr "全局模式" + +msgid "Oversea Mode" +msgstr "海外用户回国模式" + +msgid "Router Proxy" +msgstr "路由器访问控制" + +msgid "Normal Proxy" +msgstr "正常代理" + +msgid "Bypassed Proxy" +msgstr "不走代理" + +msgid "Forwarded Proxy" +msgstr "强制走代理" + +msgid "UDP Relay" +msgstr "UDP中继" + +msgid "Google Connectivity" +msgstr "【谷歌】连通性检查" + +msgid "Baidu Connectivity" +msgstr "【百度】连通性检查" + +msgid "No Check" +msgstr "未检查" + +msgid "Check" +msgstr "检查" + +msgid "Connect OK" +msgstr "连接正常" + +msgid "Connect Error" +msgstr "连接错误" + +msgid "Check..." +msgstr "正在检查.." + +msgid "Proxy Check" +msgstr "代理检查" + + +msgid "GFW List Data" +msgstr "【GFW列表】数据库" + +msgid "China IP Data" +msgstr "【国内IP段】数据库" + +msgid "Records" +msgstr "条记录" + +msgid "Refresh Data" +msgstr "更新数据库" + +msgid "Refresh..." +msgstr "正在更新,请稍候.." + +msgid "Refresh OK!" +msgstr "更新成功!" + +msgid "Refresh Error!" +msgstr "更新失败!" + +msgid "No new data!" +msgstr "你已经是最新数据,无需更新!" + +msgid "Total Records:" +msgstr "新的总纪录数:" + +msgid "Check Server Port" +msgstr "【服务器端口】检查" + +msgid "Check Connect" +msgstr "检查连通性" + +msgid "Check Server" +msgstr "检查服务器" + +msgid "Auto Switch" +msgstr "自动切换" + +msgid "Enable Auto Switch" +msgstr "启用自动切换" + +msgid "Switch check cycly(second)" +msgstr "自动切换检查周期(秒)" + +msgid "Check timout(second)" +msgstr "切换检查超时时间(秒)" + +msgid "Enable Process Deamon" +msgstr "启用进程自动守护" + +msgid "Advertising Data" +msgstr "【广告屏蔽】数据库" + +msgid "DNS Server IP and Port" +msgstr "DNS服务器地址和端口" + +msgid "Resolve Dns Mode" +msgstr "DNS解析方式" + +msgid "Use SSR DNS Tunnel" +msgstr "使用SSR-DNS隧道" + +msgid "Use Pdnsd" +msgstr "使用Pdnsd" + +msgid "Use Other DNS Tunnel(Need to install)" +msgstr "使用其他DNS转发(需要自己安装)" + +msgid "Import SSR" +msgstr "导入ssr配置信息" + +msgid "Export SSR" +msgstr "导出ssr配置信息" + +msgid "Import SSR successfully." +msgstr "成功导入SSR。" + +msgid "Invalid SSR format." +msgstr "无效的SSR格式。" + +msgid "User cancelled." +msgstr "用户已取消。" + +msgid "Paste ssr url here" +msgstr "在此处粘贴ssr://网址" + +msgid "Unable to copy SSR to clipboard." +msgstr "无法复制SSR网址到剪贴板。" + +msgid "Copy SSR to clipboard successfully." +msgstr "成功复制SSR网址到剪贴板。" + +msgid "Servers Manage" +msgstr "服务器管理" + +msgid "Auto Update" +msgstr "自动更新" + +msgid "Through proxy update" +msgstr "通过代理更新" + +msgid "GFW List" +msgstr "GFW列表" + +msgid "ShadowSocksR Plus+ Settings" +msgstr "ShadowSocksR Plus+ 设置(支持SS/SSR/V2RAY)" + +msgid "Main Server" +msgstr "主服务器" + +msgid "Anti-pollution DNS Server" +msgstr "访问国外域名DNS服务器" + +msgid "Use Pdnsd tcp query and cache" +msgstr "使用PDNSD TCP查询并缓存" + +msgid "DNS Server IP:Port" +msgstr "DNS服务器 IP:Port" + +msgid "Update time (every day)" +msgstr "更新时间 (每天)" + +msgid "Auto Update Server subscription, GFW list and CHN route" +msgstr "自动更新服务器订阅、GFW列表和 CHN路由表" + +msgid "Subscribe URL" +msgstr "SSR/V2RAY订阅URL地址" + +msgid "Update" +msgstr "更新" + +msgid "Server Count" +msgstr "服务器节点数量" + +msgid "IP black-and-white list" +msgstr "IP黑白名单" + +msgid "WAN IP AC" +msgstr "WAN IP访问控制" + +msgid "WAN White List IP" +msgstr "不走代理的WAN IP" + +msgid "WAN Force Proxy IP" +msgstr "强制走代理的WAN IP" + +msgid "LAN Bypassed Host List" +msgstr "不走代理的局域网LAN IP" + +msgid "LAN Force Proxy Host List" +msgstr "全局代理的LAN IP" + +msgid "Router Self AC" +msgstr "路由器自身代理设置" + +msgid "Router Self Proxy" +msgstr "路由器自身代理方式" + +msgid "Normal Proxy" +msgstr "跟随全局设置" + +msgid "Bypassed Proxy" +msgstr "不走代理" + +msgid "Forwarded Proxy" +msgstr "全局代理" + +msgid "GFW Custom List" +msgstr "GFW 用户自定义列表" + +msgid "Please refer to the following writing" +msgstr "每行一个域名,无需写前面的 HTTP(S):// ,提交后即时生效" + +msgid "Servers subscription and manage" +msgstr "服务器节点订阅与管理(支持订阅和手动导入SSR链接)" + +msgid "Through proxy update list, Not Recommended" +msgstr "通过路由器自身代理更新订阅(不推荐)" + +msgid "LAN IP AC" +msgstr "LAN IP访问控制" + +msgid "Game Mode UDP Server" +msgstr "游戏模式UDP中继服务器" + +msgid "Game Mode UDP Relay" +msgstr "游戏模式UDP中继" + +msgid "Server failsafe auto swith settings" +msgstr "服务器节点故障自动切换设置" + +msgid "Delete all severs" +msgstr "删除所有服务器" + +msgid "Severs Nodes" +msgstr "服务器节点" + +msgid "Use Local DNS Service listen port 5335" +msgstr "使用本机端口为5335的DNS服务" + +msgid "Server Node Type" +msgstr "服务器节点类型" + +msgid "Using incorrect encryption mothod may causes service fail to start" +msgstr "输入不正确的参数组合可能会导致服务无法启动" + +msgid "Game Mode Host List" +msgstr "增强游戏模式客户端LAN IP" + +msgid "Multi Threads Option" +msgstr "多线程并发转发" + +msgid "Auto Threads" +msgstr "自动(CPU线程数)" + +msgid "1 Thread" +msgstr "单线程" + +msgid "2 Threads" +msgstr "2 线程" + +msgid "4 Threads" +msgstr "4 线程" + +msgid "8 Threads" +msgstr "8 线程" diff --git a/package/lean/luci-app-ssr-plus/root/etc/china_ssr.txt b/package/lean/luci-app-ssr-plus/root/etc/china_ssr.txt new file mode 100644 index 0000000000..b182fc7615 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/china_ssr.txt @@ -0,0 +1,8296 @@ +1.0.1.0/24 +1.0.2.0/23 +1.0.8.0/21 +1.0.32.0/19 +1.1.0.0/24 +1.1.2.0/23 +1.1.4.0/22 +1.1.8.0/24 +1.1.9.0/24 +1.1.10.0/23 +1.1.12.0/22 +1.1.16.0/20 +1.1.32.0/19 +1.2.0.0/23 +1.2.2.0/24 +1.2.4.0/24 +1.2.5.0/24 +1.2.6.0/23 +1.2.8.0/24 +1.2.9.0/24 +1.2.10.0/23 +1.2.12.0/22 +1.2.16.0/20 +1.2.32.0/19 +1.2.64.0/18 +1.3.0.0/16 +1.4.1.0/24 +1.4.2.0/23 +1.4.4.0/24 +1.4.5.0/24 +1.4.6.0/23 +1.4.8.0/21 +1.4.16.0/20 +1.4.32.0/19 +1.4.64.0/18 +1.8.0.0/16 +1.10.0.0/21 +1.10.8.0/23 +1.10.11.0/24 +1.10.12.0/22 +1.10.16.0/20 +1.10.32.0/19 +1.10.64.0/18 +1.12.0.0/14 +1.24.0.0/13 +1.45.0.0/16 +1.48.0.0/15 +1.50.0.0/16 +1.51.0.0/16 +1.56.0.0/13 +1.68.0.0/14 +1.80.0.0/13 +1.88.0.0/14 +1.92.0.0/15 +1.94.0.0/15 +1.116.0.0/15 +1.118.0.0/16 +1.119.0.0/17 +1.119.128.0/17 +1.180.0.0/14 +1.184.0.0/15 +1.188.0.0/14 +1.192.0.0/13 +1.202.0.0/15 +1.204.0.0/14 +14.0.0.0/21 +14.0.12.0/22 +14.1.0.0/22 +14.1.24.0/22 +14.1.96.0/22 +14.1.108.0/22 +14.16.0.0/12 +14.102.128.0/22 +14.102.156.0/22 +14.102.180.0/22 +14.103.0.0/16 +14.104.0.0/13 +14.112.0.0/12 +14.130.0.0/15 +14.134.0.0/15 +14.144.0.0/12 +14.192.60.0/22 +14.192.76.0/22 +14.196.0.0/15 +14.204.0.0/15 +14.208.0.0/12 +27.0.128.0/22 +27.0.132.0/22 +27.0.160.0/22 +27.0.164.0/22 +27.0.188.0/22 +27.0.204.0/22 +27.0.208.0/22 +27.0.212.0/22 +27.8.0.0/13 +27.16.0.0/12 +27.34.232.0/21 +27.36.0.0/14 +27.40.0.0/13 +27.50.40.0/21 +27.50.128.0/17 +27.54.72.0/21 +27.54.152.0/21 +27.54.192.0/18 +27.98.208.0/20 +27.98.224.0/19 +27.99.128.0/17 +27.103.0.0/16 +27.106.128.0/18 +27.106.204.0/22 +27.109.32.0/19 +27.109.124.0/22 +27.112.0.0/18 +27.112.80.0/20 +27.112.112.0/22 +27.112.116.0/22 +27.113.128.0/18 +27.115.0.0/17 +27.116.44.0/22 +27.121.72.0/21 +27.121.120.0/21 +27.123.232.0/22 +27.128.0.0/15 +27.131.220.0/22 +27.144.0.0/16 +27.148.0.0/14 +27.152.0.0/13 +27.184.0.0/13 +27.192.0.0/11 +27.224.0.0/14 +36.0.0.0/22 +36.0.8.0/21 +36.0.16.0/20 +36.0.32.0/19 +36.0.64.0/18 +36.0.128.0/17 +36.1.0.0/16 +36.4.0.0/14 +36.16.0.0/12 +36.32.0.0/14 +36.36.0.0/16 +36.37.0.0/19 +36.37.36.0/23 +36.37.39.0/24 +36.37.40.0/21 +36.37.48.0/20 +36.40.0.0/13 +36.48.0.0/15 +36.51.0.0/16 +36.56.0.0/13 +36.96.0.0/11 +36.128.0.0/10 +36.192.0.0/11 +36.248.0.0/14 +36.254.0.0/16 +36.255.116.0/22 +36.255.128.0/22 +36.255.164.0/22 +36.255.172.0/22 +36.255.176.0/22 +36.255.220.0/22 +39.0.0.0/24 +39.0.2.0/23 +39.0.4.0/22 +39.0.8.0/21 +39.0.16.0/20 +39.0.32.0/19 +39.0.64.0/18 +39.0.128.0/17 +39.64.0.0/11 +39.96.0.0/13 +39.104.0.0/14 +39.108.0.0/16 +39.128.0.0/10 +40.72.0.0/15 +40.125.128.0/17 +40.126.64.0/18 +42.0.0.0/22 +42.0.8.0/21 +42.0.16.0/21 +42.0.24.0/22 +42.0.32.0/19 +42.0.128.0/17 +42.1.0.0/19 +42.1.32.0/20 +42.1.48.0/21 +42.1.56.0/22 +42.1.128.0/17 +42.4.0.0/14 +42.48.0.0/15 +42.50.0.0/16 +42.51.0.0/16 +42.52.0.0/14 +42.56.0.0/14 +42.62.0.0/17 +42.62.128.0/19 +42.62.160.0/20 +42.62.180.0/22 +42.62.184.0/21 +42.63.0.0/16 +42.80.0.0/15 +42.83.64.0/20 +42.83.80.0/22 +42.83.88.0/21 +42.83.96.0/19 +42.83.128.0/17 +42.84.0.0/14 +42.88.0.0/13 +42.96.64.0/19 +42.96.96.0/21 +42.96.108.0/22 +42.96.112.0/20 +42.96.128.0/17 +42.97.0.0/16 +42.99.0.0/18 +42.99.64.0/19 +42.99.96.0/20 +42.99.112.0/22 +42.99.120.0/21 +42.100.0.0/14 +42.120.0.0/15 +42.122.0.0/16 +42.123.0.0/19 +42.123.36.0/22 +42.123.40.0/21 +42.123.48.0/20 +42.123.64.0/18 +42.123.128.0/17 +42.128.0.0/12 +42.156.0.0/19 +42.156.36.0/22 +42.156.40.0/21 +42.156.48.0/20 +42.156.64.0/18 +42.156.128.0/17 +42.157.0.0/16 +42.158.0.0/16 +42.159.0.0/16 +42.160.0.0/12 +42.176.0.0/13 +42.184.0.0/15 +42.186.0.0/16 +42.187.0.0/18 +42.187.64.0/19 +42.187.96.0/20 +42.187.112.0/21 +42.187.120.0/22 +42.187.128.0/17 +42.192.0.0/15 +42.194.0.0/21 +42.194.8.0/22 +42.194.12.0/22 +42.194.16.0/20 +42.194.32.0/19 +42.194.64.0/18 +42.194.128.0/17 +42.195.0.0/16 +42.196.0.0/14 +42.201.0.0/17 +42.202.0.0/15 +42.204.0.0/14 +42.208.0.0/12 +42.224.0.0/12 +42.240.0.0/17 +42.240.128.0/17 +42.242.0.0/15 +42.244.0.0/14 +42.248.0.0/13 +43.224.12.0/22 +43.224.24.0/22 +43.224.44.0/22 +43.224.52.0/22 +43.224.56.0/22 +43.224.64.0/22 +43.224.68.0/22 +43.224.72.0/22 +43.224.80.0/22 +43.224.100.0/22 +43.224.144.0/22 +43.224.160.0/22 +43.224.176.0/22 +43.224.184.0/22 +43.224.200.0/22 +43.224.204.0/22 +43.224.208.0/22 +43.224.212.0/22 +43.224.216.0/22 +43.224.240.0/22 +43.225.76.0/22 +43.225.84.0/22 +43.225.120.0/22 +43.225.124.0/22 +43.225.140.0/22 +43.225.172.0/22 +43.225.180.0/22 +43.225.208.0/22 +43.225.216.0/22 +43.225.220.0/22 +43.225.224.0/22 +43.225.228.0/22 +43.225.232.0/22 +43.225.236.0/22 +43.225.240.0/22 +43.225.244.0/22 +43.225.252.0/22 +43.226.32.0/22 +43.226.36.0/22 +43.226.40.0/22 +43.226.44.0/22 +43.226.48.0/22 +43.226.52.0/22 +43.226.56.0/22 +43.226.60.0/22 +43.226.64.0/22 +43.226.68.0/22 +43.226.72.0/22 +43.226.76.0/22 +43.226.80.0/22 +43.226.84.0/22 +43.226.88.0/22 +43.226.92.0/22 +43.226.96.0/22 +43.226.100.0/22 +43.226.104.0/22 +43.226.108.0/22 +43.226.112.0/22 +43.226.116.0/22 +43.226.120.0/22 +43.226.128.0/22 +43.226.132.0/22 +43.226.136.0/22 +43.226.140.0/22 +43.226.144.0/22 +43.226.148.0/22 +43.226.152.0/22 +43.226.156.0/22 +43.226.160.0/22 +43.226.164.0/22 +43.226.168.0/22 +43.226.172.0/22 +43.226.176.0/22 +43.226.180.0/22 +43.226.184.0/22 +43.226.188.0/22 +43.226.192.0/22 +43.226.196.0/22 +43.226.200.0/22 +43.226.204.0/22 +43.226.208.0/22 +43.226.212.0/22 +43.226.236.0/22 +43.226.240.0/22 +43.226.244.0/22 +43.226.248.0/22 +43.226.252.0/22 +43.227.0.0/22 +43.227.4.0/22 +43.227.8.0/22 +43.227.32.0/22 +43.227.36.0/22 +43.227.40.0/22 +43.227.44.0/22 +43.227.48.0/22 +43.227.52.0/22 +43.227.56.0/22 +43.227.60.0/22 +43.227.64.0/22 +43.227.68.0/22 +43.227.72.0/22 +43.227.76.0/22 +43.227.80.0/22 +43.227.84.0/22 +43.227.88.0/22 +43.227.92.0/22 +43.227.96.0/22 +43.227.100.0/22 +43.227.104.0/22 +43.227.136.0/22 +43.227.140.0/22 +43.227.144.0/22 +43.227.152.0/22 +43.227.156.0/22 +43.227.160.0/22 +43.227.164.0/22 +43.227.168.0/22 +43.227.172.0/22 +43.227.176.0/22 +43.227.180.0/22 +43.227.188.0/22 +43.227.192.0/22 +43.227.196.0/22 +43.227.200.0/22 +43.227.204.0/22 +43.227.208.0/22 +43.227.212.0/22 +43.227.216.0/22 +43.227.220.0/22 +43.227.232.0/22 +43.227.248.0/22 +43.227.252.0/22 +43.228.0.0/22 +43.228.4.0/22 +43.228.8.0/22 +43.228.12.0/22 +43.228.16.0/22 +43.228.20.0/22 +43.228.24.0/22 +43.228.28.0/22 +43.228.32.0/22 +43.228.36.0/22 +43.228.40.0/22 +43.228.44.0/22 +43.228.48.0/22 +43.228.52.0/22 +43.228.56.0/22 +43.228.60.0/22 +43.228.64.0/22 +43.228.68.0/22 +43.228.76.0/22 +43.228.100.0/22 +43.228.116.0/22 +43.228.120.0/22 +43.228.132.0/22 +43.228.136.0/22 +43.228.148.0/22 +43.228.152.0/22 +43.228.188.0/22 +43.229.16.0/22 +43.229.40.0/22 +43.229.48.0/22 +43.229.56.0/22 +43.229.96.0/22 +43.229.120.0/22 +43.229.136.0/22 +43.229.140.0/22 +43.229.144.0/22 +43.229.168.0/22 +43.229.172.0/22 +43.229.176.0/22 +43.229.180.0/22 +43.229.184.0/22 +43.229.188.0/22 +43.229.192.0/22 +43.229.196.0/22 +43.229.216.0/22 +43.229.220.0/22 +43.229.232.0/22 +43.229.236.0/22 +43.230.20.0/22 +43.230.32.0/22 +43.230.68.0/22 +43.230.72.0/22 +43.230.84.0/22 +43.230.124.0/22 +43.230.136.0/22 +43.230.168.0/22 +43.230.220.0/22 +43.230.224.0/22 +43.230.228.0/22 +43.230.232.0/22 +43.230.236.0/22 +43.230.240.0/22 +43.230.244.0/22 +43.230.248.0/22 +43.230.252.0/22 +43.231.32.0/22 +43.231.36.0/22 +43.231.40.0/22 +43.231.44.0/22 +43.231.80.0/22 +43.231.84.0/22 +43.231.88.0/22 +43.231.92.0/22 +43.231.96.0/22 +43.231.100.0/22 +43.231.104.0/22 +43.231.108.0/22 +43.231.136.0/22 +43.231.140.0/22 +43.231.144.0/22 +43.231.148.0/22 +43.231.152.0/22 +43.231.156.0/22 +43.231.160.0/22 +43.231.164.0/22 +43.231.168.0/22 +43.231.172.0/22 +43.231.176.0/22 +43.231.180.0/22 +43.236.0.0/22 +43.236.4.0/22 +43.236.8.0/22 +43.236.12.0/22 +43.236.16.0/22 +43.236.20.0/22 +43.236.24.0/22 +43.236.28.0/22 +43.236.32.0/22 +43.236.36.0/22 +43.236.40.0/22 +43.236.44.0/22 +43.236.48.0/22 +43.236.52.0/22 +43.236.56.0/22 +43.236.60.0/22 +43.236.64.0/22 +43.236.68.0/22 +43.236.72.0/22 +43.236.76.0/22 +43.236.80.0/22 +43.236.84.0/22 +43.236.88.0/22 +43.236.92.0/22 +43.236.96.0/22 +43.236.100.0/22 +43.236.104.0/22 +43.236.108.0/22 +43.236.112.0/22 +43.236.116.0/22 +43.236.120.0/22 +43.236.124.0/22 +43.236.128.0/22 +43.236.132.0/22 +43.236.136.0/22 +43.236.140.0/22 +43.236.144.0/22 +43.236.148.0/22 +43.236.152.0/22 +43.236.156.0/22 +43.236.160.0/22 +43.236.164.0/22 +43.236.168.0/22 +43.236.172.0/22 +43.236.176.0/22 +43.236.180.0/22 +43.236.184.0/22 +43.236.188.0/22 +43.236.192.0/22 +43.236.196.0/22 +43.236.200.0/22 +43.236.204.0/22 +43.236.208.0/22 +43.236.212.0/22 +43.236.216.0/22 +43.236.220.0/22 +43.236.224.0/22 +43.236.228.0/22 +43.236.232.0/22 +43.236.236.0/22 +43.236.240.0/22 +43.236.244.0/22 +43.236.248.0/22 +43.236.252.0/22 +43.237.0.0/22 +43.237.4.0/22 +43.237.8.0/22 +43.237.12.0/22 +43.237.16.0/22 +43.237.20.0/22 +43.237.24.0/22 +43.237.28.0/22 +43.237.32.0/22 +43.237.36.0/22 +43.237.40.0/22 +43.237.44.0/22 +43.237.48.0/22 +43.237.52.0/22 +43.237.56.0/22 +43.237.60.0/22 +43.237.64.0/22 +43.237.68.0/22 +43.237.72.0/22 +43.237.76.0/22 +43.237.80.0/22 +43.237.84.0/22 +43.237.88.0/22 +43.237.92.0/22 +43.237.96.0/22 +43.237.100.0/22 +43.237.104.0/22 +43.237.108.0/22 +43.237.112.0/22 +43.237.116.0/22 +43.237.120.0/22 +43.237.124.0/22 +43.237.128.0/22 +43.237.132.0/22 +43.237.136.0/22 +43.237.140.0/22 +43.237.144.0/22 +43.237.148.0/22 +43.237.152.0/22 +43.237.156.0/22 +43.237.160.0/22 +43.237.164.0/22 +43.237.168.0/22 +43.237.172.0/22 +43.237.176.0/22 +43.237.180.0/22 +43.237.184.0/22 +43.237.188.0/22 +43.237.192.0/22 +43.237.196.0/22 +43.237.200.0/22 +43.237.204.0/22 +43.237.208.0/22 +43.237.212.0/22 +43.237.216.0/22 +43.237.220.0/22 +43.237.224.0/22 +43.237.228.0/22 +43.237.232.0/22 +43.237.236.0/22 +43.237.240.0/22 +43.237.244.0/22 +43.237.248.0/22 +43.237.252.0/22 +43.238.0.0/22 +43.238.4.0/22 +43.238.8.0/22 +43.238.12.0/22 +43.238.16.0/22 +43.238.20.0/22 +43.238.24.0/22 +43.238.28.0/22 +43.238.32.0/22 +43.238.36.0/22 +43.238.40.0/22 +43.238.44.0/22 +43.238.48.0/22 +43.238.52.0/22 +43.238.56.0/22 +43.238.60.0/22 +43.238.64.0/22 +43.238.68.0/22 +43.238.72.0/22 +43.238.76.0/22 +43.238.80.0/22 +43.238.84.0/22 +43.238.88.0/22 +43.238.92.0/22 +43.238.96.0/22 +43.238.100.0/22 +43.238.104.0/22 +43.238.108.0/22 +43.238.112.0/22 +43.238.116.0/22 +43.238.120.0/22 +43.238.124.0/22 +43.238.128.0/22 +43.238.132.0/22 +43.238.136.0/22 +43.238.140.0/22 +43.238.144.0/22 +43.238.148.0/22 +43.238.152.0/22 +43.238.156.0/22 +43.238.160.0/22 +43.238.164.0/22 +43.238.168.0/22 +43.238.172.0/22 +43.238.176.0/22 +43.238.180.0/22 +43.238.184.0/22 +43.238.188.0/22 +43.238.192.0/22 +43.238.196.0/22 +43.238.200.0/22 +43.238.204.0/22 +43.238.208.0/22 +43.238.212.0/22 +43.238.216.0/22 +43.238.220.0/22 +43.238.224.0/22 +43.238.228.0/22 +43.238.232.0/22 +43.238.236.0/22 +43.238.240.0/22 +43.238.244.0/22 +43.238.248.0/22 +43.238.252.0/22 +43.239.0.0/22 +43.239.4.0/22 +43.239.8.0/21 +43.239.16.0/22 +43.239.20.0/22 +43.239.24.0/22 +43.239.28.0/22 +43.239.32.0/22 +43.239.36.0/22 +43.239.40.0/22 +43.239.44.0/22 +43.239.48.0/22 +43.239.116.0/22 +43.239.120.0/22 +43.239.172.0/22 +43.239.176.0/22 +43.240.0.0/22 +43.240.48.0/22 +43.240.56.0/22 +43.240.60.0/22 +43.240.68.0/22 +43.240.72.0/22 +43.240.76.0/22 +43.240.84.0/22 +43.240.124.0/22 +43.240.128.0/22 +43.240.132.0/22 +43.240.136.0/22 +43.240.156.0/22 +43.240.160.0/22 +43.240.164.0/22 +43.240.168.0/22 +43.240.172.0/22 +43.240.176.0/22 +43.240.180.0/22 +43.240.184.0/22 +43.240.188.0/22 +43.240.192.0/22 +43.240.196.0/22 +43.240.200.0/22 +43.240.204.0/22 +43.240.208.0/22 +43.240.212.0/22 +43.240.216.0/22 +43.240.220.0/22 +43.240.236.0/22 +43.240.240.0/22 +43.240.244.0/22 +43.240.248.0/22 +43.240.252.0/22 +43.241.0.0/22 +43.241.4.0/22 +43.241.8.0/22 +43.241.12.0/22 +43.241.16.0/22 +43.241.20.0/22 +43.241.48.0/22 +43.241.76.0/22 +43.241.80.0/22 +43.241.84.0/22 +43.241.88.0/22 +43.241.92.0/22 +43.241.112.0/22 +43.241.168.0/22 +43.241.172.0/22 +43.241.176.0/22 +43.241.180.0/22 +43.241.184.0/22 +43.241.196.0/22 +43.241.208.0/22 +43.241.212.0/22 +43.241.216.0/22 +43.241.220.0/22 +43.241.224.0/22 +43.241.228.0/22 +43.241.232.0/22 +43.241.236.0/22 +43.241.240.0/22 +43.241.248.0/22 +43.241.252.0/22 +43.242.8.0/22 +43.242.12.0/22 +43.242.16.0/22 +43.242.20.0/22 +43.242.24.0/22 +43.242.28.0/22 +43.242.44.0/22 +43.242.48.0/22 +43.242.52.0/22 +43.242.56.0/22 +43.242.60.0/22 +43.242.64.0/22 +43.242.72.0/22 +43.242.76.0/22 +43.242.80.0/22 +43.242.84.0/22 +43.242.88.0/22 +43.242.92.0/22 +43.242.96.0/22 +43.242.144.0/22 +43.242.148.0/22 +43.242.152.0/22 +43.242.156.0/22 +43.242.160.0/22 +43.242.164.0/22 +43.242.168.0/22 +43.242.180.0/22 +43.242.188.0/22 +43.242.192.0/22 +43.242.196.0/22 +43.242.204.0/22 +43.242.216.0/22 +43.242.220.0/22 +43.242.252.0/22 +43.243.4.0/22 +43.243.8.0/22 +43.243.12.0/22 +43.243.16.0/22 +43.243.24.0/22 +43.243.88.0/22 +43.243.128.0/22 +43.243.136.0/22 +43.243.144.0/22 +43.243.148.0/22 +43.243.156.0/22 +43.243.168.0/22 +43.243.180.0/22 +43.243.188.0/22 +43.243.228.0/22 +43.243.232.0/22 +43.243.244.0/22 +43.246.0.0/22 +43.246.4.0/22 +43.246.8.0/22 +43.246.12.0/22 +43.246.16.0/22 +43.246.20.0/22 +43.246.24.0/22 +43.246.28.0/22 +43.246.32.0/22 +43.246.36.0/22 +43.246.40.0/22 +43.246.44.0/22 +43.246.48.0/22 +43.246.52.0/22 +43.246.56.0/22 +43.246.60.0/22 +43.246.64.0/22 +43.246.68.0/22 +43.246.72.0/22 +43.246.76.0/22 +43.246.80.0/22 +43.246.84.0/22 +43.246.88.0/22 +43.246.92.0/22 +43.246.96.0/22 +43.246.112.0/22 +43.246.212.0/22 +43.246.228.0/22 +43.247.4.0/22 +43.247.8.0/22 +43.247.44.0/22 +43.247.48.0/22 +43.247.68.0/22 +43.247.76.0/22 +43.247.84.0/22 +43.247.88.0/22 +43.247.92.0/22 +43.247.96.0/22 +43.247.100.0/22 +43.247.108.0/22 +43.247.112.0/22 +43.247.148.0/22 +43.247.152.0/22 +43.247.176.0/22 +43.247.180.0/22 +43.247.184.0/22 +43.247.188.0/22 +43.247.196.0/22 +43.247.200.0/22 +43.247.204.0/22 +43.247.208.0/22 +43.247.212.0/22 +43.247.216.0/22 +43.247.220.0/22 +43.247.224.0/22 +43.247.228.0/22 +43.247.232.0/22 +43.247.236.0/22 +43.247.240.0/22 +43.247.244.0/22 +43.247.248.0/22 +43.247.252.0/22 +43.248.0.0/22 +43.248.4.0/22 +43.248.20.0/22 +43.248.28.0/22 +43.248.48.0/22 +43.248.76.0/22 +43.248.80.0/22 +43.248.84.0/22 +43.248.88.0/22 +43.248.92.0/22 +43.248.96.0/22 +43.248.100.0/22 +43.248.104.0/22 +43.248.108.0/22 +43.248.112.0/22 +43.248.116.0/22 +43.248.120.0/22 +43.248.124.0/22 +43.248.128.0/22 +43.248.132.0/22 +43.248.136.0/22 +43.248.140.0/22 +43.248.144.0/22 +43.248.148.0/22 +43.248.176.0/22 +43.248.180.0/22 +43.248.184.0/22 +43.248.188.0/22 +43.248.192.0/22 +43.248.196.0/22 +43.248.200.0/22 +43.248.204.0/22 +43.248.208.0/22 +43.248.228.0/22 +43.248.232.0/22 +43.248.244.0/22 +43.249.4.0/22 +43.249.8.0/22 +43.249.24.0/22 +43.249.120.0/22 +43.249.132.0/22 +43.249.136.0/22 +43.249.144.0/22 +43.249.148.0/22 +43.249.152.0/22 +43.249.156.0/22 +43.249.160.0/22 +43.249.164.0/22 +43.249.168.0/22 +43.249.192.0/22 +43.249.236.0/22 +43.250.4.0/22 +43.250.12.0/22 +43.250.16.0/22 +43.250.20.0/22 +43.250.28.0/22 +43.250.32.0/22 +43.250.36.0/22 +43.250.72.0/22 +43.250.96.0/22 +43.250.100.0/22 +43.250.104.0/22 +43.250.108.0/22 +43.250.112.0/22 +43.250.116.0/22 +43.250.128.0/22 +43.250.144.0/22 +43.250.148.0/22 +43.250.160.0/22 +43.250.168.0/22 +43.250.172.0/22 +43.250.176.0/22 +43.250.200.0/22 +43.250.212.0/22 +43.250.216.0/22 +43.250.220.0/22 +43.250.236.0/22 +43.250.244.0/22 +43.251.4.0/22 +43.251.8.0/22 +43.251.12.0/22 +43.251.36.0/22 +43.251.100.0/22 +43.251.116.0/22 +43.251.192.0/22 +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 +43.254.0.0/22 +43.254.4.0/22 +43.254.8.0/22 +43.254.24.0/22 +43.254.36.0/22 +43.254.44.0/22 +43.254.52.0/22 +43.254.64.0/22 +43.254.72.0/22 +43.254.84.0/22 +43.254.88.0/22 +43.254.92.0/22 +43.254.100.0/22 +43.254.104.0/22 +43.254.112.0/22 +43.254.116.0/22 +43.254.128.0/22 +43.254.136.0/22 +43.254.140.0/22 +43.254.144.0/22 +43.254.148.0/22 +43.254.152.0/22 +43.254.156.0/22 +43.254.168.0/22 +43.254.172.0/22 +43.254.180.0/22 +43.254.184.0/22 +43.254.188.0/22 +43.254.192.0/22 +43.254.196.0/22 +43.254.200.0/22 +43.254.208.0/22 +43.254.220.0/22 +43.254.224.0/22 +43.254.228.0/22 +43.254.232.0/22 +43.254.236.0/22 +43.254.240.0/22 +43.254.248.0/22 +43.254.252.0/22 +43.255.0.0/22 +43.255.4.0/22 +43.255.8.0/22 +43.255.16.0/22 +43.255.48.0/22 +43.255.64.0/22 +43.255.68.0/22 +43.255.72.0/22 +43.255.76.0/22 +43.255.84.0/22 +43.255.96.0/22 +43.255.108.0/22 +43.255.144.0/22 +43.255.168.0/22 +43.255.176.0/22 +43.255.184.0/22 +43.255.192.0/22 +43.255.200.0/22 +43.255.204.0/22 +43.255.208.0/22 +43.255.212.0/22 +43.255.224.0/22 +43.255.228.0/22 +43.255.232.0/22 +43.255.244.0/22 +45.40.192.0/18 +45.65.16.0/22 +45.65.20.0/22 +45.65.24.0/22 +45.65.28.0/22 +45.112.132.0/22 +45.112.188.0/22 +45.112.208.0/22 +45.112.212.0/22 +45.112.216.0/22 +45.112.220.0/22 +45.112.228.0/22 +45.112.232.0/22 +45.112.236.0/22 +45.113.12.0/22 +45.113.16.0/22 +45.113.20.0/22 +45.113.24.0/22 +45.113.28.0/22 +45.113.40.0/22 +45.113.52.0/22 +45.113.56.0/22 +45.113.72.0/22 +45.113.144.0/22 +45.113.148.0/22 +45.113.168.0/22 +45.113.176.0/22 +45.113.184.0/22 +45.113.200.0/22 +45.113.204.0/22 +45.113.208.0/22 +45.113.212.0/22 +45.113.216.0/22 +45.113.220.0/22 +45.113.240.0/22 +45.113.252.0/22 +45.114.0.0/22 +45.114.12.0/22 +45.114.32.0/22 +45.114.40.0/22 +45.114.52.0/22 +45.114.96.0/22 +45.114.104.0/22 +45.114.108.0/22 +45.114.124.0/22 +45.114.136.0/22 +45.114.196.0/22 +45.114.200.0/22 +45.114.228.0/22 +45.114.252.0/22 +45.115.44.0/22 +45.115.100.0/22 +45.115.120.0/22 +45.115.132.0/22 +45.115.144.0/22 +45.115.156.0/22 +45.115.164.0/22 +45.115.200.0/22 +45.115.212.0/22 +45.115.228.0/22 +45.115.236.0/22 +45.115.244.0/22 +45.115.248.0/22 +45.116.12.0/22 +45.116.16.0/22 +45.116.24.0/22 +45.116.32.0/22 +45.116.36.0/22 +45.116.52.0/22 +45.116.96.0/22 +45.116.100.0/22 +45.116.140.0/22 +45.116.152.0/22 +45.116.208.0/22 +45.117.8.0/22 +45.117.20.0/22 +45.117.68.0/22 +45.117.124.0/22 +45.117.252.0/22 +45.119.52.0/22 +45.119.60.0/22 +45.119.64.0/22 +45.119.68.0/22 +45.119.72.0/22 +45.119.104.0/22 +45.119.116.0/22 +45.119.232.0/22 +45.120.100.0/22 +45.120.140.0/22 +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 +45.121.72.0/22 +45.121.92.0/22 +45.121.96.0/22 +45.121.104.0/22 +45.121.172.0/22 +45.121.176.0/22 +45.121.212.0/22 +45.121.240.0/22 +45.121.244.0/22 +45.121.248.0/22 +45.121.252.0/22 +45.122.0.0/22 +45.122.4.0/22 +45.122.8.0/22 +45.122.12.0/22 +45.122.16.0/22 +45.122.20.0/22 +45.122.24.0/22 +45.122.28.0/22 +45.122.32.0/22 +45.122.36.0/22 +45.122.40.0/22 +45.122.60.0/22 +45.122.64.0/22 +45.122.68.0/22 +45.122.72.0/22 +45.122.76.0/22 +45.122.80.0/22 +45.122.84.0/22 +45.122.88.0/22 +45.122.92.0/22 +45.122.96.0/21 +45.122.104.0/22 +45.122.108.0/22 +45.122.112.0/22 +45.122.116.0/22 +45.122.160.0/22 +45.122.164.0/22 +45.122.168.0/22 +45.122.172.0/22 +45.122.176.0/22 +45.122.180.0/22 +45.122.184.0/22 +45.122.188.0/22 +45.122.192.0/22 +45.122.196.0/22 +45.122.200.0/22 +45.122.204.0/22 +45.122.208.0/22 +45.122.212.0/22 +45.122.216.0/22 +45.123.28.0/22 +45.123.32.0/22 +45.123.36.0/22 +45.123.44.0/22 +45.123.48.0/22 +45.123.52.0/22 +45.123.56.0/22 +45.123.60.0/22 +45.123.64.0/22 +45.123.68.0/22 +45.123.72.0/22 +45.123.76.0/22 +45.123.80.0/22 +45.123.84.0/22 +45.123.88.0/22 +45.123.120.0/22 +45.123.128.0/22 +45.123.132.0/22 +45.123.136.0/22 +45.123.148.0/22 +45.123.152.0/22 +45.123.156.0/22 +45.123.164.0/22 +45.123.168.0/22 +45.123.172.0/22 +45.123.176.0/22 +45.123.180.0/22 +45.123.184.0/22 +45.123.204.0/22 +45.123.212.0/22 +45.123.224.0/22 +45.123.228.0/22 +45.123.232.0/22 +45.123.236.0/22 +45.123.240.0/22 +45.123.244.0/22 +45.123.248.0/22 +45.123.252.0/22 +45.124.0.0/22 +45.124.20.0/22 +45.124.28.0/22 +45.124.32.0/22 +45.124.36.0/22 +45.124.44.0/22 +45.124.68.0/22 +45.124.76.0/22 +45.124.80.0/22 +45.124.100.0/22 +45.124.124.0/22 +45.124.172.0/22 +45.124.176.0/22 +45.124.208.0/22 +45.124.248.0/22 +45.124.252.0/22 +45.125.12.0/22 +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 +45.125.76.0/22 +45.125.80.0/22 +45.125.84.0/22 +45.125.88.0/22 +45.125.92.0/22 +45.125.96.0/22 +45.125.100.0/22 +45.125.104.0/22 +45.125.136.0/22 +45.126.48.0/22 +45.126.52.0/22 +45.126.100.0/22 +45.126.108.0/22 +45.126.112.0/22 +45.126.116.0/22 +45.126.120.0/22 +45.126.212.0/22 +45.126.220.0/22 +45.127.8.0/22 +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 +45.127.156.0/22 +45.127.216.0/22 +45.248.8.0/22 +45.248.80.0/22 +45.248.84.0/22 +45.248.88.0/22 +45.248.96.0/22 +45.248.100.0/22 +45.248.104.0/22 +45.248.108.0/22 +45.248.128.0/22 +45.248.132.0/22 +45.248.204.0/22 +45.248.208.0/22 +45.248.212.0/22 +45.248.216.0/22 +45.248.220.0/22 +45.248.224.0/22 +45.248.228.0/22 +45.248.232.0/22 +45.248.236.0/22 +45.248.240.0/22 +45.248.244.0/22 +45.248.248.0/22 +45.248.252.0/22 +45.249.0.0/22 +45.249.4.0/22 +45.249.12.0/22 +45.249.16.0/22 +45.249.20.0/22 +45.249.24.0/22 +45.249.28.0/22 +45.249.32.0/22 +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 +45.249.200.0/22 +45.249.204.0/22 +45.249.208.0/22 +45.249.212.0/22 +45.250.12.0/22 +45.250.16.0/22 +45.250.28.0/22 +45.250.32.0/22 +45.250.36.0/22 +45.250.40.0/22 +45.250.76.0/22 +45.250.80.0/22 +45.250.84.0/22 +45.250.88.0/22 +45.250.92.0/22 +45.250.96.0/22 +45.250.104.0/22 +45.250.108.0/22 +45.250.112.0/22 +45.250.116.0/22 +45.250.120.0/22 +45.250.124.0/22 +45.250.128.0/22 +45.250.132.0/22 +45.250.136.0/22 +45.250.140.0/22 +45.250.144.0/22 +45.250.148.0/22 +45.250.152.0/22 +45.250.164.0/22 +45.250.180.0/22 +45.250.184.0/22 +45.250.188.0/22 +45.250.192.0/22 +45.251.0.0/22 +45.251.8.0/22 +45.251.16.0/22 +45.251.20.0/22 +45.251.52.0/22 +45.251.84.0/22 +45.251.88.0/22 +45.251.92.0/22 +45.251.96.0/22 +45.251.100.0/22 +45.251.120.0/22 +45.251.124.0/22 +45.251.136.0/22 +45.251.140.0/22 +45.251.144.0/22 +45.251.148.0/22 +45.251.152.0/22 +45.251.156.0/22 +45.251.160.0/22 +45.251.164.0/22 +45.251.168.0/22 +45.251.172.0/22 +45.251.176.0/22 +45.251.180.0/22 +45.251.184.0/22 +45.251.188.0/22 +45.251.192.0/22 +45.251.196.0/22 +45.251.200.0/22 +45.251.204.0/22 +45.251.208.0/22 +45.251.212.0/22 +45.251.216.0/22 +45.251.220.0/22 +45.251.224.0/22 +45.251.240.0/22 +45.252.0.0/22 +45.252.4.0/22 +45.252.8.0/22 +45.252.12.0/22 +45.252.16.0/22 +45.252.20.0/22 +45.252.24.0/22 +45.252.28.0/22 +45.252.32.0/22 +45.252.36.0/22 +45.252.40.0/22 +45.252.44.0/22 +45.252.48.0/22 +45.252.60.0/22 +45.252.84.0/22 +45.252.88.0/22 +45.252.92.0/22 +45.252.96.0/22 +45.252.100.0/22 +45.252.104.0/22 +45.252.108.0/22 +45.252.112.0/22 +45.252.116.0/22 +45.252.120.0/22 +45.252.124.0/22 +45.252.128.0/22 +45.252.132.0/22 +45.252.136.0/22 +45.252.140.0/22 +45.252.144.0/22 +45.252.148.0/22 +45.252.152.0/22 +45.252.156.0/22 +45.252.160.0/22 +45.252.164.0/22 +45.252.168.0/22 +45.252.172.0/22 +45.252.176.0/22 +45.252.192.0/22 +45.252.196.0/22 +45.252.200.0/22 +45.252.204.0/22 +45.252.208.0/22 +45.252.212.0/22 +45.252.216.0/22 +45.252.220.0/22 +45.252.224.0/22 +45.252.228.0/22 +45.252.232.0/22 +45.253.0.0/22 +45.253.4.0/22 +45.253.8.0/22 +45.253.12.0/22 +45.253.16.0/22 +45.253.20.0/22 +45.253.24.0/22 +45.253.28.0/22 +45.253.32.0/22 +45.253.36.0/22 +45.253.40.0/22 +45.253.44.0/22 +45.253.48.0/22 +45.253.52.0/22 +45.253.56.0/22 +45.253.60.0/22 +45.253.64.0/22 +45.253.68.0/22 +45.253.72.0/22 +45.253.76.0/22 +45.253.80.0/22 +45.253.84.0/22 +45.253.92.0/22 +45.253.96.0/22 +45.253.100.0/22 +45.253.104.0/22 +45.253.108.0/22 +45.253.112.0/22 +45.253.116.0/22 +45.253.120.0/22 +45.253.132.0/22 +45.253.136.0/22 +45.253.140.0/22 +45.253.144.0/22 +45.253.148.0/22 +45.253.152.0/22 +45.253.156.0/22 +45.253.160.0/22 +45.253.164.0/22 +45.253.168.0/22 +45.253.172.0/22 +45.253.176.0/22 +45.253.180.0/22 +45.253.184.0/22 +45.253.188.0/22 +45.253.192.0/22 +45.253.196.0/22 +45.253.200.0/22 +45.253.204.0/22 +45.253.208.0/22 +45.253.212.0/22 +45.253.216.0/22 +45.253.220.0/22 +45.253.224.0/22 +45.253.228.0/22 +45.253.232.0/22 +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 +45.254.12.0/22 +45.254.16.0/22 +45.254.20.0/22 +45.254.24.0/22 +45.254.28.0/22 +45.254.40.0/22 +45.254.48.0/22 +45.254.52.0/22 +45.254.56.0/22 +45.254.60.0/22 +45.254.64.0/22 +45.254.68.0/22 +45.254.72.0/22 +45.254.76.0/22 +45.254.80.0/22 +45.254.84.0/22 +45.254.88.0/22 +45.254.92.0/22 +45.254.96.0/22 +45.254.100.0/22 +45.254.104.0/22 +45.254.108.0/22 +45.254.112.0/22 +45.254.116.0/22 +45.254.120.0/22 +45.254.124.0/22 +45.254.128.0/22 +45.254.132.0/22 +45.254.136.0/22 +45.254.140.0/22 +45.254.144.0/22 +45.254.148.0/22 +45.254.152.0/22 +45.254.156.0/22 +45.254.160.0/22 +45.254.164.0/22 +45.254.168.0/22 +45.254.172.0/22 +45.254.176.0/22 +45.254.180.0/22 +45.254.184.0/22 +45.254.188.0/22 +45.254.192.0/22 +45.254.196.0/22 +45.254.200.0/22 +45.254.204.0/22 +45.254.208.0/22 +45.254.212.0/22 +45.254.216.0/22 +45.254.220.0/22 +45.254.224.0/22 +45.254.228.0/22 +45.254.236.0/22 +45.254.240.0/22 +45.254.248.0/22 +45.255.0.0/22 +45.255.4.0/22 +45.255.8.0/22 +45.255.12.0/22 +45.255.16.0/22 +45.255.20.0/22 +45.255.24.0/22 +45.255.28.0/22 +45.255.32.0/22 +45.255.36.0/22 +45.255.40.0/22 +45.255.44.0/22 +45.255.48.0/22 +45.255.52.0/22 +45.255.56.0/22 +45.255.60.0/22 +45.255.64.0/22 +45.255.68.0/22 +45.255.72.0/22 +45.255.76.0/22 +45.255.80.0/22 +45.255.84.0/22 +45.255.88.0/22 +45.255.92.0/22 +45.255.96.0/22 +45.255.100.0/22 +45.255.104.0/22 +45.255.108.0/22 +45.255.112.0/22 +45.255.116.0/22 +45.255.120.0/22 +45.255.124.0/22 +45.255.132.0/22 +45.255.136.0/22 +45.255.140.0/22 +45.255.144.0/22 +45.255.148.0/22 +45.255.152.0/22 +45.255.156.0/22 +45.255.160.0/22 +45.255.164.0/22 +45.255.168.0/22 +45.255.172.0/22 +45.255.176.0/22 +45.255.180.0/22 +45.255.184.0/22 +45.255.188.0/22 +45.255.192.0/22 +45.255.196.0/22 +45.255.200.0/22 +45.255.204.0/22 +45.255.208.0/22 +45.255.212.0/22 +45.255.216.0/22 +45.255.220.0/22 +45.255.224.0/22 +45.255.228.0/22 +45.255.232.0/22 +45.255.236.0/22 +45.255.240.0/22 +45.255.244.0/22 +45.255.248.0/22 +47.92.0.0/14 +47.96.0.0/11 +49.4.0.0/14 +49.51.0.0/16 +49.52.0.0/14 +49.64.0.0/11 +49.112.0.0/13 +49.120.0.0/14 +49.128.0.0/24 +49.128.2.0/23 +49.128.4.0/22 +49.140.0.0/15 +49.152.0.0/14 +49.208.0.0/15 +49.210.0.0/15 +49.220.0.0/14 +49.232.0.0/14 +49.239.0.0/18 +49.239.192.0/18 +49.246.224.0/19 +52.80.0.0/15 +52.82.0.0/15 +52.130.0.0/15 +54.222.0.0/15 +58.14.0.0/15 +58.16.0.0/16 +58.17.0.0/17 +58.17.128.0/17 +58.18.0.0/16 +58.19.0.0/16 +58.20.0.0/16 +58.21.0.0/16 +58.22.0.0/15 +58.24.0.0/15 +58.30.0.0/15 +58.32.0.0/13 +58.40.0.0/15 +58.42.0.0/16 +58.43.0.0/16 +58.44.0.0/14 +58.48.0.0/13 +58.56.0.0/15 +58.58.0.0/16 +58.59.0.0/17 +58.59.128.0/17 +58.60.0.0/14 +58.65.232.0/21 +58.66.0.0/15 +58.68.128.0/17 +58.82.0.0/17 +58.83.0.0/17 +58.83.128.0/17 +58.87.64.0/18 +58.99.128.0/17 +58.100.0.0/15 +58.116.0.0/14 +58.128.0.0/13 +58.144.0.0/16 +58.154.0.0/15 +58.192.0.0/15 +58.194.0.0/15 +58.196.0.0/15 +58.198.0.0/15 +58.200.0.0/13 +58.208.0.0/12 +58.240.0.0/15 +58.242.0.0/15 +58.244.0.0/15 +58.246.0.0/15 +58.248.0.0/13 +59.32.0.0/13 +59.40.0.0/15 +59.42.0.0/16 +59.43.0.0/16 +59.44.0.0/14 +59.48.0.0/16 +59.49.0.0/17 +59.49.128.0/17 +59.50.0.0/16 +59.51.0.0/17 +59.51.128.0/17 +59.52.0.0/14 +59.56.0.0/14 +59.60.0.0/15 +59.62.0.0/15 +59.64.0.0/14 +59.68.0.0/14 +59.72.0.0/15 +59.74.0.0/15 +59.76.0.0/16 +59.77.0.0/16 +59.78.0.0/15 +59.80.0.0/15 +59.82.0.0/15 +59.107.0.0/17 +59.107.128.0/17 +59.108.0.0/15 +59.110.0.0/15 +59.151.0.0/17 +59.152.16.0/22 +59.152.20.0/22 +59.152.24.0/22 +59.152.28.0/22 +59.152.32.0/22 +59.152.36.0/22 +59.152.64.0/22 +59.152.68.0/22 +59.152.72.0/22 +59.152.76.0/22 +59.152.112.0/22 +59.152.116.0/22 +59.153.4.0/22 +59.153.32.0/22 +59.153.60.0/22 +59.153.64.0/22 +59.153.68.0/22 +59.153.72.0/22 +59.153.92.0/22 +59.153.116.0/22 +59.153.136.0/22 +59.153.152.0/22 +59.153.156.0/22 +59.153.164.0/22 +59.153.168.0/22 +59.153.172.0/22 +59.153.176.0/22 +59.153.180.0/22 +59.153.184.0/22 +59.153.188.0/22 +59.153.192.0/22 +59.155.0.0/16 +59.172.0.0/15 +59.174.0.0/15 +59.191.0.0/17 +59.191.240.0/20 +59.192.0.0/10 +60.0.0.0/13 +60.8.0.0/15 +60.10.0.0/16 +60.11.0.0/16 +60.12.0.0/16 +60.13.0.0/18 +60.13.64.0/18 +60.13.128.0/17 +60.14.0.0/15 +60.16.0.0/13 +60.24.0.0/14 +60.28.0.0/15 +60.30.0.0/16 +60.31.0.0/16 +60.55.0.0/16 +60.63.0.0/16 +60.160.0.0/15 +60.162.0.0/15 +60.164.0.0/15 +60.166.0.0/15 +60.168.0.0/13 +60.176.0.0/12 +60.194.0.0/15 +60.200.0.0/14 +60.204.0.0/16 +60.205.0.0/16 +60.206.0.0/15 +60.208.0.0/13 +60.216.0.0/15 +60.218.0.0/15 +60.220.0.0/14 +60.232.0.0/15 +60.235.0.0/16 +60.245.128.0/17 +60.247.0.0/16 +60.252.0.0/16 +60.253.128.0/17 +60.255.0.0/16 +61.4.80.0/22 +61.4.84.0/22 +61.4.88.0/21 +61.4.176.0/20 +61.8.160.0/20 +61.14.212.0/22 +61.14.216.0/22 +61.14.220.0/22 +61.14.240.0/22 +61.14.244.0/22 +61.28.0.0/20 +61.28.16.0/20 +61.28.32.0/19 +61.28.64.0/18 +61.29.128.0/18 +61.29.192.0/19 +61.29.224.0/20 +61.29.240.0/20 +61.45.128.0/18 +61.45.224.0/20 +61.47.128.0/18 +61.48.0.0/14 +61.52.0.0/15 +61.54.0.0/16 +61.55.0.0/16 +61.87.192.0/18 +61.128.0.0/15 +61.130.0.0/15 +61.132.0.0/16 +61.133.0.0/17 +61.133.128.0/17 +61.134.0.0/18 +61.134.64.0/19 +61.134.96.0/19 +61.134.128.0/18 +61.134.192.0/18 +61.135.0.0/16 +61.136.0.0/18 +61.136.64.0/18 +61.136.128.0/17 +61.137.0.0/17 +61.137.128.0/17 +61.138.0.0/18 +61.138.64.0/18 +61.138.128.0/18 +61.138.192.0/18 +61.139.0.0/17 +61.139.128.0/18 +61.139.192.0/18 +61.140.0.0/14 +61.144.0.0/14 +61.148.0.0/15 +61.150.0.0/15 +61.152.0.0/16 +61.153.0.0/16 +61.154.0.0/15 +61.156.0.0/16 +61.157.0.0/16 +61.158.0.0/17 +61.158.128.0/17 +61.159.0.0/18 +61.159.64.0/18 +61.159.128.0/17 +61.160.0.0/16 +61.161.0.0/18 +61.161.64.0/18 +61.161.128.0/17 +61.162.0.0/16 +61.163.0.0/16 +61.164.0.0/16 +61.165.0.0/16 +61.166.0.0/16 +61.167.0.0/16 +61.168.0.0/16 +61.169.0.0/16 +61.170.0.0/15 +61.172.0.0/14 +61.176.0.0/16 +61.177.0.0/16 +61.178.0.0/16 +61.179.0.0/16 +61.180.0.0/17 +61.180.128.0/17 +61.181.0.0/16 +61.182.0.0/16 +61.183.0.0/16 +61.184.0.0/14 +61.188.0.0/16 +61.189.0.0/17 +61.189.128.0/17 +61.190.0.0/15 +61.232.0.0/14 +61.236.0.0/15 +61.240.0.0/14 +62.234.0.0/16 +68.79.0.0/18 +69.230.192.0/18 +69.231.128.0/18 +69.234.192.0/18 +69.235.128.0/18 +71.131.192.0/18 +71.132.0.0/18 +71.136.64.0/18 +71.137.0.0/18 +81.68.0.0/14 +82.156.0.0/15 +94.191.0.0/17 +101.0.0.0/22 +101.1.0.0/22 +101.2.172.0/22 +101.4.0.0/14 +101.16.0.0/12 +101.32.0.0/14 +101.36.0.0/17 +101.36.128.0/17 +101.37.0.0/16 +101.38.0.0/15 +101.40.0.0/13 +101.48.0.0/15 +101.50.8.0/22 +101.50.12.0/22 +101.50.56.0/22 +101.52.0.0/16 +101.53.100.0/22 +101.54.0.0/16 +101.55.224.0/21 +101.64.0.0/13 +101.72.0.0/14 +101.76.0.0/15 +101.78.0.0/22 +101.78.32.0/19 +101.80.0.0/12 +101.96.0.0/21 +101.96.8.0/22 +101.96.16.0/20 +101.96.128.0/17 +101.99.96.0/19 +101.101.64.0/19 +101.101.100.0/24 +101.101.102.0/23 +101.101.104.0/21 +101.101.112.0/20 +101.102.64.0/19 +101.102.100.0/23 +101.102.102.0/24 +101.102.104.0/21 +101.102.112.0/20 +101.104.0.0/14 +101.110.64.0/19 +101.110.96.0/20 +101.110.116.0/22 +101.110.120.0/21 +101.120.0.0/14 +101.124.0.0/15 +101.126.0.0/16 +101.128.0.0/22 +101.128.8.0/21 +101.128.16.0/20 +101.128.32.0/19 +101.129.0.0/16 +101.130.0.0/15 +101.132.0.0/14 +101.144.0.0/12 +101.192.0.0/14 +101.196.0.0/16 +101.197.0.0/16 +101.198.0.0/15 +101.200.0.0/15 +101.203.128.0/19 +101.203.160.0/21 +101.203.172.0/22 +101.203.176.0/20 +101.204.0.0/14 +101.224.0.0/13 +101.232.0.0/15 +101.234.64.0/21 +101.234.76.0/22 +101.234.80.0/20 +101.234.96.0/19 +101.236.0.0/14 +101.240.0.0/14 +101.244.0.0/14 +101.248.0.0/15 +101.251.0.0/22 +101.251.8.0/21 +101.251.16.0/20 +101.251.32.0/19 +101.251.64.0/18 +101.251.128.0/17 +101.252.0.0/15 +101.254.0.0/16 +103.1.8.0/22 +103.1.20.0/22 +103.1.24.0/22 +103.1.72.0/22 +103.1.88.0/22 +103.1.168.0/22 +103.2.108.0/22 +103.2.156.0/22 +103.2.164.0/22 +103.2.200.0/22 +103.2.204.0/22 +103.2.208.0/22 +103.2.212.0/22 +103.3.84.0/22 +103.3.88.0/22 +103.3.92.0/22 +103.3.96.0/22 +103.3.100.0/22 +103.3.104.0/22 +103.3.108.0/22 +103.3.112.0/22 +103.3.116.0/22 +103.3.120.0/22 +103.3.124.0/22 +103.3.128.0/22 +103.3.132.0/22 +103.3.136.0/22 +103.3.140.0/22 +103.3.148.0/22 +103.3.152.0/22 +103.3.156.0/22 +103.4.56.0/22 +103.4.168.0/22 +103.4.184.0/22 +103.4.224.0/22 +103.5.36.0/22 +103.5.52.0/22 +103.5.56.0/22 +103.5.152.0/22 +103.5.168.0/22 +103.5.192.0/22 +103.5.252.0/22 +103.6.76.0/22 +103.6.108.0/22 +103.6.220.0/22 +103.6.228.0/22 +103.7.4.0/22 +103.7.28.0/22 +103.7.140.0/22 +103.7.212.0/22 +103.7.216.0/22 +103.7.220.0/22 +103.8.0.0/22 +103.8.4.0/22 +103.8.8.0/22 +103.8.32.0/22 +103.8.52.0/22 +103.8.68.0/22 +103.8.108.0/22 +103.8.156.0/22 +103.8.200.0/22 +103.8.204.0/22 +103.8.220.0/22 +103.9.8.0/22 +103.9.24.0/22 +103.9.108.0/22 +103.9.152.0/22 +103.9.192.0/22 +103.9.248.0/22 +103.9.252.0/22 +103.10.0.0/22 +103.10.16.0/22 +103.10.84.0/22 +103.10.140.0/22 +103.11.16.0/22 +103.11.168.0/22 +103.11.180.0/22 +103.12.32.0/22 +103.12.68.0/22 +103.12.92.0/22 +103.12.136.0/22 +103.12.184.0/22 +103.12.232.0/22 +103.13.12.0/22 +103.13.72.0/23 +103.13.124.0/22 +103.13.144.0/22 +103.13.196.0/22 +103.13.220.0/22 +103.13.244.0/22 +103.14.32.0/22 +103.14.84.0/22 +103.14.100.0/22 +103.14.132.0/22 +103.14.136.0/22 +103.14.156.0/22 +103.14.240.0/22 +103.15.4.0/22 +103.15.8.0/22 +103.15.16.0/22 +103.15.96.0/22 +103.15.200.0/22 +103.16.52.0/22 +103.16.80.0/22 +103.16.84.0/22 +103.16.88.0/22 +103.16.108.0/22 +103.16.124.0/22 +103.17.40.0/22 +103.17.64.0/22 +103.17.120.0/22 +103.17.136.0/22 +103.17.160.0/22 +103.17.204.0/22 +103.17.228.0/22 +103.18.192.0/22 +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 +103.19.64.0/22 +103.19.68.0/22 +103.19.72.0/22 +103.19.232.0/22 +103.20.12.0/22 +103.20.32.0/22 +103.20.44.0/22 +103.20.68.0/22 +103.20.112.0/22 +103.20.128.0/22 +103.20.160.0/22 +103.20.248.0/22 +103.21.112.0/22 +103.21.116.0/22 +103.21.136.0/22 +103.21.140.0/22 +103.21.176.0/22 +103.21.208.0/22 +103.21.240.0/22 +103.22.0.0/22 +103.22.4.0/22 +103.22.8.0/22 +103.22.12.0/22 +103.22.16.0/22 +103.22.20.0/22 +103.22.24.0/22 +103.22.28.0/22 +103.22.32.0/22 +103.22.36.0/22 +103.22.40.0/22 +103.22.44.0/22 +103.22.48.0/22 +103.22.52.0/22 +103.22.56.0/22 +103.22.60.0/22 +103.22.64.0/22 +103.22.68.0/22 +103.22.72.0/22 +103.22.76.0/22 +103.22.80.0/22 +103.22.84.0/22 +103.22.88.0/22 +103.22.92.0/22 +103.22.100.0/22 +103.22.104.0/22 +103.22.108.0/22 +103.22.112.0/22 +103.22.116.0/22 +103.22.120.0/22 +103.22.124.0/22 +103.22.188.0/22 +103.22.228.0/22 +103.22.252.0/22 +103.23.8.0/22 +103.23.56.0/22 +103.23.160.0/22 +103.23.164.0/22 +103.23.176.0/22 +103.23.228.0/22 +103.24.24.0/22 +103.24.116.0/22 +103.24.128.0/22 +103.24.144.0/22 +103.24.176.0/22 +103.24.184.0/22 +103.24.220.0/22 +103.24.228.0/22 +103.24.248.0/22 +103.24.252.0/22 +103.25.8.0/23 +103.25.20.0/22 +103.25.24.0/22 +103.25.28.0/22 +103.25.32.0/22 +103.25.36.0/22 +103.25.40.0/22 +103.25.48.0/22 +103.25.64.0/22 +103.25.68.0/22 +103.25.148.0/22 +103.25.156.0/22 +103.25.216.0/22 +103.26.0.0/22 +103.26.64.0/22 +103.26.76.0/22 +103.26.132.0/22 +103.26.156.0/22 +103.26.160.0/22 +103.26.228.0/22 +103.26.240.0/22 +103.27.4.0/22 +103.27.12.0/22 +103.27.24.0/22 +103.27.56.0/22 +103.27.96.0/22 +103.27.184.0/22 +103.27.208.0/22 +103.27.212.0/22 +103.27.240.0/22 +103.28.4.0/22 +103.28.8.0/22 +103.28.184.0/22 +103.28.204.0/22 +103.28.212.0/22 +103.29.16.0/22 +103.29.128.0/22 +103.29.132.0/22 +103.29.136.0/22 +103.30.20.0/22 +103.30.96.0/22 +103.30.148.0/22 +103.30.200.0/22 +103.30.228.0/22 +103.30.236.0/22 +103.31.0.0/22 +103.31.48.0/22 +103.31.52.0/22 +103.31.56.0/22 +103.31.60.0/22 +103.31.64.0/22 +103.31.68.0/22 +103.31.148.0/22 +103.31.160.0/22 +103.31.168.0/22 +103.31.200.0/22 +103.31.236.0/22 +103.32.0.0/22 +103.32.4.0/22 +103.32.8.0/22 +103.32.12.0/22 +103.32.16.0/22 +103.32.20.0/22 +103.32.24.0/22 +103.32.28.0/22 +103.32.32.0/22 +103.32.36.0/22 +103.32.40.0/22 +103.32.44.0/22 +103.32.48.0/22 +103.32.52.0/22 +103.32.56.0/22 +103.32.60.0/22 +103.32.64.0/22 +103.32.68.0/22 +103.32.72.0/22 +103.32.76.0/22 +103.32.80.0/22 +103.32.84.0/22 +103.32.88.0/22 +103.32.92.0/22 +103.32.96.0/22 +103.32.100.0/22 +103.32.104.0/22 +103.32.108.0/22 +103.32.112.0/22 +103.32.116.0/22 +103.32.120.0/22 +103.32.124.0/22 +103.32.128.0/22 +103.32.132.0/22 +103.32.136.0/22 +103.32.140.0/22 +103.32.144.0/22 +103.32.148.0/22 +103.32.152.0/22 +103.32.156.0/22 +103.32.160.0/22 +103.32.164.0/22 +103.32.168.0/22 +103.32.172.0/22 +103.32.176.0/22 +103.32.180.0/22 +103.32.184.0/22 +103.32.188.0/22 +103.32.192.0/22 +103.32.196.0/22 +103.32.200.0/22 +103.32.204.0/22 +103.32.208.0/22 +103.32.212.0/22 +103.32.216.0/22 +103.32.220.0/22 +103.32.224.0/22 +103.32.228.0/22 +103.32.232.0/22 +103.32.236.0/22 +103.32.240.0/22 +103.32.244.0/22 +103.32.248.0/22 +103.32.252.0/22 +103.33.0.0/22 +103.33.4.0/22 +103.33.8.0/22 +103.33.12.0/22 +103.33.16.0/22 +103.33.20.0/22 +103.33.24.0/22 +103.33.28.0/22 +103.33.32.0/22 +103.33.36.0/22 +103.33.40.0/22 +103.33.44.0/22 +103.33.48.0/22 +103.33.52.0/22 +103.33.56.0/22 +103.33.60.0/22 +103.33.64.0/22 +103.33.68.0/22 +103.33.72.0/22 +103.33.76.0/22 +103.33.80.0/22 +103.33.84.0/22 +103.33.88.0/22 +103.33.92.0/22 +103.33.96.0/22 +103.33.100.0/22 +103.33.104.0/22 +103.33.108.0/22 +103.33.112.0/22 +103.33.116.0/22 +103.33.120.0/22 +103.33.124.0/22 +103.33.128.0/22 +103.33.132.0/22 +103.33.136.0/22 +103.33.140.0/22 +103.33.144.0/22 +103.33.148.0/22 +103.33.152.0/22 +103.33.156.0/22 +103.33.160.0/22 +103.33.164.0/22 +103.33.168.0/22 +103.33.172.0/22 +103.33.176.0/22 +103.33.180.0/22 +103.33.184.0/22 +103.33.188.0/22 +103.33.192.0/22 +103.33.196.0/22 +103.33.200.0/22 +103.33.204.0/22 +103.33.208.0/22 +103.33.212.0/22 +103.33.216.0/22 +103.33.220.0/22 +103.33.224.0/22 +103.33.228.0/22 +103.33.232.0/22 +103.33.236.0/22 +103.33.240.0/22 +103.33.244.0/22 +103.33.248.0/22 +103.33.252.0/22 +103.34.0.0/22 +103.34.4.0/22 +103.34.8.0/22 +103.34.12.0/22 +103.34.16.0/22 +103.34.20.0/22 +103.34.24.0/22 +103.34.28.0/22 +103.34.32.0/22 +103.34.36.0/22 +103.34.40.0/22 +103.34.44.0/22 +103.34.48.0/22 +103.34.52.0/22 +103.34.56.0/22 +103.34.60.0/22 +103.34.64.0/22 +103.34.68.0/22 +103.34.72.0/22 +103.34.76.0/22 +103.34.80.0/22 +103.34.84.0/22 +103.34.88.0/22 +103.34.92.0/22 +103.34.96.0/22 +103.34.100.0/22 +103.34.104.0/22 +103.34.108.0/22 +103.34.112.0/22 +103.34.116.0/22 +103.34.120.0/22 +103.34.124.0/22 +103.34.128.0/22 +103.34.132.0/22 +103.34.136.0/22 +103.34.140.0/22 +103.34.144.0/22 +103.34.148.0/22 +103.34.152.0/22 +103.34.156.0/22 +103.34.160.0/22 +103.34.164.0/22 +103.34.168.0/22 +103.34.172.0/22 +103.34.176.0/22 +103.34.180.0/22 +103.34.184.0/22 +103.34.188.0/22 +103.34.192.0/22 +103.34.196.0/22 +103.34.200.0/22 +103.34.204.0/22 +103.34.208.0/22 +103.34.212.0/22 +103.34.216.0/22 +103.34.220.0/22 +103.34.224.0/22 +103.34.228.0/22 +103.34.232.0/22 +103.34.236.0/22 +103.34.240.0/22 +103.34.244.0/22 +103.34.248.0/22 +103.34.252.0/22 +103.35.0.0/22 +103.35.4.0/22 +103.35.8.0/22 +103.35.12.0/22 +103.35.16.0/22 +103.35.20.0/22 +103.35.24.0/22 +103.35.28.0/22 +103.35.32.0/22 +103.35.36.0/22 +103.35.40.0/22 +103.35.44.0/22 +103.35.48.0/22 +103.35.104.0/22 +103.35.116.0/22 +103.35.180.0/22 +103.35.200.0/22 +103.35.220.0/22 +103.36.20.0/22 +103.36.28.0/22 +103.36.36.0/22 +103.36.56.0/22 +103.36.60.0/22 +103.36.64.0/22 +103.36.72.0/22 +103.36.96.0/22 +103.36.132.0/22 +103.36.136.0/22 +103.36.160.0/22 +103.36.164.0/22 +103.36.168.0/22 +103.36.172.0/22 +103.36.176.0/22 +103.36.180.0/22 +103.36.184.0/22 +103.36.188.0/22 +103.36.192.0/22 +103.36.196.0/22 +103.36.200.0/22 +103.36.204.0/22 +103.36.208.0/22 +103.36.212.0/22 +103.36.216.0/22 +103.36.220.0/22 +103.36.224.0/22 +103.36.228.0/22 +103.36.232.0/22 +103.36.236.0/22 +103.36.240.0/22 +103.36.244.0/22 +103.37.0.0/22 +103.37.12.0/22 +103.37.16.0/22 +103.37.24.0/22 +103.37.44.0/22 +103.37.52.0/22 +103.37.56.0/22 +103.37.72.0/22 +103.37.100.0/22 +103.37.104.0/22 +103.37.124.0/22 +103.37.136.0/22 +103.37.140.0/22 +103.37.144.0/22 +103.37.148.0/22 +103.37.152.0/22 +103.37.156.0/22 +103.37.160.0/22 +103.37.164.0/22 +103.37.172.0/22 +103.37.176.0/22 +103.37.188.0/22 +103.37.208.0/22 +103.37.212.0/22 +103.37.216.0/22 +103.37.220.0/22 +103.37.248.0/22 +103.37.252.0/22 +103.38.0.0/22 +103.38.32.0/22 +103.38.40.0/22 +103.38.44.0/22 +103.38.56.0/22 +103.38.76.0/22 +103.38.84.0/22 +103.38.92.0/22 +103.38.96.0/22 +103.38.116.0/22 +103.38.132.0/22 +103.38.140.0/22 +103.38.224.0/22 +103.38.228.0/22 +103.38.232.0/22 +103.38.252.0/22 +103.39.16.0/22 +103.39.64.0/22 +103.39.88.0/22 +103.39.100.0/22 +103.39.104.0/22 +103.39.108.0/22 +103.39.160.0/22 +103.39.164.0/22 +103.39.168.0/22 +103.39.172.0/22 +103.39.176.0/22 +103.39.180.0/22 +103.39.184.0/22 +103.39.188.0/22 +103.39.200.0/22 +103.39.204.0/22 +103.39.208.0/22 +103.39.212.0/22 +103.39.216.0/22 +103.39.220.0/22 +103.39.224.0/22 +103.39.228.0/22 +103.39.232.0/22 +103.40.12.0/22 +103.40.16.0/22 +103.40.20.0/22 +103.40.24.0/22 +103.40.28.0/22 +103.40.32.0/22 +103.40.36.0/22 +103.40.40.0/22 +103.40.44.0/22 +103.40.88.0/22 +103.40.100.0/22 +103.40.112.0/22 +103.40.192.0/22 +103.40.212.0/22 +103.40.220.0/22 +103.40.228.0/22 +103.40.232.0/22 +103.40.236.0/22 +103.40.240.0/22 +103.40.244.0/22 +103.40.248.0/22 +103.40.252.0/22 +103.41.0.0/22 +103.41.16.0/22 +103.41.52.0/22 +103.41.140.0/22 +103.41.148.0/22 +103.41.152.0/22 +103.41.160.0/22 +103.41.164.0/22 +103.41.220.0/22 +103.41.224.0/22 +103.41.228.0/22 +103.41.232.0/22 +103.42.8.0/22 +103.42.24.0/22 +103.42.28.0/22 +103.42.32.0/22 +103.42.64.0/22 +103.42.68.0/22 +103.42.76.0/22 +103.42.104.0/22 +103.42.180.0/22 +103.42.232.0/22 +103.43.16.0/22 +103.43.84.0/22 +103.43.96.0/22 +103.43.100.0/22 +103.43.104.0/22 +103.43.124.0/22 +103.43.184.0/22 +103.43.192.0/22 +103.43.196.0/22 +103.43.208.0/22 +103.43.220.0/22 +103.43.224.0/22 +103.43.232.0/22 +103.43.240.0/22 +103.44.56.0/22 +103.44.80.0/22 +103.44.88.0/22 +103.44.120.0/22 +103.44.124.0/22 +103.44.132.0/22 +103.44.144.0/22 +103.44.168.0/22 +103.44.176.0/22 +103.44.180.0/22 +103.44.184.0/22 +103.44.188.0/22 +103.44.192.0/22 +103.44.196.0/22 +103.44.200.0/22 +103.44.204.0/22 +103.44.224.0/22 +103.44.236.0/22 +103.44.240.0/22 +103.44.244.0/22 +103.44.248.0/22 +103.44.252.0/22 +103.45.0.0/22 +103.45.4.0/22 +103.45.8.0/22 +103.45.12.0/22 +103.45.16.0/22 +103.45.20.0/22 +103.45.24.0/22 +103.45.28.0/22 +103.45.32.0/22 +103.45.36.0/22 +103.45.40.0/22 +103.45.44.0/22 +103.45.48.0/22 +103.45.52.0/22 +103.45.56.0/22 +103.45.60.0/22 +103.45.72.0/22 +103.45.76.0/22 +103.45.80.0/22 +103.45.84.0/22 +103.45.88.0/22 +103.45.92.0/22 +103.45.96.0/22 +103.45.100.0/22 +103.45.104.0/22 +103.45.108.0/22 +103.45.112.0/22 +103.45.116.0/22 +103.45.120.0/22 +103.45.124.0/22 +103.45.128.0/22 +103.45.132.0/22 +103.45.136.0/22 +103.45.140.0/22 +103.45.144.0/22 +103.45.148.0/22 +103.45.152.0/22 +103.45.156.0/22 +103.45.160.0/22 +103.45.164.0/22 +103.45.168.0/22 +103.45.172.0/22 +103.45.176.0/22 +103.45.180.0/22 +103.45.184.0/22 +103.45.188.0/22 +103.45.192.0/22 +103.45.196.0/22 +103.45.200.0/22 +103.45.204.0/22 +103.45.208.0/22 +103.45.212.0/22 +103.45.216.0/22 +103.45.220.0/22 +103.45.224.0/22 +103.45.248.0/22 +103.46.0.0/22 +103.46.12.0/22 +103.46.16.0/22 +103.46.20.0/22 +103.46.24.0/22 +103.46.28.0/22 +103.46.32.0/22 +103.46.36.0/22 +103.46.40.0/22 +103.46.44.0/22 +103.46.48.0/22 +103.46.52.0/22 +103.46.56.0/22 +103.46.60.0/22 +103.46.64.0/22 +103.46.68.0/22 +103.46.72.0/22 +103.46.76.0/22 +103.46.80.0/22 +103.46.84.0/22 +103.46.88.0/22 +103.46.92.0/22 +103.46.96.0/22 +103.46.100.0/22 +103.46.104.0/22 +103.46.108.0/22 +103.46.112.0/22 +103.46.116.0/22 +103.46.120.0/22 +103.46.124.0/22 +103.46.128.0/22 +103.46.132.0/22 +103.46.136.0/22 +103.46.152.0/22 +103.46.156.0/22 +103.46.160.0/22 +103.46.164.0/22 +103.46.168.0/22 +103.46.172.0/22 +103.46.176.0/22 +103.46.180.0/22 +103.46.244.0/22 +103.46.248.0/22 +103.47.4.0/22 +103.47.20.0/22 +103.47.36.0/22 +103.47.40.0/22 +103.47.48.0/22 +103.47.80.0/22 +103.47.96.0/22 +103.47.108.0/22 +103.47.116.0/22 +103.47.120.0/22 +103.47.136.0/22 +103.47.140.0/22 +103.47.212.0/22 +103.48.20.0/22 +103.48.52.0/22 +103.48.92.0/22 +103.48.144.0/22 +103.48.148.0/22 +103.48.152.0/22 +103.48.156.0/22 +103.48.202.0/23 +103.48.216.0/22 +103.48.220.0/22 +103.48.224.0/22 +103.48.228.0/22 +103.48.232.0/22 +103.48.236.0/22 +103.48.240.0/22 +103.48.244.0/22 +103.49.12.0/22 +103.49.20.0/22 +103.49.72.0/22 +103.49.76.0/22 +103.49.92.0/22 +103.49.96.0/22 +103.49.108.0/22 +103.49.128.0/22 +103.49.176.0/22 +103.49.180.0/22 +103.49.196.0/22 +103.49.248.0/22 +103.50.36.0/22 +103.50.44.0/22 +103.50.48.0/22 +103.50.52.0/22 +103.50.56.0/22 +103.50.60.0/22 +103.50.64.0/22 +103.50.68.0/22 +103.50.72.0/22 +103.50.108.0/22 +103.50.112.0/22 +103.50.116.0/22 +103.50.120.0/22 +103.50.124.0/22 +103.50.132.0/22 +103.50.136.0/22 +103.50.140.0/22 +103.50.172.0/22 +103.50.176.0/22 +103.50.180.0/22 +103.50.184.0/22 +103.50.188.0/22 +103.50.192.0/22 +103.50.196.0/22 +103.50.200.0/22 +103.50.220.0/22 +103.50.224.0/22 +103.50.228.0/22 +103.50.232.0/22 +103.50.236.0/22 +103.50.240.0/22 +103.50.244.0/22 +103.50.248.0/22 +103.52.40.0/22 +103.52.72.0/22 +103.52.76.0/22 +103.52.80.0/22 +103.52.84.0/22 +103.52.96.0/22 +103.52.100.0/22 +103.52.104.0/22 +103.52.160.0/22 +103.52.164.0/22 +103.52.172.0/22 +103.52.176.0/22 +103.52.184.0/22 +103.52.196.0/22 +103.53.4.0/22 +103.53.64.0/22 +103.53.68.0/22 +103.53.92.0/22 +103.53.100.0/22 +103.53.124.0/22 +103.53.128.0/22 +103.53.132.0/22 +103.53.136.0/22 +103.53.140.0/22 +103.53.144.0/22 +103.53.180.0/22 +103.53.204.0/22 +103.53.208.0/22 +103.53.212.0/22 +103.53.216.0/22 +103.53.236.0/22 +103.53.248.0/22 +103.54.8.0/22 +103.54.48.0/22 +103.54.60.0/22 +103.54.160.0/22 +103.54.164.0/22 +103.54.212.0/22 +103.54.240.0/22 +103.55.24.0/22 +103.55.80.0/22 +103.55.120.0/22 +103.55.152.0/22 +103.55.172.0/22 +103.55.204.0/22 +103.55.208.0/22 +103.55.228.0/22 +103.55.236.0/22 +103.56.8.0/22 +103.56.16.0/22 +103.56.20.0/22 +103.56.32.0/22 +103.56.52.0/22 +103.56.56.0/22 +103.56.60.0/22 +103.56.72.0/22 +103.56.76.0/22 +103.56.140.0/22 +103.56.152.0/22 +103.56.184.0/22 +103.56.200.0/22 +103.57.12.0/22 +103.57.52.0/22 +103.57.56.0/22 +103.57.76.0/22 +103.57.136.0/22 +103.57.196.0/22 +103.58.24.0/22 +103.59.76.0/22 +103.59.100.0/22 +103.59.112.0/22 +103.59.116.0/22 +103.59.120.0/22 +103.59.124.0/22 +103.59.128.0/22 +103.59.148.0/22 +103.59.164.0/22 +103.60.32.0/22 +103.60.44.0/22 +103.60.164.0/22 +103.60.228.0/22 +103.60.236.0/22 +103.61.60.0/22 +103.61.104.0/22 +103.61.140.0/22 +103.61.152.0/22 +103.61.156.0/22 +103.61.160.0/22 +103.61.172.0/22 +103.61.176.0/22 +103.61.184.0/22 +103.61.188.0/22 +103.62.24.0/22 +103.62.52.0/22 +103.62.72.0/22 +103.62.76.0/22 +103.62.80.0/22 +103.62.84.0/22 +103.62.88.0/22 +103.62.96.0/22 +103.62.100.0/22 +103.62.104.0/22 +103.62.108.0/22 +103.62.112.0/22 +103.62.116.0/22 +103.62.120.0/22 +103.62.124.0/22 +103.62.128.0/22 +103.62.132.0/22 +103.62.156.0/22 +103.62.160.0/22 +103.62.164.0/22 +103.62.168.0/22 +103.62.172.0/22 +103.62.176.0/22 +103.62.180.0/22 +103.62.184.0/22 +103.62.188.0/22 +103.62.192.0/22 +103.62.204.0/22 +103.62.208.0/22 +103.62.212.0/22 +103.62.216.0/22 +103.62.220.0/22 +103.62.224.0/22 +103.63.32.0/22 +103.63.36.0/22 +103.63.40.0/22 +103.63.44.0/22 +103.63.48.0/22 +103.63.52.0/22 +103.63.56.0/22 +103.63.60.0/22 +103.63.64.0/22 +103.63.68.0/22 +103.63.72.0/22 +103.63.76.0/22 +103.63.80.0/22 +103.63.84.0/22 +103.63.88.0/22 +103.63.140.0/22 +103.63.144.0/22 +103.63.152.0/22 +103.63.160.0/22 +103.63.164.0/22 +103.63.168.0/22 +103.63.172.0/22 +103.63.176.0/22 +103.63.180.0/22 +103.63.184.0/22 +103.63.192.0/22 +103.63.196.0/22 +103.63.200.0/22 +103.63.204.0/22 +103.63.208.0/22 +103.63.240.0/22 +103.63.244.0/22 +103.63.248.0/22 +103.63.252.0/22 +103.64.0.0/22 +103.64.4.0/22 +103.64.24.0/22 +103.64.28.0/22 +103.64.32.0/22 +103.64.36.0/22 +103.64.40.0/22 +103.64.44.0/22 +103.64.48.0/22 +103.64.52.0/22 +103.64.56.0/22 +103.64.60.0/22 +103.64.64.0/22 +103.64.68.0/22 +103.64.72.0/22 +103.64.76.0/22 +103.64.80.0/22 +103.64.84.0/22 +103.64.88.0/22 +103.64.92.0/22 +103.64.96.0/22 +103.64.100.0/22 +103.64.104.0/22 +103.64.108.0/22 +103.64.112.0/22 +103.64.116.0/22 +103.64.120.0/22 +103.64.124.0/22 +103.64.140.0/22 +103.64.144.0/22 +103.64.152.0/22 +103.64.156.0/22 +103.64.160.0/22 +103.64.164.0/22 +103.64.168.0/22 +103.64.172.0/22 +103.64.176.0/22 +103.64.180.0/22 +103.64.184.0/22 +103.64.188.0/22 +103.64.192.0/22 +103.64.196.0/22 +103.64.200.0/22 +103.64.204.0/22 +103.64.208.0/22 +103.64.212.0/22 +103.64.216.0/22 +103.64.220.0/22 +103.64.224.0/22 +103.64.228.0/22 +103.64.232.0/22 +103.64.236.0/22 +103.64.240.0/22 +103.64.244.0/22 +103.64.248.0/22 +103.64.252.0/22 +103.65.0.0/22 +103.65.4.0/22 +103.65.8.0/22 +103.65.12.0/22 +103.65.16.0/22 +103.65.36.0/22 +103.65.40.0/22 +103.65.48.0/22 +103.65.52.0/22 +103.65.56.0/22 +103.65.60.0/22 +103.65.64.0/22 +103.65.68.0/22 +103.65.72.0/22 +103.65.76.0/22 +103.65.80.0/22 +103.65.84.0/22 +103.65.88.0/22 +103.65.92.0/22 +103.65.100.0/22 +103.65.104.0/22 +103.65.108.0/22 +103.65.112.0/22 +103.65.144.0/22 +103.65.148.0/22 +103.65.152.0/22 +103.65.156.0/22 +103.65.160.0/22 +103.65.164.0/22 +103.65.168.0/22 +103.65.172.0/22 +103.66.32.0/22 +103.66.40.0/22 +103.66.92.0/22 +103.66.108.0/22 +103.66.200.0/22 +103.66.216.0/22 +103.66.240.0/22 +103.66.244.0/22 +103.66.248.0/22 +103.66.252.0/22 +103.67.0.0/22 +103.67.4.0/22 +103.67.8.0/22 +103.67.100.0/22 +103.67.104.0/22 +103.67.108.0/22 +103.67.112.0/22 +103.67.116.0/22 +103.67.120.0/22 +103.67.124.0/22 +103.67.128.0/22 +103.67.132.0/22 +103.67.136.0/22 +103.67.140.0/22 +103.67.144.0/22 +103.67.148.0/22 +103.67.172.0/22 +103.67.192.0/22 +103.67.212.0/22 +103.67.252.0/22 +103.68.64.0/22 +103.68.88.0/22 +103.68.100.0/22 +103.68.128.0/22 +103.68.192.0/22 +103.69.16.0/22 +103.69.116.0/22 +103.69.132.0/22 +103.69.152.0/22 +103.69.212.0/22 +103.70.8.0/22 +103.70.148.0/22 +103.70.184.0/22 +103.70.220.0/22 +103.70.224.0/22 +103.70.236.0/22 +103.70.252.0/22 +103.71.0.0/22 +103.71.32.0/22 +103.71.48.0/22 +103.71.68.0/22 +103.71.72.0/22 +103.71.80.0/22 +103.71.84.0/22 +103.71.88.0/22 +103.71.120.0/22 +103.71.124.0/22 +103.71.128.0/22 +103.71.144.0/22 +103.71.196.0/22 +103.71.200.0/22 +103.71.232.0/22 +103.72.12.0/22 +103.72.16.0/22 +103.72.20.0/22 +103.72.24.0/22 +103.72.28.0/22 +103.72.32.0/22 +103.72.36.0/22 +103.72.40.0/22 +103.72.44.0/22 +103.72.48.0/22 +103.72.52.0/22 +103.72.112.0/22 +103.72.116.0/22 +103.72.120.0/22 +103.72.124.0/22 +103.72.128.0/22 +103.72.132.0/22 +103.72.144.0/22 +103.72.148.0/22 +103.72.172.0/22 +103.72.180.0/22 +103.72.224.0/22 +103.72.228.0/22 +103.72.232.0/22 +103.72.236.0/22 +103.72.240.0/22 +103.72.244.0/22 +103.72.248.0/22 +103.72.252.0/22 +103.73.0.0/22 +103.73.4.0/22 +103.73.8.0/22 +103.73.12.0/22 +103.73.16.0/22 +103.73.20.0/22 +103.73.24.0/22 +103.73.28.0/22 +103.73.48.0/22 +103.73.88.0/22 +103.73.96.0/22 +103.73.116.0/22 +103.73.120.0/22 +103.73.128.0/22 +103.73.132.0/22 +103.73.136.0/22 +103.73.140.0/22 +103.73.144.0/22 +103.73.168.0/22 +103.73.176.0/22 +103.73.204.0/22 +103.73.208.0/22 +103.73.240.0/22 +103.73.244.0/22 +103.73.248.0/22 +103.74.24.0/22 +103.74.28.0/22 +103.74.32.0/22 +103.74.36.0/22 +103.74.40.0/22 +103.74.44.0/22 +103.74.48.0/22 +103.74.56.0/22 +103.74.60.0/22 +103.74.80.0/22 +103.74.124.0/22 +103.74.148.0/22 +103.74.152.0/22 +103.74.156.0/22 +103.74.204.0/22 +103.74.232.0/22 +103.75.16.0/22 +103.75.88.0/22 +103.75.92.0/22 +103.75.104.0/22 +103.75.108.0/22 +103.75.112.0/22 +103.75.120.0/22 +103.75.128.0/22 +103.75.144.0/22 +103.75.152.0/22 +103.75.236.0/24 +103.76.60.0/22 +103.76.64.0/22 +103.76.68.0/22 +103.76.72.0/22 +103.76.84.0/22 +103.76.92.0/22 +103.76.104.0/22 +103.76.216.0/22 +103.76.220.0/22 +103.76.224.0/22 +103.77.28.0/22 +103.77.52.0/22 +103.77.56.0/22 +103.77.72.0/22 +103.77.88.0/22 +103.77.92.0/22 +103.77.132.0/22 +103.77.148.0/22 +103.77.220.0/22 +103.78.56.0/22 +103.78.60.0/22 +103.78.64.0/22 +103.78.68.0/22 +103.78.124.0/22 +103.78.172.0/22 +103.78.176.0/22 +103.78.196.0/22 +103.78.228.0/22 +103.79.24.0/22 +103.79.28.0/22 +103.79.36.0/22 +103.79.40.0/22 +103.79.44.0/22 +103.79.52.0/22 +103.79.56.0/22 +103.79.60.0/22 +103.79.64.0/22 +103.79.68.0/22 +103.79.80.0/22 +103.79.84.0/22 +103.79.120.0/22 +103.79.136.0/22 +103.79.188.0/22 +103.79.192.0/22 +103.79.196.0/22 +103.79.200.0/22 +103.79.204.0/22 +103.79.208.0/22 +103.79.212.0/22 +103.79.240.0/22 +103.80.24.0/22 +103.80.28.0/22 +103.80.44.0/22 +103.80.72.0/22 +103.80.176.0/22 +103.80.180.0/22 +103.80.184.0/22 +103.80.192.0/22 +103.80.200.0/22 +103.80.232.0/22 +103.81.4.0/22 +103.81.8.0/22 +103.81.16.0/22 +103.81.20.0/22 +103.81.44.0/22 +103.81.48.0/22 +103.81.96.0/22 +103.81.120.0/22 +103.81.148.0/22 +103.81.164.0/22 +103.81.168.0/22 +103.81.183.0/24 +103.81.184.0/22 +103.81.200.0/22 +103.81.232.0/22 +103.82.52.0/22 +103.82.60.0/22 +103.82.68.0/22 +103.82.84.0/22 +103.82.104.0/22 +103.82.224.0/22 +103.82.236.0/22 +103.83.44.0/22 +103.83.52.0/22 +103.83.60.0/22 +103.83.64.0/22 +103.83.72.0/22 +103.83.112.0/22 +103.83.120.0/22 +103.83.180.0/22 +103.84.0.0/22 +103.84.12.0/22 +103.84.16.0/22 +103.84.20.0/22 +103.84.24.0/22 +103.84.28.0/22 +103.84.48.0/22 +103.84.64.0/22 +103.84.72.0/22 +103.84.92.0/22 +103.84.108.0/22 +103.84.136.0/22 +103.85.20.0/22 +103.85.24.0/22 +103.85.44.0/22 +103.85.48.0/22 +103.85.84.0/22 +103.85.136.0/22 +103.85.144.0/22 +103.85.164.0/22 +103.85.168.0/22 +103.85.172.0/22 +103.85.176.0/22 +103.85.224.0/22 +103.86.28.0/22 +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 +103.86.204.0/22 +103.86.208.0/22 +103.86.212.0/22 +103.86.216.0/22 +103.86.220.0/22 +103.86.224.0/22 +103.86.228.0/22 +103.86.232.0/22 +103.86.236.0/22 +103.86.240.0/22 +103.86.244.0/22 +103.86.248.0/22 +103.86.252.0/22 +103.87.0.0/22 +103.87.4.0/22 +103.87.20.0/22 +103.87.32.0/22 +103.87.72.0/22 +103.87.96.0/22 +103.87.132.0/22 +103.87.180.0/22 +103.87.224.0/22 +103.88.4.0/22 +103.88.8.0/22 +103.88.12.0/22 +103.88.16.0/22 +103.88.20.0/22 +103.88.32.0/22 +103.88.36.0/22 +103.88.60.0/22 +103.88.64.0/22 +103.88.72.0/22 +103.88.96.0/22 +103.88.100.0/22 +103.88.164.0/22 +103.88.176.0/22 +103.88.184.0/22 +103.88.188.0/22 +103.88.212.0/22 +103.89.28.0/22 +103.89.96.0/22 +103.89.100.0/22 +103.89.104.0/22 +103.89.108.0/22 +103.89.112.0/22 +103.89.116.0/22 +103.89.148.0/22 +103.89.172.0/22 +103.89.184.0/22 +103.89.188.0/22 +103.89.192.0/22 +103.89.196.0/22 +103.89.200.0/22 +103.89.204.0/22 +103.89.208.0/22 +103.89.212.0/22 +103.89.216.0/22 +103.89.220.0/22 +103.89.224.0/22 +103.89.228.0/22 +103.90.52.0/22 +103.90.92.0/22 +103.90.100.0/22 +103.90.104.0/22 +103.90.108.0/22 +103.90.112.0/22 +103.90.116.0/22 +103.90.120.0/22 +103.90.124.0/22 +103.90.128.0/22 +103.90.132.0/22 +103.90.152.0/22 +103.90.168.0/22 +103.90.173.0/24 +103.90.176.0/22 +103.90.188.0/22 +103.90.192.0/22 +103.91.36.0/22 +103.91.40.0/22 +103.91.108.0/22 +103.91.152.0/22 +103.91.176.0/22 +103.91.200.0/22 +103.91.208.0/22 +103.91.212.0/22 +103.91.219.0/24 +103.91.236.0/22 +103.91.252.0/22 +103.92.0.0/22 +103.92.4.0/22 +103.92.8.0/22 +103.92.12.0/22 +103.92.48.0/22 +103.92.52.0/22 +103.92.56.0/22 +103.92.60.0/22 +103.92.64.0/22 +103.92.68.0/22 +103.92.72.0/22 +103.92.76.0/22 +103.92.80.0/22 +103.92.86.0/24 +103.92.88.0/22 +103.92.108.0/22 +103.92.124.0/22 +103.92.128.0/24 +103.92.132.0/22 +103.92.156.0/22 +103.92.164.0/22 +103.92.168.0/22 +103.92.172.0/22 +103.92.176.0/22 +103.92.180.0/22 +103.92.184.0/22 +103.92.188.0/22 +103.92.192.0/22 +103.92.236.0/22 +103.92.240.0/22 +103.92.244.0/22 +103.92.248.0/22 +103.92.252.0/22 +103.93.0.0/22 +103.93.4.0/22 +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 +103.94.12.0/22 +103.94.20.0/22 +103.94.28.0/22 +103.94.32.0/22 +103.94.36.0/22 +103.94.40.0/22 +103.94.44.0/22 +103.94.72.0/22 +103.94.88.0/22 +103.94.116.0/22 +103.94.160.0/22 +103.94.180.0/22 +103.94.200.0/22 +103.95.28.0/22 +103.95.52.0/22 +103.95.64.0/22 +103.95.68.0/22 +103.95.88.0/22 +103.95.92.0/22 +103.95.116.0/22 +103.95.128.0/22 +103.95.136.0/22 +103.95.140.0/22 +103.95.144.0/22 +103.95.152.0/22 +103.95.207.0/24 +103.95.216.0/22 +103.95.220.0/22 +103.95.224.0/22 +103.95.236.0/22 +103.95.240.0/22 +103.95.244.0/22 +103.95.248.0/22 +103.95.252.0/22 +103.96.0.0/22 +103.96.8.0/22 +103.96.80.0/22 +103.96.124.0/22 +103.96.136.0/22 +103.96.140.0/24 +103.96.148.0/22 +103.96.152.0/22 +103.96.156.0/22 +103.96.160.0/22 +103.96.164.0/22 +103.96.168.0/22 +103.96.172.0/22 +103.96.176.0/22 +103.96.180.0/22 +103.96.184.0/22 +103.96.188.0/22 +103.96.192.0/22 +103.96.196.0/22 +103.96.200.0/22 +103.96.204.0/22 +103.96.208.0/22 +103.96.212.0/22 +103.96.216.0/22 +103.97.8.0/22 +103.97.12.0/22 +103.97.16.0/22 +103.97.20.0/22 +103.97.24.0/22 +103.97.28.0/22 +103.97.32.0/22 +103.97.36.0/22 +103.97.40.0/22 +103.97.56.0/22 +103.97.60.0/22 +103.97.64.0/22 +103.97.68.0/22 +103.97.72.0/22 +103.97.80.0/22 +103.97.112.0/22 +103.97.116.0/22 +103.97.128.0/22 +103.97.144.0/22 +103.97.148.0/22 +103.97.188.0/22 +103.97.192.0/22 +103.97.224.0/22 +103.97.228.0/23 +103.98.28.0/23 +103.98.40.0/22 +103.98.44.0/22 +103.98.48.0/22 +103.98.56.0/22 +103.98.80.0/22 +103.98.88.0/22 +103.98.92.0/22 +103.98.96.0/22 +103.98.100.0/22 +103.98.124.0/22 +103.98.136.0/22 +103.98.140.0/22 +103.98.144.0/22 +103.98.164.0/22 +103.98.168.0/22 +103.98.180.0/22 +103.98.196.0/22 +103.98.216.0/22 +103.98.220.0/22 +103.98.224.0/22 +103.98.228.0/22 +103.98.232.0/22 +103.98.240.0/22 +103.98.244.0/22 +103.98.248.0/22 +103.98.252.0/22 +103.99.40.0/23 +103.99.52.0/22 +103.99.56.0/22 +103.99.60.0/22 +103.99.76.0/22 +103.99.104.0/22 +103.99.116.0/22 +103.99.120.0/22 +103.99.152.0/22 +103.99.220.0/22 +103.99.232.0/22 +103.99.236.0/22 +103.100.0.0/22 +103.100.32.0/22 +103.100.40.0/22 +103.100.48.0/22 +103.100.52.0/22 +103.100.56.0/22 +103.100.60.0/22 +103.100.64.0/22 +103.100.68.0/22 +103.100.88.0/22 +103.100.116.0/22 +103.100.140.0/22 +103.100.144.0/22 +103.100.236.0/22 +103.100.240.0/22 +103.100.248.0/22 +103.100.252.0/22 +103.101.4.0/22 +103.101.8.0/22 +103.101.12.0/22 +103.101.28.0/22 +103.101.60.0/22 +103.101.120.0/22 +103.101.124.0/22 +103.101.144.0/22 +103.101.148.0/22 +103.101.153.0/24 +103.101.180.0/22 +103.101.184.0/22 +103.102.76.0/22 +103.102.80.0/22 +103.102.168.0/22 +103.102.172.0/22 +103.102.180.0/22 +103.102.184.0/22 +103.102.188.0/22 +103.102.192.0/22 +103.102.196.0/22 +103.102.200.0/22 +103.102.208.0/22 +103.102.212.0/22 +103.103.12.0/22 +103.103.16.0/22 +103.103.36.0/22 +103.103.68.0/22 +103.103.72.0/22 +103.103.176.0/22 +103.103.188.0/22 +103.103.200.0/22 +103.103.204.0/22 +103.103.220.0/22 +103.103.224.0/22 +103.103.228.0/22 +103.103.232.0/22 +103.103.248.0/22 +103.103.252.0/22 +103.104.0.0/22 +103.104.4.0/22 +103.104.36.0/22 +103.104.40.0/22 +103.104.64.0/22 +103.104.104.0/22 +103.104.152.0/22 +103.104.168.0/22 +103.104.172.0/22 +103.104.188.0/22 +103.104.198.0/23 +103.104.252.0/22 +103.105.0.0/22 +103.105.4.0/22 +103.105.12.0/22 +103.105.16.0/22 +103.105.23.0/24 +103.105.56.0/22 +103.105.60.0/22 +103.105.116.0/22 +103.105.132.0/22 +103.105.180.0/22 +103.105.184.0/22 +103.105.200.0/22 +103.105.204.0/22 +103.105.220.0/22 +103.106.36.0/22 +103.106.40.0/22 +103.106.44.0/22 +103.106.60.0/22 +103.106.68.0/22 +103.106.96.0/22 +103.106.120.0/22 +103.106.128.0/22 +103.106.132.0/22 +103.106.160.0/22 +103.106.188.0/22 +103.106.196.0/22 +103.106.202.0/23 +103.106.212.0/22 +103.106.244.0/22 +103.106.252.0/22 +103.107.0.0/22 +103.107.8.0/24 +103.107.28.0/22 +103.107.32.0/22 +103.107.44.0/22 +103.107.72.0/22 +103.107.108.0/22 +103.107.164.0/22 +103.107.168.0/22 +103.107.188.0/22 +103.107.192.0/22 +103.107.208.0/22 +103.107.212.0/22 +103.107.216.0/22 +103.107.220.0/22 +103.108.52.0/22 +103.108.64.0/22 +103.108.160.0/22 +103.108.164.0/22 +103.108.184.0/23 +103.108.188.0/23 +103.108.192.0/22 +103.108.196.0/22 +103.108.208.0/22 +103.108.212.0/22 +103.108.224.0/22 +103.108.244.0/22 +103.108.251.0/24 +103.109.20.0/22 +103.109.48.0/22 +103.109.88.0/22 +103.109.106.0/23 +103.109.248.0/22 +103.110.32.0/22 +103.110.80.0/23 +103.110.92.0/22 +103.110.100.0/22 +103.110.116.0/22 +103.110.127.0/24 +103.110.128.0/23 +103.110.131.0/24 +103.110.132.0/22 +103.110.136.0/22 +103.110.152.0/22 +103.110.156.0/22 +103.110.188.0/22 +103.110.204.0/22 +103.111.38.0/23 +103.111.64.0/22 +103.111.172.0/22 +103.111.252.0/22 +103.112.28.0/22 +103.112.68.0/22 +103.112.72.0/22 +103.112.88.0/22 +103.112.92.0/22 +103.112.96.0/22 +103.112.108.0/22 +103.112.112.0/22 +103.112.116.0/22 +103.112.140.0/22 +103.112.172.0/22 +103.112.184.0/22 +103.112.208.0/22 +103.113.4.0/22 +103.113.92.0/22 +103.113.144.0/22 +103.113.220.0/22 +103.113.232.0/22 +103.113.236.0/22 +103.114.4.0/22 +103.114.28.0/22 +103.114.68.0/22 +103.114.72.0/22 +103.114.100.0/22 +103.114.132.0/22 +103.114.148.0/22 +103.114.156.0/22 +103.114.176.0/22 +103.114.212.0/22 +103.114.236.0/22 +103.114.240.0/22 +103.115.16.0/22 +103.115.40.0/22 +103.115.44.0/22 +103.115.48.0/22 +103.115.52.0/22 +103.115.56.0/22 +103.115.60.0/22 +103.115.64.0/22 +103.115.68.0/22 +103.115.92.0/22 +103.115.120.0/22 +103.115.148.0/22 +103.115.204.0/23 +103.115.248.0/22 +103.116.20.0/22 +103.116.40.0/22 +103.116.64.0/22 +103.116.72.0/22 +103.116.76.0/22 +103.116.92.0/22 +103.116.120.0/22 +103.116.128.0/22 +103.116.132.0/23 +103.116.148.0/22 +103.116.184.0/22 +103.116.206.0/23 +103.116.220.0/22 +103.116.224.0/22 +103.116.228.0/22 +103.117.16.0/22 +103.117.72.0/22 +103.117.88.0/22 +103.117.132.0/22 +103.117.136.0/22 +103.117.188.0/22 +103.117.220.0/22 +103.118.19.0/24 +103.118.36.0/22 +103.118.52.0/22 +103.118.56.0/22 +103.118.60.0/22 +103.118.64.0/22 +103.118.68.0/22 +103.118.72.0/22 +103.118.88.0/22 +103.118.173.0/24 +103.118.192.0/22 +103.118.196.0/22 +103.118.200.0/22 +103.118.204.0/22 +103.118.208.0/22 +103.118.212.0/22 +103.118.216.0/22 +103.118.220.0/22 +103.118.240.0/22 +103.118.244.0/22 +103.118.248.0/22 +103.118.252.0/22 +103.119.0.0/22 +103.119.12.0/22 +103.119.16.0/22 +103.119.28.0/22 +103.119.44.0/22 +103.119.104.0/22 +103.119.115.0/24 +103.119.156.0/22 +103.119.180.0/22 +103.119.200.0/22 +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 +103.120.140.0/22 +103.120.196.0/22 +103.120.224.0/22 +103.121.52.0/22 +103.121.92.0/22 +103.121.160.0/22 +103.121.164.0/22 +103.121.250.0/24 +103.121.252.0/22 +103.122.48.0/22 +103.122.176.0/22 +103.122.192.0/22 +103.122.240.0/22 +103.123.4.0/22 +103.123.56.0/22 +103.123.88.0/22 +103.123.92.0/22 +103.123.116.0/22 +103.123.160.0/22 +103.123.176.0/22 +103.123.200.0/22 +103.123.204.0/22 +103.123.208.0/22 +103.123.212.0/22 +103.124.24.0/22 +103.124.48.0/22 +103.124.64.0/22 +103.124.212.0/22 +103.124.216.0/22 +103.125.20.0/22 +103.125.44.0/22 +103.129.52.0/22 +103.129.148.0/22 +103.130.132.0/22 +103.130.152.0/24 +103.130.160.0/22 +103.130.228.0/22 +103.131.20.0/22 +103.131.36.0/22 +103.131.152.0/22 +103.131.168.0/22 +103.131.176.0/22 +103.131.224.0/22 +103.131.228.0/22 +103.131.240.0/22 +103.192.0.0/22 +103.192.4.0/22 +103.192.8.0/22 +103.192.12.0/22 +103.192.16.0/22 +103.192.20.0/22 +103.192.24.0/22 +103.192.28.0/22 +103.192.48.0/22 +103.192.52.0/22 +103.192.56.0/22 +103.192.84.0/22 +103.192.88.0/22 +103.192.92.0/22 +103.192.96.0/22 +103.192.100.0/22 +103.192.104.0/22 +103.192.108.0/22 +103.192.112.0/22 +103.192.128.0/22 +103.192.132.0/22 +103.192.136.0/22 +103.192.140.0/22 +103.192.144.0/22 +103.192.164.0/22 +103.192.188.0/22 +103.192.208.0/22 +103.192.212.0/22 +103.192.216.0/22 +103.192.252.0/22 +103.193.40.0/22 +103.193.44.0/22 +103.193.120.0/22 +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 +103.193.212.0/22 +103.193.216.0/22 +103.193.220.0/22 +103.193.224.0/22 +103.193.228.0/22 +103.193.232.0/22 +103.193.236.0/22 +103.193.240.0/22 +103.194.16.0/22 +103.195.104.0/22 +103.195.112.0/22 +103.195.136.0/22 +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 +103.196.92.0/22 +103.196.96.0/22 +103.196.168.0/22 +103.196.204.0/22 +103.197.180.0/22 +103.197.228.0/22 +103.198.20.0/22 +103.198.60.0/22 +103.198.64.0/22 +103.198.72.0/22 +103.198.124.0/22 +103.198.156.0/22 +103.198.180.0/22 +103.198.196.0/22 +103.198.200.0/22 +103.198.216.0/22 +103.198.220.0/22 +103.198.224.0/22 +103.198.228.0/22 +103.198.232.0/22 +103.198.236.0/22 +103.198.240.0/22 +103.198.244.0/22 +103.199.164.0/22 +103.199.196.0/22 +103.199.228.0/22 +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 +103.200.136.0/22 +103.200.140.0/22 +103.200.144.0/22 +103.200.148.0/22 +103.200.152.0/22 +103.200.156.0/22 +103.200.160.0/22 +103.200.164.0/22 +103.200.168.0/22 +103.200.172.0/22 +103.200.176.0/22 +103.200.180.0/22 +103.200.184.0/22 +103.200.188.0/22 +103.200.192.0/22 +103.200.220.0/22 +103.200.224.0/22 +103.200.228.0/22 +103.200.232.0/22 +103.200.236.0/22 +103.200.240.0/22 +103.200.244.0/22 +103.200.248.0/22 +103.200.252.0/22 +103.201.0.0/22 +103.201.4.0/22 +103.201.8.0/22 +103.201.12.0/22 +103.201.16.0/22 +103.201.20.0/22 +103.201.28.0/22 +103.201.32.0/22 +103.201.36.0/22 +103.201.40.0/22 +103.201.44.0/22 +103.201.48.0/22 +103.201.52.0/22 +103.201.56.0/22 +103.201.60.0/22 +103.201.64.0/22 +103.201.76.0/22 +103.201.80.0/22 +103.201.84.0/22 +103.201.88.0/22 +103.201.92.0/22 +103.201.96.0/22 +103.201.100.0/22 +103.201.104.0/22 +103.201.108.0/22 +103.201.112.0/22 +103.201.116.0/22 +103.201.120.0/22 +103.201.152.0/22 +103.201.156.0/22 +103.201.160.0/22 +103.201.164.0/22 +103.201.168.0/22 +103.201.172.0/22 +103.201.176.0/22 +103.201.180.0/22 +103.201.184.0/22 +103.201.188.0/22 +103.201.192.0/22 +103.201.196.0/22 +103.201.200.0/22 +103.201.204.0/22 +103.201.208.0/22 +103.201.212.0/22 +103.201.216.0/22 +103.201.220.0/22 +103.201.224.0/22 +103.201.228.0/22 +103.201.232.0/22 +103.201.236.0/22 +103.201.240.0/22 +103.201.244.0/22 +103.201.248.0/22 +103.201.252.0/22 +103.202.0.0/22 +103.202.4.0/22 +103.202.8.0/22 +103.202.12.0/22 +103.202.16.0/22 +103.202.20.0/22 +103.202.24.0/22 +103.202.28.0/22 +103.202.32.0/22 +103.202.36.0/22 +103.202.40.0/22 +103.202.44.0/22 +103.202.56.0/22 +103.202.60.0/22 +103.202.64.0/22 +103.202.68.0/22 +103.202.72.0/22 +103.202.76.0/22 +103.202.80.0/22 +103.202.84.0/22 +103.202.88.0/22 +103.202.92.0/22 +103.202.96.0/22 +103.202.100.0/22 +103.202.104.0/22 +103.202.108.0/22 +103.202.112.0/22 +103.202.116.0/22 +103.202.120.0/22 +103.202.124.0/22 +103.202.128.0/22 +103.202.132.0/22 +103.202.136.0/22 +103.202.140.0/22 +103.202.144.0/22 +103.202.152.0/22 +103.202.156.0/22 +103.202.160.0/22 +103.202.164.0/22 +103.202.168.0/22 +103.202.172.0/22 +103.202.176.0/22 +103.202.180.0/22 +103.202.184.0/22 +103.202.188.0/22 +103.202.192.0/22 +103.202.196.0/22 +103.202.200.0/21 +103.202.212.0/22 +103.202.228.0/22 +103.202.236.0/22 +103.202.240.0/22 +103.202.244.0/22 +103.202.248.0/22 +103.202.252.0/22 +103.203.0.0/22 +103.203.4.0/22 +103.203.8.0/22 +103.203.12.0/22 +103.203.16.0/22 +103.203.20.0/22 +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 +103.203.104.0/22 +103.203.108.0/22 +103.203.112.0/22 +103.203.116.0/22 +103.203.120.0/22 +103.203.124.0/22 +103.203.128.0/22 +103.203.140.0/22 +103.203.164.0/22 +103.203.168.0/22 +103.203.192.0/22 +103.203.200.0/22 +103.203.212.0/22 +103.203.216.0/22 +103.204.24.0/22 +103.204.72.0/22 +103.204.88.0/22 +103.204.112.0/22 +103.204.136.0/22 +103.204.140.0/22 +103.204.144.0/22 +103.204.148.0/22 +103.204.152.0/22 +103.204.196.0/22 +103.204.232.0/22 +103.204.236.0/22 +103.205.4.0/22 +103.205.8.0/22 +103.205.40.0/22 +103.205.44.0/22 +103.205.52.0/22 +103.205.108.0/22 +103.205.116.0/22 +103.205.120.0/22 +103.205.136.0/22 +103.205.162.0/24 +103.205.188.0/22 +103.205.192.0/22 +103.205.196.0/22 +103.205.200.0/22 +103.205.236.0/22 +103.205.248.0/22 +103.205.252.0/22 +103.206.0.0/22 +103.206.44.0/22 +103.206.108.0/22 +103.206.148.0/22 +103.207.48.0/22 +103.207.104.0/22 +103.207.164.0/22 +103.207.184.0/22 +103.207.188.0/22 +103.207.192.0/22 +103.207.196.0/22 +103.207.200.0/22 +103.207.204.0/22 +103.207.208.0/22 +103.207.212.0/22 +103.207.220.0/22 +103.207.228.0/22 +103.207.232.0/22 +103.208.12.0/22 +103.208.16.0/22 +103.208.28.0/22 +103.208.40.0/22 +103.208.44.0/22 +103.208.48.0/22 +103.208.148.0/22 +103.209.112.0/22 +103.209.136.0/22 +103.209.200.0/22 +103.209.208.0/22 +103.209.216.0/22 +103.210.0.0/22 +103.210.20.0/22 +103.210.96.0/22 +103.210.156.0/22 +103.210.160.0/22 +103.210.164.0/22 +103.210.168.0/22 +103.210.172.0/22 +103.210.176.0/22 +103.210.180.0/22 +103.210.184.0/22 +103.210.188.0/22 +103.210.216.0/22 +103.211.44.0/22 +103.211.96.0/22 +103.211.100.0/22 +103.211.156.0/22 +103.211.164.0/22 +103.211.192.0/22 +103.211.220.0/22 +103.211.224.0/22 +103.211.248.0/22 +103.212.0.0/22 +103.212.4.0/22 +103.212.8.0/22 +103.212.12.0/22 +103.212.32.0/22 +103.212.44.0/22 +103.212.48.0/22 +103.212.84.0/22 +103.212.100.0/22 +103.212.104.0/22 +103.212.108.0/22 +103.212.148.0/22 +103.212.164.0/22 +103.212.196.0/22 +103.212.200.0/22 +103.212.228.0/22 +103.212.252.0/22 +103.213.40.0/22 +103.213.44.0/22 +103.213.48.0/22 +103.213.52.0/22 +103.213.56.0/22 +103.213.60.0/22 +103.213.64.0/22 +103.213.68.0/22 +103.213.72.0/22 +103.213.76.0/22 +103.213.80.0/22 +103.213.84.0/22 +103.213.88.0/22 +103.213.92.0/22 +103.213.96.0/22 +103.213.132.0/22 +103.213.136.0/22 +103.213.140.0/22 +103.213.144.0/22 +103.213.148.0/22 +103.213.152.0/22 +103.213.156.0/22 +103.213.160.0/22 +103.213.164.0/22 +103.213.168.0/22 +103.213.172.0/22 +103.213.176.0/22 +103.213.180.0/22 +103.213.184.0/22 +103.213.188.0/22 +103.213.248.0/22 +103.214.32.0/22 +103.214.48.0/22 +103.214.84.0/22 +103.214.168.0/22 +103.214.212.0/22 +103.214.240.0/22 +103.214.244.0/22 +103.215.28.0/22 +103.215.32.0/22 +103.215.36.0/22 +103.215.44.0/22 +103.215.48.0/22 +103.215.100.0/22 +103.215.104.0/22 +103.215.108.0/22 +103.215.116.0/22 +103.215.120.0/22 +103.215.140.0/22 +103.215.184.0/22 +103.215.228.0/22 +103.216.4.0/22 +103.216.8.0/22 +103.216.12.0/22 +103.216.16.0/22 +103.216.20.0/22 +103.216.24.0/22 +103.216.28.0/22 +103.216.32.0/22 +103.216.36.0/22 +103.216.40.0/22 +103.216.44.0/22 +103.216.64.0/22 +103.216.108.0/22 +103.216.136.0/22 +103.216.152.0/22 +103.216.224.0/22 +103.216.228.0/22 +103.216.240.0/22 +103.216.244.0/22 +103.216.248.0/22 +103.216.252.0/22 +103.217.0.0/22 +103.217.4.0/22 +103.217.8.0/22 +103.217.12.0/22 +103.217.16.0/22 +103.217.20.0/22 +103.217.24.0/22 +103.217.28.0/22 +103.217.32.0/22 +103.217.36.0/22 +103.217.40.0/22 +103.217.44.0/22 +103.217.48.0/22 +103.217.52.0/22 +103.217.56.0/22 +103.217.60.0/22 +103.217.168.0/22 +103.217.180.0/22 +103.217.184.0/22 +103.217.188.0/22 +103.217.192.0/22 +103.217.196.0/22 +103.217.200.0/22 +103.217.204.0/22 +103.218.0.0/22 +103.218.8.0/22 +103.218.12.0/22 +103.218.16.0/22 +103.218.20.0/22 +103.218.28.0/22 +103.218.32.0/22 +103.218.36.0/22 +103.218.40.0/22 +103.218.44.0/22 +103.218.48.0/22 +103.218.52.0/22 +103.218.56.0/22 +103.218.60.0/22 +103.218.64.0/22 +103.218.68.0/22 +103.218.72.0/22 +103.218.76.0/22 +103.218.80.0/22 +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 +103.218.204.0/22 +103.218.208.0/22 +103.218.212.0/22 +103.218.216.0/22 +103.219.24.0/22 +103.219.28.0/22 +103.219.32.0/22 +103.219.36.0/22 +103.219.64.0/22 +103.219.84.0/22 +103.219.88.0/22 +103.219.92.0/22 +103.219.96.0/22 +103.219.100.0/22 +103.219.176.0/22 +103.219.184.0/22 +103.220.48.0/22 +103.220.52.0/22 +103.220.56.0/22 +103.220.60.0/22 +103.220.64.0/22 +103.220.92.0/22 +103.220.96.0/22 +103.220.100.0/22 +103.220.104.0/22 +103.220.108.0/22 +103.220.116.0/22 +103.220.120.0/22 +103.220.124.0/22 +103.220.128.0/22 +103.220.132.0/22 +103.220.136.0/22 +103.220.140.0/22 +103.220.144.0/22 +103.220.148.0/22 +103.220.152.0/22 +103.220.160.0/22 +103.220.164.0/22 +103.220.168.0/22 +103.220.172.0/22 +103.220.176.0/22 +103.220.180.0/22 +103.220.184.0/22 +103.220.188.0/22 +103.220.192.0/22 +103.220.196.0/22 +103.220.200.0/22 +103.220.240.0/22 +103.220.244.0/22 +103.220.248.0/22 +103.220.252.0/22 +103.221.0.0/22 +103.221.4.0/22 +103.221.8.0/22 +103.221.12.0/22 +103.221.16.0/22 +103.221.20.0/22 +103.221.24.0/22 +103.221.28.0/22 +103.221.32.0/22 +103.221.36.0/22 +103.221.40.0/22 +103.221.44.0/22 +103.221.48.0/22 +103.221.88.0/22 +103.221.92.0/22 +103.221.96.0/22 +103.221.100.0/22 +103.221.104.0/22 +103.221.108.0/22 +103.221.112.0/22 +103.221.116.0/22 +103.221.120.0/22 +103.221.124.0/22 +103.221.128.0/22 +103.221.132.0/22 +103.221.136.0/22 +103.221.140.0/22 +103.221.144.0/22 +103.221.148.0/22 +103.221.152.0/22 +103.221.156.0/22 +103.221.160.0/22 +103.221.164.0/22 +103.221.168.0/22 +103.221.172.0/22 +103.221.176.0/22 +103.221.180.0/22 +103.221.184.0/22 +103.221.188.0/22 +103.221.192.0/22 +103.221.196.0/22 +103.221.200.0/22 +103.221.204.0/22 +103.222.0.0/22 +103.222.4.0/22 +103.222.8.0/22 +103.222.12.0/22 +103.222.16.0/22 +103.222.24.0/22 +103.222.28.0/22 +103.222.32.0/22 +103.222.36.0/22 +103.222.40.0/22 +103.222.44.0/22 +103.222.48.0/22 +103.222.52.0/22 +103.222.56.0/22 +103.222.60.0/22 +103.222.64.0/22 +103.222.68.0/22 +103.222.72.0/22 +103.222.76.0/22 +103.222.80.0/22 +103.222.84.0/22 +103.222.88.0/22 +103.222.92.0/22 +103.222.96.0/22 +103.222.100.0/22 +103.222.104.0/22 +103.222.108.0/22 +103.222.112.0/22 +103.222.116.0/22 +103.222.120.0/22 +103.222.124.0/22 +103.222.128.0/22 +103.222.132.0/22 +103.222.136.0/22 +103.222.140.0/22 +103.222.144.0/22 +103.222.148.0/22 +103.222.152.0/22 +103.222.156.0/22 +103.222.160.0/22 +103.222.164.0/22 +103.222.168.0/22 +103.222.172.0/22 +103.222.176.0/22 +103.222.180.0/22 +103.222.184.0/22 +103.222.188.0/22 +103.222.192.0/22 +103.222.196.0/22 +103.222.200.0/22 +103.222.204.0/22 +103.222.208.0/22 +103.222.212.0/22 +103.222.216.0/22 +103.222.220.0/22 +103.222.224.0/22 +103.222.228.0/22 +103.222.232.0/22 +103.222.240.0/22 +103.222.244.0/22 +103.223.16.0/22 +103.223.20.0/22 +103.223.24.0/22 +103.223.28.0/22 +103.223.32.0/22 +103.223.36.0/22 +103.223.40.0/22 +103.223.44.0/22 +103.223.48.0/22 +103.223.52.0/22 +103.223.56.0/22 +103.223.60.0/22 +103.223.64.0/22 +103.223.68.0/22 +103.223.72.0/22 +103.223.76.0/22 +103.223.80.0/22 +103.223.84.0/22 +103.223.88.0/22 +103.223.92.0/22 +103.223.96.0/22 +103.223.100.0/22 +103.223.104.0/22 +103.223.108.0/22 +103.223.112.0/22 +103.223.116.0/22 +103.223.120.0/22 +103.223.124.0/22 +103.223.128.0/22 +103.223.132.0/22 +103.223.140.0/22 +103.223.144.0/22 +103.223.148.0/22 +103.223.152.0/22 +103.223.156.0/22 +103.223.160.0/22 +103.223.164.0/22 +103.223.168.0/22 +103.223.172.0/22 +103.223.176.0/22 +103.223.180.0/22 +103.223.188.0/22 +103.223.192.0/22 +103.223.196.0/22 +103.223.200.0/22 +103.223.204.0/22 +103.223.208.0/22 +103.223.212.0/22 +103.223.216.0/22 +103.223.220.0/22 +103.223.224.0/22 +103.223.228.0/22 +103.223.232.0/22 +103.223.236.0/22 +103.223.240.0/22 +103.223.244.0/22 +103.223.248.0/22 +103.223.252.0/22 +103.224.0.0/22 +103.224.40.0/22 +103.224.44.0/22 +103.224.60.0/22 +103.224.80.0/22 +103.224.220.0/22 +103.224.224.0/22 +103.224.228.0/22 +103.224.232.0/22 +103.225.84.0/22 +103.226.16.0/22 +103.226.40.0/22 +103.226.56.0/22 +103.226.60.0/22 +103.226.80.0/22 +103.226.132.0/22 +103.226.156.0/22 +103.226.180.0/22 +103.226.196.0/22 +103.227.48.0/22 +103.227.72.0/22 +103.227.76.0/22 +103.227.80.0/22 +103.227.100.0/22 +103.227.120.0/22 +103.227.132.0/22 +103.227.136.0/22 +103.227.196.0/22 +103.227.204.0/22 +103.227.212.0/22 +103.227.228.0/22 +103.228.12.0/22 +103.228.28.0/22 +103.228.68.0/22 +103.228.88.0/22 +103.228.128.0/22 +103.228.136.0/22 +103.228.160.0/22 +103.228.176.0/22 +103.228.204.0/22 +103.228.208.0/22 +103.228.228.0/22 +103.228.232.0/22 +103.229.20.0/22 +103.229.60.0/22 +103.229.136.0/22 +103.229.148.0/22 +103.229.172.0/22 +103.229.212.0/22 +103.229.216.0/22 +103.229.220.0/22 +103.229.228.0/22 +103.229.236.0/22 +103.229.240.0/22 +103.230.0.0/22 +103.230.28.0/22 +103.230.44.0/22 +103.230.96.0/22 +103.230.196.0/22 +103.230.200.0/22 +103.230.204.0/22 +103.230.212.0/22 +103.230.236.0/22 +103.231.16.0/22 +103.231.20.0/22 +103.231.64.0/22 +103.231.68.0/22 +103.231.144.0/22 +103.231.180.0/22 +103.231.184.0/22 +103.231.244.0/22 +103.232.4.0/22 +103.232.144.0/22 +103.232.188.0/22 +103.232.212.0/22 +103.233.4.0/22 +103.233.44.0/22 +103.233.52.0/22 +103.233.104.0/22 +103.233.128.0/22 +103.233.136.0/22 +103.233.228.0/22 +103.234.0.0/22 +103.234.20.0/22 +103.234.56.0/22 +103.234.128.0/22 +103.234.172.0/22 +103.234.180.0/22 +103.234.244.0/22 +103.235.16.0/22 +103.235.48.0/22 +103.235.56.0/22 +103.235.60.0/22 +103.235.80.0/22 +103.235.84.0/22 +103.235.128.0/22 +103.235.132.0/22 +103.235.136.0/22 +103.235.140.0/22 +103.235.144.0/22 +103.235.148.0/22 +103.235.184.0/22 +103.235.192.0/22 +103.235.200.0/22 +103.235.220.0/22 +103.235.224.0/22 +103.235.228.0/22 +103.235.232.0/22 +103.235.236.0/22 +103.235.240.0/22 +103.235.244.0/22 +103.235.248.0/22 +103.235.252.0/22 +103.236.0.0/22 +103.236.4.0/22 +103.236.8.0/22 +103.236.12.0/22 +103.236.16.0/22 +103.236.20.0/22 +103.236.24.0/22 +103.236.28.0/22 +103.236.32.0/22 +103.236.36.0/22 +103.236.40.0/22 +103.236.44.0/22 +103.236.48.0/22 +103.236.52.0/22 +103.236.56.0/22 +103.236.60.0/22 +103.236.64.0/22 +103.236.68.0/22 +103.236.72.0/22 +103.236.76.0/22 +103.236.80.0/22 +103.236.84.0/22 +103.236.88.0/22 +103.236.92.0/22 +103.236.96.0/22 +103.236.120.0/22 +103.236.184.0/22 +103.236.220.0/22 +103.236.232.0/22 +103.236.240.0/22 +103.236.244.0/22 +103.236.248.0/22 +103.236.252.0/22 +103.237.0.0/22 +103.237.4.0/22 +103.237.8.0/22 +103.237.12.0/22 +103.237.24.0/22 +103.237.28.0/22 +103.237.68.0/22 +103.237.88.0/22 +103.237.152.0/22 +103.237.176.0/22 +103.237.180.0/22 +103.237.184.0/22 +103.237.188.0/22 +103.237.192.0/22 +103.237.196.0/22 +103.237.200.0/22 +103.237.204.0/22 +103.237.208.0/22 +103.237.212.0/22 +103.237.216.0/22 +103.237.220.0/22 +103.237.224.0/22 +103.237.228.0/22 +103.237.232.0/22 +103.237.236.0/22 +103.237.240.0/22 +103.237.244.0/22 +103.237.248.0/22 +103.237.252.0/22 +103.238.0.0/22 +103.238.4.0/22 +103.238.16.0/22 +103.238.20.0/22 +103.238.24.0/22 +103.238.28.0/22 +103.238.32.0/22 +103.238.36.0/22 +103.238.40.0/22 +103.238.44.0/22 +103.238.48.0/22 +103.238.52.0/22 +103.238.56.0/22 +103.238.88.0/22 +103.238.92.0/22 +103.238.96.0/22 +103.238.132.0/22 +103.238.140.0/22 +103.238.144.0/22 +103.238.160.0/22 +103.238.164.0/22 +103.238.168.0/22 +103.238.172.0/22 +103.238.176.0/22 +103.238.180.0/22 +103.238.184.0/22 +103.238.188.0/22 +103.238.196.0/22 +103.238.204.0/22 +103.238.252.0/22 +103.239.0.0/22 +103.239.44.0/22 +103.239.68.0/22 +103.239.96.0/22 +103.239.152.0/22 +103.239.156.0/22 +103.239.176.0/22 +103.239.180.0/22 +103.239.184.0/22 +103.239.192.0/22 +103.239.196.0/22 +103.239.204.0/22 +103.239.208.0/22 +103.239.224.0/22 +103.239.244.0/22 +103.240.16.0/22 +103.240.36.0/22 +103.240.72.0/22 +103.240.84.0/22 +103.240.124.0/22 +103.240.156.0/22 +103.240.172.0/22 +103.240.188.0/22 +103.240.244.0/22 +103.241.12.0/22 +103.241.72.0/22 +103.241.92.0/22 +103.241.96.0/22 +103.241.160.0/22 +103.241.184.0/22 +103.241.188.0/22 +103.241.220.0/22 +103.242.64.0/22 +103.242.128.0/22 +103.242.132.0/22 +103.242.160.0/22 +103.242.168.0/22 +103.242.172.0/22 +103.242.176.0/22 +103.242.200.0/22 +103.242.212.0/22 +103.242.220.0/22 +103.242.240.0/22 +103.243.136.0/22 +103.243.252.0/22 +103.244.16.0/22 +103.244.58.0/23 +103.244.60.0/22 +103.244.64.0/22 +103.244.68.0/22 +103.244.72.0/22 +103.244.76.0/22 +103.244.80.0/22 +103.244.84.0/22 +103.244.116.0/22 +103.244.164.0/22 +103.244.232.0/22 +103.244.252.0/22 +103.245.23.0/24 +103.245.52.0/22 +103.245.60.0/22 +103.245.80.0/22 +103.245.124.0/22 +103.245.128.0/22 +103.246.8.0/22 +103.246.12.0/22 +103.246.120.0/22 +103.246.124.0/22 +103.246.132.0/22 +103.246.152.0/22 +103.246.156.0/22 +103.247.168.0/22 +103.247.172.0/22 +103.247.176.0/22 +103.247.200.0/22 +103.247.212.0/22 +103.248.0.0/23 +103.248.64.0/22 +103.248.100.0/22 +103.248.124.0/22 +103.248.152.0/22 +103.248.168.0/22 +103.248.192.0/22 +103.248.212.0/22 +103.248.220.0/22 +103.248.224.0/22 +103.249.8.0/22 +103.249.12.0/22 +103.249.52.0/22 +103.249.104.0/22 +103.249.128.0/22 +103.249.136.0/22 +103.249.144.0/22 +103.249.164.0/22 +103.249.168.0/22 +103.249.172.0/22 +103.249.176.0/22 +103.249.188.0/22 +103.249.192.0/22 +103.249.244.0/22 +103.249.252.0/22 +103.250.32.0/22 +103.250.104.0/22 +103.250.124.0/22 +103.250.180.0/22 +103.250.192.0/22 +103.250.216.0/22 +103.250.224.0/22 +103.250.236.0/22 +103.250.248.0/22 +103.250.252.0/22 +103.251.32.0/22 +103.251.36.0/22 +103.251.84.0/22 +103.251.96.0/22 +103.251.124.0/22 +103.251.128.0/22 +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 +103.252.64.0/22 +103.252.96.0/22 +103.252.104.0/22 +103.252.172.0/22 +103.252.204.0/22 +103.252.208.0/22 +103.252.232.0/22 +103.252.248.0/22 +103.253.4.0/22 +103.253.60.0/22 +103.253.204.0/22 +103.253.220.0/22 +103.253.224.0/22 +103.253.232.0/22 +103.254.8.0/22 +103.254.20.0/22 +103.254.64.0/22 +103.254.68.0/22 +103.254.72.0/22 +103.254.76.0/22 +103.254.112.0/22 +103.254.176.0/22 +103.254.188.0/22 +103.254.196.0/24 +103.254.220.0/22 +103.255.56.0/22 +103.255.68.0/22 +103.255.88.0/22 +103.255.92.0/22 +103.255.136.0/22 +103.255.140.0/22 +103.255.184.0/22 +103.255.200.0/22 +103.255.212.0/22 +103.255.228.0/22 +106.0.0.0/24 +106.0.2.0/23 +106.0.4.0/22 +106.0.8.0/21 +106.0.16.0/20 +106.0.44.0/22 +106.0.64.0/18 +106.2.0.0/15 +106.4.0.0/14 +106.8.0.0/15 +106.11.0.0/16 +106.12.0.0/14 +106.16.0.0/12 +106.32.0.0/12 +106.48.0.0/15 +106.50.0.0/16 +106.52.0.0/14 +106.56.0.0/13 +106.74.0.0/16 +106.75.0.0/16 +106.80.0.0/12 +106.108.0.0/14 +106.112.0.0/13 +106.120.0.0/13 +106.224.0.0/12 +109.244.0.0/16 +110.6.0.0/15 +110.16.0.0/14 +110.34.40.0/22 +110.34.44.0/22 +110.40.0.0/14 +110.44.12.0/22 +110.44.144.0/20 +110.48.0.0/16 +110.51.0.0/16 +110.52.0.0/15 +110.56.0.0/13 +110.64.0.0/15 +110.72.0.0/15 +110.75.0.0/17 +110.75.128.0/19 +110.75.160.0/19 +110.75.192.0/18 +110.76.0.0/19 +110.76.32.0/19 +110.76.132.0/22 +110.76.156.0/22 +110.76.184.0/22 +110.76.192.0/18 +110.77.0.0/17 +110.80.0.0/13 +110.88.0.0/14 +110.92.68.0/22 +110.93.32.0/19 +110.94.0.0/15 +110.96.0.0/11 +110.152.0.0/14 +110.156.0.0/15 +110.165.32.0/19 +110.166.0.0/15 +110.172.192.0/18 +110.173.0.0/19 +110.173.32.0/20 +110.173.64.0/19 +110.173.96.0/19 +110.173.192.0/19 +110.176.0.0/13 +110.184.0.0/13 +110.192.0.0/11 +110.228.0.0/14 +110.232.32.0/19 +110.236.0.0/15 +110.240.0.0/12 +111.0.0.0/10 +111.66.0.0/16 +111.67.192.0/20 +111.68.64.0/19 +111.72.0.0/13 +111.85.0.0/16 +111.91.192.0/19 +111.92.248.0/22 +111.92.252.0/22 +111.112.0.0/15 +111.114.0.0/15 +111.116.0.0/15 +111.118.200.0/21 +111.119.64.0/18 +111.119.128.0/19 +111.120.0.0/14 +111.124.0.0/16 +111.126.0.0/15 +111.128.0.0/11 +111.160.0.0/13 +111.170.0.0/16 +111.172.0.0/14 +111.176.0.0/13 +111.186.0.0/15 +111.192.0.0/12 +111.208.0.0/14 +111.212.0.0/14 +111.221.28.0/24 +111.221.128.0/17 +111.222.0.0/16 +111.223.4.0/22 +111.223.8.0/22 +111.223.12.0/22 +111.223.16.0/22 +111.223.240.0/22 +111.223.248.0/22 +111.224.0.0/14 +111.228.0.0/14 +111.235.96.0/19 +111.235.156.0/22 +111.235.160.0/19 +112.0.0.0/10 +112.64.0.0/15 +112.66.0.0/15 +112.73.0.0/16 +112.74.0.0/15 +112.80.0.0/13 +112.88.0.0/13 +112.96.0.0/15 +112.98.0.0/15 +112.100.0.0/14 +112.109.128.0/17 +112.111.0.0/16 +112.112.0.0/14 +112.116.0.0/15 +112.122.0.0/15 +112.124.0.0/14 +112.128.0.0/14 +112.132.0.0/16 +112.137.48.0/21 +112.192.0.0/14 +112.224.0.0/11 +113.0.0.0/13 +113.8.0.0/15 +113.11.192.0/19 +113.12.0.0/14 +113.16.0.0/15 +113.18.0.0/16 +113.21.232.0/22 +113.21.236.0/22 +113.24.0.0/14 +113.31.0.0/16 +113.44.0.0/14 +113.48.0.0/14 +113.52.160.0/19 +113.52.228.0/22 +113.54.0.0/15 +113.56.0.0/15 +113.58.0.0/16 +113.59.0.0/17 +113.59.224.0/22 +113.62.0.0/15 +113.64.0.0/11 +113.96.0.0/12 +113.112.0.0/13 +113.120.0.0/13 +113.128.0.0/15 +113.130.96.0/20 +113.130.112.0/21 +113.132.0.0/14 +113.136.0.0/13 +113.194.0.0/15 +113.197.100.0/22 +113.200.0.0/15 +113.202.0.0/16 +113.204.0.0/14 +113.208.96.0/19 +113.208.128.0/17 +113.209.0.0/16 +113.212.0.0/18 +113.212.100.0/22 +113.212.184.0/21 +113.213.0.0/17 +113.214.0.0/15 +113.218.0.0/15 +113.220.0.0/14 +113.224.0.0/12 +113.240.0.0/13 +113.248.0.0/14 +114.28.0.0/16 +114.31.64.0/22 +114.31.68.0/22 +114.54.0.0/15 +114.60.0.0/14 +114.64.0.0/14 +114.68.0.0/16 +114.79.64.0/18 +114.80.0.0/12 +114.96.0.0/13 +114.104.0.0/14 +114.110.0.0/20 +114.110.64.0/18 +114.111.0.0/19 +114.111.160.0/19 +114.112.0.0/14 +114.116.0.0/16 +114.117.0.0/16 +114.118.0.0/16 +114.119.0.0/17 +114.119.128.0/18 +114.119.192.0/21 +114.119.200.0/22 +114.119.204.0/22 +114.119.208.0/20 +114.119.224.0/19 +114.132.0.0/16 +114.135.0.0/16 +114.138.0.0/15 +114.141.64.0/21 +114.141.80.0/22 +114.141.84.0/22 +114.141.128.0/18 +114.196.0.0/15 +114.198.248.0/21 +114.208.0.0/14 +114.212.0.0/15 +114.214.0.0/16 +114.215.0.0/16 +114.216.0.0/13 +114.224.0.0/12 +114.240.0.0/12 +115.24.0.0/14 +115.28.0.0/15 +115.31.64.0/22 +115.31.68.0/22 +115.31.72.0/22 +115.31.76.0/22 +115.32.0.0/14 +115.42.56.0/22 +115.44.0.0/15 +115.46.0.0/16 +115.47.0.0/16 +115.48.0.0/12 +115.69.64.0/20 +115.84.0.0/18 +115.84.192.0/19 +115.85.192.0/18 +115.100.0.0/14 +115.104.0.0/14 +115.120.0.0/14 +115.124.16.0/20 +115.148.0.0/14 +115.152.0.0/15 +115.154.0.0/15 +115.156.0.0/15 +115.158.0.0/16 +115.159.0.0/16 +115.166.64.0/19 +115.168.0.0/14 +115.172.0.0/14 +115.180.0.0/15 +115.182.0.0/16 +115.183.0.0/16 +115.187.0.0/22 +115.187.4.0/22 +115.187.8.0/22 +115.187.12.0/22 +115.190.0.0/15 +115.192.0.0/11 +115.224.0.0/12 +116.0.8.0/21 +116.0.24.0/21 +116.1.0.0/16 +116.2.0.0/15 +116.4.0.0/14 +116.8.0.0/14 +116.13.0.0/16 +116.16.0.0/12 +116.50.0.0/20 +116.52.0.0/14 +116.56.0.0/15 +116.58.128.0/20 +116.58.208.0/20 +116.60.0.0/14 +116.66.0.0/17 +116.66.176.0/22 +116.68.136.0/22 +116.68.140.0/22 +116.68.176.0/22 +116.68.180.0/22 +116.69.0.0/16 +116.70.0.0/17 +116.76.0.0/15 +116.78.0.0/15 +116.85.0.0/16 +116.89.144.0/20 +116.89.240.0/22 +116.90.80.0/20 +116.90.184.0/21 +116.95.0.0/16 +116.112.0.0/14 +116.116.0.0/15 +116.128.0.0/10 +116.192.0.0/16 +116.193.16.0/20 +116.193.32.0/19 +116.193.152.0/22 +116.193.164.0/22 +116.193.176.0/21 +116.194.0.0/15 +116.196.0.0/16 +116.197.160.0/22 +116.197.164.0/22 +116.198.0.0/16 +116.199.0.0/17 +116.199.128.0/19 +116.204.0.0/17 +116.204.132.0/22 +116.204.168.0/22 +116.204.216.0/22 +116.205.0.0/16 +116.206.92.0/22 +116.206.100.0/22 +116.206.176.0/22 +116.207.0.0/16 +116.208.0.0/14 +116.212.160.0/20 +116.213.44.0/22 +116.213.64.0/18 +116.213.128.0/17 +116.214.32.0/19 +116.214.64.0/20 +116.214.128.0/17 +116.215.0.0/16 +116.216.0.0/14 +116.224.0.0/12 +116.242.0.0/15 +116.244.0.0/15 +116.246.0.0/15 +116.248.0.0/15 +116.251.64.0/18 +116.252.0.0/15 +116.254.104.0/22 +116.254.108.0/22 +116.254.128.0/17 +116.255.128.0/17 +117.8.0.0/13 +117.21.0.0/16 +117.22.0.0/15 +117.24.0.0/13 +117.32.0.0/13 +117.40.0.0/14 +117.44.0.0/15 +117.48.0.0/14 +117.53.48.0/20 +117.53.176.0/20 +117.57.0.0/16 +117.58.0.0/17 +117.59.0.0/16 +117.60.0.0/14 +117.64.0.0/13 +117.72.0.0/15 +117.74.64.0/20 +117.74.80.0/20 +117.74.128.0/17 +117.75.0.0/16 +117.76.0.0/14 +117.80.0.0/12 +117.100.0.0/15 +117.103.16.0/20 +117.103.40.0/21 +117.103.72.0/21 +117.103.128.0/20 +117.104.168.0/21 +117.106.0.0/15 +117.112.0.0/13 +117.120.64.0/18 +117.120.128.0/17 +117.121.0.0/17 +117.121.128.0/18 +117.121.192.0/21 +117.122.128.0/17 +117.124.0.0/14 +117.128.0.0/10 +118.24.0.0/15 +118.26.0.0/19 +118.26.32.0/22 +118.26.36.0/22 +118.26.40.0/21 +118.26.48.0/21 +118.26.56.0/21 +118.26.64.0/19 +118.26.96.0/21 +118.26.104.0/21 +118.26.112.0/21 +118.26.120.0/21 +118.26.128.0/17 +118.28.0.0/15 +118.30.0.0/16 +118.31.0.0/16 +118.64.0.0/15 +118.66.0.0/16 +118.67.112.0/20 +118.72.0.0/13 +118.80.0.0/15 +118.84.0.0/15 +118.88.32.0/19 +118.88.64.0/18 +118.88.128.0/17 +118.89.0.0/16 +118.91.240.0/20 +118.102.16.0/20 +118.102.32.0/21 +118.103.164.0/22 +118.103.168.0/22 +118.103.172.0/22 +118.103.176.0/22 +118.107.180.0/22 +118.112.0.0/13 +118.120.0.0/14 +118.124.0.0/15 +118.126.0.0/16 +118.127.128.0/19 +118.132.0.0/14 +118.144.0.0/14 +118.178.0.0/16 +118.180.0.0/14 +118.184.0.0/17 +118.184.128.0/17 +118.186.0.0/15 +118.188.0.0/16 +118.190.0.0/16 +118.191.0.0/16 +118.192.0.0/16 +118.193.0.0/21 +118.193.8.0/21 +118.193.32.0/19 +118.193.64.0/20 +118.193.96.0/19 +118.193.128.0/17 +118.194.0.0/17 +118.194.128.0/17 +118.195.0.0/17 +118.195.128.0/17 +118.196.0.0/14 +118.202.0.0/15 +118.204.0.0/14 +118.212.0.0/16 +118.213.0.0/16 +118.215.192.0/18 +118.224.0.0/14 +118.228.0.0/15 +118.230.0.0/16 +118.239.0.0/16 +118.242.0.0/16 +118.244.0.0/14 +118.248.0.0/13 +119.0.0.0/15 +119.2.0.0/19 +119.2.128.0/17 +119.3.0.0/16 +119.4.0.0/14 +119.8.0.0/16 +119.10.0.0/17 +119.15.136.0/21 +119.16.0.0/16 +119.18.192.0/20 +119.18.208.0/21 +119.18.224.0/20 +119.18.240.0/20 +119.19.0.0/16 +119.20.0.0/14 +119.27.64.0/18 +119.27.128.0/19 +119.27.160.0/19 +119.27.192.0/18 +119.28.0.0/15 +119.30.48.0/20 +119.31.192.0/19 +119.32.0.0/14 +119.36.0.0/16 +119.37.0.0/17 +119.37.128.0/18 +119.37.192.0/18 +119.38.0.0/17 +119.38.128.0/18 +119.38.192.0/20 +119.38.208.0/20 +119.38.224.0/19 +119.39.0.0/16 +119.40.0.0/18 +119.40.64.0/20 +119.40.128.0/17 +119.41.0.0/16 +119.42.0.0/19 +119.42.52.0/22 +119.42.128.0/21 +119.42.136.0/21 +119.42.224.0/19 +119.44.0.0/15 +119.48.0.0/13 +119.57.0.0/16 +119.58.0.0/16 +119.59.128.0/17 +119.60.0.0/16 +119.61.0.0/16 +119.62.0.0/16 +119.63.32.0/19 +119.75.208.0/20 +119.78.0.0/15 +119.80.0.0/16 +119.82.208.0/20 +119.84.0.0/14 +119.88.0.0/14 +119.96.0.0/13 +119.108.0.0/15 +119.112.0.0/13 +119.120.0.0/13 +119.128.0.0/12 +119.144.0.0/14 +119.148.160.0/20 +119.148.176.0/20 +119.151.192.0/18 +119.160.200.0/21 +119.161.120.0/22 +119.161.124.0/22 +119.161.128.0/17 +119.162.0.0/15 +119.164.0.0/14 +119.176.0.0/12 +119.232.0.0/15 +119.235.128.0/18 +119.248.0.0/14 +119.252.96.0/21 +119.252.240.0/20 +119.253.0.0/16 +119.254.0.0/15 +120.0.0.0/12 +120.24.0.0/14 +120.30.0.0/16 +120.31.0.0/16 +120.32.0.0/13 +120.40.0.0/14 +120.44.0.0/14 +120.48.0.0/15 +120.52.0.0/16 +120.53.0.0/16 +120.54.0.0/15 +120.64.0.0/14 +120.68.0.0/14 +120.72.32.0/19 +120.72.128.0/17 +120.76.0.0/14 +120.80.0.0/13 +120.88.8.0/21 +120.90.0.0/15 +120.92.0.0/16 +120.94.0.0/16 +120.95.0.0/16 +120.128.0.0/14 +120.132.0.0/17 +120.132.128.0/17 +120.133.0.0/16 +120.134.0.0/15 +120.136.16.0/22 +120.136.20.0/22 +120.136.128.0/18 +120.137.0.0/17 +120.143.128.0/19 +120.192.0.0/10 +121.0.8.0/21 +121.0.16.0/20 +121.4.0.0/15 +121.8.0.0/13 +121.16.0.0/13 +121.24.0.0/14 +121.28.0.0/15 +121.30.0.0/16 +121.31.0.0/16 +121.32.0.0/14 +121.36.0.0/16 +121.37.0.0/16 +121.38.0.0/15 +121.40.0.0/14 +121.46.0.0/18 +121.46.76.0/22 +121.46.128.0/17 +121.47.0.0/16 +121.48.0.0/15 +121.50.8.0/21 +121.51.0.0/16 +121.52.160.0/19 +121.52.208.0/20 +121.52.224.0/19 +121.54.176.0/21 +121.54.188.0/22 +121.55.0.0/18 +121.56.0.0/15 +121.58.0.0/17 +121.58.136.0/21 +121.58.144.0/20 +121.58.160.0/21 +121.59.0.0/16 +121.60.0.0/14 +121.68.0.0/14 +121.76.0.0/15 +121.79.128.0/18 +121.89.0.0/16 +121.100.128.0/17 +121.101.0.0/18 +121.101.208.0/20 +121.192.0.0/16 +121.193.0.0/16 +121.194.0.0/15 +121.196.0.0/14 +121.200.192.0/21 +121.201.0.0/16 +121.204.0.0/14 +121.224.0.0/12 +121.248.0.0/14 +121.255.0.0/16 +122.0.64.0/18 +122.0.128.0/17 +122.4.0.0/14 +122.8.0.0/16 +122.9.0.0/16 +122.10.128.0/22 +122.10.132.0/23 +122.10.134.0/23 +122.10.136.0/23 +122.10.138.0/23 +122.10.140.0/22 +122.10.144.0/20 +122.10.160.0/19 +122.10.192.0/20 +122.10.208.0/21 +122.10.216.0/22 +122.10.220.0/22 +122.10.224.0/19 +122.11.0.0/17 +122.12.0.0/16 +122.13.0.0/16 +122.14.0.0/17 +122.14.128.0/18 +122.14.192.0/18 +122.48.0.0/16 +122.49.0.0/18 +122.51.0.0/16 +122.64.0.0/11 +122.96.0.0/15 +122.102.0.0/20 +122.102.64.0/20 +122.102.80.0/20 +122.112.0.0/18 +122.112.64.0/18 +122.112.128.0/17 +122.113.0.0/16 +122.114.0.0/16 +122.115.0.0/17 +122.115.128.0/19 +122.115.160.0/19 +122.115.192.0/19 +122.115.224.0/19 +122.119.0.0/16 +122.128.100.0/22 +122.128.120.0/21 +122.136.0.0/13 +122.144.128.0/17 +122.152.192.0/18 +122.156.0.0/14 +122.188.0.0/14 +122.192.0.0/14 +122.198.0.0/16 +122.200.40.0/22 +122.200.44.0/22 +122.200.64.0/18 +122.201.48.0/20 +122.204.0.0/14 +122.224.0.0/12 +122.240.0.0/13 +122.248.24.0/21 +122.248.48.0/20 +122.255.64.0/21 +123.0.128.0/18 +123.4.0.0/14 +123.8.0.0/13 +123.49.128.0/17 +123.50.160.0/19 +123.52.0.0/14 +123.56.0.0/15 +123.58.0.0/20 +123.58.16.0/20 +123.58.32.0/19 +123.58.64.0/19 +123.58.96.0/19 +123.58.128.0/18 +123.58.192.0/19 +123.58.224.0/20 +123.58.240.0/20 +123.59.0.0/16 +123.60.0.0/16 +123.61.0.0/16 +123.62.0.0/16 +123.64.0.0/11 +123.96.0.0/15 +123.98.0.0/17 +123.99.128.0/17 +123.100.0.0/19 +123.101.0.0/16 +123.103.0.0/17 +123.108.128.0/20 +123.108.208.0/20 +123.112.0.0/12 +123.128.0.0/13 +123.136.80.0/20 +123.137.0.0/16 +123.138.0.0/15 +123.144.0.0/14 +123.148.0.0/16 +123.149.0.0/16 +123.150.0.0/15 +123.152.0.0/13 +123.160.0.0/14 +123.164.0.0/14 +123.168.0.0/14 +123.172.0.0/15 +123.174.0.0/15 +123.176.60.0/22 +123.176.80.0/20 +123.177.0.0/16 +123.178.0.0/15 +123.180.0.0/14 +123.184.0.0/14 +123.188.0.0/14 +123.196.0.0/15 +123.199.128.0/17 +123.206.0.0/15 +123.232.0.0/14 +123.242.0.0/17 +123.242.192.0/22 +123.242.196.0/22 +123.244.0.0/14 +123.249.0.0/16 +123.254.96.0/22 +123.254.100.0/22 +124.6.64.0/18 +124.14.0.0/15 +124.16.0.0/15 +124.20.0.0/16 +124.21.0.0/20 +124.21.16.0/20 +124.21.32.0/19 +124.21.64.0/18 +124.21.128.0/17 +124.22.0.0/15 +124.28.192.0/18 +124.29.0.0/17 +124.31.0.0/16 +124.40.112.0/20 +124.40.128.0/18 +124.40.192.0/19 +124.40.240.0/22 +124.42.0.0/17 +124.42.128.0/17 +124.47.0.0/18 +124.64.0.0/15 +124.66.0.0/17 +124.67.0.0/16 +124.68.0.0/14 +124.72.0.0/16 +124.73.0.0/16 +124.74.0.0/15 +124.76.0.0/14 +124.88.0.0/16 +124.89.0.0/17 +124.89.128.0/17 +124.90.0.0/15 +124.92.0.0/14 +124.108.8.0/21 +124.108.40.0/21 +124.109.96.0/21 +124.112.0.0/15 +124.114.0.0/15 +124.116.0.0/16 +124.117.0.0/16 +124.118.0.0/15 +124.126.0.0/15 +124.128.0.0/13 +124.147.128.0/17 +124.150.137.0/24 +124.151.0.0/16 +124.152.0.0/16 +124.160.0.0/16 +124.161.0.0/16 +124.162.0.0/16 +124.163.0.0/16 +124.164.0.0/14 +124.172.0.0/15 +124.174.0.0/15 +124.192.0.0/15 +124.196.0.0/16 +124.200.0.0/13 +124.220.0.0/14 +124.224.0.0/16 +124.225.0.0/16 +124.226.0.0/15 +124.228.0.0/14 +124.232.0.0/15 +124.234.0.0/15 +124.236.0.0/14 +124.240.0.0/17 +124.240.128.0/18 +124.242.0.0/16 +124.243.192.0/18 +124.248.0.0/17 +124.249.0.0/16 +124.250.0.0/15 +124.254.0.0/18 +125.31.192.0/18 +125.32.0.0/16 +125.33.0.0/16 +125.34.0.0/16 +125.35.0.0/17 +125.35.128.0/17 +125.36.0.0/14 +125.40.0.0/13 +125.58.128.0/17 +125.61.128.0/17 +125.62.0.0/18 +125.64.0.0/13 +125.72.0.0/16 +125.73.0.0/16 +125.74.0.0/15 +125.76.0.0/17 +125.76.128.0/17 +125.77.0.0/16 +125.78.0.0/15 +125.80.0.0/13 +125.88.0.0/13 +125.96.0.0/15 +125.98.0.0/16 +125.104.0.0/13 +125.112.0.0/12 +125.169.0.0/16 +125.171.0.0/16 +125.208.0.0/18 +125.210.0.0/16 +125.211.0.0/16 +125.213.0.0/17 +125.214.96.0/19 +125.215.0.0/18 +125.216.0.0/15 +125.218.0.0/16 +125.219.0.0/16 +125.220.0.0/15 +125.222.0.0/15 +125.254.128.0/18 +125.254.192.0/18 +128.108.0.0/16 +129.28.0.0/16 +129.204.0.0/16 +129.211.0.0/16 +132.232.0.0/16 +134.175.0.0/16 +137.59.59.0/24 +137.59.88.0/22 +139.5.56.0/22 +139.5.60.0/22 +139.5.80.0/22 +139.5.92.0/22 +139.5.108.0/22 +139.5.128.0/22 +139.5.160.0/22 +139.5.192.0/22 +139.5.204.0/22 +139.5.208.0/22 +139.5.212.0/22 +139.5.244.0/22 +139.9.0.0/16 +139.129.0.0/16 +139.148.0.0/16 +139.155.0.0/16 +139.159.0.0/16 +139.170.0.0/16 +139.176.0.0/16 +139.183.0.0/16 +139.186.0.0/16 +139.189.0.0/16 +139.196.0.0/14 +139.200.0.0/13 +139.208.0.0/13 +139.217.0.0/16 +139.219.0.0/16 +139.220.0.0/15 +139.224.0.0/16 +139.226.0.0/15 +140.75.0.0/16 +140.143.0.0/16 +140.179.0.0/16 +140.205.0.0/16 +140.206.0.0/15 +140.210.0.0/16 +140.224.0.0/16 +140.237.0.0/16 +140.240.0.0/16 +140.243.0.0/16 +140.246.0.0/16 +140.249.0.0/16 +140.250.0.0/16 +140.255.0.0/16 +144.0.0.0/16 +144.7.0.0/16 +144.12.0.0/16 +144.48.8.0/22 +144.48.64.0/22 +144.48.88.0/22 +144.48.156.0/22 +144.48.180.0/22 +144.48.184.0/22 +144.48.204.0/22 +144.48.208.0/22 +144.48.212.0/22 +144.48.220.0/22 +144.48.252.0/22 +144.52.0.0/16 +144.123.0.0/16 +144.255.0.0/16 +146.56.192.0/18 +146.196.56.0/22 +146.196.68.0/22 +146.196.72.0/22 +146.196.92.0/22 +146.196.112.0/22 +146.196.116.0/22 +146.196.124.0/22 +148.70.0.0/16 +150.0.0.0/16 +150.115.0.0/16 +150.121.0.0/16 +150.122.0.0/16 +150.129.136.0/22 +150.129.192.0/22 +150.129.216.0/22 +150.129.252.0/22 +150.138.0.0/15 +150.158.0.0/16 +150.223.0.0/16 +150.242.0.0/22 +150.242.4.0/22 +150.242.8.0/22 +150.242.28.0/22 +150.242.44.0/22 +150.242.48.0/22 +150.242.52.0/22 +150.242.56.0/22 +150.242.76.0/22 +150.242.80.0/22 +150.242.92.0/22 +150.242.96.0/22 +150.242.112.0/22 +150.242.116.0/22 +150.242.120.0/22 +150.242.152.0/22 +150.242.156.0/22 +150.242.160.0/22 +150.242.164.0/22 +150.242.168.0/22 +150.242.184.0/22 +150.242.188.0/22 +150.242.192.0/22 +150.242.212.0/22 +150.242.224.0/22 +150.242.228.0/22 +150.242.232.0/22 +150.242.236.0/22 +150.242.240.0/22 +150.242.244.0/22 +150.242.248.0/22 +150.255.0.0/16 +152.104.128.0/17 +152.136.0.0/16 +153.0.0.0/16 +153.3.0.0/16 +153.34.0.0/15 +153.36.0.0/15 +153.99.0.0/16 +153.101.0.0/16 +153.118.0.0/15 +154.8.128.0/17 +157.0.0.0/16 +157.18.0.0/16 +157.61.0.0/16 +157.119.0.0/22 +157.119.8.0/22 +157.119.12.0/22 +157.119.16.0/22 +157.119.28.0/22 +157.119.68.0/22 +157.119.112.0/22 +157.119.132.0/22 +157.119.136.0/22 +157.119.140.0/22 +157.119.144.0/22 +157.119.148.0/22 +157.119.152.0/22 +157.119.156.0/22 +157.119.160.0/22 +157.119.164.0/22 +157.119.172.0/22 +157.119.192.0/22 +157.119.196.0/22 +157.119.240.0/22 +157.119.252.0/22 +157.122.0.0/16 +157.148.0.0/16 +157.156.0.0/16 +157.255.0.0/16 +159.75.0.0/16 +159.226.0.0/16 +160.19.208.0/22 +160.19.212.0/22 +160.19.216.0/22 +160.20.48.0/22 +160.202.60.0/22 +160.202.148.0/22 +160.202.152.0/22 +160.202.168.0/22 +160.202.212.0/22 +160.202.216.0/22 +160.202.220.0/22 +160.202.224.0/22 +160.202.228.0/22 +160.202.232.0/22 +160.202.236.0/22 +160.202.240.0/22 +160.202.244.0/22 +160.202.248.0/22 +160.202.252.0/22 +160.238.64.0/22 +161.189.0.0/16 +161.207.0.0/16 +162.14.0.0/16 +162.105.0.0/16 +163.0.0.0/16 +163.47.4.0/22 +163.53.0.0/22 +163.53.4.0/22 +163.53.8.0/22 +163.53.12.0/22 +163.53.36.0/22 +163.53.40.0/22 +163.53.44.0/22 +163.53.48.0/22 +163.53.52.0/22 +163.53.56.0/22 +163.53.60.0/22 +163.53.64.0/22 +163.53.88.0/22 +163.53.92.0/22 +163.53.96.0/22 +163.53.100.0/22 +163.53.104.0/22 +163.53.108.0/22 +163.53.112.0/22 +163.53.116.0/22 +163.53.120.0/22 +163.53.124.0/22 +163.53.128.0/22 +163.53.132.0/22 +163.53.136.0/22 +163.53.160.0/22 +163.53.164.0/22 +163.53.168.0/22 +163.53.172.0/22 +163.53.188.0/22 +163.53.220.0/22 +163.53.240.0/22 +163.125.0.0/16 +163.142.0.0/16 +163.177.0.0/16 +163.179.0.0/16 +163.204.0.0/16 +164.52.0.0/17 +166.111.0.0/16 +167.139.0.0/16 +167.189.0.0/16 +167.220.244.0/22 +168.160.0.0/16 +170.179.0.0/16 +171.8.0.0/13 +171.34.0.0/15 +171.36.0.0/14 +171.40.0.0/13 +171.80.0.0/14 +171.84.0.0/14 +171.88.0.0/13 +171.104.0.0/13 +171.112.0.0/14 +171.116.0.0/14 +171.120.0.0/13 +171.208.0.0/12 +172.81.192.0/18 +175.0.0.0/12 +175.16.0.0/13 +175.24.0.0/14 +175.30.0.0/15 +175.42.0.0/15 +175.44.0.0/16 +175.46.0.0/15 +175.48.0.0/12 +175.64.0.0/11 +175.102.0.0/16 +175.106.128.0/17 +175.111.144.0/22 +175.111.148.0/22 +175.111.152.0/22 +175.111.156.0/22 +175.111.160.0/22 +175.111.164.0/22 +175.111.168.0/22 +175.111.172.0/22 +175.111.184.0/22 +175.146.0.0/15 +175.148.0.0/14 +175.152.0.0/14 +175.158.96.0/22 +175.160.0.0/12 +175.176.156.0/22 +175.176.176.0/22 +175.176.188.0/22 +175.176.192.0/22 +175.178.0.0/16 +175.184.128.0/18 +175.185.0.0/16 +175.186.0.0/15 +175.188.0.0/14 +180.76.0.0/16 +180.77.0.0/16 +180.78.0.0/15 +180.84.0.0/15 +180.86.0.0/16 +180.88.0.0/14 +180.94.56.0/21 +180.94.96.0/20 +180.94.120.0/22 +180.94.124.0/22 +180.95.128.0/17 +180.96.0.0/11 +180.129.128.0/17 +180.130.0.0/16 +180.136.0.0/13 +180.148.16.0/21 +180.148.152.0/21 +180.148.216.0/21 +180.148.224.0/19 +180.149.128.0/19 +180.149.236.0/22 +180.150.160.0/19 +180.152.0.0/13 +180.160.0.0/12 +180.178.112.0/22 +180.178.116.0/22 +180.178.192.0/18 +180.184.0.0/14 +180.188.0.0/17 +180.189.148.0/22 +180.200.252.0/22 +180.201.0.0/16 +180.202.0.0/15 +180.208.0.0/15 +180.210.212.0/22 +180.210.224.0/19 +180.212.0.0/15 +180.222.224.0/19 +180.223.0.0/16 +180.233.0.0/18 +180.233.64.0/19 +180.233.144.0/22 +180.235.64.0/19 +180.235.112.0/22 +180.235.136.0/22 +182.16.144.0/22 +182.16.148.0/22 +182.16.192.0/19 +182.18.0.0/17 +182.23.184.0/21 +182.23.200.0/21 +182.32.0.0/12 +182.48.96.0/19 +182.49.0.0/16 +182.50.0.0/20 +182.50.112.0/20 +182.51.0.0/16 +182.54.0.0/17 +182.54.244.0/22 +182.61.0.0/16 +182.80.0.0/14 +182.84.0.0/14 +182.88.0.0/14 +182.92.0.0/16 +182.96.0.0/12 +182.112.0.0/12 +182.128.0.0/12 +182.144.0.0/13 +182.157.0.0/16 +182.160.64.0/19 +182.174.0.0/15 +182.200.0.0/13 +182.236.128.0/17 +182.237.24.0/22 +182.237.28.0/22 +182.238.0.0/16 +182.239.0.0/19 +182.240.0.0/13 +182.254.0.0/16 +182.255.32.0/22 +182.255.36.0/22 +182.255.60.0/22 +183.0.0.0/10 +183.64.0.0/13 +183.78.160.0/22 +183.78.164.0/22 +183.78.180.0/22 +183.81.172.0/22 +183.81.180.0/22 +183.84.0.0/15 +183.91.128.0/22 +183.91.136.0/21 +183.91.144.0/20 +183.92.0.0/14 +183.128.0.0/11 +183.160.0.0/13 +183.168.0.0/15 +183.170.0.0/16 +183.172.0.0/14 +183.182.0.0/19 +183.184.0.0/13 +183.192.0.0/10 +188.131.128.0/17 +192.55.46.0/24 +192.55.68.0/22 +192.102.204.0/23 +192.124.154.0/24 +192.140.128.0/22 +192.140.132.0/22 +192.140.136.0/22 +192.140.156.0/22 +192.140.160.0/22 +192.140.164.0/22 +192.140.168.0/22 +192.140.172.0/22 +192.140.176.0/22 +192.140.180.0/22 +192.140.184.0/22 +192.140.188.0/22 +192.140.192.0/22 +192.140.196.0/22 +192.140.200.0/22 +192.140.204.0/22 +192.140.208.0/22 +192.140.212.0/22 +192.144.128.0/17 +193.112.0.0/16 +198.175.100.0/22 +202.0.100.0/23 +202.0.122.0/23 +202.0.176.0/22 +202.3.128.0/23 +202.4.128.0/19 +202.4.252.0/22 +202.5.208.0/22 +202.5.212.0/22 +202.5.216.0/22 +202.6.6.0/23 +202.6.66.0/23 +202.6.72.0/23 +202.6.87.0/24 +202.6.88.0/23 +202.6.92.0/23 +202.6.103.0/24 +202.6.108.0/24 +202.6.110.0/23 +202.6.114.0/24 +202.6.176.0/20 +202.8.0.0/24 +202.8.2.0/23 +202.8.4.0/23 +202.8.12.0/24 +202.8.24.0/24 +202.8.77.0/24 +202.8.128.0/19 +202.8.192.0/20 +202.9.32.0/24 +202.9.34.0/23 +202.9.48.0/23 +202.9.51.0/24 +202.9.52.0/23 +202.9.54.0/24 +202.9.57.0/24 +202.9.58.0/23 +202.10.64.0/20 +202.10.112.0/22 +202.10.116.0/22 +202.10.120.0/22 +202.10.124.0/22 +202.12.1.0/24 +202.12.2.0/24 +202.12.17.0/24 +202.12.18.0/24 +202.12.19.0/24 +202.12.72.0/24 +202.12.84.0/23 +202.12.96.0/24 +202.12.98.0/23 +202.12.106.0/24 +202.12.111.0/24 +202.12.116.0/24 +202.14.64.0/23 +202.14.69.0/24 +202.14.73.0/24 +202.14.74.0/23 +202.14.76.0/24 +202.14.78.0/23 +202.14.88.0/24 +202.14.97.0/24 +202.14.104.0/23 +202.14.108.0/23 +202.14.111.0/24 +202.14.114.0/23 +202.14.118.0/23 +202.14.124.0/23 +202.14.127.0/24 +202.14.129.0/24 +202.14.135.0/24 +202.14.136.0/24 +202.14.149.0/24 +202.14.151.0/24 +202.14.157.0/24 +202.14.158.0/23 +202.14.169.0/24 +202.14.170.0/23 +202.14.172.0/22 +202.14.176.0/24 +202.14.184.0/23 +202.14.208.0/23 +202.14.213.0/24 +202.14.219.0/24 +202.14.220.0/24 +202.14.222.0/23 +202.14.225.0/24 +202.14.226.0/23 +202.14.231.0/24 +202.14.235.0/24 +202.14.236.0/23 +202.14.238.0/24 +202.14.239.0/24 +202.14.246.0/24 +202.14.251.0/24 +202.20.66.0/24 +202.20.79.0/24 +202.20.87.0/24 +202.20.88.0/23 +202.20.90.0/24 +202.20.94.0/23 +202.20.114.0/24 +202.20.117.0/24 +202.20.120.0/24 +202.20.125.0/24 +202.20.126.0/24 +202.20.127.0/24 +202.21.48.0/22 +202.21.52.0/22 +202.21.56.0/22 +202.21.60.0/22 +202.21.131.0/24 +202.21.132.0/24 +202.21.141.0/24 +202.21.142.0/24 +202.21.147.0/24 +202.21.148.0/24 +202.21.150.0/23 +202.21.152.0/23 +202.21.154.0/24 +202.21.156.0/24 +202.22.248.0/22 +202.22.252.0/22 +202.27.12.0/24 +202.27.14.0/24 +202.27.136.0/23 +202.36.226.0/24 +202.38.0.0/23 +202.38.2.0/23 +202.38.8.0/21 +202.38.48.0/20 +202.38.64.0/19 +202.38.96.0/19 +202.38.128.0/23 +202.38.130.0/23 +202.38.132.0/23 +202.38.134.0/24 +202.38.135.0/24 +202.38.136.0/23 +202.38.138.0/24 +202.38.140.0/23 +202.38.142.0/23 +202.38.146.0/23 +202.38.149.0/24 +202.38.150.0/23 +202.38.152.0/23 +202.38.154.0/23 +202.38.156.0/24 +202.38.158.0/23 +202.38.160.0/23 +202.38.164.0/22 +202.38.168.0/23 +202.38.170.0/24 +202.38.171.0/24 +202.38.176.0/23 +202.38.184.0/21 +202.38.192.0/18 +202.40.4.0/23 +202.40.7.0/24 +202.40.15.0/24 +202.40.135.0/24 +202.40.136.0/24 +202.40.140.0/24 +202.40.143.0/24 +202.40.144.0/23 +202.40.150.0/24 +202.40.155.0/24 +202.40.156.0/24 +202.40.158.0/23 +202.40.162.0/24 +202.41.8.0/23 +202.41.11.0/24 +202.41.12.0/23 +202.41.128.0/24 +202.41.130.0/23 +202.41.152.0/21 +202.41.192.0/24 +202.41.196.0/22 +202.41.200.0/22 +202.41.240.0/20 +202.43.76.0/22 +202.43.144.0/20 +202.44.16.0/20 +202.44.48.0/22 +202.44.67.0/24 +202.44.74.0/24 +202.44.97.0/24 +202.44.129.0/24 +202.44.132.0/23 +202.44.146.0/23 +202.45.0.0/23 +202.45.2.0/24 +202.45.15.0/24 +202.45.16.0/20 +202.46.16.0/23 +202.46.18.0/24 +202.46.20.0/23 +202.46.32.0/19 +202.46.128.0/24 +202.46.224.0/20 +202.47.82.0/23 +202.47.96.0/22 +202.47.100.0/22 +202.47.104.0/22 +202.47.108.0/22 +202.47.126.0/24 +202.47.128.0/24 +202.47.130.0/23 +202.52.33.0/24 +202.52.34.0/24 +202.52.47.0/24 +202.52.143.0/24 +202.53.140.0/24 +202.53.143.0/24 +202.57.192.0/22 +202.57.196.0/22 +202.57.200.0/22 +202.57.204.0/22 +202.57.212.0/22 +202.57.216.0/22 +202.57.240.0/20 +202.58.0.0/24 +202.58.104.0/22 +202.58.112.0/22 +202.59.0.0/24 +202.59.1.0/24 +202.59.212.0/22 +202.59.236.0/24 +202.59.240.0/24 +202.60.48.0/21 +202.60.96.0/21 +202.60.112.0/20 +202.60.132.0/22 +202.60.136.0/21 +202.60.144.0/20 +202.61.68.0/22 +202.61.76.0/22 +202.61.88.0/22 +202.61.123.0/24 +202.61.127.0/24 +202.62.112.0/22 +202.62.248.0/22 +202.62.252.0/24 +202.62.255.0/24 +202.63.80.0/24 +202.63.81.0/24 +202.63.82.0/23 +202.63.84.0/22 +202.63.88.0/21 +202.63.160.0/19 +202.63.248.0/22 +202.63.253.0/24 +202.65.0.0/21 +202.65.8.0/23 +202.65.96.0/22 +202.65.100.0/22 +202.65.104.0/22 +202.65.108.0/22 +202.66.168.0/22 +202.67.0.0/22 +202.69.4.0/22 +202.69.16.0/20 +202.70.0.0/19 +202.70.96.0/20 +202.70.192.0/20 +202.71.32.0/22 +202.71.36.0/22 +202.71.40.0/22 +202.71.44.0/22 +202.72.40.0/21 +202.72.80.0/20 +202.72.112.0/22 +202.72.116.0/22 +202.72.120.0/22 +202.72.124.0/22 +202.73.128.0/22 +202.73.240.0/22 +202.73.244.0/22 +202.73.248.0/22 +202.73.252.0/22 +202.74.8.0/21 +202.74.36.0/24 +202.74.42.0/24 +202.74.52.0/24 +202.74.80.0/20 +202.74.232.0/22 +202.74.254.0/23 +202.75.208.0/20 +202.75.252.0/22 +202.76.252.0/22 +202.77.80.0/21 +202.77.92.0/22 +202.78.8.0/21 +202.79.224.0/21 +202.79.248.0/22 +202.80.192.0/21 +202.80.200.0/21 +202.81.0.0/22 +202.81.176.0/22 +202.81.180.0/22 +202.81.184.0/22 +202.81.188.0/22 +202.83.252.0/22 +202.84.0.0/22 +202.84.4.0/22 +202.84.8.0/21 +202.84.16.0/23 +202.84.22.0/24 +202.84.24.0/21 +202.85.208.0/20 +202.86.249.0/24 +202.86.252.0/22 +202.87.80.0/20 +202.88.32.0/22 +202.89.8.0/21 +202.89.96.0/22 +202.89.108.0/22 +202.89.119.0/24 +202.89.232.0/21 +202.90.0.0/22 +202.90.16.0/22 +202.90.20.0/22 +202.90.24.0/22 +202.90.28.0/22 +202.90.37.0/24 +202.90.96.0/22 +202.90.100.0/22 +202.90.104.0/22 +202.90.108.0/22 +202.90.112.0/20 +202.90.193.0/24 +202.90.196.0/24 +202.90.205.0/24 +202.90.224.0/20 +202.91.0.0/22 +202.91.36.0/22 +202.91.96.0/20 +202.91.128.0/22 +202.91.176.0/20 +202.91.224.0/19 +202.92.0.0/22 +202.92.8.0/21 +202.92.48.0/20 +202.92.252.0/22 +202.93.0.0/22 +202.93.252.0/22 +202.94.74.0/24 +202.94.81.0/24 +202.94.92.0/22 +202.95.240.0/21 +202.95.252.0/22 +202.96.0.0/18 +202.96.64.0/21 +202.96.72.0/21 +202.96.80.0/20 +202.96.96.0/21 +202.96.104.0/21 +202.96.112.0/20 +202.96.128.0/21 +202.96.136.0/21 +202.96.144.0/20 +202.96.160.0/21 +202.96.168.0/21 +202.96.176.0/20 +202.96.192.0/21 +202.96.200.0/21 +202.96.208.0/20 +202.96.224.0/21 +202.96.232.0/21 +202.96.240.0/20 +202.97.0.0/21 +202.97.8.0/21 +202.97.16.0/20 +202.97.32.0/19 +202.97.64.0/19 +202.97.96.0/20 +202.97.112.0/20 +202.97.128.0/18 +202.97.192.0/19 +202.97.224.0/21 +202.97.232.0/21 +202.97.240.0/20 +202.98.0.0/21 +202.98.8.0/21 +202.98.16.0/20 +202.98.32.0/21 +202.98.40.0/21 +202.98.48.0/20 +202.98.64.0/19 +202.98.96.0/21 +202.98.104.0/21 +202.98.112.0/20 +202.98.128.0/19 +202.98.160.0/21 +202.98.168.0/21 +202.98.176.0/20 +202.98.192.0/21 +202.98.200.0/21 +202.98.208.0/20 +202.98.224.0/21 +202.98.232.0/21 +202.98.240.0/20 +202.99.0.0/18 +202.99.64.0/19 +202.99.96.0/21 +202.99.104.0/21 +202.99.112.0/20 +202.99.128.0/19 +202.99.160.0/21 +202.99.168.0/21 +202.99.176.0/20 +202.99.192.0/21 +202.99.200.0/21 +202.99.208.0/20 +202.99.224.0/21 +202.99.232.0/21 +202.99.240.0/20 +202.100.0.0/21 +202.100.8.0/21 +202.100.16.0/20 +202.100.32.0/19 +202.100.64.0/21 +202.100.72.0/21 +202.100.80.0/20 +202.100.96.0/21 +202.100.104.0/21 +202.100.112.0/20 +202.100.128.0/21 +202.100.136.0/21 +202.100.144.0/20 +202.100.160.0/21 +202.100.168.0/21 +202.100.176.0/20 +202.100.192.0/21 +202.100.200.0/21 +202.100.208.0/20 +202.100.224.0/19 +202.101.0.0/18 +202.101.64.0/19 +202.101.96.0/19 +202.101.128.0/18 +202.101.192.0/19 +202.101.224.0/21 +202.101.232.0/21 +202.101.240.0/20 +202.102.0.0/19 +202.102.32.0/19 +202.102.64.0/18 +202.102.128.0/21 +202.102.136.0/21 +202.102.144.0/20 +202.102.160.0/19 +202.102.192.0/21 +202.102.200.0/21 +202.102.208.0/20 +202.102.224.0/21 +202.102.232.0/21 +202.102.240.0/20 +202.103.0.0/21 +202.103.8.0/21 +202.103.16.0/20 +202.103.32.0/19 +202.103.64.0/19 +202.103.96.0/21 +202.103.104.0/21 +202.103.112.0/20 +202.103.128.0/18 +202.103.192.0/19 +202.103.224.0/21 +202.103.232.0/21 +202.103.240.0/20 +202.104.0.0/15 +202.106.0.0/16 +202.107.0.0/17 +202.107.128.0/17 +202.108.0.0/16 +202.109.0.0/16 +202.110.0.0/18 +202.110.64.0/18 +202.110.128.0/18 +202.110.192.0/18 +202.111.0.0/17 +202.111.128.0/19 +202.111.160.0/19 +202.111.192.0/18 +202.112.0.0/16 +202.113.0.0/20 +202.113.16.0/20 +202.113.32.0/19 +202.113.64.0/18 +202.113.128.0/18 +202.113.192.0/19 +202.113.224.0/20 +202.113.240.0/20 +202.114.0.0/19 +202.114.32.0/19 +202.114.64.0/18 +202.114.128.0/17 +202.115.0.0/19 +202.115.32.0/19 +202.115.64.0/18 +202.115.128.0/17 +202.116.0.0/19 +202.116.32.0/20 +202.116.48.0/20 +202.116.64.0/19 +202.116.96.0/19 +202.116.128.0/17 +202.117.0.0/18 +202.117.64.0/18 +202.117.128.0/17 +202.118.0.0/19 +202.118.32.0/19 +202.118.64.0/18 +202.118.128.0/17 +202.119.0.0/19 +202.119.32.0/19 +202.119.64.0/20 +202.119.80.0/20 +202.119.96.0/19 +202.119.128.0/17 +202.120.0.0/18 +202.120.64.0/18 +202.120.128.0/17 +202.121.0.0/16 +202.122.0.0/21 +202.122.32.0/21 +202.122.64.0/19 +202.122.112.0/21 +202.122.120.0/21 +202.122.128.0/24 +202.122.132.0/24 +202.123.96.0/20 +202.123.116.0/22 +202.123.120.0/22 +202.124.16.0/21 +202.124.24.0/22 +202.125.107.0/24 +202.125.109.0/24 +202.125.112.0/20 +202.125.176.0/20 +202.127.0.0/23 +202.127.2.0/24 +202.127.3.0/24 +202.127.4.0/24 +202.127.5.0/24 +202.127.6.0/23 +202.127.12.0/22 +202.127.16.0/20 +202.127.40.0/21 +202.127.48.0/20 +202.127.112.0/20 +202.127.128.0/20 +202.127.144.0/20 +202.127.160.0/21 +202.127.192.0/23 +202.127.194.0/23 +202.127.196.0/22 +202.127.200.0/21 +202.127.208.0/24 +202.127.209.0/24 +202.127.212.0/22 +202.127.216.0/21 +202.127.224.0/19 +202.129.208.0/24 +202.130.0.0/19 +202.130.39.0/24 +202.130.224.0/19 +202.131.16.0/21 +202.131.48.0/20 +202.131.208.0/20 +202.133.32.0/20 +202.134.58.0/24 +202.134.128.0/20 +202.134.208.0/22 +202.134.212.0/22 +202.134.216.0/22 +202.134.220.0/22 +202.136.48.0/20 +202.136.208.0/20 +202.136.224.0/20 +202.136.248.0/22 +202.137.231.0/24 +202.140.140.0/22 +202.140.144.0/22 +202.140.148.0/22 +202.140.152.0/22 +202.140.156.0/22 +202.141.160.0/19 +202.142.16.0/20 +202.143.4.0/22 +202.143.16.0/20 +202.143.32.0/20 +202.143.56.0/21 +202.143.100.0/22 +202.143.104.0/22 +202.144.196.0/22 +202.146.160.0/20 +202.146.186.0/24 +202.146.188.0/22 +202.146.196.0/22 +202.146.200.0/21 +202.147.144.0/20 +202.148.32.0/20 +202.148.64.0/19 +202.148.96.0/19 +202.149.32.0/19 +202.149.160.0/19 +202.149.224.0/19 +202.150.16.0/20 +202.150.32.0/20 +202.150.56.0/22 +202.150.192.0/20 +202.150.224.0/19 +202.151.0.0/22 +202.151.33.0/24 +202.151.128.0/19 +202.152.176.0/20 +202.153.0.0/22 +202.153.7.0/24 +202.153.48.0/20 +202.157.192.0/19 +202.158.160.0/19 +202.158.242.0/24 +202.160.140.0/22 +202.160.156.0/22 +202.160.176.0/20 +202.162.67.0/24 +202.162.75.0/24 +202.164.0.0/20 +202.164.96.0/19 +202.165.176.0/20 +202.165.208.0/20 +202.165.239.0/24 +202.165.240.0/23 +202.165.243.0/24 +202.165.245.0/24 +202.165.251.0/24 +202.165.252.0/22 +202.166.224.0/19 +202.168.80.0/22 +202.168.128.0/22 +202.168.132.0/22 +202.168.136.0/22 +202.168.140.0/22 +202.168.160.0/20 +202.168.176.0/20 +202.170.128.0/19 +202.170.216.0/21 +202.170.224.0/19 +202.171.216.0/21 +202.171.232.0/24 +202.171.235.0/24 +202.172.0.0/22 +202.172.7.0/24 +202.173.0.0/22 +202.173.6.0/24 +202.173.8.0/21 +202.173.112.0/22 +202.173.224.0/19 +202.174.64.0/20 +202.174.124.0/22 +202.176.224.0/19 +202.179.160.0/22 +202.179.164.0/22 +202.179.168.0/22 +202.179.172.0/22 +202.179.240.0/20 +202.180.128.0/19 +202.180.208.0/21 +202.181.8.0/22 +202.181.28.0/22 +202.181.112.0/20 +202.182.32.0/20 +202.182.192.0/19 +202.189.0.0/18 +202.189.80.0/20 +202.189.184.0/21 +202.191.0.0/24 +202.191.68.0/22 +202.191.72.0/21 +202.191.80.0/20 +202.192.0.0/13 +202.200.0.0/14 +202.204.0.0/14 +203.0.4.0/22 +203.0.10.0/23 +203.0.18.0/24 +203.0.24.0/24 +203.0.42.0/23 +203.0.45.0/24 +203.0.46.0/23 +203.0.81.0/24 +203.0.82.0/23 +203.0.90.0/23 +203.0.96.0/23 +203.0.104.0/21 +203.0.114.0/23 +203.0.122.0/24 +203.0.128.0/24 +203.0.130.0/23 +203.0.132.0/22 +203.0.137.0/24 +203.0.142.0/24 +203.0.144.0/24 +203.0.146.0/24 +203.0.148.0/24 +203.0.150.0/23 +203.0.152.0/24 +203.0.177.0/24 +203.0.224.0/24 +203.1.4.0/22 +203.1.18.0/24 +203.1.26.0/23 +203.1.65.0/24 +203.1.66.0/23 +203.1.70.0/23 +203.1.76.0/23 +203.1.90.0/24 +203.1.97.0/24 +203.1.98.0/23 +203.1.100.0/22 +203.1.108.0/24 +203.1.253.0/24 +203.1.254.0/24 +203.2.64.0/21 +203.2.73.0/24 +203.2.112.0/21 +203.2.126.0/23 +203.2.140.0/24 +203.2.150.0/24 +203.2.152.0/22 +203.2.156.0/23 +203.2.160.0/21 +203.2.180.0/23 +203.2.196.0/23 +203.2.209.0/24 +203.2.214.0/23 +203.2.226.0/23 +203.2.229.0/24 +203.2.236.0/23 +203.3.68.0/24 +203.3.72.0/23 +203.3.75.0/24 +203.3.80.0/21 +203.3.96.0/22 +203.3.105.0/24 +203.3.112.0/21 +203.3.120.0/24 +203.3.123.0/24 +203.3.135.0/24 +203.3.139.0/24 +203.3.143.0/24 +203.4.132.0/23 +203.4.134.0/24 +203.4.151.0/24 +203.4.152.0/22 +203.4.174.0/23 +203.4.180.0/24 +203.4.186.0/24 +203.4.205.0/24 +203.4.208.0/22 +203.4.227.0/24 +203.4.230.0/23 +203.5.4.0/23 +203.5.7.0/24 +203.5.8.0/23 +203.5.11.0/24 +203.5.21.0/24 +203.5.22.0/24 +203.5.44.0/24 +203.5.46.0/23 +203.5.52.0/22 +203.5.56.0/23 +203.5.60.0/23 +203.5.114.0/23 +203.5.118.0/24 +203.5.120.0/24 +203.5.172.0/24 +203.5.180.0/23 +203.5.182.0/24 +203.5.185.0/24 +203.5.186.0/24 +203.5.188.0/23 +203.5.190.0/24 +203.5.195.0/24 +203.5.214.0/23 +203.5.218.0/23 +203.6.131.0/24 +203.6.136.0/24 +203.6.138.0/23 +203.6.142.0/24 +203.6.150.0/23 +203.6.157.0/24 +203.6.159.0/24 +203.6.224.0/20 +203.6.248.0/23 +203.7.129.0/24 +203.7.138.0/23 +203.7.147.0/24 +203.7.150.0/23 +203.7.158.0/24 +203.7.192.0/23 +203.7.200.0/24 +203.8.0.0/24 +203.8.8.0/24 +203.8.23.0/24 +203.8.24.0/21 +203.8.70.0/24 +203.8.82.0/24 +203.8.86.0/23 +203.8.91.0/24 +203.8.110.0/23 +203.8.115.0/24 +203.8.166.0/23 +203.8.169.0/24 +203.8.173.0/24 +203.8.184.0/24 +203.8.186.0/23 +203.8.190.0/23 +203.8.192.0/24 +203.8.197.0/24 +203.8.198.0/23 +203.8.203.0/24 +203.8.209.0/24 +203.8.210.0/23 +203.8.212.0/22 +203.8.217.0/24 +203.8.220.0/24 +203.9.32.0/24 +203.9.36.0/23 +203.9.57.0/24 +203.9.63.0/24 +203.9.65.0/24 +203.9.70.0/23 +203.9.72.0/24 +203.9.75.0/24 +203.9.76.0/23 +203.9.96.0/22 +203.9.100.0/23 +203.9.108.0/24 +203.9.158.0/24 +203.10.34.0/24 +203.10.56.0/24 +203.10.74.0/23 +203.10.84.0/22 +203.10.88.0/24 +203.10.95.0/24 +203.10.125.0/24 +203.11.70.0/24 +203.11.76.0/22 +203.11.82.0/24 +203.11.84.0/22 +203.11.100.0/22 +203.11.109.0/24 +203.11.117.0/24 +203.11.122.0/24 +203.11.126.0/24 +203.11.136.0/22 +203.11.141.0/24 +203.11.142.0/23 +203.11.180.0/22 +203.11.208.0/22 +203.12.16.0/24 +203.12.19.0/24 +203.12.24.0/24 +203.12.57.0/24 +203.12.65.0/24 +203.12.66.0/24 +203.12.70.0/23 +203.12.87.0/24 +203.12.88.0/21 +203.12.100.0/23 +203.12.103.0/24 +203.12.114.0/24 +203.12.118.0/24 +203.12.130.0/24 +203.12.137.0/24 +203.12.196.0/22 +203.12.200.0/21 +203.12.211.0/24 +203.12.219.0/24 +203.12.226.0/24 +203.12.240.0/22 +203.13.18.0/24 +203.13.24.0/24 +203.13.44.0/23 +203.13.80.0/21 +203.13.88.0/23 +203.13.92.0/22 +203.13.173.0/24 +203.13.224.0/23 +203.13.227.0/24 +203.13.233.0/24 +203.14.24.0/22 +203.14.33.0/24 +203.14.56.0/24 +203.14.61.0/24 +203.14.62.0/24 +203.14.104.0/24 +203.14.114.0/23 +203.14.118.0/24 +203.14.162.0/24 +203.14.184.0/21 +203.14.192.0/24 +203.14.194.0/23 +203.14.214.0/24 +203.14.231.0/24 +203.14.246.0/24 +203.15.0.0/20 +203.15.20.0/23 +203.15.22.0/24 +203.15.87.0/24 +203.15.88.0/23 +203.15.105.0/24 +203.15.112.0/21 +203.15.130.0/23 +203.15.149.0/24 +203.15.151.0/24 +203.15.156.0/22 +203.15.174.0/24 +203.15.227.0/24 +203.15.232.0/21 +203.15.240.0/23 +203.15.246.0/24 +203.16.10.0/24 +203.16.12.0/23 +203.16.16.0/21 +203.16.27.0/24 +203.16.38.0/24 +203.16.49.0/24 +203.16.50.0/23 +203.16.58.0/24 +203.16.63.0/24 +203.16.133.0/24 +203.16.161.0/24 +203.16.162.0/24 +203.16.186.0/23 +203.16.228.0/24 +203.16.238.0/24 +203.16.240.0/24 +203.16.245.0/24 +203.17.2.0/24 +203.17.18.0/24 +203.17.28.0/24 +203.17.39.0/24 +203.17.56.0/24 +203.17.74.0/23 +203.17.88.0/23 +203.17.136.0/24 +203.17.164.0/24 +203.17.187.0/24 +203.17.190.0/23 +203.17.231.0/24 +203.17.233.0/24 +203.17.248.0/24 +203.17.249.0/24 +203.17.255.0/24 +203.18.2.0/23 +203.18.4.0/24 +203.18.7.0/24 +203.18.31.0/24 +203.18.37.0/24 +203.18.48.0/23 +203.18.52.0/24 +203.18.72.0/22 +203.18.80.0/23 +203.18.87.0/24 +203.18.100.0/23 +203.18.105.0/24 +203.18.107.0/24 +203.18.110.0/24 +203.18.129.0/24 +203.18.131.0/24 +203.18.132.0/23 +203.18.144.0/24 +203.18.153.0/24 +203.18.199.0/24 +203.18.208.0/24 +203.18.211.0/24 +203.18.215.0/24 +203.19.1.0/24 +203.19.18.0/24 +203.19.24.0/24 +203.19.30.0/24 +203.19.32.0/21 +203.19.41.0/24 +203.19.44.0/23 +203.19.46.0/24 +203.19.58.0/24 +203.19.60.0/23 +203.19.64.0/24 +203.19.68.0/24 +203.19.72.0/24 +203.19.101.0/24 +203.19.111.0/24 +203.19.131.0/24 +203.19.133.0/24 +203.19.144.0/24 +203.19.147.0/24 +203.19.149.0/24 +203.19.156.0/24 +203.19.176.0/24 +203.19.178.0/23 +203.19.208.0/24 +203.19.228.0/22 +203.19.233.0/24 +203.19.242.0/24 +203.19.248.0/23 +203.19.255.0/24 +203.20.17.0/24 +203.20.40.0/23 +203.20.44.0/24 +203.20.48.0/24 +203.20.61.0/24 +203.20.65.0/24 +203.20.84.0/23 +203.20.89.0/24 +203.20.106.0/23 +203.20.115.0/24 +203.20.117.0/24 +203.20.118.0/23 +203.20.122.0/24 +203.20.126.0/23 +203.20.135.0/24 +203.20.136.0/21 +203.20.150.0/24 +203.20.230.0/24 +203.20.232.0/24 +203.20.236.0/24 +203.21.0.0/23 +203.21.2.0/24 +203.21.8.0/24 +203.21.10.0/24 +203.21.18.0/24 +203.21.33.0/24 +203.21.34.0/24 +203.21.41.0/24 +203.21.44.0/24 +203.21.68.0/24 +203.21.82.0/24 +203.21.96.0/22 +203.21.124.0/24 +203.21.136.0/23 +203.21.145.0/24 +203.21.206.0/24 +203.22.24.0/24 +203.22.28.0/23 +203.22.31.0/24 +203.22.68.0/24 +203.22.76.0/24 +203.22.78.0/24 +203.22.84.0/24 +203.22.87.0/24 +203.22.92.0/22 +203.22.99.0/24 +203.22.106.0/24 +203.22.122.0/23 +203.22.131.0/24 +203.22.163.0/24 +203.22.166.0/24 +203.22.170.0/24 +203.22.176.0/21 +203.22.194.0/24 +203.22.242.0/23 +203.22.245.0/24 +203.22.246.0/24 +203.22.252.0/23 +203.23.0.0/24 +203.23.47.0/24 +203.23.61.0/24 +203.23.62.0/23 +203.23.73.0/24 +203.23.85.0/24 +203.23.92.0/22 +203.23.98.0/24 +203.23.107.0/24 +203.23.112.0/24 +203.23.130.0/24 +203.23.140.0/23 +203.23.172.0/24 +203.23.182.0/24 +203.23.186.0/23 +203.23.192.0/24 +203.23.197.0/24 +203.23.198.0/24 +203.23.204.0/22 +203.23.224.0/24 +203.23.226.0/23 +203.23.228.0/22 +203.23.249.0/24 +203.23.251.0/24 +203.24.13.0/24 +203.24.18.0/24 +203.24.27.0/24 +203.24.43.0/24 +203.24.56.0/24 +203.24.58.0/24 +203.24.67.0/24 +203.24.74.0/24 +203.24.79.0/24 +203.24.80.0/23 +203.24.84.0/23 +203.24.86.0/24 +203.24.90.0/24 +203.24.111.0/24 +203.24.112.0/24 +203.24.116.0/24 +203.24.122.0/23 +203.24.145.0/24 +203.24.152.0/23 +203.24.157.0/24 +203.24.161.0/24 +203.24.167.0/24 +203.24.186.0/23 +203.24.199.0/24 +203.24.202.0/24 +203.24.212.0/23 +203.24.217.0/24 +203.24.219.0/24 +203.24.244.0/24 +203.25.19.0/24 +203.25.20.0/23 +203.25.46.0/24 +203.25.48.0/21 +203.25.64.0/23 +203.25.91.0/24 +203.25.99.0/24 +203.25.100.0/24 +203.25.106.0/24 +203.25.131.0/24 +203.25.135.0/24 +203.25.138.0/24 +203.25.147.0/24 +203.25.153.0/24 +203.25.154.0/23 +203.25.164.0/24 +203.25.166.0/24 +203.25.174.0/23 +203.25.180.0/24 +203.25.182.0/24 +203.25.191.0/24 +203.25.199.0/24 +203.25.200.0/24 +203.25.202.0/23 +203.25.208.0/20 +203.25.229.0/24 +203.25.235.0/24 +203.25.236.0/24 +203.25.242.0/24 +203.26.12.0/24 +203.26.34.0/24 +203.26.49.0/24 +203.26.50.0/24 +203.26.55.0/24 +203.26.56.0/23 +203.26.60.0/24 +203.26.65.0/24 +203.26.68.0/24 +203.26.76.0/24 +203.26.80.0/24 +203.26.84.0/24 +203.26.97.0/24 +203.26.102.0/23 +203.26.115.0/24 +203.26.116.0/24 +203.26.129.0/24 +203.26.143.0/24 +203.26.144.0/24 +203.26.148.0/23 +203.26.154.0/24 +203.26.158.0/23 +203.26.170.0/24 +203.26.173.0/24 +203.26.176.0/24 +203.26.185.0/24 +203.26.202.0/23 +203.26.210.0/24 +203.26.214.0/24 +203.26.222.0/24 +203.26.224.0/24 +203.26.228.0/24 +203.26.232.0/24 +203.27.0.0/24 +203.27.10.0/24 +203.27.15.0/24 +203.27.16.0/24 +203.27.20.0/24 +203.27.22.0/23 +203.27.40.0/24 +203.27.45.0/24 +203.27.53.0/24 +203.27.65.0/24 +203.27.66.0/24 +203.27.81.0/24 +203.27.88.0/24 +203.27.102.0/24 +203.27.109.0/24 +203.27.117.0/24 +203.27.121.0/24 +203.27.122.0/23 +203.27.125.0/24 +203.27.200.0/24 +203.27.202.0/24 +203.27.233.0/24 +203.27.241.0/24 +203.27.250.0/24 +203.28.10.0/24 +203.28.12.0/24 +203.28.33.0/24 +203.28.34.0/23 +203.28.43.0/24 +203.28.44.0/24 +203.28.54.0/24 +203.28.56.0/24 +203.28.73.0/24 +203.28.74.0/24 +203.28.76.0/24 +203.28.86.0/24 +203.28.88.0/24 +203.28.112.0/24 +203.28.131.0/24 +203.28.136.0/24 +203.28.140.0/24 +203.28.145.0/24 +203.28.165.0/24 +203.28.169.0/24 +203.28.170.0/24 +203.28.178.0/23 +203.28.185.0/24 +203.28.187.0/24 +203.28.196.0/24 +203.28.226.0/23 +203.28.239.0/24 +203.29.2.0/24 +203.29.8.0/23 +203.29.13.0/24 +203.29.14.0/24 +203.29.28.0/24 +203.29.46.0/24 +203.29.57.0/24 +203.29.61.0/24 +203.29.63.0/24 +203.29.69.0/24 +203.29.73.0/24 +203.29.81.0/24 +203.29.90.0/24 +203.29.95.0/24 +203.29.100.0/24 +203.29.103.0/24 +203.29.112.0/24 +203.29.120.0/22 +203.29.182.0/23 +203.29.187.0/24 +203.29.189.0/24 +203.29.190.0/24 +203.29.205.0/24 +203.29.210.0/24 +203.29.217.0/24 +203.29.227.0/24 +203.29.231.0/24 +203.29.233.0/24 +203.29.234.0/24 +203.29.248.0/24 +203.29.254.0/23 +203.30.16.0/23 +203.30.25.0/24 +203.30.27.0/24 +203.30.29.0/24 +203.30.66.0/24 +203.30.81.0/24 +203.30.87.0/24 +203.30.111.0/24 +203.30.121.0/24 +203.30.123.0/24 +203.30.152.0/24 +203.30.156.0/24 +203.30.162.0/24 +203.30.173.0/24 +203.30.175.0/24 +203.30.187.0/24 +203.30.194.0/24 +203.30.217.0/24 +203.30.220.0/24 +203.30.222.0/24 +203.30.232.0/23 +203.30.235.0/24 +203.30.240.0/23 +203.30.246.0/24 +203.30.250.0/23 +203.31.45.0/24 +203.31.46.0/24 +203.31.49.0/24 +203.31.51.0/24 +203.31.54.0/23 +203.31.69.0/24 +203.31.72.0/24 +203.31.80.0/24 +203.31.85.0/24 +203.31.97.0/24 +203.31.105.0/24 +203.31.106.0/24 +203.31.108.0/23 +203.31.124.0/24 +203.31.162.0/24 +203.31.174.0/24 +203.31.177.0/24 +203.31.181.0/24 +203.31.187.0/24 +203.31.189.0/24 +203.31.204.0/24 +203.31.220.0/24 +203.31.222.0/23 +203.31.225.0/24 +203.31.229.0/24 +203.31.248.0/23 +203.31.253.0/24 +203.32.20.0/24 +203.32.48.0/23 +203.32.56.0/24 +203.32.60.0/24 +203.32.62.0/24 +203.32.68.0/23 +203.32.76.0/24 +203.32.81.0/24 +203.32.84.0/23 +203.32.95.0/24 +203.32.102.0/24 +203.32.105.0/24 +203.32.130.0/24 +203.32.133.0/24 +203.32.140.0/24 +203.32.152.0/24 +203.32.186.0/23 +203.32.192.0/24 +203.32.196.0/24 +203.32.203.0/24 +203.32.204.0/23 +203.32.212.0/24 +203.33.4.0/24 +203.33.7.0/24 +203.33.8.0/21 +203.33.21.0/24 +203.33.26.0/24 +203.33.32.0/24 +203.33.63.0/24 +203.33.64.0/24 +203.33.67.0/24 +203.33.68.0/24 +203.33.73.0/24 +203.33.79.0/24 +203.33.100.0/24 +203.33.122.0/24 +203.33.129.0/24 +203.33.131.0/24 +203.33.145.0/24 +203.33.156.0/24 +203.33.158.0/23 +203.33.174.0/24 +203.33.185.0/24 +203.33.200.0/24 +203.33.202.0/23 +203.33.204.0/24 +203.33.206.0/23 +203.33.214.0/23 +203.33.224.0/23 +203.33.226.0/24 +203.33.233.0/24 +203.33.243.0/24 +203.33.250.0/24 +203.34.4.0/24 +203.34.21.0/24 +203.34.27.0/24 +203.34.39.0/24 +203.34.48.0/23 +203.34.54.0/24 +203.34.56.0/23 +203.34.67.0/24 +203.34.69.0/24 +203.34.76.0/24 +203.34.92.0/24 +203.34.106.0/24 +203.34.113.0/24 +203.34.147.0/24 +203.34.150.0/24 +203.34.152.0/23 +203.34.161.0/24 +203.34.162.0/24 +203.34.187.0/24 +203.34.192.0/21 +203.34.204.0/22 +203.34.232.0/24 +203.34.240.0/24 +203.34.242.0/24 +203.34.245.0/24 +203.34.251.0/24 +203.55.2.0/23 +203.55.4.0/24 +203.55.10.0/24 +203.55.13.0/24 +203.55.22.0/24 +203.55.30.0/24 +203.55.93.0/24 +203.55.101.0/24 +203.55.109.0/24 +203.55.110.0/24 +203.55.116.0/23 +203.55.119.0/24 +203.55.128.0/23 +203.55.146.0/23 +203.55.192.0/24 +203.55.196.0/24 +203.55.218.0/23 +203.55.221.0/24 +203.55.224.0/24 +203.56.1.0/24 +203.56.4.0/24 +203.56.12.0/24 +203.56.24.0/24 +203.56.38.0/24 +203.56.40.0/24 +203.56.46.0/24 +203.56.48.0/21 +203.56.68.0/23 +203.56.82.0/23 +203.56.84.0/23 +203.56.95.0/24 +203.56.110.0/24 +203.56.121.0/24 +203.56.161.0/24 +203.56.169.0/24 +203.56.172.0/23 +203.56.175.0/24 +203.56.183.0/24 +203.56.185.0/24 +203.56.187.0/24 +203.56.192.0/24 +203.56.198.0/24 +203.56.201.0/24 +203.56.208.0/23 +203.56.210.0/24 +203.56.214.0/24 +203.56.216.0/24 +203.56.227.0/24 +203.56.228.0/24 +203.56.231.0/24 +203.56.232.0/24 +203.56.240.0/24 +203.56.252.0/24 +203.56.254.0/24 +203.57.5.0/24 +203.57.6.0/24 +203.57.12.0/23 +203.57.28.0/24 +203.57.39.0/24 +203.57.46.0/24 +203.57.58.0/24 +203.57.61.0/24 +203.57.66.0/24 +203.57.69.0/24 +203.57.70.0/23 +203.57.73.0/24 +203.57.90.0/24 +203.57.101.0/24 +203.57.109.0/24 +203.57.123.0/24 +203.57.157.0/24 +203.57.200.0/24 +203.57.202.0/24 +203.57.206.0/24 +203.57.222.0/24 +203.57.224.0/20 +203.57.246.0/23 +203.57.249.0/24 +203.57.253.0/24 +203.57.254.0/23 +203.62.2.0/24 +203.62.131.0/24 +203.62.139.0/24 +203.62.161.0/24 +203.62.197.0/24 +203.62.228.0/22 +203.62.234.0/24 +203.62.246.0/24 +203.76.160.0/22 +203.76.168.0/22 +203.76.208.0/22 +203.76.212.0/22 +203.76.216.0/22 +203.76.240.0/22 +203.76.244.0/22 +203.77.180.0/22 +203.78.48.0/20 +203.78.156.0/22 +203.79.0.0/20 +203.79.32.0/20 +203.80.4.0/23 +203.80.32.0/20 +203.80.57.0/24 +203.80.129.0/24 +203.80.132.0/22 +203.80.136.0/21 +203.80.144.0/20 +203.81.0.0/21 +203.81.16.0/20 +203.81.244.0/22 +203.82.0.0/23 +203.82.16.0/21 +203.82.112.0/22 +203.82.116.0/22 +203.82.120.0/22 +203.82.124.0/22 +203.82.224.0/22 +203.82.228.0/22 +203.82.232.0/22 +203.82.236.0/22 +203.83.0.0/22 +203.83.8.0/22 +203.83.12.0/22 +203.83.56.0/21 +203.83.224.0/20 +203.86.0.0/19 +203.86.32.0/19 +203.86.64.0/20 +203.86.80.0/20 +203.86.96.0/19 +203.86.250.0/24 +203.86.254.0/23 +203.88.32.0/19 +203.88.192.0/19 +203.89.0.0/22 +203.89.8.0/21 +203.89.100.0/22 +203.89.133.0/24 +203.89.136.0/22 +203.89.144.0/24 +203.90.0.0/22 +203.90.8.0/22 +203.90.12.0/22 +203.90.128.0/19 +203.90.160.0/19 +203.90.192.0/19 +203.91.32.0/19 +203.91.96.0/20 +203.91.120.0/21 +203.92.0.0/22 +203.92.6.0/24 +203.92.160.0/19 +203.93.0.0/22 +203.93.4.0/22 +203.93.8.0/24 +203.93.9.0/24 +203.93.10.0/23 +203.93.12.0/22 +203.93.16.0/20 +203.93.32.0/19 +203.93.64.0/18 +203.93.128.0/21 +203.93.136.0/22 +203.93.140.0/24 +203.93.141.0/24 +203.93.142.0/23 +203.93.144.0/20 +203.93.160.0/19 +203.93.192.0/18 +203.94.0.0/22 +203.94.4.0/22 +203.94.8.0/21 +203.94.16.0/20 +203.95.0.0/21 +203.95.96.0/20 +203.95.112.0/20 +203.95.128.0/18 +203.95.200.0/22 +203.95.204.0/22 +203.95.208.0/22 +203.95.224.0/19 +203.99.8.0/21 +203.99.16.0/20 +203.99.80.0/20 +203.100.32.0/20 +203.100.48.0/21 +203.100.58.0/24 +203.100.60.0/24 +203.100.63.0/24 +203.100.80.0/20 +203.100.96.0/19 +203.100.192.0/20 +203.104.32.0/20 +203.105.96.0/19 +203.105.128.0/19 +203.107.0.0/17 +203.110.160.0/19 +203.110.208.0/20 +203.110.232.0/23 +203.110.234.0/24 +203.114.80.0/22 +203.114.84.0/22 +203.114.88.0/22 +203.114.92.0/22 +203.114.244.0/22 +203.118.192.0/19 +203.118.241.0/24 +203.118.248.0/22 +203.119.24.0/21 +203.119.32.0/22 +203.119.80.0/22 +203.119.85.0/24 +203.119.113.0/24 +203.119.114.0/23 +203.119.116.0/22 +203.119.120.0/21 +203.119.128.0/17 +203.123.58.0/24 +203.128.32.0/19 +203.128.96.0/19 +203.128.224.0/21 +203.129.8.0/21 +203.130.32.0/19 +203.132.32.0/19 +203.134.240.0/21 +203.135.96.0/20 +203.135.112.0/20 +203.135.160.0/20 +203.142.219.0/24 +203.142.224.0/19 +203.144.96.0/19 +203.145.0.0/19 +203.148.0.0/18 +203.148.64.0/20 +203.148.80.0/22 +203.148.86.0/23 +203.149.92.0/22 +203.152.64.0/19 +203.152.128.0/19 +203.153.0.0/22 +203.156.192.0/18 +203.158.16.0/21 +203.160.52.0/22 +203.160.104.0/21 +203.160.129.0/24 +203.160.192.0/19 +203.161.0.0/22 +203.161.180.0/24 +203.161.183.0/24 +203.161.192.0/19 +203.166.160.0/19 +203.167.28.0/22 +203.168.0.0/19 +203.170.58.0/23 +203.171.0.0/22 +203.171.208.0/24 +203.171.224.0/20 +203.174.4.0/24 +203.174.6.0/24 +203.174.7.0/24 +203.174.96.0/19 +203.175.128.0/19 +203.175.192.0/18 +203.176.0.0/18 +203.176.64.0/19 +203.176.168.0/21 +203.184.80.0/20 +203.185.189.0/24 +203.187.160.0/19 +203.189.0.0/23 +203.189.6.0/23 +203.189.112.0/22 +203.189.192.0/19 +203.189.232.0/22 +203.189.240.0/22 +203.190.96.0/20 +203.190.249.0/24 +203.191.0.0/23 +203.191.2.0/24 +203.191.5.0/24 +203.191.7.0/24 +203.191.16.0/20 +203.191.64.0/18 +203.191.133.0/24 +203.191.144.0/21 +203.191.152.0/21 +203.192.0.0/19 +203.193.224.0/19 +203.194.120.0/21 +203.195.64.0/19 +203.195.112.0/21 +203.195.128.0/17 +203.196.0.0/21 +203.196.8.0/21 +203.196.28.0/22 +203.201.181.0/24 +203.201.182.0/24 +203.202.236.0/22 +203.205.64.0/19 +203.205.128.0/17 +203.207.64.0/20 +203.207.80.0/21 +203.207.88.0/22 +203.207.92.0/22 +203.207.96.0/20 +203.207.112.0/20 +203.207.128.0/18 +203.207.192.0/21 +203.207.200.0/21 +203.207.208.0/20 +203.207.224.0/19 +203.208.0.0/20 +203.208.16.0/22 +203.208.32.0/19 +203.209.224.0/19 +203.212.0.0/20 +203.212.80.0/20 +203.215.232.0/21 +203.217.164.0/22 +203.222.192.0/20 +203.223.0.0/20 +203.223.16.0/21 +210.2.0.0/20 +210.2.16.0/20 +210.5.0.0/19 +210.5.56.0/21 +210.5.128.0/20 +210.5.144.0/20 +210.7.56.0/22 +210.7.60.0/22 +210.12.0.0/18 +210.12.64.0/18 +210.12.128.0/18 +210.12.192.0/18 +210.13.0.0/18 +210.13.64.0/18 +210.13.128.0/17 +210.14.64.0/19 +210.14.112.0/20 +210.14.128.0/19 +210.14.160.0/19 +210.14.192.0/19 +210.14.224.0/19 +210.15.0.0/19 +210.15.32.0/19 +210.15.64.0/19 +210.15.96.0/19 +210.15.128.0/18 +210.16.104.0/22 +210.16.128.0/18 +210.21.0.0/17 +210.21.128.0/17 +210.22.0.0/16 +210.23.32.0/19 +210.25.0.0/16 +210.26.0.0/15 +210.28.0.0/14 +210.32.0.0/14 +210.36.0.0/14 +210.40.0.0/13 +210.51.0.0/16 +210.52.0.0/18 +210.52.64.0/18 +210.52.128.0/17 +210.53.0.0/17 +210.53.128.0/17 +210.56.192.0/19 +210.72.0.0/17 +210.72.128.0/19 +210.72.160.0/19 +210.72.192.0/18 +210.73.0.0/19 +210.73.32.0/19 +210.73.64.0/18 +210.73.128.0/17 +210.74.0.0/19 +210.74.32.0/19 +210.74.64.0/19 +210.74.96.0/19 +210.74.128.0/19 +210.74.160.0/19 +210.74.192.0/18 +210.75.0.0/16 +210.76.0.0/19 +210.76.32.0/19 +210.76.64.0/18 +210.76.128.0/17 +210.77.0.0/16 +210.78.0.0/19 +210.78.32.0/19 +210.78.64.0/18 +210.78.128.0/19 +210.78.160.0/19 +210.78.192.0/18 +210.79.64.0/18 +210.79.224.0/19 +210.82.0.0/15 +210.87.128.0/20 +210.87.144.0/20 +210.87.160.0/19 +210.185.192.0/18 +210.192.96.0/19 +211.64.0.0/14 +211.68.0.0/15 +211.70.0.0/15 +211.80.0.0/16 +211.81.0.0/16 +211.82.0.0/16 +211.83.0.0/16 +211.84.0.0/15 +211.86.0.0/15 +211.88.0.0/16 +211.89.0.0/16 +211.90.0.0/15 +211.92.0.0/15 +211.94.0.0/15 +211.96.0.0/15 +211.98.0.0/16 +211.99.0.0/18 +211.99.64.0/19 +211.99.96.0/19 +211.99.128.0/17 +211.100.0.0/16 +211.101.0.0/18 +211.101.64.0/18 +211.101.128.0/17 +211.102.0.0/16 +211.103.0.0/17 +211.103.128.0/17 +211.136.0.0/14 +211.140.0.0/15 +211.142.0.0/17 +211.142.128.0/17 +211.143.0.0/16 +211.144.0.0/15 +211.146.0.0/16 +211.147.0.0/16 +211.148.0.0/14 +211.152.0.0/15 +211.154.0.0/16 +211.155.0.0/18 +211.155.64.0/19 +211.155.96.0/19 +211.155.128.0/17 +211.156.0.0/14 +211.160.0.0/14 +211.164.0.0/14 +212.64.0.0/17 +212.129.128.0/17 +216.250.108.0/22 +218.0.0.0/16 +218.1.0.0/16 +218.2.0.0/15 +218.4.0.0/15 +218.6.0.0/16 +218.7.0.0/16 +218.8.0.0/15 +218.10.0.0/16 +218.11.0.0/16 +218.12.0.0/16 +218.13.0.0/16 +218.14.0.0/15 +218.16.0.0/14 +218.20.0.0/16 +218.21.0.0/17 +218.21.128.0/17 +218.22.0.0/15 +218.24.0.0/15 +218.26.0.0/16 +218.27.0.0/16 +218.28.0.0/15 +218.30.0.0/15 +218.56.0.0/14 +218.60.0.0/15 +218.62.0.0/17 +218.62.128.0/17 +218.63.0.0/16 +218.64.0.0/15 +218.66.0.0/16 +218.67.0.0/17 +218.67.128.0/17 +218.68.0.0/15 +218.70.0.0/15 +218.72.0.0/14 +218.76.0.0/15 +218.78.0.0/15 +218.80.0.0/14 +218.84.0.0/14 +218.88.0.0/13 +218.96.0.0/15 +218.98.0.0/17 +218.98.128.0/18 +218.98.192.0/19 +218.98.224.0/19 +218.99.0.0/16 +218.100.88.0/21 +218.100.96.0/19 +218.100.128.0/17 +218.104.0.0/17 +218.104.128.0/19 +218.104.160.0/19 +218.104.192.0/21 +218.104.200.0/21 +218.104.208.0/20 +218.104.224.0/19 +218.105.0.0/16 +218.106.0.0/15 +218.108.0.0/16 +218.109.0.0/16 +218.185.192.0/19 +218.185.240.0/21 +218.192.0.0/16 +218.193.0.0/16 +218.194.0.0/16 +218.195.0.0/16 +218.196.0.0/14 +218.200.0.0/14 +218.204.0.0/15 +218.206.0.0/15 +218.240.0.0/14 +218.244.0.0/15 +218.246.0.0/15 +218.249.0.0/16 +219.72.0.0/16 +219.82.0.0/16 +219.83.128.0/17 +219.90.68.0/22 +219.90.72.0/22 +219.90.76.0/22 +219.128.0.0/12 +219.144.0.0/14 +219.148.0.0/16 +219.149.0.0/17 +219.149.128.0/18 +219.149.192.0/18 +219.150.0.0/19 +219.150.32.0/19 +219.150.64.0/19 +219.150.96.0/20 +219.150.112.0/20 +219.150.128.0/17 +219.151.0.0/19 +219.151.32.0/19 +219.151.64.0/18 +219.151.128.0/17 +219.152.0.0/15 +219.154.0.0/15 +219.156.0.0/15 +219.158.0.0/17 +219.158.128.0/17 +219.159.0.0/18 +219.159.64.0/18 +219.159.128.0/17 +219.216.0.0/15 +219.218.0.0/15 +219.220.0.0/16 +219.221.0.0/16 +219.222.0.0/15 +219.224.0.0/15 +219.226.0.0/16 +219.227.0.0/16 +219.228.0.0/15 +219.230.0.0/15 +219.232.0.0/14 +219.236.0.0/15 +219.238.0.0/15 +219.242.0.0/15 +219.244.0.0/14 +220.101.192.0/18 +220.112.0.0/14 +220.152.128.0/17 +220.154.0.0/15 +220.158.240.0/22 +220.160.0.0/11 +220.192.0.0/15 +220.194.0.0/15 +220.196.0.0/14 +220.200.0.0/13 +220.231.0.0/18 +220.231.128.0/17 +220.232.64.0/18 +220.234.0.0/16 +220.242.0.0/15 +220.247.136.0/21 +220.248.0.0/14 +220.252.0.0/16 +221.0.0.0/15 +221.2.0.0/16 +221.3.0.0/17 +221.3.128.0/17 +221.4.0.0/16 +221.5.0.0/17 +221.5.128.0/17 +221.6.0.0/16 +221.7.0.0/19 +221.7.32.0/19 +221.7.64.0/19 +221.7.96.0/19 +221.7.128.0/17 +221.8.0.0/15 +221.10.0.0/16 +221.11.0.0/17 +221.11.128.0/18 +221.11.192.0/19 +221.11.224.0/19 +221.12.0.0/17 +221.12.128.0/18 +221.13.0.0/18 +221.13.64.0/19 +221.13.96.0/19 +221.13.128.0/17 +221.14.0.0/15 +221.122.0.0/15 +221.128.128.0/17 +221.129.0.0/16 +221.130.0.0/15 +221.133.224.0/19 +221.136.0.0/16 +221.137.0.0/16 +221.172.0.0/14 +221.176.0.0/13 +221.192.0.0/15 +221.194.0.0/16 +221.195.0.0/16 +221.196.0.0/15 +221.198.0.0/16 +221.199.0.0/19 +221.199.32.0/20 +221.199.48.0/20 +221.199.64.0/18 +221.199.128.0/18 +221.199.192.0/20 +221.199.224.0/19 +221.200.0.0/14 +221.204.0.0/15 +221.206.0.0/16 +221.207.0.0/18 +221.207.64.0/18 +221.207.128.0/17 +221.208.0.0/14 +221.212.0.0/16 +221.213.0.0/16 +221.214.0.0/15 +221.216.0.0/13 +221.224.0.0/13 +221.232.0.0/14 +221.236.0.0/15 +221.238.0.0/16 +221.239.0.0/17 +221.239.128.0/17 +222.16.0.0/15 +222.18.0.0/15 +222.20.0.0/15 +222.22.0.0/16 +222.23.0.0/16 +222.24.0.0/15 +222.26.0.0/15 +222.28.0.0/14 +222.32.0.0/11 +222.64.0.0/13 +222.72.0.0/15 +222.74.0.0/16 +222.75.0.0/16 +222.76.0.0/14 +222.80.0.0/15 +222.82.0.0/16 +222.83.0.0/17 +222.83.128.0/17 +222.84.0.0/16 +222.85.0.0/17 +222.85.128.0/17 +222.86.0.0/15 +222.88.0.0/15 +222.90.0.0/15 +222.92.0.0/14 +222.125.0.0/16 +222.126.128.0/17 +222.128.0.0/14 +222.132.0.0/14 +222.136.0.0/13 +222.160.0.0/15 +222.162.0.0/16 +222.163.0.0/19 +222.163.32.0/19 +222.163.64.0/18 +222.163.128.0/17 +222.168.0.0/15 +222.170.0.0/15 +222.172.0.0/17 +222.172.128.0/17 +222.173.0.0/16 +222.174.0.0/15 +222.176.0.0/13 +222.184.0.0/13 +222.192.0.0/14 +222.196.0.0/15 +222.198.0.0/16 +222.199.0.0/16 +222.200.0.0/14 +222.204.0.0/15 +222.206.0.0/15 +222.208.0.0/13 +222.216.0.0/15 +222.218.0.0/16 +222.219.0.0/16 +222.220.0.0/15 +222.222.0.0/15 +222.240.0.0/13 +222.248.0.0/16 +222.249.0.0/17 +222.249.128.0/19 +222.249.160.0/20 +222.249.176.0/20 +222.249.192.0/18 +223.0.0.0/15 +223.2.0.0/15 +223.4.0.0/14 +223.8.0.0/13 +223.20.0.0/15 +223.27.184.0/22 +223.29.208.0/22 +223.29.252.0/22 +223.64.0.0/11 +223.96.0.0/12 +223.112.0.0/14 +223.116.0.0/15 +223.120.128.0/17 +223.121.128.0/17 +223.122.0.0/15 +223.124.0.0/14 +223.128.0.0/15 +223.144.0.0/12 +223.160.0.0/14 +223.166.0.0/15 +223.192.0.0/15 +223.198.0.0/15 +223.201.0.0/16 +223.202.0.0/15 +223.208.0.0/14 +223.212.0.0/15 +223.214.0.0/15 +223.220.0.0/15 +223.223.176.0/20 +223.223.192.0/20 +223.240.0.0/13 +223.248.0.0/14 +223.252.128.0/17 +223.254.0.0/16 +223.255.0.0/17 +223.255.236.0/22 +223.255.252.0/23 diff --git a/package/lean/luci-app-ssr-plus/root/etc/config/gfw.list b/package/lean/luci-app-ssr-plus/root/etc/config/gfw.list new file mode 100644 index 0000000000..b8772ba26e --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/config/gfw.list @@ -0,0 +1,53 @@ +91smartyun.pt +adobe.com +amazonaws.com +ampproject.org +apple.news +aws.amazon.com +azureedge.net +backpackers.com.tw +bitfinex.com +buzzfeed.com +clockwise.ee +cloudfront.net +coindesk.com +coinsquare.io +cryptocompare.com +dropboxstatic.com +eurecom.fr +gdax.com +github.com +kknews.cc +nutaq.com +openairinterface.org +skype.com +sublimetext.com +textnow.com +textnow.me +trouter.io +uploaded.net +whatsapp.com +whatsapp.net +wsj.net +google.com +google.com.hk +gstatic.com +googleusercontent.com +googlepages.com +googlevideo.com +googlecode.com +googleapis.com +googlesource.com +googledrive.com +ggpht.com +youtube.com +youtu.be +ytimg.com +twitter.com +facebook.com +fastly.net +akamai.net +akamaiedge.net +akamaihd.net +edgesuite.net +edgekey.net \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr new file mode 100644 index 0000000000..7741d69088 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/config/shadowsocksr @@ -0,0 +1,37 @@ + +config global + option tunnel_forward '8.8.4.4:53' + option tunnel_address '0.0.0.0' + option run_mode 'gfw' + option pdnsd_enable '1' + option monitor_enable '1' + option global_server 'nil' + option enable_switch '1' + option switch_timeout '5' + option switch_time '667' + +config socks5_proxy + option server 'nil' + option local_port '1080' + option local_address '0.0.0.0' + +config access_control + option wan_bp_list '/etc/china_ssr.txt' + option lan_ac_mode 'b' + option router_proxy '1' + list wan_fw_ips '149.154.160.0/20' + list wan_fw_ips '67.198.55.0/24' + list wan_fw_ips '91.108.4.0/22' + list wan_fw_ips '91.108.56.0/22' + list wan_fw_ips '109.239.140.0/24' + +config server_global + option enable_server '0' + +config server_subscribe + option proxy '0' + option auto_update_time '2' + option auto_update '1' + + + diff --git a/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.oversea/oversea_list.conf b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.oversea/oversea_list.conf new file mode 100644 index 0000000000..ae50fb90d0 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.oversea/oversea_list.conf @@ -0,0 +1,192 @@ +server=/v.youku.com/127.0.0.1#5335 +server=/api.youku.com/127.0.0.1#5335 +server=/v2.tudou.com/127.0.0.1#5335 +server=/www.tudou.com/127.0.0.1#5335 +server=/s.plcloud.music.qq.com/127.0.0.1#5335 +server=/i.y.qq.com/127.0.0.1#5335 +server=/hot.vrs.sohu.com/127.0.0.1#5335 +server=/live.tv.sohu.com/127.0.0.1#5335 +server=/pad.tv.sohu.com/127.0.0.1#5335 +server=/my.tv.sohu.com/127.0.0.1#5335 +server=/hot.vrs.letv.com/127.0.0.1#5335 +server=/data.video.qiyi.com/127.0.0.1#5335 +server=/cache.video.qiyi.com/127.0.0.1#5335 +server=/cache.vip.qiyi.com/127.0.0.1#5335 +server=/vv.video.qq.com/127.0.0.1#5335 +server=/tt.video.qq.com/127.0.0.1#5335 +server=/ice.video.qq.com/127.0.0.1#5335 +server=/tjsa.video.qq.com/127.0.0.1#5335 +server=/a10.video.qq.com/127.0.0.1#5335 +server=/xyy.video.qq.com/127.0.0.1#5335 +server=/vcq.video.qq.com/127.0.0.1#5335 +server=/vsh.video.qq.com/127.0.0.1#5335 +server=/vbj.video.qq.com/127.0.0.1#5335 +server=/bobo.video.qq.com/127.0.0.1#5335 +server=/flvs.video.qq.com/127.0.0.1#5335 +server=/bkvv.video.qq.com/127.0.0.1#5335 +server=/info.zb.qq.com/127.0.0.1#5335 +server=/geo.js.kankan.xunlei.com/127.0.0.1#5335 +server=/web-play.pptv.com/127.0.0.1#5335 +server=/web-play.pplive.cn/127.0.0.1#5335 +server=/dyn.ugc.pps.tv/127.0.0.1#5335 +server=/v.pps.tv/127.0.0.1#5335 +server=/inner.kandian.com/127.0.0.1#5335 +server=/ipservice.163.com/127.0.0.1#5335 +server=/so.open.163.com/127.0.0.1#5335 +server=/zb.s.qq.com/127.0.0.1#5335 +server=/ip.kankan.xunlei.com/127.0.0.1#5335 +server=/vxml.56.com/127.0.0.1#5335 +server=/music.sina.com.cn/127.0.0.1#5335 +server=/play.baidu.com/127.0.0.1#5335 +server=/v.iask.com/127.0.0.1#5335 +server=/tv.weibo.com/127.0.0.1#5335 +server=/wtv.v.iask.com/127.0.0.1#5335 +server=/video.sina.com.cn/127.0.0.1#5335 +server=/www.yinyuetai.com/127.0.0.1#5335 +server=/api.letv.com/127.0.0.1#5335 +server=/live.gslb.letv.com/127.0.0.1#5335 +server=/static.itv.letv.com/127.0.0.1#5335 +server=/ip.apps.cntv.cn/127.0.0.1#5335 +server=/vdn.apps.cntv.cn/127.0.0.1#5335 +server=/vdn.live.cntv.cn/127.0.0.1#5335 +server=/vip.sports.cntv.cn/127.0.0.1#5335 +server=/a.play.api.3g.youku.com/127.0.0.1#5335 +server=/i.play.api.3g.youku.com/127.0.0.1#5335 +server=/api.3g.youku.com/127.0.0.1#5335 +server=/tv.api.3g.youku.com/127.0.0.1#5335 +server=/play.api.3g.youku.com/127.0.0.1#5335 +server=/play.api.3g.tudou.com/127.0.0.1#5335 +server=/tv.api.3g.tudou.com/127.0.0.1#5335 +server=/api.3g.tudou.com/127.0.0.1#5335 +server=/api.tv.sohu.com/127.0.0.1#5335 +server=/access.tv.sohu.com/127.0.0.1#5335 +server=/iface.iqiyi.com/127.0.0.1#5335 +server=/iface2.iqiyi.com/127.0.0.1#5335 +server=/cache.m.iqiyi.com/127.0.0.1#5335 +server=/dynamic.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.meizi.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.search.app.m.letv.com/127.0.0.1#5335 +server=/dynamic.live.app.m.letv.com/127.0.0.1#5335 +server=/listso.m.areainfo.ppstream.com/127.0.0.1#5335 +server=/epg.api.pptv.com/127.0.0.1#5335 +server=/play.api.pptv.com/127.0.0.1#5335 +server=/m.letv.com/127.0.0.1#5335 +server=/interface.bilibili.com/127.0.0.1#5335 +server=/3g.music.qq.com/127.0.0.1#5335 +server=/mqqplayer.3g.qq.com/127.0.0.1#5335 +server=/proxy.music.qq.com/127.0.0.1#5335 +server=/proxymc.qq.com/127.0.0.1#5335 +server=/ip2.kugou.com/127.0.0.1#5335 +server=/ip.kugou.com/127.0.0.1#5335 +server=/client.api.ttpod.com/127.0.0.1#5335 +server=/mobi.kuwo.cn/127.0.0.1#5335 +server=/mobilefeedback.kugou.com/127.0.0.1#5335 +server=/tingapi.ting.baidu.com/127.0.0.1#5335 +server=/music.baidu.com/127.0.0.1#5335 +server=/serviceinfo.sdk.duomi.com/127.0.0.1#5335 +server=/music.163.com/127.0.0.1#5335 +server=/www.xiami.com/127.0.0.1#5335 +server=/spark.api.xiami.com/127.0.0.1#5335 +server=/iplocation.geo.qiyi.com/127.0.0.1#5335 +server=/sns.video.qq.com/127.0.0.1#5335 +server=/v5.pc.duomi.com/127.0.0.1#5335 +server=/tms.is.ysten.com/127.0.0.1#5335 +server=/internal.check.duokanbox.com/127.0.0.1#5335 +server=/openapi.youku.com/127.0.0.1#5335 +server=/y.qq.com/127.0.0.1#5335 +ipset=/v.youku.com/oversea +ipset=/api.youku.com/oversea +ipset=/v2.tudou.com/oversea +ipset=/www.tudou.com/oversea +ipset=/s.plcloud.music.qq.com/oversea +ipset=/i.y.qq.com/oversea +ipset=/hot.vrs.sohu.com/oversea +ipset=/live.tv.sohu.com/oversea +ipset=/pad.tv.sohu.com/oversea +ipset=/my.tv.sohu.com/oversea +ipset=/hot.vrs.letv.com/oversea +ipset=/data.video.qiyi.com/oversea +ipset=/cache.video.qiyi.com/oversea +ipset=/cache.vip.qiyi.com/oversea +ipset=/vv.video.qq.com/oversea +ipset=/tt.video.qq.com/oversea +ipset=/ice.video.qq.com/oversea +ipset=/tjsa.video.qq.com/oversea +ipset=/a10.video.qq.com/oversea +ipset=/xyy.video.qq.com/oversea +ipset=/vcq.video.qq.com/oversea +ipset=/vsh.video.qq.com/oversea +ipset=/vbj.video.qq.com/oversea +ipset=/bobo.video.qq.com/oversea +ipset=/flvs.video.qq.com/oversea +ipset=/bkvv.video.qq.com/oversea +ipset=/info.zb.qq.com/oversea +ipset=/geo.js.kankan.xunlei.com/oversea +ipset=/web-play.pptv.com/oversea +ipset=/web-play.pplive.cn/oversea +ipset=/dyn.ugc.pps.tv/oversea +ipset=/v.pps.tv/oversea +ipset=/inner.kandian.com/oversea +ipset=/ipservice.163.com/oversea +ipset=/so.open.163.com/oversea +ipset=/zb.s.qq.com/oversea +ipset=/ip.kankan.xunlei.com/oversea +ipset=/vxml.56.com/oversea +ipset=/music.sina.com.cn/oversea +ipset=/play.baidu.com/oversea +ipset=/v.iask.com/oversea +ipset=/tv.weibo.com/oversea +ipset=/wtv.v.iask.com/oversea +ipset=/video.sina.com.cn/oversea +ipset=/www.yinyuetai.com/oversea +ipset=/api.letv.com/oversea +ipset=/live.gslb.letv.com/oversea +ipset=/static.itv.letv.com/oversea +ipset=/ip.apps.cntv.cn/oversea +ipset=/vdn.apps.cntv.cn/oversea +ipset=/vdn.live.cntv.cn/oversea +ipset=/vip.sports.cntv.cn/oversea +ipset=/a.play.api.3g.youku.com/oversea +ipset=/i.play.api.3g.youku.com/oversea +ipset=/api.3g.youku.com/oversea +ipset=/tv.api.3g.youku.com/oversea +ipset=/play.api.3g.youku.com/oversea +ipset=/play.api.3g.tudou.com/oversea +ipset=/tv.api.3g.tudou.com/oversea +ipset=/api.3g.tudou.com/oversea +ipset=/api.tv.sohu.com/oversea +ipset=/access.tv.sohu.com/oversea +ipset=/iface.iqiyi.com/oversea +ipset=/iface2.iqiyi.com/oversea +ipset=/cache.m.iqiyi.com/oversea +ipset=/dynamic.app.m.letv.com/oversea +ipset=/dynamic.meizi.app.m.letv.com/oversea +ipset=/dynamic.search.app.m.letv.com/oversea +ipset=/dynamic.live.app.m.letv.com/oversea +ipset=/listso.m.areainfo.ppstream.com/oversea +ipset=/epg.api.pptv.com/oversea +ipset=/play.api.pptv.com/oversea +ipset=/m.letv.com/oversea +ipset=/interface.bilibili.com/oversea +ipset=/3g.music.qq.com/oversea +ipset=/mqqplayer.3g.qq.com/oversea +ipset=/proxy.music.qq.com/oversea +ipset=/proxymc.qq.com/oversea +ipset=/ip2.kugou.com/oversea +ipset=/ip.kugou.com/oversea +ipset=/client.api.ttpod.com/oversea +ipset=/mobi.kuwo.cn/oversea +ipset=/mobilefeedback.kugou.com/oversea +ipset=/tingapi.ting.baidu.com/oversea +ipset=/music.baidu.com/oversea +ipset=/serviceinfo.sdk.duomi.com/oversea +ipset=/music.163.com/oversea +ipset=/www.xiami.com/oversea +ipset=/spark.api.xiami.com/oversea +ipset=/iplocation.geo.qiyi.com/oversea +ipset=/sns.video.qq.com/oversea +ipset=/v5.pc.duomi.com/oversea +ipset=/tms.is.ysten.com/oversea +ipset=/internal.check.duokanbox.com/oversea +ipset=/openapi.youku.com/oversea +ipset=/y.qq.com/oversea diff --git a/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/ad.conf b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/ad.conf new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_base.conf b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_base.conf new file mode 100644 index 0000000000..326f37aaad --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_base.conf @@ -0,0 +1,5886 @@ +ipset=/.h12.io/gfwlist +ipset=/.starlark.net/gfwlist +ipset=/.golang.org/gfwlist +ipset=/.honnef.co/gfwlist +ipset=/.0rz.tw/gfwlist +ipset=/.0to255.com/gfwlist +ipset=/.10musume.com/gfwlist +ipset=/.123rf.com/gfwlist +ipset=/.12bet.com/gfwlist +ipset=/.12vpn.com/gfwlist +ipset=/.141hongkong.com/gfwlist +ipset=/.173ng.com/gfwlist +ipset=/.1984bbs.com/gfwlist +ipset=/.1984bbs.org/gfwlist +ipset=/.1-apple.com.tw/gfwlist +ipset=/.1bao.org/gfwlist +ipset=/.1eew.com/gfwlist +ipset=/.1pondo.tv/gfwlist +ipset=/.2000fun.com/gfwlist +ipset=/.2008xianzhang.info/gfwlist +ipset=/.21andy.com/gfwlist +ipset=/.247realmedia.com/gfwlist +ipset=/.24smile.org/gfwlist +ipset=/.2-hand.info/gfwlist +ipset=/.2mdn.net/gfwlist +ipset=/.2shared.com/gfwlist +ipset=/.301works.org/gfwlist +ipset=/.315lz.com/gfwlist +ipset=/.32red.com/gfwlist +ipset=/.365singles.com.ar/gfwlist +ipset=/.36rain.com/gfwlist +ipset=/.4bluestones.biz/gfwlist +ipset=/.4chan.org/gfwlist +ipset=/.4pppc.gov.tw/gfwlist +ipset=/.4shared.com/gfwlist +ipset=/.4sq.com/gfwlist +ipset=/.51.ca/gfwlist +ipset=/.5i01.com/gfwlist +ipset=/.5maodang.com/gfwlist +ipset=/.64tianwang.com/gfwlist +ipset=/.64wiki.com/gfwlist +ipset=/.666kb.com/gfwlist +ipset=/.6park.com/gfwlist +ipset=/.7capture.com/gfwlist +ipset=/.881903.com/gfwlist +ipset=/.888.com/gfwlist +ipset=/.89-64.org/gfwlist +ipset=/.9001700.com/gfwlist +ipset=/.91porn.com/gfwlist +ipset=/.921.gov.tw/gfwlist +ipset=/.92ccav.com/gfwlist +ipset=/.9bis.com/gfwlist +ipset=/.9bis.net/gfwlist +ipset=/.9city.me/gfwlist +ipset=/.a5.com.ru/gfwlist +ipset=/.abc.pp.ru/gfwlist +ipset=/.abitno.linpie.com/gfwlist +ipset=/.ablwang.com/gfwlist +ipset=/.aboluowang.com/gfwlist +ipset=/.aboutgfw.com/gfwlist +ipset=/.acgkj.com/gfwlist +ipset=/.ac.jiruan.net/gfwlist +ipset=/.ac.playstation.net/gfwlist +ipset=/.actimes.com.au/gfwlist +ipset=/.aculo.us/gfwlist +ipset=/.ad1.nownews.com/gfwlist +ipset=/.addictedtocoffee.de/gfwlist +ipset=/.ads.backchina.com/gfwlist +ipset=/.adultfriendfinder.com/gfwlist +ipset=/.adultkeep.net/gfwlist +ipset=/.advanscene.com/gfwlist +ipset=/.advertfan.com/gfwlist +ipset=/.aec.gov.tw/gfwlist +ipset=/.aenhancers.com/gfwlist +ipset=/.af.mil/gfwlist +ipset=/.aftygh.gov.tw/gfwlist +ipset=/.aide.gov.tw/gfwlist +ipset=/.aiph.net/gfwlist +ipset=/.aisex.com/gfwlist +ipset=/.ait.org.tw/gfwlist +ipset=/.aiweiweiblog.com/gfwlist +ipset=/.aiweiwei.com/gfwlist +ipset=/.ajaxplorer.info/gfwlist +ipset=/.akamaihd.net/gfwlist +ipset=/.akiba-online.com/gfwlist +ipset=/.alabout.com/gfwlist +ipset=/.alasbarricadas.org/gfwlist +ipset=/.alexlur.org/gfwlist +ipset=/.aliengu.com/gfwlist +ipset=/.alkasir.com/gfwlist +ipset=/.allaboutalpha.com/gfwlist +ipset=/.allgirlsallowed.org/gfwlist +ipset=/.alliance.org.hk/gfwlist +ipset=/.allinfa.com/gfwlist +ipset=/.allinfo.com/gfwlist +ipset=/.allmovie.com/gfwlist +ipset=/.allonlinux.free.fr/gfwlist +ipset=/.all-that-is-interesting.com/gfwlist +ipset=/.al-qimmah.net/gfwlist +ipset=/.alternate-tools.com/gfwlist +ipset=/.altrec.com/gfwlist +ipset=/.alvinalexander.com/gfwlist +ipset=/.alwaysdata.com/gfwlist +ipset=/.alwaysdata.net/gfwlist +ipset=/.am730.com.hk/gfwlist +ipset=/.amazonaws.com/gfwlist +ipset=/.ameblo.jp/gfwlist +ipset=/.americangreencard.com/gfwlist +ipset=/.amiblockedornot.com/gfwlist +ipset=/.amnesty.org/gfwlist +ipset=/.amnestyusa.org/gfwlist +ipset=/.amoiist.com/gfwlist +ipset=/.amzs.me/gfwlist +ipset=/.analyze-v.com/gfwlist +ipset=/.anchorfree.com/gfwlist +ipset=/.andfaraway.net/gfwlist +ipset=/.android.com/gfwlist +ipset=/.angularjs.org/gfwlist +ipset=/.animecrazy.net/gfwlist +ipset=/.anobii.com/gfwlist +ipset=/.anontext.com/gfwlist +ipset=/.anonymizer.com/gfwlist +ipset=/.a-normal-day.com/gfwlist +ipset=/.answering-islam.org/gfwlist +ipset=/.anthonycalzadilla.com/gfwlist +ipset=/.anti.anti.cnn.googlepages.com/gfwlist +ipset=/.antidrm.hpg.ig.com.br/gfwlist +ipset=/.antiwave.net/gfwlist +ipset=/.aobo.com.au/gfwlist +ipset=/.aolchannels.aol.com/gfwlist +ipset=/.aomiwang.com/gfwlist +ipset=/.apetube.com/gfwlist +ipset=/.apiary.io/gfwlist +ipset=/.apidocs.linksalpha.com/gfwlist +ipset=/.apigee.com/gfwlist +ipset=/.api.linksalpha.com/gfwlist +ipset=/.api.proxlet.com/gfwlist +ipset=/.api.supertweet.net/gfwlist +ipset=/.app.heywire.com/gfwlist +ipset=/.app.hkatvnews.com/gfwlist +ipset=/.appledaily.com/gfwlist +ipset=/.appledaily.com.tw/gfwlist +ipset=/.apps.hloli.net/gfwlist +ipset=/.appspot.com/gfwlist +ipset=/.archive.is/gfwlist +ipset=/.archive.org/gfwlist +ipset=/.arctosia.com/gfwlist +ipset=/.areca-backup.org/gfwlist +ipset=/.army.mil/gfwlist +ipset=/.arte.gov.tw/gfwlist +ipset=/.art-or-porn.com/gfwlist +ipset=/.artsy.net/gfwlist +ipset=/.asahichinese.com/gfwlist +ipset=/.asdfg.jp/gfwlist +ipset=/.asiafriendfinder.com/gfwlist +ipset=/.asiaharvest.org/gfwlist +ipset=/.asianews.it/gfwlist +ipset=/.asianwomensfilm.de/gfwlist +ipset=/.askstudent.com/gfwlist +ipset=/.askynz.net/gfwlist +ipset=/.assembla.com/gfwlist +ipset=/.astonmartinnews.com/gfwlist +ipset=/.atchinese.com/gfwlist +ipset=/.atc.org.au/gfwlist +ipset=/.atgfw.org/gfwlist +ipset=/.atj.org.tw/gfwlist +ipset=/.atlaspost.com/gfwlist +ipset=/.atnext.com/gfwlist +ipset=/.autoproxy.org/gfwlist +ipset=/.avaaz.org/gfwlist +ipset=/.avdb.in/gfwlist +ipset=/.avidemux.org/gfwlist +ipset=/.avoision.com/gfwlist +ipset=/.awardwinningfjords.com/gfwlist +ipset=/.axureformac.com/gfwlist +ipset=/.babynet.com.hk/gfwlist +ipset=/.backchina.com/gfwlist +ipset=/.backpackers.com.tw/gfwlist +ipset=/.badassjs.com/gfwlist +ipset=/.badoo.com/gfwlist +ipset=/.baidu.jp/gfwlist +ipset=/.baixing.me/gfwlist +ipset=/.bannedbook.org/gfwlist +ipset=/.barnabu.co.uk/gfwlist +ipset=/.basetimesheightdividedby2.com/gfwlist +ipset=/.bayvoice.net/gfwlist +ipset=/.bbcchinese.com/gfwlist +ipset=/.bbc.com/gfwlist +ipset=/.bbc.co.uk/gfwlist +ipset=/.bbci.co.uk/gfwlist +ipset=/.bbcimg.co.uk/gfwlist +ipset=/.bbc.in/gfwlist +ipset=/.bbg.gov/gfwlist +ipset=/.bbs2.newsgroup.la/gfwlist +ipset=/.bbs.ecstart.com/gfwlist +ipset=/.bbsfeed.com/gfwlist +ipset=/.bbs.kimy.com.tw/gfwlist +ipset=/.bbsland.com/gfwlist +ipset=/.bbs.morbell.com/gfwlist +ipset=/.bbs.mychat.to/gfwlist +ipset=/.bbs.newsgroup.la/gfwlist +ipset=/.bbs.ozchinese.com/gfwlist +ipset=/.bbs.qmzdd.com/gfwlist +ipset=/.bbs.sina.com/gfwlist +ipset=/.bbs.skykiwi.com/gfwlist +ipset=/.bbs.tuitui.info/gfwlist +ipset=/.bb.ttv.com.tw/gfwlist +ipset=/.bcc.com.tw/gfwlist +ipset=/.bcchinese.net/gfwlist +ipset=/.bdhr.gov.tw/gfwlist +ipset=/.bd.zhe.la/gfwlist +ipset=/.bebo.com/gfwlist +ipset=/.beeg.com/gfwlist +ipset=/.beijing1989.com/gfwlist +ipset=/.beijingspring.com/gfwlist +ipset=/.benjaminste.in/gfwlist +ipset=/.berlintwitterwall.com/gfwlist +ipset=/.bestforchina.org/gfwlist +ipset=/.bestvpnservice.com/gfwlist +ipset=/.bet365.com/gfwlist +ipset=/.beta.iset.com.tw/gfwlist +ipset=/.beta.usejump.com/gfwlist +ipset=/.betfair.com/gfwlist +ipset=/.bettween.com/gfwlist +ipset=/.betvictor.com/gfwlist +ipset=/.bewww.net/gfwlist +ipset=/.beyondfirewall.com/gfwlist +ipset=/.bfnn.org/gfwlist +ipset=/.biantailajiao.com/gfwlist +ipset=/.biantailajiao.in/gfwlist +ipset=/.bigfools.com/gfwlist +ipset=/.bignews.org/gfwlist +ipset=/.bigsound.org/gfwlist +ipset=/.bill2-software.com/gfwlist +ipset=/.billywr.com/gfwlist +ipset=/.bill.zhong.pp.ru/gfwlist +ipset=/.bipic.net/gfwlist +ipset=/.bitcointalk.org/gfwlist +ipset=/.bit.ly/gfwlist +ipset=/.bitly.com/gfwlist +ipset=/.bitshare.com/gfwlist +ipset=/.bjzc.org/gfwlist +ipset=/.blinkx.com/gfwlist +ipset=/.blinw.com/gfwlist +ipset=/.blip.tv/gfwlist +ipset=/.blockcn.com/gfwlist +ipset=/.blog.birdhouseapp.com/gfwlist +ipset=/.blog.bitly.com/gfwlist +ipset=/.blogblog.com/gfwlist +ipset=/.blog.boxcar.io/gfwlist +ipset=/.blogcatalog.com/gfwlist +ipset=/.blog.davidziegler.net/gfwlist +ipset=/.blog.dayoneapp.com/gfwlist +ipset=/.blog.de/gfwlist +ipset=/.blog.dribbble.com/gfwlist +ipset=/.blog.exblog.co.jp/gfwlist +ipset=/.blog.expofutures.com/gfwlist +ipset=/.blog.fizzik.com/gfwlist +ipset=/.blog.foolsmountain.com/gfwlist +ipset=/.blogger.com/gfwlist +ipset=/.blog.gowalla.com/gfwlist +ipset=/.blog.hotpotato.com/gfwlist +ipset=/.blog.ifttt.com/gfwlist +ipset=/.blogimg.jp/gfwlist +ipset=/.blog.instagram.com/gfwlist +ipset=/.blog.instapaper.com/gfwlist +ipset=/.blog.iphone-dev.org/gfwlist +ipset=/.blog.istef.info/gfwlist +ipset=/.blog.jackjia.com/gfwlist +ipset=/.blog.joeyrobert.org/gfwlist +ipset=/.blog.kangye.org/gfwlist +ipset=/.blog.kickstarter.com/gfwlist +ipset=/.blog.kl.am/gfwlist +ipset=/.blog.klip.me/gfwlist +ipset=/.blog.lester850.info/gfwlist +ipset=/.blog.lightbox.com/gfwlist +ipset=/.bloglines.com/gfwlist +ipset=/.bloglovin.com/gfwlist +ipset=/.blog.mongodb.org/gfwlist +ipset=/.blog.openinkpot.org/gfwlist +ipset=/.blog.palm.com/gfwlist +ipset=/.blog.path.com/gfwlist +ipset=/.blog.pathtosharepoint.com/gfwlist +ipset=/.blog.pchome.com.tw/gfwlist +ipset=/.blog.pentalogic.net/gfwlist +ipset=/.blog.pikchur.com/gfwlist +ipset=/.blog.pilotmoon.com/gfwlist +ipset=/.blog.redren.com/gfwlist +ipset=/.blog.rockmelt.com/gfwlist +ipset=/.blog.romanandreg.com/gfwlist +ipset=/.blog.s135.com/gfwlist +ipset=/.blogs.icerocket.com/gfwlist +ipset=/.blog.sina.com.tw/gfwlist +ipset=/.blog.sogoo.org/gfwlist +ipset=/.blog.sparrowmailapp.com/gfwlist +ipset=/.blogspot.com/gfwlist +ipset=/.blogspot.co.uk/gfwlist +ipset=/.blogspot.de/gfwlist +ipset=/.blogspot.fr/gfwlist +ipset=/.blogspot.in/gfwlist +ipset=/.blogspot.jp/gfwlist +ipset=/.blogs.tampabay.com/gfwlist +ipset=/.blog.summify.com/gfwlist +ipset=/.blogs.yahoo.co.jp/gfwlist +ipset=/.blog.syx86.cn/gfwlist +ipset=/.blog.syx86.com/gfwlist +ipset=/.blog.taragana.com/gfwlist +ipset=/.blogtd.net/gfwlist +ipset=/.blogtd.org/gfwlist +ipset=/.blog.tiney.com/gfwlist +ipset=/.blog.topify.com/gfwlist +ipset=/.blog.usa.gov/gfwlist +ipset=/.blog.xuite.net/gfwlist +ipset=/.blog.youthwant.com.tw/gfwlist +ipset=/.blog.youxu.info/gfwlist +ipset=/.bloodshed.net/gfwlist +ipset=/.bloomberg.cn/gfwlist +ipset=/.bloomberg.com/gfwlist +ipset=/.bloomberg.de/gfwlist +ipset=/.bloomfortune.com/gfwlist +ipset=/.bmediaasia.com/gfwlist +ipset=/.bnrmetal.com/gfwlist +ipset=/.boardreader.com/gfwlist +ipset=/.bobulate.com/gfwlist +ipset=/.bolin.netfirms.com/gfwlist +ipset=/.bonbonme.com/gfwlist +ipset=/.bonjourlesgeeks.com/gfwlist +ipset=/.boobstagram.com/gfwlist +ipset=/.books.com.tw/gfwlist +ipset=/.bookshelfporn.com/gfwlist +ipset=/.botanwang.com/gfwlist +ipset=/.bot.nu/gfwlist +ipset=/.bowenpress.com/gfwlist +ipset=/.boxunblog.com/gfwlist +ipset=/.boxunclub.com/gfwlist +ipset=/.boxun.com/gfwlist +ipset=/.boxun.tv/gfwlist +ipset=/.bralio.com/gfwlist +ipset=/.branch.com/gfwlist +ipset=/.brandonhutchinson.com/gfwlist +ipset=/.braumeister.org/gfwlist +ipset=/.break.com/gfwlist +ipset=/.breakingtweets.com/gfwlist +ipset=/.briefdream.com/gfwlist +ipset=/.brightcove.com/gfwlist +ipset=/.brightkite.com/gfwlist +ipset=/.brizzly.com/gfwlist +ipset=/.broadbook.com/gfwlist +ipset=/.br.st/gfwlist +ipset=/.brucewang.net/gfwlist +ipset=/.bt95.com/gfwlist +ipset=/.btdigg.org/gfwlist +ipset=/.btrd.net/gfwlist +ipset=/.budaedu.org/gfwlist +ipset=/.bugclub.org/gfwlist +ipset=/.builtwithbootstrap.com/gfwlist +ipset=/.bullogger.com/gfwlist +ipset=/.bullog.org/gfwlist +ipset=/.businesstimes.com.cn/gfwlist +ipset=/.businessweek.com/gfwlist +ipset=/.buugaa.com/gfwlist +ipset=/.buy.yahoo.com.tw/gfwlist +ipset=/.buzzurl.jp/gfwlist +ipset=/.bwbx.io/gfwlist +ipset=/.bwsj.hk/gfwlist +ipset=/.bx.tl/gfwlist +ipset=/.c1522.mooo.com/gfwlist +ipset=/.cacnw.com/gfwlist +ipset=/.cactusvpn.com/gfwlist +ipset=/.cafepress.com/gfwlist +ipset=/.cahr.org.tw/gfwlist +ipset=/.calameo.com/gfwlist +ipset=/.calebelston.com/gfwlist +ipset=/.cams.com/gfwlist +ipset=/.cams.org.sg/gfwlist +ipset=/.canadameet.com/gfwlist +ipset=/.canyu.org/gfwlist +ipset=/.caobian.info/gfwlist +ipset=/.caochangqing.com/gfwlist +ipset=/.cao.im/gfwlist +ipset=/.cari.com.my/gfwlist +ipset=/.catch22.net/gfwlist +ipset=/.catfightpayperview.xxx/gfwlist +ipset=/.catholic.org.hk/gfwlist +ipset=/.catholic.org.tw/gfwlist +ipset=/.cbs.ntu.edu.tw/gfwlist +ipset=/.cc9007.spaces.live.com/gfwlist +ipset=/.ccavtop10.com/gfwlist +ipset=/.ccdtr.org/gfwlist +ipset=/.ccim.org/gfwlist +ipset=/.cclife.org/gfwlist +ipset=/.ccthere.com/gfwlist +ipset=/.cctongbao.com/gfwlist +ipset=/.ccue.ca/gfwlist +ipset=/.ccue.com/gfwlist +ipset=/.cdig.info/gfwlist +ipset=/.cdjp.org/gfwlist +ipset=/.cdnews.com.tw/gfwlist +ipset=/.cdn.printfriendly.com/gfwlist +ipset=/.cdp1998.org/gfwlist +ipset=/.cdp2006.org/gfwlist +ipset=/.cdp.sinica.edu.tw/gfwlist +ipset=/.cdpusa.org/gfwlist +ipset=/.cdpweb.org/gfwlist +ipset=/.cdpwu.org/gfwlist +ipset=/.cdw.com/gfwlist +ipset=/.cecc.gov/gfwlist +ipset=/.cellulo.info/gfwlist +ipset=/.cenci.tk/gfwlist +ipset=/.cenews.eu/gfwlist +ipset=/.centralnation.com/gfwlist +ipset=/.centurys.net/gfwlist +ipset=/.c-est-simple.com/gfwlist +ipset=/.cfhks.org.hk/gfwlist +ipset=/.cftfc.com/gfwlist +ipset=/.cgdepot.org/gfwlist +ipset=/.chandoo.org/gfwlist +ipset=/.change.org/gfwlist +ipset=/.changp.com/gfwlist +ipset=/.chaos.e-spacy.com/gfwlist +ipset=/.chapm25.com/gfwlist +ipset=/.chartbeat.net/gfwlist +ipset=/.chaturbate.com/gfwlist +ipset=/.chccc.gov.tw/gfwlist +ipset=/.chengmingmag.com/gfwlist +ipset=/.chenguangcheng.com/gfwlist +ipset=/.chenpokong.com/gfwlist +ipset=/.chenyehao.spaces.live.com/gfwlist +ipset=/.cherrysave.com/gfwlist +ipset=/.chevronwp7.com/gfwlist +ipset=/.chicagoncmtv.com/gfwlist +ipset=/.china101.com/gfwlist +ipset=/.china21.com/gfwlist +ipset=/.china21.org/gfwlist +ipset=/.china5000.us/gfwlist +ipset=/.chinaaffairs.org/gfwlist +ipset=/.chinaaid.me/gfwlist +ipset=/.chinaaid.net/gfwlist +ipset=/.chinaaid.org/gfwlist +ipset=/.chinaaid.us/gfwlist +ipset=/.chinachange.org/gfwlist +ipset=/.chinachannel.hk/gfwlist +ipset=/.chinacomments.org/gfwlist +ipset=/.chinadigitaltimes.net/gfwlist +ipset=/.chinaeweekly.com/gfwlist +ipset=/.chinafreepress.org/gfwlist +ipset=/.chinagate.com/gfwlist +ipset=/.chinageeks.org/gfwlist +ipset=/.chinagfw.org/gfwlist +ipset=/.chinagreenparty.org/gfwlist +ipset=/.china-green-party.spaces.live.com/gfwlist +ipset=/.chinahush.com/gfwlist +ipset=/.chinainperspective.com/gfwlist +ipset=/.chinainperspective.net/gfwlist +ipset=/.chinainperspective.org/gfwlist +ipset=/.chinainterimgov.org/gfwlist +ipset=/.chinalawandpolicy.com/gfwlist +ipset=/.chinalawtranslate.com/gfwlist +ipset=/.chinamule.com/gfwlist +ipset=/.chinamz.org/gfwlist +ipset=/.chinarightsia.org/gfwlist +ipset=/.chinasocialdemocraticparty.com/gfwlist +ipset=/.chinaso.com/gfwlist +ipset=/.chinasoul.org/gfwlist +ipset=/.chinatimes.com/gfwlist +ipset=/.chinatweeps.com/gfwlist +ipset=/.chinaway.org/gfwlist +ipset=/.china-week.com/gfwlist +ipset=/.chinaworker.info/gfwlist +ipset=/.chinaxchina.com/gfwlist +ipset=/.chinayouth.org.hk/gfwlist +ipset=/.chinayuanmin.org/gfwlist +ipset=/.chinesedailynews.com/gfwlist +ipset=/.chinese.engadget.com/gfwlist +ipset=/.chinese-hermit.net/gfwlist +ipset=/.chinese-memorial.org/gfwlist +ipset=/.chinesen.de/gfwlist +ipset=/.chinesenewsnet.com/gfwlist +ipset=/.chinesepen.org/gfwlist +ipset=/.chinese.rnw.nl/gfwlist +ipset=/.chinese.soifind.com/gfwlist +ipset=/.chinesetalks.net/gfwlist +ipset=/.chinese.wsj.com/gfwlist +ipset=/.chingcheong.com/gfwlist +ipset=/.chn.chosun.com/gfwlist +ipset=/.chrispederick.com/gfwlist +ipset=/.chrispederick.net/gfwlist +ipset=/.christianstudy.com/gfwlist +ipset=/.christiantimes.org.hk/gfwlist +ipset=/.christusrex.org/gfwlist +ipset=/.chrlawyers.hk/gfwlist +ipset=/.chrlcg-hk.org/gfwlist +ipset=/.chromeadblock.com/gfwlist +ipset=/.chrome.com/gfwlist +ipset=/.ch.shvoong.com/gfwlist +ipset=/.chubun.com/gfwlist +ipset=/.chuizi.net/gfwlist +ipset=/.chukuang.gov.tw/gfwlist +ipset=/.circlethebayfortibet.org/gfwlist +ipset=/.citizenlab.org/gfwlist +ipset=/.citizensradio.org/gfwlist +ipset=/.city9x.com/gfwlist +ipset=/.civicparty.hk/gfwlist +ipset=/.civilhrfront.org/gfwlist +ipset=/.civilmedia.tw/gfwlist +ipset=/.cjb.net/gfwlist +ipset=/.ck101.com/gfwlist +ipset=/.classicalguitarblog.net/gfwlist +ipset=/.clb.org.hk/gfwlist +ipset=/.cl.d0z.net/gfwlist +ipset=/.clientsfromhell.net/gfwlist +ipset=/.clipfish.de/gfwlist +ipset=/.cl.ly/gfwlist +ipset=/.cloudfront.net/gfwlist +ipset=/.club.backchina.com/gfwlist +ipset=/.cms.gov/gfwlist +ipset=/.cmule.com/gfwlist +ipset=/.cn2.streetvoice.com/gfwlist +ipset=/.cna.com.tw/gfwlist +ipset=/.cnavista.com.tw/gfwlist +ipset=/.cn.calameo.com/gfwlist +ipset=/.cn.dayabook.com/gfwlist +ipset=/.cnd.org/gfwlist +ipset=/.cn.fmnnow.com/gfwlist +ipset=/.cn.ibtimes.com/gfwlist +ipset=/.cnn.com/gfwlist +ipset=/.cn.news.cnyes.com/gfwlist +ipset=/.cn.streetvoice.com/gfwlist +ipset=/.cn.uncyclopedia.wikia.com/gfwlist +ipset=/.cn.voa.mobi/gfwlist +ipset=/.cochina.org/gfwlist +ipset=/.cocoapods.org/gfwlist +ipset=/.cocoa.zonble.net/gfwlist +ipset=/.code1984.com/gfwlist +ipset=/.codeboxapp.com/gfwlist +ipset=/.codeshare.io/gfwlist +ipset=/.collateralmurder.com/gfwlist +ipset=/.collateralmurder.org/gfwlist +ipset=/.comefromchina.com/gfwlist +ipset=/.comnews.gio.gov.tw/gfwlist +ipset=/.compileheart.com/gfwlist +ipset=/.connectedchina.reuters.com/gfwlist +ipset=/.connect.facebook.net/gfwlist +ipset=/.conoyo.com/gfwlist +ipset=/.contactmagazine.net/gfwlist +ipset=/.contests.twilio.com/gfwlist +ipset=/.conviva.com/gfwlist +ipset=/.cookingtothegoodlife.com/gfwlist +ipset=/.coolaler.com/gfwlist +ipset=/.coolder.com/gfwlist +ipset=/.coolloud.org.tw/gfwlist +ipset=/.corpus4u.org/gfwlist +ipset=/.corumcollege.com/gfwlist +ipset=/.cotweet.com/gfwlist +ipset=/.couchdbwiki.com/gfwlist +ipset=/.coveringweb.com/gfwlist +ipset=/.cp-house.gov.tw/gfwlist +ipset=/.cpj.org/gfwlist +ipset=/.crackle.com/gfwlist +ipset=/.crd-net.org/gfwlist +ipset=/.creaders.net/gfwlist +ipset=/.cromotc.nat.gov.tw/gfwlist +ipset=/.crossthewall.net/gfwlist +ipset=/.csdparty.com/gfwlist +ipset=/.c-spanvideo.org/gfwlist +ipset=/.css.pixnet.in/gfwlist +ipset=/.csuchen.de/gfwlist +ipset=/.cts.com.tw/gfwlist +ipset=/.cubicle17.com/gfwlist +ipset=/.cuhkacs.org/gfwlist +ipset=/.cuihua.org/gfwlist +ipset=/.cuiweiping.net/gfwlist +ipset=/.culture.tw/gfwlist +ipset=/.curvefish.com/gfwlist +ipset=/.cwb.gov.tw/gfwlist +ipset=/.cyanogenmod.org/gfwlist +ipset=/.cyberghost.natado.com/gfwlist +ipset=/.cyberghostvpn.com/gfwlist +ipset=/.cycab.gov.tw/gfwlist +ipset=/.cydia.ifuckgfw.com/gfwlist +ipset=/.cynscribe.com/gfwlist +ipset=/.cytode.us/gfwlist +ipset=/.dabr.co.uk/gfwlist +ipset=/.dabr.me/gfwlist +ipset=/.dabr.mobi/gfwlist +ipset=/.dadazim.com/gfwlist +ipset=/.dadi360.com/gfwlist +ipset=/.dafagood.com/gfwlist +ipset=/.dafahao.com/gfwlist +ipset=/.dailidaili.com/gfwlist +ipset=/.dailymotion.com/gfwlist +ipset=/.dailynews.sina.com/gfwlist +ipset=/.dajiyuan.com/gfwlist +ipset=/.dajiyuan.eu/gfwlist +ipset=/.dajusha.baywords.com/gfwlist +ipset=/.dalailama.com/gfwlist +ipset=/.dalailama.ru/gfwlist +ipset=/.dalailamaworld.com/gfwlist +ipset=/.dalianmeng.org/gfwlist +ipset=/.danke4china.net/gfwlist +ipset=/.danwei.org/gfwlist +ipset=/.daolan.net/gfwlist +ipset=/.dapu-house.gov.tw/gfwlist +ipset=/.darpa.mil/gfwlist +ipset=/.date.fm/gfwlist +ipset=/.davidslog.com/gfwlist +ipset=/.daxa.cn/gfwlist +ipset=/.dayaarmongol.ning.com/gfwlist +ipset=/.daylife.com/gfwlist +ipset=/.ddc.com.tw/gfwlist +ipset=/.deck.ly/gfwlist +ipset=/.default.secureserver.net/gfwlist +ipset=/.delcamp.net/gfwlist +ipset=/.delicious.com/gfwlist +ipset=/.democrats.org/gfwlist +ipset=/.demo.opera-mini.net/gfwlist +ipset=/.derekhsu.homeip.net/gfwlist +ipset=/.de-sci.org/gfwlist +ipset=/.designerol.com/gfwlist +ipset=/.destiny.xfiles.to/gfwlist +ipset=/.deutsche-welle.de/gfwlist +ipset=/.dev102.com/gfwlist +ipset=/.developers.box.net/gfwlist +ipset=/.deviantart.com/gfwlist +ipset=/.deviantart.net/gfwlist +ipset=/.devio.us/gfwlist +ipset=/.devpn.com/gfwlist +ipset=/.dfas.mil/gfwlist +ipset=/.df.gov.tw/gfwlist +ipset=/.diaoyuislands.org/gfwlist +ipset=/.digitalnomadsproject.org/gfwlist +ipset=/.diigo.com/gfwlist +ipset=/.dimitrik.free.fr/gfwlist +ipset=/.dipity.com/gfwlist +ipset=/.directcreative.com/gfwlist +ipset=/.discuss.com.hk/gfwlist +ipset=/.disp.cc/gfwlist +ipset=/.dit-inc.us/gfwlist +ipset=/.dizhidizhi.com/gfwlist +ipset=/.djangosnippets.org/gfwlist +ipset=/.dl.box.net/gfwlist +ipset=/.dl-laby.jp/gfwlist +ipset=/.dl.playstation.net/gfwlist +ipset=/.dlsite.com/gfwlist +ipset=/.dmcdn.net/gfwlist +ipset=/.dmtip.gov.tw/gfwlist +ipset=/.dns2go.com/gfwlist +ipset=/.dnscrypt.org/gfwlist +ipset=/.docstoc.com/gfwlist +ipset=/.dojin.com/gfwlist +ipset=/.dok-forum.net/gfwlist +ipset=/.dolc.de/gfwlist +ipset=/.dollf.com/gfwlist +ipset=/.domain.club.tw/gfwlist +ipset=/.domainhelp.search.com/gfwlist +ipset=/.dongde.com/gfwlist +ipset=/.dongtaiwang.com/gfwlist +ipset=/.dongtaiwang.net/gfwlist +ipset=/.dongyangjing.com/gfwlist +ipset=/.dontfilter.us/gfwlist +ipset=/.dontmovetochina.com/gfwlist +ipset=/.dotheyfolloweachother.com/gfwlist +ipset=/.dotplane.com/gfwlist +ipset=/.dotsub.com/gfwlist +ipset=/.doubleaf.com/gfwlist +ipset=/.doubleclick.net/gfwlist +ipset=/.dougscripts.com/gfwlist +ipset=/.dowei.org/gfwlist +ipset=/.download.syniumsoftware.com/gfwlist +ipset=/.doxygen.org/gfwlist +ipset=/.dphk.org/gfwlist +ipset=/.dpp.org.tw/gfwlist +ipset=/.drewolanoff.com/gfwlist +ipset=/.drgan.net/gfwlist +ipset=/.dropbox.com/gfwlist +ipset=/.dropboxusercontent.com/gfwlist +ipset=/.drsunacademy.com/gfwlist +ipset=/.drtuber.com/gfwlist +ipset=/.dscn.info/gfwlist +ipset=/.dtiblog.com/gfwlist +ipset=/.dtic.mil/gfwlist +ipset=/.dtiserv2.com/gfwlist +ipset=/.duckduckgo.com/gfwlist +ipset=/.duckload.com/gfwlist +ipset=/.duckmylife.com/gfwlist +ipset=/.duihuahrjournal.org/gfwlist +ipset=/.duihua.org/gfwlist +ipset=/.duoweitimes.com/gfwlist +ipset=/.duping.net/gfwlist +ipset=/.duplicati.com/gfwlist +ipset=/.dupola.com/gfwlist +ipset=/.dupola.net/gfwlist +ipset=/.dvorak.org/gfwlist +ipset=/.dw.de/gfwlist +ipset=/.dwnews.com/gfwlist +ipset=/.dwnews.net/gfwlist +ipset=/.dw-world.com/gfwlist +ipset=/.dw-world.de/gfwlist +ipset=/.dy24k.info/gfwlist +ipset=/.dynawebinc.com/gfwlist +ipset=/.dyndns.org/gfwlist +ipset=/.dzze.com/gfwlist +ipset=/.e123.hk/gfwlist +ipset=/.eamonnbrennan.com/gfwlist +ipset=/.earthquake.usgs.gov/gfwlist +ipset=/.easy-share.com/gfwlist +ipset=/.ebookbrowse.com/gfwlist +ipset=/.ebookee.com/gfwlist +ipset=/.echofon.com/gfwlist +ipset=/.ecministry.net/gfwlist +ipset=/.edicypages.com/gfwlist +ipset=/.edoors.com/gfwlist +ipset=/.edubridge.com/gfwlist +ipset=/.eevpn.com/gfwlist +ipset=/.efcc.org.hk/gfwlist +ipset=/.efksoft.com/gfwlist +ipset=/.efmoe.com/gfwlist +ipset=/.e-gold.com/gfwlist +ipset=/.eic-av.com/gfwlist +ipset=/.e-info.org.tw/gfwlist +ipset=/.electionsmeter.com/gfwlist +ipset=/.elpais.com/gfwlist +ipset=/.eltondisney.com/gfwlist +ipset=/.emacsblog.org/gfwlist +ipset=/.embr.in/gfwlist +ipset=/.emory.edu/gfwlist +ipset=/.emule-ed2k.com/gfwlist +ipset=/.emuparadise.me/gfwlist +ipset=/.enewstree.com/gfwlist +ipset=/.en.favotter.net/gfwlist +ipset=/.englishfromengland.co.uk/gfwlist +ipset=/.entermap.com/gfwlist +ipset=/.en.wikipedia.org/gfwlist +ipset=/.epochtimes-bg.com/gfwlist +ipset=/.epochtimes.co.il/gfwlist +ipset=/.epochtimes.co.kr/gfwlist +ipset=/.epochtimes.com/gfwlist +ipset=/.epochtimes.de/gfwlist +ipset=/.epochtimes.fr/gfwlist +ipset=/.epochtimes.ie/gfwlist +ipset=/.epochtimes.jp/gfwlist +ipset=/.epochtimes-romania.com/gfwlist +ipset=/.epochtimes.ru/gfwlist +ipset=/.epochtimes.se/gfwlist +ipset=/.epochtimestr.com/gfwlist +ipset=/.epochweekly.com/gfwlist +ipset=/.erabaru.net/gfwlist +ipset=/.erepublik.com/gfwlist +ipset=/.erepublik.net/gfwlist +ipset=/.erights.net/gfwlist +ipset=/.eriversoft.com/gfwlist +ipset=/.ernestmandel.org/gfwlist +ipset=/.etaiwannews.com/gfwlist +ipset=/.etizer.org/gfwlist +ipset=/.etools.ncol.com/gfwlist +ipset=/.e-traderland.net/gfwlist +ipset=/.etraining.gov.tw/gfwlist +ipset=/.ettoday.net/gfwlist +ipset=/.evchk.wikia.com/gfwlist +ipset=/.eventful.com/gfwlist +ipset=/.everyday-carry.com/gfwlist +ipset=/.exblog.jp/gfwlist +ipset=/.expatshield.com/gfwlist +ipset=/.exploader.net/gfwlist +ipset=/.extremetube.com/gfwlist +ipset=/.eyespirit.info/gfwlist +ipset=/.eyevio.jp/gfwlist +ipset=/.eyny.com/gfwlist +ipset=/.ezpc.tk/gfwlist +ipset=/.ezpeer.com/gfwlist +ipset=/.facebook.com/gfwlist +ipset=/.facebook.net/gfwlist +ipset=/.facesofnyfw.com/gfwlist +ipset=/.fail.hk/gfwlist +ipset=/.faiththedog.info/gfwlist +ipset=/.fakku.net/gfwlist +ipset=/.falsefire.com/gfwlist +ipset=/.falunart.org/gfwlist +ipset=/.falundafamuseum.org/gfwlist +ipset=/.falundafa.org/gfwlist +ipset=/.falunhr.org/gfwlist +ipset=/.famunion.com/gfwlist +ipset=/.fangbinxing.com/gfwlist +ipset=/.fangeming.com/gfwlist +ipset=/.fanglizhi.info/gfwlist +ipset=/.fangongheike.com/gfwlist +ipset=/.fangong.org/gfwlist +ipset=/.fan-qiang.com/gfwlist +ipset=/.fanqianghou.com/gfwlist +ipset=/.fanqiangyakexi.net/gfwlist +ipset=/.fanswong.com/gfwlist +ipset=/.fanyue.info/gfwlist +ipset=/.fapdu.com/gfwlist +ipset=/.farwestchina.com/gfwlist +ipset=/.farxian.com/gfwlist +ipset=/.fastpic.ru/gfwlist +ipset=/.faststone.org/gfwlist +ipset=/.favorious.com/gfwlist +ipset=/.favstar.fm/gfwlist +ipset=/.fawanghuihui.org/gfwlist +ipset=/.faydao.com/gfwlist +ipset=/.fbcdn.net/gfwlist +ipset=/.fb.com/gfwlist +ipset=/.fb.me/gfwlist +ipset=/.fbsbx.com/gfwlist +ipset=/.fc2china.com/gfwlist +ipset=/.fc2.com/gfwlist +ipset=/.f.cl.ly/gfwlist +ipset=/.fdc89.jp/gfwlist +ipset=/.feedbooks.mobi/gfwlist +ipset=/.feedburner.com/gfwlist +ipset=/.feeds2.feedburner.com/gfwlist +ipset=/.feeds.feedburner.com/gfwlist +ipset=/.feedzshare.com/gfwlist +ipset=/.feelssh.com/gfwlist +ipset=/.feer.com/gfwlist +ipset=/.felixcat.net/gfwlist +ipset=/.feministteacher.com/gfwlist +ipset=/.fengzhenghu.com/gfwlist +ipset=/.fetchvideo.com/gfwlist +ipset=/.ff.im/gfwlist +ipset=/.fflick.com/gfwlist +ipset=/.fgmtv.net/gfwlist +ipset=/.fgmtv.org/gfwlist +ipset=/.filefactory.com/gfwlist +ipset=/.files2me.com/gfwlist +ipset=/.fileserve.com/gfwlist +ipset=/.fillthesquare.org/gfwlist +ipset=/.finalion.jp/gfwlist +ipset=/.findbook.tw/gfwlist +ipset=/.finler.net/gfwlist +ipset=/.fireofliberty.org/gfwlist +ipset=/.firstfivefollowers.com/gfwlist +ipset=/.flecheinthepeche.fr/gfwlist +ipset=/.fleshbot.com/gfwlist +ipset=/.flickr.com/gfwlist +ipset=/.flickrhivemind.net/gfwlist +ipset=/.flightcaster.com/gfwlist +ipset=/.flowerofhappiness.spaces.live.com/gfwlist +ipset=/.focustaiwan.tw/gfwlist +ipset=/.focusvpn.com/gfwlist +ipset=/.fofg.org/gfwlist +ipset=/.fooooo.com/gfwlist +ipset=/.footwiball.com/gfwlist +ipset=/.forum.baby-kingdom.com/gfwlist +ipset=/.forum.cyberctm.com/gfwlist +ipset=/.forum.idsam.com/gfwlist +ipset=/.forum.iset.com.tw/gfwlist +ipset=/.forum.my903.com/gfwlist +ipset=/.forum.mymaji.com/gfwlist +ipset=/.forum.newsgroup.la/gfwlist +ipset=/.forum.nownews.com/gfwlist +ipset=/.forum.omy.sg/gfwlist +ipset=/.forum.palmislife.com/gfwlist +ipset=/.forum.pchome.com.tw/gfwlist +ipset=/.forum.setty.com.tw/gfwlist +ipset=/.forum.sina.com.hk/gfwlist +ipset=/.forum.slime.com.tw/gfwlist +ipset=/.forum.tvb.com/gfwlist +ipset=/.forum.yorkbbs.ca/gfwlist +ipset=/.fotop.net/gfwlist +ipset=/.fourface.nodesnoop.com/gfwlist +ipset=/.fourthinternational.org/gfwlist +ipset=/.foxdie.us/gfwlist +ipset=/.foxsub.com/gfwlist +ipset=/.foxtang.com/gfwlist +ipset=/.fqrouter.com/gfwlist +ipset=/.franklc.com/gfwlist +ipset=/.freakshare.com/gfwlist +ipset=/.fredwilson.vc/gfwlist +ipset=/.free4u.com.ar/gfwlist +ipset=/.freealim.com/gfwlist +ipset=/.freechal.com/gfwlist +ipset=/.freedomhouse.org/gfwlist +ipset=/.free.fr/gfwlist +ipset=/.freegao.com/gfwlist +ipset=/.freegateget.googlepages.com/gfwlist +ipset=/.free-gate.org/gfwlist +ipset=/.free-hada-now.org/gfwlist +ipset=/.freelotto.com/gfwlist +ipset=/.freeman2.com/gfwlist +ipset=/.freemoren.com/gfwlist +ipset=/.freemorenews.com/gfwlist +ipset=/.freenet-china.org/gfwlist +ipset=/.freenetproject.org/gfwlist +ipset=/.freenewscn.com/gfwlist +ipset=/.freeopenvpn.com/gfwlist +ipset=/.freeoz.org/gfwlist +ipset=/.free-ssh.com/gfwlist +ipset=/.freessh.us/gfwlist +ipset=/.freetibet.org/gfwlist +ipset=/.freevpn.nl/gfwlist +ipset=/.freewallpaper4.me/gfwlist +ipset=/.freewebs.com/gfwlist +ipset=/.freeweibo.com/gfwlist +ipset=/.freexinwen.com/gfwlist +ipset=/.freeyoutubeproxy.net/gfwlist +ipset=/.friendfeed.com/gfwlist +ipset=/.friendfeed-media.com/gfwlist +ipset=/.fring.com/gfwlist +ipset=/.fringenetwork.com/gfwlist +ipset=/.frommel.net/gfwlist +ipset=/.frontlinedefenders.org/gfwlist +ipset=/.fscked.org/gfwlist +ipset=/.fsurf.com/gfwlist +ipset=/.ftchinese.com/gfwlist +ipset=/.fuckcnnic.net/gfwlist +ipset=/.fuckgfw.com/gfwlist +ipset=/.fuckgfw.org/gfwlist +ipset=/.fulue.com/gfwlist +ipset=/.funf.tw/gfwlist +ipset=/.funp.com/gfwlist +ipset=/.furinkan.com/gfwlist +ipset=/.furl.net/gfwlist +ipset=/.futurechinaforum.org/gfwlist +ipset=/.futureme.org/gfwlist +ipset=/.futuremessage.org/gfwlist +ipset=/.fuyin.net/gfwlist +ipset=/.fw.cm/gfwlist +ipset=/.fxnetworks.com/gfwlist +ipset=/.fzh999.com/gfwlist +ipset=/.fzh999.net/gfwlist +ipset=/.gabocorp.com/gfwlist +ipset=/.gaeproxy.com/gfwlist +ipset=/.gaeproxy.googlecode.com/gfwlist +ipset=/.galenwu.com/gfwlist +ipset=/.game735.com/gfwlist +ipset=/.gamebase.com.tw/gfwlist +ipset=/.gamer.com.tw/gfwlist +ipset=/.gamez.com.tw/gfwlist +ipset=/.ganges.com/gfwlist +ipset=/.gaoming.net/gfwlist +ipset=/.gaopi.net/gfwlist +ipset=/.gaozhisheng.net/gfwlist +ipset=/.gaozhisheng.org/gfwlist +ipset=/.gardennetworks.com/gfwlist +ipset=/.gardennetworks.org/gfwlist +ipset=/.gartlive.com/gfwlist +ipset=/.gather.com/gfwlist +ipset=/.gaymap.cc/gfwlist +ipset=/.gazotube.com/gfwlist +ipset=/.gcc.org.hk/gfwlist +ipset=/.gclooney.com/gfwlist +ipset=/.g.co/gfwlist +ipset=/.gcpnews.com/gfwlist +ipset=/.gdbt.net/gfwlist +ipset=/.gdzf.org/gfwlist +ipset=/.geek-art.net/gfwlist +ipset=/.geekerhome.com/gfwlist +ipset=/.geekmade.co.uk/gfwlist +ipset=/.geekmanuals.com/gfwlist +ipset=/.generesis.com/gfwlist +ipset=/.genuitec.com/gfwlist +ipset=/.geocities.co.jp/gfwlist +ipset=/.geocities.com/gfwlist +ipset=/.geocities.jp/gfwlist +ipset=/.geohot.com/gfwlist +ipset=/.geometrictools.com/gfwlist +ipset=/.getchu.com/gfwlist +ipset=/.getcloudapp.com/gfwlist +ipset=/.get-digital-help.com/gfwlist +ipset=/.getfoxyproxy.org/gfwlist +ipset=/.getfreedur.com/gfwlist +ipset=/.getiton.com/gfwlist +ipset=/.getjetso.com/gfwlist +ipset=/.getlantern.org/gfwlist +ipset=/.getsmartlinks.com/gfwlist +ipset=/.getsocialscope.com/gfwlist +ipset=/.gfwinterceptor.googlecode.com/gfwlist +ipset=/.gfw.org.ua/gfwlist +ipset=/.ggpht.com/gfwlist +ipset=/.ggssl.com/gfwlist +ipset=/.ghost.org/gfwlist +ipset=/.ghut.org/gfwlist +ipset=/.giga-web.jp/gfwlist +ipset=/.gigporno.ru/gfwlist +ipset=/.gimpshop.com/gfwlist +ipset=/.girlbanker.com/gfwlist +ipset=/.github.com/gfwlist +ipset=/.git-scm.com/gfwlist +ipset=/.givemesomethingtoread.com/gfwlist +ipset=/.glennhilton.com/gfwlist +ipset=/.globaljihad.net/gfwlist +ipset=/.globalmuseumoncommunism.org/gfwlist +ipset=/.globalrescue.net/gfwlist +ipset=/.globalvoicesonline.org/gfwlist +ipset=/.gmail.com/gfwlist +ipset=/.gmbd.cn/gfwlist +ipset=/.gmhz.org/gfwlist +ipset=/.gmodules.com/gfwlist +ipset=/.gmozomg.izihost.org/gfwlist +ipset=/.gnci.org.hk/gfwlist +ipset=/.goagent.biz/gfwlist +ipset=/.goagent.googlecode.com/gfwlist +ipset=/.goagentplus.com/gfwlist +ipset=/.godfootsteps.org/gfwlist +ipset=/.golang.org/gfwlist +ipset=/.goldbetsports.com/gfwlist +ipset=/.goldwave.com/gfwlist +ipset=/.gongmeng.info/gfwlist +ipset=/.gongm.in/gfwlist +ipset=/.gongminliliang.com/gfwlist +ipset=/.gongwt.com/gfwlist +ipset=/.goodreaders.com/gfwlist +ipset=/.goodreads.com/gfwlist +ipset=/.goofind.com/gfwlist +ipset=/.goo.gl/gfwlist +ipset=/.googleadservices.com/gfwlist +ipset=/.google-analytics.com/gfwlist +ipset=/.googleapis.com/gfwlist +ipset=/.googlecode.com/gfwlist +ipset=/.google.co.jp/gfwlist +ipset=/.google.com/gfwlist +ipset=/.google.com.hk/gfwlist +ipset=/.google.com.sg/gfwlist +ipset=/.google.com.tw/gfwlist +ipset=/.google.com.uk/gfwlist +ipset=/.googledomains.com/gfwlist +ipset=/.googledrive.com/gfwlist +ipset=/.googleearth.com/gfwlist +ipset=/.googlehosted.com/gfwlist +ipset=/.googlelabs.com/gfwlist +ipset=/.googlemail.com/gfwlist +ipset=/.googleplus.com/gfwlist +ipset=/.googlesile.com/gfwlist +ipset=/.googlesource.com/gfwlist +ipset=/.googlesyndication.com/gfwlist +ipset=/.googletagmanager.com/gfwlist +ipset=/.googletagservices.com/gfwlist +ipset=/.googleusercontent.com/gfwlist +ipset=/.googlevideo.com/gfwlist +ipset=/.gopetition.com/gfwlist +ipset=/.gospelherald.com/gfwlist +ipset=/.gov.tw/gfwlist +ipset=/.gpass1.com/gfwlist +ipset=/.grandtrial.org/gfwlist +ipset=/.graphis.ne.jp/gfwlist +ipset=/.gravatar.com/gfwlist +ipset=/.graylog2.org/gfwlist +ipset=/.grb.gov.tw/gfwlist +ipset=/.greatfire.org/gfwlist +ipset=/.greatfirewall.biz/gfwlist +ipset=/.great-firewall.com/gfwlist +ipset=/.greatfirewallofchina.net/gfwlist +ipset=/.greatfirewallofchina.org/gfwlist +ipset=/.great-roc.org/gfwlist +ipset=/.greatroc.org/gfwlist +ipset=/.greatroc.tw/gfwlist +ipset=/.greatzhonghua.org/gfwlist +ipset=/.greenparty.org.tw/gfwlist +ipset=/.greenvpn.net/gfwlist +ipset=/.gs-discuss.com/gfwlist +ipset=/.gseeker.com/gfwlist +ipset=/.gsn-cert.nat.gov.tw/gfwlist +ipset=/.gstatic.com/gfwlist +ipset=/.gtap.googlecode.com/gfwlist +ipset=/.gtricks.com/gfwlist +ipset=/.guancha.org/gfwlist +ipset=/.gufeng521.spaces.live.com/gfwlist +ipset=/.guishan.org/gfwlist +ipset=/.gunsamerica.com/gfwlist +ipset=/.gun-world.net/gfwlist +ipset=/.guomin.us/gfwlist +ipset=/.gutteruncensored.com/gfwlist +ipset=/.gvm.com.tw/gfwlist +ipset=/.gyalwarinpoche.com/gfwlist +ipset=/.gysd.nyc.gov.tw/gfwlist +ipset=/.gzm.tv/gfwlist +ipset=/.gzone-anime.info/gfwlist +ipset=/.h1n1china.org/gfwlist +ipset=/.hacken.cc/gfwlist +ipset=/.hackthatphone.net/gfwlist +ipset=/.hahlo.com/gfwlist +ipset=/.hakkatv.org.tw/gfwlist +ipset=/.hanunyi.com/gfwlist +ipset=/.hardsextube.com/gfwlist +ipset=/.hasaowall.com/gfwlist +ipset=/.have8.com/gfwlist +ipset=/.haygo.com/gfwlist +ipset=/.hcc.gov.tw/gfwlist +ipset=/.hchcc.gov.tw/gfwlist +ipset=/.h-china.org/gfwlist +ipset=/.hdtvb.net/gfwlist +ipset=/.heartyit.com/gfwlist +ipset=/.hecaitou.net/gfwlist +ipset=/.hechaji.com/gfwlist +ipset=/.heix.pp.ru/gfwlist +ipset=/.heiyo.info/gfwlist +ipset=/.helloandroid.com/gfwlist +ipset=/.hellonewyork.us/gfwlist +ipset=/.helloqueer.com/gfwlist +ipset=/.hellotxt.com/gfwlist +ipset=/.hellouk.org/gfwlist +ipset=/.helpeachpeople.com/gfwlist +ipset=/.helplinfen.com/gfwlist +ipset=/.help.linksalpha.com/gfwlist +ipset=/.help.opera.com/gfwlist +ipset=/.helpzhuling.org/gfwlist +ipset=/.hen.bao.li/gfwlist +ipset=/.hengchuen.gov.tw/gfwlist +ipset=/.heqinglian.net/gfwlist +ipset=/.here4news.com/gfwlist +ipset=/.heungkongdiscuss.com/gfwlist +ipset=/.hgseav.com/gfwlist +ipset=/.hidden-advent.org/gfwlist +ipset=/.hidecloud.com/gfwlist +ipset=/.hideipvpn.com/gfwlist +ipset=/.hidemyass.com/gfwlist +ipset=/.higfw.com/gfwlist +ipset=/.highrockmedia.com/gfwlist +ipset=/.hihiforum.com/gfwlist +ipset=/.hihistory.net/gfwlist +ipset=/.hiitch.com/gfwlist +ipset=/.hikinggfw.org/gfwlist +ipset=/.himemix.com/gfwlist +ipset=/.himemix.net/gfwlist +ipset=/.hjclub.info/gfwlist +ipset=/.hk32168.com/gfwlist +ipset=/.hkbc.net/gfwlist +ipset=/.hkbf.org/gfwlist +ipset=/.hkchurch.org/gfwlist +ipset=/.hkdailynews.com.hk/gfwlist +ipset=/.hkday.net/gfwlist +ipset=/.hkej.com/gfwlist +ipset=/.hkepc.com/gfwlist +ipset=/.hkfront.org/gfwlist +ipset=/.hk.geocities.com/gfwlist +ipset=/.hkgolden.com/gfwlist +ipset=/.hkgreenradio.org/gfwlist +ipset=/.hkg.westkit.net/gfwlist +ipset=/.hkheadline.com/gfwlist +ipset=/.hkhkhk.com/gfwlist +ipset=/.hkjc.com/gfwlist +ipset=/.hk.jiepang.com/gfwlist +ipset=/.hkjp.easyweb.hk/gfwlist +ipset=/.hkjp.org/gfwlist +ipset=/.hk.knowledge.yahoo.com/gfwlist +ipset=/.hk.myblog.yahoo.com/gfwlist +ipset=/.hk.news.yahoo.com/gfwlist +ipset=/.hkptu.org/gfwlist +ipset=/.hk-pub.com/gfwlist +ipset=/.hk.rd.yahoo.com/gfwlist +ipset=/.hkreporter.com/gfwlist +ipset=/.hkreporter.loved.hk/gfwlist +ipset=/.hk.search.yahoo.com/gfwlist +ipset=/.hk.video.news.yahoo.com/gfwlist +ipset=/.hkwcc.org.hk/gfwlist +ipset=/.hk.yahoo.com/gfwlist +ipset=/.hkzone.org/gfwlist +ipset=/.hnjhj.com/gfwlist +ipset=/.hola.com/gfwlist +ipset=/.holyspiritspeaks.org/gfwlist +ipset=/.holz.byethost8.com/gfwlist +ipset=/.homeservershow.com/gfwlist +ipset=/.home.sina.com/gfwlist +ipset=/.home.so-net.net.tw/gfwlist +ipset=/.honeonet.spaces.live.com/gfwlist +ipset=/.hongmeimei.com/gfwlist +ipset=/.hongzhi.li/gfwlist +ipset=/.hootsuite.com/gfwlist +ipset=/.hotpot.hk/gfwlist +ipset=/.hotshame.com/gfwlist +ipset=/.hotspotshield.com/gfwlist +ipset=/.hougaige.com/gfwlist +ipset=/.howtoforge.com/gfwlist +ipset=/.hqcdp.org/gfwlist +ipset=/.hrcir.com/gfwlist +ipset=/.hrichina.org/gfwlist +ipset=/.hrw.org/gfwlist +ipset=/.hsinchu-cc.gov.tw/gfwlist +ipset=/.hsjp.net/gfwlist +ipset=/.hsselite.com/gfwlist +ipset=/.htkou.net/gfwlist +ipset=/.htl.li/gfwlist +ipset=/.ht.ly/gfwlist +ipset=/.htmldog.com/gfwlist +ipset=/.huaglad.com/gfwlist +ipset=/.huajiadi.spaces.live.com/gfwlist +ipset=/.huanghuagang.org/gfwlist +ipset=/.huaren.us/gfwlist +ipset=/.huaxia-news.com/gfwlist +ipset=/.huaxin.ph/gfwlist +ipset=/.hua-yue.net/gfwlist +ipset=/.hudatoriq.web.id/gfwlist +ipset=/.hugoroy.eu/gfwlist +ipset=/.huhamhire.com/gfwlist +ipset=/.hujiachina.spaces.live.com/gfwlist +ipset=/.hulu.com/gfwlist +ipset=/.huluim.com/gfwlist +ipset=/.humanities.uchicago.edu/gfwlist +ipset=/.hungerstrikeforaids.org/gfwlist +ipset=/.hung-ya.com/gfwlist +ipset=/.huping.net/gfwlist +ipset=/.hutianyi.net/gfwlist +ipset=/.hutong9.net/gfwlist +ipset=/.hwinfo.com/gfwlist +ipset=/.hyperrate.com/gfwlist +ipset=/.hypeshell.com/gfwlist +ipset=/.i1.hk/gfwlist +ipset=/.i2runner.com/gfwlist +ipset=/.ialmostlaugh.com/gfwlist +ipset=/.iask.bz/gfwlist +ipset=/.iask.ca/gfwlist +ipset=/.ibiblio.org/gfwlist +ipset=/.iblogserv-f.net/gfwlist +ipset=/.ibros.org/gfwlist +ipset=/.icij.org/gfwlist +ipset=/.icl-fi.org/gfwlist +ipset=/.iconpaper.org/gfwlist +ipset=/.icu-project.org/gfwlist +ipset=/.idemocracy.asia/gfwlist +ipset=/.identi.ca/gfwlist +ipset=/.idiomconnection.com/gfwlist +ipset=/.idouga.com/gfwlist +ipset=/.idv.tw/gfwlist +ipset=/.ieasynews.net/gfwlist +ipset=/.ied2k.net/gfwlist +ipset=/.ieemdai.spaces.live.com/gfwlist +ipset=/.ifan.cz.cc/gfwlist +ipset=/.ifanqiang.com/gfwlist +ipset=/.ifanr.com/gfwlist +ipset=/.ifcss.org/gfwlist +ipset=/.ifjc.org/gfwlist +ipset=/.igfw.net/gfwlist +ipset=/.ignitedetroit.net/gfwlist +ipset=/.igvita.com/gfwlist +ipset=/.ihakka.net/gfwlist +ipset=/.iicns.com/gfwlist +ipset=/.illusionfactory.com/gfwlist +ipset=/.ilove80.be/gfwlist +ipset=/.im88.tw/gfwlist +ipset=/.imageflea.com/gfwlist +ipset=/.imagesblog.gio.gov.tw/gfwlist +ipset=/.imageshack.us/gfwlist +ipset=/.imagevenue.com/gfwlist +ipset=/.imagezilla.net/gfwlist +ipset=/.ime.baidu.jp/gfwlist +ipset=/.img.ly/gfwlist +ipset=/.imkev.com/gfwlist +ipset=/.imlive.com/gfwlist +ipset=/.immigration.gov.tw/gfwlist +ipset=/.imrworldwide.com/gfwlist +ipset=/.im.tv/gfwlist +ipset=/.incredibox.fr/gfwlist +ipset=/.iner.gov.tw/gfwlist +ipset=/.initiativesforchina.org/gfwlist +ipset=/.inmediahk.net/gfwlist +ipset=/.innermongolia.org/gfwlist +ipset=/.instagram.com/gfwlist +ipset=/.interestinglaugh.com/gfwlist +ipset=/.interfaceaddiction.com/gfwlist +ipset=/.internationalrivers.org/gfwlist +ipset=/.internetdefenseleague.org/gfwlist +ipset=/.internetfreedom.org/gfwlist +ipset=/.internetpopculture.com/gfwlist +ipset=/.inxian.com/gfwlist +ipset=/.iphone4hongkong.com/gfwlist +ipset=/.iphonehacks.com/gfwlist +ipset=/.iphonix.fr/gfwlist +ipset=/.ipicture.ru/gfwlist +ipset=/.ipobar.com/gfwlist +ipset=/.ippotv.com/gfwlist +ipset=/.iptorrents.com/gfwlist +ipset=/.ipvanish.com/gfwlist +ipset=/.iredmail.org/gfwlist +ipset=/.ironbigfools.compython.net/gfwlist +ipset=/.ironicsoftware.com/gfwlist +ipset=/.ironpython.net/gfwlist +ipset=/.isaacmao.com/gfwlist +ipset=/.isgreat.org/gfwlist +ipset=/.islamicity.com/gfwlist +ipset=/.islam.org.hk/gfwlist +ipset=/.ismprofessional.net/gfwlist +ipset=/.isohunt.com/gfwlist +ipset=/.israbox.com/gfwlist +ipset=/.istockphoto.com/gfwlist +ipset=/.isunaffairs.com/gfwlist +ipset=/.isuntv.com/gfwlist +ipset=/.itaboo.info/gfwlist +ipset=/.ithelp.ithome.com.tw/gfwlist +ipset=/.itrc.gov.tw/gfwlist +ipset=/.itshidden.com/gfwlist +ipset=/.itweet.net/gfwlist +ipset=/.iu45.com/gfwlist +ipset=/.iverycd.com/gfwlist +ipset=/.ixquick.com/gfwlist +ipset=/.izaobao.us/gfwlist +ipset=/.izles.net/gfwlist +ipset=/.japan-whores.com/gfwlist +ipset=/.jayparkinsonmd.com/gfwlist +ipset=/.jbtalks.cc/gfwlist +ipset=/.jbtalks.com/gfwlist +ipset=/.jbtalks.my/gfwlist +ipset=/.jeanyim.com/gfwlist +ipset=/.jgoodies.com/gfwlist +ipset=/.jiaoyou8.com/gfwlist +ipset=/.jiehua.cz/gfwlist +ipset=/.jieshibaobao.com/gfwlist +ipset=/.jike.com/gfwlist +ipset=/.jimoparty.com/gfwlist +ipset=/.jinbushe.org/gfwlist +ipset=/.jingpin.org/gfwlist +ipset=/.jitouch.com/gfwlist +ipset=/.jkforum.net/gfwlist +ipset=/.j.mp/gfwlist +ipset=/.joachims.org/gfwlist +ipset=/.jobso.tv/gfwlist +ipset=/.joeedelman.com/gfwlist +ipset=/.journalofdemocracy.org/gfwlist +ipset=/.jpopforum.net/gfwlist +ipset=/.juliereyc.com/gfwlist +ipset=/.junauza.com/gfwlist +ipset=/.junefourth-20.net/gfwlist +ipset=/.justfreevpn.com/gfwlist +ipset=/.justtristan.com/gfwlist +ipset=/.juziyue.com/gfwlist +ipset=/.jwmusic.org/gfwlist +ipset=/.jyxf.net/gfwlist +ipset=/.jyzj.waqn.com/gfwlist +ipset=/.k2.xrea.com/gfwlist +ipset=/.kagyuoffice.org.tw/gfwlist +ipset=/.kaiyuan.de/gfwlist +ipset=/.kakao.com/gfwlist +ipset=/.kanzhongguo.com/gfwlist +ipset=/.kanzhongguo.eu/gfwlist +ipset=/.karayou.com/gfwlist +ipset=/.ka-wai.com/gfwlist +ipset=/.kcsoftwares.com/gfwlist +ipset=/.kechara.com/gfwlist +ipset=/.keepandshare.com/gfwlist +ipset=/.kendincos.net/gfwlist +ipset=/.kenengba.com/gfwlist +ipset=/.keontech.net/gfwlist +ipset=/.khcc.gov.tw/gfwlist +ipset=/.khms.gov.tw/gfwlist +ipset=/.khmusic.com.tw/gfwlist +ipset=/.killwall.com/gfwlist +ipset=/.kineox.free.fr/gfwlist +ipset=/.kingdomsalvation.org/gfwlist +ipset=/.kinghost.com/gfwlist +ipset=/.kingstone.com.tw/gfwlist +ipset=/.kissbbao.cn/gfwlist +ipset=/.kissyoutube.com/gfwlist +ipset=/.kk.gov.tw/gfwlist +ipset=/.klccab.gov.tw/gfwlist +ipset=/.klra.gov.tw/gfwlist +ipset=/.klsio.gov.tw/gfwlist +ipset=/.kmh.gov.tw/gfwlist +ipset=/.kmseh.gov.tw/gfwlist +ipset=/.knowledgerush.com/gfwlist +ipset=/.kodingen.com/gfwlist +ipset=/.kompozer.net/gfwlist +ipset=/.koolsolutions.com/gfwlist +ipset=/.koornk.com/gfwlist +ipset=/.kt.kcome.org/gfwlist +ipset=/.kui.name/gfwlist +ipset=/.kun.im/gfwlist +ipset=/.kurtmunger.com/gfwlist +ipset=/.kusocity.com/gfwlist +ipset=/.kwongwah.com.my/gfwlist +ipset=/.kyohk.net/gfwlist +ipset=/.kzeng.info/gfwlist +ipset=/.labiennale.org/gfwlist +ipset=/.ladbrokes.com/gfwlist +ipset=/.la-forum.org/gfwlist +ipset=/.lagranepoca.com/gfwlist +ipset=/.lalulalu.com/gfwlist +ipset=/.laogai.org/gfwlist +ipset=/.laomiu.com/gfwlist +ipset=/.laoyang.info/gfwlist +ipset=/.laptoplockdown.com/gfwlist +ipset=/.laqingdan.net/gfwlist +ipset=/.larsgeorge.com/gfwlist +ipset=/.lastfm.es/gfwlist +ipset=/.latelinenews.com/gfwlist +ipset=/.latimesblogs.latimes.com/gfwlist +ipset=/.lazarsearlymusic.com/gfwlist +ipset=/.leecheukyan.org/gfwlist +ipset=/.legaltech.law.com/gfwlist +ipset=/.lematin.ch/gfwlist +ipset=/.lemonde.fr/gfwlist +ipset=/.lenwhite.com/gfwlist +ipset=/.lerosua.org/gfwlist +ipset=/.lesoir.be/gfwlist +ipset=/.lesscss.org/gfwlist +ipset=/.letscorp.net/gfwlist +ipset=/.liansi.org/gfwlist +ipset=/.lianyue.net/gfwlist +ipset=/.liaowangxizang.net/gfwlist +ipset=/.liberal.org.hk/gfwlist +ipset=/.libertytimes.com.tw/gfwlist +ipset=/.lich355.megabyet.net/gfwlist +ipset=/.lidecheng.com/gfwlist +ipset=/.life.fly4ever.me/gfwlist +ipset=/.limiao.net/gfwlist +ipset=/.line.me/gfwlist +ipset=/.linglingfa.com/gfwlist +ipset=/.lingvodics.com/gfwlist +ipset=/.linkideo.com/gfwlist +ipset=/.linuxconfig.org/gfwlist +ipset=/.linux-engineer.net/gfwlist +ipset=/.linuxreviews.org/gfwlist +ipset=/.linuxtoy.org/gfwlist +ipset=/.lipuman.com/gfwlist +ipset=/.listentoyoutube.com/gfwlist +ipset=/.list.ly/gfwlist +ipset=/.listorious.com/gfwlist +ipset=/.lists.debian.org/gfwlist +ipset=/.lists.w3.org/gfwlist +ipset=/.littlebigdetails.com/gfwlist +ipset=/.liudejun.com/gfwlist +ipset=/.liuhanyu.com/gfwlist +ipset=/.liujianshu.com/gfwlist +ipset=/.liu.lu/gfwlist +ipset=/.liuxiaotong.com/gfwlist +ipset=/.liveleak.com/gfwlist +ipset=/.livestation.com/gfwlist +ipset=/.livestream.com/gfwlist +ipset=/.livevideo.com/gfwlist +ipset=/.livingonline.us/gfwlist +ipset=/.livingstream.com/gfwlist +ipset=/.lizhizhuangbi.com/gfwlist +ipset=/.lkcn.net/gfwlist +ipset=/.localpresshk.com/gfwlist +ipset=/.lockdown.com/gfwlist +ipset=/.lockestek.com/gfwlist +ipset=/.logbot.net/gfwlist +ipset=/.logiqx.com/gfwlist +ipset=/.logmike.com/gfwlist +ipset=/.log.riku.me/gfwlist +ipset=/.london.neighborhoodr.com/gfwlist +ipset=/.longhair.hk/gfwlist +ipset=/.longtermly.net/gfwlist +ipset=/.lookatgame.com/gfwlist +ipset=/.lookingglasstheatre.org/gfwlist +ipset=/.lookpic.com/gfwlist +ipset=/.lotuslight.org.tw/gfwlist +ipset=/.lovequicksilver.com/gfwlist +ipset=/.lovesphinx.tk/gfwlist +ipset=/.lrfz.com/gfwlist +ipset=/.lsd.org.hk/gfwlist +ipset=/.lsforum.net/gfwlist +ipset=/.lsmchinese.org/gfwlist +ipset=/.lsmkorean.org/gfwlist +ipset=/.lsm.org/gfwlist +ipset=/.lsxszzg.com/gfwlist +ipset=/.lua.org/gfwlist +ipset=/.lua-users.org/gfwlist +ipset=/.lungtanhr.gov.tw/gfwlist +ipset=/.luntan.zaobao.com/gfwlist +ipset=/.lupm.org/gfwlist +ipset=/.lushstories.com/gfwlist +ipset=/.lvhai.org/gfwlist +ipset=/.lyricsquote.com/gfwlist +ipset=/.mad-ar.ch/gfwlist +ipset=/.madmenunbuttoned.com/gfwlist +ipset=/.magazines.sina.com.tw/gfwlist +ipset=/.maiio.net/gfwlist +ipset=/.mail-archive.com/gfwlist +ipset=/.maiplus.com/gfwlist +ipset=/.makemymood.com/gfwlist +ipset=/.makzhou.warehouse333.com/gfwlist +ipset=/.malaysiakini.com/gfwlist +ipset=/.marc.info/gfwlist +ipset=/.marco.org/gfwlist +ipset=/.marguerite.su/gfwlist +ipset=/.marines.mil/gfwlist +ipset=/.markmilian.com/gfwlist +ipset=/.martau.com/gfwlist +ipset=/.martincartoons.com/gfwlist +ipset=/.maruta.be/gfwlist +ipset=/.marxist.com/gfwlist +ipset=/.marxist.net/gfwlist +ipset=/.marxists.org/gfwlist +ipset=/.mashable.com/gfwlist +ipset=/.mash.to/gfwlist +ipset=/.matainja.com/gfwlist +ipset=/.mathiew-badimon.com/gfwlist +ipset=/.matsu-news.gov.tw/gfwlist +ipset=/.matsushimakaede.com/gfwlist +ipset=/.maxgif.com/gfwlist +ipset=/.mayimayi.com/gfwlist +ipset=/.mcadforums.com/gfwlist +ipset=/.mcfog.com/gfwlist +ipset=/.md-t.org/gfwlist +ipset=/.mediafire.com/gfwlist +ipset=/.meetup.com/gfwlist +ipset=/.mefeedia.com/gfwlist +ipset=/.megaporn.com/gfwlist +ipset=/.megarotic.com/gfwlist +ipset=/.megavideo.com/gfwlist +ipset=/.megurineluka.com/gfwlist +ipset=/.meirixiaochao.com/gfwlist +ipset=/.melon-peach.com/gfwlist +ipset=/.memedia.cn/gfwlist +ipset=/.meme.yahoo.com/gfwlist +ipset=/.memrijttm.org/gfwlist +ipset=/.merit-times.com.tw/gfwlist +ipset=/.mesotw.com/gfwlist +ipset=/.metacafe.com/gfwlist +ipset=/.meteorshowersonline.com/gfwlist +ipset=/.metrolife.ca/gfwlist +ipset=/.mgoon.com/gfwlist +ipset=/.mgstage.com/gfwlist +ipset=/.mh4u.org/gfwlist +ipset=/.mhradio.org/gfwlist +ipset=/.michaelanti.com/gfwlist +ipset=/.michaelmarketl.com/gfwlist +ipset=/.middle-way.net/gfwlist +ipset=/.mihk.hk/gfwlist +ipset=/.mihua.org/gfwlist +ipset=/.mike.cz.cc/gfwlist +ipset=/.mimivip.com/gfwlist +ipset=/.minghui.org/gfwlist +ipset=/.minghui-school.org/gfwlist +ipset=/.mingjinglishi.com/gfwlist +ipset=/.mingjingnews.com/gfwlist +ipset=/.mingpaocanada.com/gfwlist +ipset=/.mingpao.com/gfwlist +ipset=/.mingpaomonthly.com/gfwlist +ipset=/.mingpaonews.com/gfwlist +ipset=/.mingpaony.com/gfwlist +ipset=/.mingpaosf.com/gfwlist +ipset=/.mingpaotor.com/gfwlist +ipset=/.mingpaovan.com/gfwlist +ipset=/.minimalmac.com/gfwlist +ipset=/.mininova.org/gfwlist +ipset=/.minzhuhua.net/gfwlist +ipset=/.minzhuzhongguo.org/gfwlist +ipset=/.miroguide.com/gfwlist +ipset=/.mirrorbooks.com/gfwlist +ipset=/.mitbbs.com/gfwlist +ipset=/.mixedmedialabs.com/gfwlist +ipset=/.mixero.com/gfwlist +ipset=/.mixpod.com/gfwlist +ipset=/.mixx.com/gfwlist +ipset=/.mizzmona.com/gfwlist +ipset=/.mk5000.com/gfwlist +ipset=/.mlcool.com/gfwlist +ipset=/.mmaaxx.com/gfwlist +ipset=/.mmmca.com/gfwlist +ipset=/.mobatek.net/gfwlist +ipset=/.mobile01.com/gfwlist +ipset=/.mobileways.de/gfwlist +ipset=/.mobypicture.com/gfwlist +ipset=/.moby.to/gfwlist +ipset=/.modfetish.com/gfwlist +ipset=/.moe.gov.tw/gfwlist +ipset=/.mog.com/gfwlist +ipset=/.molihua.org/gfwlist +ipset=/.mondex.org/gfwlist +ipset=/.monitorchina.org/gfwlist +ipset=/.moonriver7.files.wordpress.com/gfwlist +ipset=/.morningsun.org/gfwlist +ipset=/.m.oulove.org/gfwlist +ipset=/.movabletype.com/gfwlist +ipset=/.moviefap.com/gfwlist +ipset=/.mp3ye.eu/gfwlist +ipset=/.mpettis.com/gfwlist +ipset=/.mpfinance.com/gfwlist +ipset=/.mpinews.com/gfwlist +ipset=/.m.plixi.com/gfwlist +ipset=/.mrdoob.com/gfwlist +ipset=/.mrtweet.com/gfwlist +ipset=/.msguancha.com/gfwlist +ipset=/.m.slandr.net/gfwlist +ipset=/.mthruf.com/gfwlist +ipset=/.m.tweete.net/gfwlist +ipset=/.mtw.tl/gfwlist +ipset=/.multiply.com/gfwlist +ipset=/.multiproxy.org/gfwlist +ipset=/.multiupload.com/gfwlist +ipset=/.muouju.com/gfwlist +ipset=/.muselinks.co.jp/gfwlist +ipset=/.music.jwmusic.org/gfwlist +ipset=/.muzi.com/gfwlist +ipset=/.muzi.net/gfwlist +ipset=/.muzu.tv/gfwlist +ipset=/.mvdis.gov.tw/gfwlist +ipset=/.mx981.com/gfwlist +ipset=/.myactimes.com/gfwlist +ipset=/.my-addr.com/gfwlist +ipset=/.myaudiocast.com/gfwlist +ipset=/.myav.com.tw/gfwlist +ipset=/.my.backchina.com/gfwlist +ipset=/.myboooks.googlepages.com/gfwlist +ipset=/.mychinamyhome.com/gfwlist +ipset=/.myeclipseide.com/gfwlist +ipset=/.myforum.com.hk/gfwlist +ipset=/.myforum.com.uk/gfwlist +ipset=/.myfreshnet.com/gfwlist +ipset=/.my.keso.cn/gfwlist +ipset=/.myopenid.com/gfwlist +ipset=/.my.opera.com/gfwlist +ipset=/.mypaper.pchome.com.tw/gfwlist +ipset=/.myparagliding.com/gfwlist +ipset=/.mypopescu.com/gfwlist +ipset=/.my-proxy.com/gfwlist +ipset=/.myshare.url.com.tw/gfwlist +ipset=/.mysinablog.com/gfwlist +ipset=/.myspace.com/gfwlist +ipset=/.myvlog.im.tv/gfwlist +ipset=/.naacoalition.org/gfwlist +ipset=/.naitik.net/gfwlist +ipset=/.nakido.com/gfwlist +ipset=/.namsisi.com/gfwlist +ipset=/.nanyang.com/gfwlist +ipset=/.nanyangpost.com/gfwlist +ipset=/.nanzao.com/gfwlist +ipset=/.naol.ca/gfwlist +ipset=/.national-lottery.co.uk/gfwlist +ipset=/.navicat.com/gfwlist +ipset=/.navigeaters.com/gfwlist +ipset=/.navy.mil/gfwlist +ipset=/.nccwatch.org.tw/gfwlist +ipset=/.ncdr.nat.gov.tw/gfwlist +ipset=/.nch.com.tw/gfwlist +ipset=/.ncn.org/gfwlist +ipset=/.ncree.gov.tw/gfwlist +ipset=/.nde.de/gfwlist +ipset=/.ndr.de/gfwlist +ipset=/.nekoslovakia.net/gfwlist +ipset=/.nerch.gov.tw/gfwlist +ipset=/.ner.gov.tw/gfwlist +ipset=/.nerhl.gov.tw/gfwlist +ipset=/.nertt.gov.tw/gfwlist +ipset=/.netcolony.com/gfwlist +ipset=/.netflix.com/gfwlist +ipset=/.netme.cc/gfwlist +ipset=/.networkedblogs.com/gfwlist +ipset=/.neverforget8964.org/gfwlist +ipset=/.new-3lunch.net/gfwlist +ipset=/.new-akiba.com/gfwlist +ipset=/.newcenturymc.com/gfwlist +ipset=/.newcenturynews.com/gfwlist +ipset=/.newchen.com/gfwlist +ipset=/.newgrounds.com/gfwlist +ipset=/.newlandmagazine.com.au/gfwlist +ipset=/.news100.com.tw/gfwlist +ipset=/.newsancai.com/gfwlist +ipset=/.news.atebits.com/gfwlist +ipset=/.news.backchina.com/gfwlist +ipset=/.news.bbc.co.uk/gfwlist +ipset=/.newscn.org/gfwlist +ipset=/.news.cnyes.com/gfwlist +ipset=/.newsforums.bbc.co.uk/gfwlist +ipset=/.news.ghostery.com/gfwlist +ipset=/.news.google.com.hk/gfwlist +ipset=/.newsminer.com/gfwlist +ipset=/.news.msn.com.tw/gfwlist +ipset=/.news.omy.sg/gfwlist +ipset=/.news.pchome.com.tw/gfwlist +ipset=/.newspeak.cc/gfwlist +ipset=/.newspp.org/gfwlist +ipset=/.news.sina.com.hk/gfwlist +ipset=/.news.sina.com.tw/gfwlist +ipset=/.news.singtao.ca/gfwlist +ipset=/.newstapa.org/gfwlist +ipset=/.newtaiwan.com.tw/gfwlist +ipset=/.newtalk.tw/gfwlist +ipset=/.newyorktimes.com/gfwlist +ipset=/.nexton-net.jp/gfwlist +ipset=/.nexttv.com.tw/gfwlist +ipset=/.nf.id.au/gfwlist +ipset=/.nga.mil/gfwlist +ipset=/.ngensis.com/gfwlist +ipset=/.nhri.gov.tw/gfwlist +ipset=/.nic.cz.cc/gfwlist +ipset=/.nici.nat.gov.tw/gfwlist +ipset=/.nicovideo.tw/gfwlist +ipset=/.nict.gov.tw/gfwlist +ipset=/.nighost.org/gfwlist +ipset=/.nintendium.com/gfwlist +ipset=/.nintendowifi.net/gfwlist +ipset=/.njactb.org/gfwlist +ipset=/.njuice.com/gfwlist +ipset=/.nlfreevpn.com/gfwlist +ipset=/.nmh.gov.tw/gfwlist +ipset=/.nmmba.gov.tw/gfwlist +ipset=/.nmp.gov.tw/gfwlist +ipset=/.nmtl.gov.tw/gfwlist +ipset=/.nmvttc.gov.tw/gfwlist +ipset=/.nobelprize.org/gfwlist +ipset=/.nobel.se/gfwlist +ipset=/.nobodycanstop.us/gfwlist +ipset=/.nokogiri.org/gfwlist +ipset=/.nokola.com/gfwlist +ipset=/.noobbox.com/gfwlist +ipset=/.notes.alexdong.com/gfwlist +ipset=/.novelasia.com/gfwlist +ipset=/.nownews.com/gfwlist +ipset=/.nowtorrents.com/gfwlist +ipset=/.noypf.com/gfwlist +ipset=/.npa.go.jp/gfwlist +ipset=/.npm.gov.tw/gfwlist +ipset=/.nps.gov/gfwlist +ipset=/.nrk.no/gfwlist +ipset=/.nsc.gov.tw/gfwlist +ipset=/.nspo.gov.tw/gfwlist +ipset=/.nstm.gov.tw/gfwlist +ipset=/.ntdmh.gov.tw/gfwlist +ipset=/.ntdtv.ca/gfwlist +ipset=/.ntdtv.co/gfwlist +ipset=/.ntdtv.com/gfwlist +ipset=/.ntdtv.org/gfwlist +ipset=/.ntdtv.ru/gfwlist +ipset=/.ntl.gov.tw/gfwlist +ipset=/.ntsec.gov.tw/gfwlist +ipset=/.ntuh.gov.tw/gfwlist +ipset=/.nuexpo.com/gfwlist +ipset=/.nurgo-software.com/gfwlist +ipset=/.nuvid.com/gfwlist +ipset=/.nuzcom.com/gfwlist +ipset=/.nvquan.org/gfwlist +ipset=/.nvri.gov.tw/gfwlist +ipset=/.nydus.ca/gfwlist +ipset=/.nysingtao.com/gfwlist +ipset=/.nytco.com/gfwlist +ipset=/.nyt.com/gfwlist +ipset=/.nytimes.com/gfwlist +ipset=/.nytimg.com/gfwlist +ipset=/.nzchinese.net.nz/gfwlist +ipset=/.observechina.net/gfwlist +ipset=/.oclp.hk/gfwlist +ipset=/.october-review.org/gfwlist +ipset=/.offbeatchina.com/gfwlist +ipset=/.ogaoga.org/gfwlist +ipset=/.oikos.com.tw/gfwlist +ipset=/.oiktv.com/gfwlist +ipset=/.oizoblog.com/gfwlist +ipset=/.okayfreedom.com/gfwlist +ipset=/.old-cat.net/gfwlist +ipset=/.old.nabble.com/gfwlist +ipset=/.olumpo.com/gfwlist +ipset=/.olympicwatch.org/gfwlist +ipset=/.omgili.com/gfwlist +ipset=/.omnitalk.com/gfwlist +ipset=/.on.cc/gfwlist +ipset=/.one.xthost.info/gfwlist +ipset=/.onlylady.cn/gfwlist +ipset=/.onmoon.com/gfwlist +ipset=/.onmoon.net/gfwlist +ipset=/.oopsforum.com/gfwlist +ipset=/.ooyala.com/gfwlist +ipset=/.open.com.hk/gfwlist +ipset=/.opendemocracy.net/gfwlist +ipset=/.openid.net/gfwlist +ipset=/.openleaks.org/gfwlist +ipset=/.openvpn.net/gfwlist +ipset=/.openvpn.org/gfwlist +ipset=/.openwebster.com/gfwlist +ipset=/.opml.radiotime.com/gfwlist +ipset=/.opnir.com/gfwlist +ipset=/.orientaldaily.com.my/gfwlist +ipset=/.orient-doll.com/gfwlist +ipset=/.orn.jp/gfwlist +ipset=/.orzistic.org/gfwlist +ipset=/.osfoora.com/gfwlist +ipset=/.ourdearamy.com/gfwlist +ipset=/.oursogo.com/gfwlist +ipset=/.oursteps.com.au/gfwlist +ipset=/.overlapr.com/gfwlist +ipset=/.owl.li/gfwlist +ipset=/.ow.ly/gfwlist +ipset=/.oyax.com/gfwlist +ipset=/.ozchinese.com/gfwlist +ipset=/.ozyoyo.com/gfwlist +ipset=/.pabp.gov.tw/gfwlist +ipset=/.pacificpoker.com/gfwlist +ipset=/.packages.debian.org/gfwlist +ipset=/.packetix.net/gfwlist +ipset=/.page2rss.com/gfwlist +ipset=/.page.bid.yahoo.com/gfwlist +ipset=/.pagodabox.com/gfwlist +ipset=/.paint.net/gfwlist +ipset=/.palacemoon.com/gfwlist +ipset=/.pandora.com/gfwlist +ipset=/.pandora.tv/gfwlist +ipset=/.panluan.net/gfwlist +ipset=/.panoramio.com/gfwlist +ipset=/.pao-pao.net/gfwlist +ipset=/.paperb.us/gfwlist +ipset=/.paper.li/gfwlist +ipset=/.paper-replika.com/gfwlist +ipset=/.parade.com/gfwlist +ipset=/.parislemon.com/gfwlist +ipset=/.pastebin.com/gfwlist +ipset=/.pastie.org/gfwlist +ipset=/.patehr.gov.tw/gfwlist +ipset=/.pbs.org/gfwlist +ipset=/.pbwiki.com/gfwlist +ipset=/.pbworks.com/gfwlist +ipset=/.pbxes.com/gfwlist +ipset=/.pbxes.org/gfwlist +ipset=/.pcdiscuss.com/gfwlist +ipset=/.pcdvd.com.tw/gfwlist +ipset=/.pchome.com.tw/gfwlist +ipset=/.pct.org.tw/gfwlist +ipset=/.pcworld.com/gfwlist +ipset=/.pdetails.com/gfwlist +ipset=/.pdproxy.com/gfwlist +ipset=/.peacefire.org/gfwlist +ipset=/.peacehall.com/gfwlist +ipset=/.peeasian.com/gfwlist +ipset=/.peerpong.com/gfwlist +ipset=/.pekingduck.org/gfwlist +ipset=/.penchinese.com/gfwlist +ipset=/.penchinese.net/gfwlist +ipset=/.pengyulong.com/gfwlist +ipset=/.penthouse.com/gfwlist +ipset=/.peopo.org/gfwlist +ipset=/.percy.in/gfwlist +ipset=/.perfectgirls.net/gfwlist +ipset=/.perfectvpn.net/gfwlist +ipset=/.perfspot.com/gfwlist +ipset=/.perlhowto.com/gfwlist +ipset=/.pet.gov.tw/gfwlist +ipset=/.philly.com/gfwlist +ipset=/.photofocus.com/gfwlist +ipset=/.photos.dailyme.com/gfwlist +ipset=/.photo.utom.us/gfwlist +ipset=/.phuquocservices.com/gfwlist +ipset=/.picasaweb.google.com/gfwlist +ipset=/.picidae.net/gfwlist +ipset=/.picturesocial.com/gfwlist +ipset=/.pictures.playboy.com/gfwlist +ipset=/.pidown.com/gfwlist +ipset=/.pign.net/gfwlist +ipset=/.pimg.tw/gfwlist +ipset=/.pin6.com/gfwlist +ipset=/.ping.fm/gfwlist +ipset=/.pinoy-n.com/gfwlist +ipset=/.pioneer-worker.forums-free.com/gfwlist +ipset=/.piring.com/gfwlist +ipset=/.pixanalytics.com/gfwlist +ipset=/.pixelqi.com/gfwlist +ipset=/.pixfs.net/gfwlist +ipset=/.pixnet.cc/gfwlist +ipset=/.pixnet.net/gfwlist +ipset=/.pixplug.in/gfwlist +ipset=/.pk.com/gfwlist +ipset=/.placemix.com/gfwlist +ipset=/.planetsuzy.org/gfwlist +ipset=/.playboy.com/gfwlist +ipset=/.plays.com.tw/gfwlist +ipset=/.plm.org.hk/gfwlist +ipset=/.plunder.com/gfwlist +ipset=/.plurk.com/gfwlist +ipset=/.plurktop.mmdays.com/gfwlist +ipset=/.plus28.com/gfwlist +ipset=/.plusbb.com/gfwlist +ipset=/.pmates.com/gfwlist +ipset=/.po2b.com/gfwlist +ipset=/.podictionary.com/gfwlist +ipset=/.pokerstars.com/gfwlist +ipset=/.politicalchina.org/gfwlist +ipset=/.popvote.hk/gfwlist +ipset=/.popyard.com/gfwlist +ipset=/.popyard.org/gfwlist +ipset=/.porn2.com/gfwlist +ipset=/.pornbase.org/gfwlist +ipset=/.porn.com/gfwlist +ipset=/.pornhub.com/gfwlist +ipset=/.pornmm.net/gfwlist +ipset=/.pornoxo.com/gfwlist +ipset=/.pornrapidshare.com/gfwlist +ipset=/.pornstarclub.com/gfwlist +ipset=/.porntube.com/gfwlist +ipset=/.pornvisit.com/gfwlist +ipset=/.portis21.spaces.live.com/gfwlist +ipset=/.pose.com/gfwlist +ipset=/.postadult.com/gfwlist +ipset=/.post.anyu.org/gfwlist +ipset=/.posterous.com/gfwlist +ipset=/.post.ly/gfwlist +ipset=/.powerapple.com/gfwlist +ipset=/.power.com/gfwlist +ipset=/.powercx.com/gfwlist +ipset=/.prayforchina.net/gfwlist +ipset=/.premeforwindows7.com/gfwlist +ipset=/.presentationzen.com/gfwlist +ipset=/.president.gov.tw/gfwlist +ipset=/.prestige-av.com/gfwlist +ipset=/.previewshots.com/gfwlist +ipset=/.privacybox.de/gfwlist +ipset=/.privateinternetaccess.com/gfwlist +ipset=/.privatepaste.com/gfwlist +ipset=/.privatetunnel.com/gfwlist +ipset=/.procopytips.com/gfwlist +ipset=/.program-think.spaces.live.com/gfwlist +ipset=/.prosiben.de/gfwlist +ipset=/.provideocoalition.com/gfwlist +ipset=/.proxifier.com/gfwlist +ipset=/.proxomitron.info/gfwlist +ipset=/.proxy.org/gfwlist +ipset=/.proxypy.net/gfwlist +ipset=/.proxyroad.com/gfwlist +ipset=/.prozz.net/gfwlist +ipset=/.psblog.name/gfwlist +ipset=/.psiphon.ca/gfwlist +ipset=/.psiphon.civisec.org/gfwlist +ipset=/.pts.org.tw/gfwlist +ipset=/.ptt.cc/gfwlist +ipset=/.pubu.com.tw/gfwlist +ipset=/.puffinbrowser.com/gfwlist +ipset=/.puffstore.com/gfwlist +ipset=/.pullfolio.com/gfwlist +ipset=/.pulse.yahoo.com/gfwlist +ipset=/.pure18.com/gfwlist +ipset=/.pureconcepts.net/gfwlist +ipset=/.purepdf.com/gfwlist +ipset=/.purevpn.com/gfwlist +ipset=/.putlocker.com/gfwlist +ipset=/.puttycm.free.fr/gfwlist +ipset=/.pwned.com/gfwlist +ipset=/.python.com/gfwlist +ipset=/.python.com.tw/gfwlist +ipset=/.qanote.com/gfwlist +ipset=/.qidian.ca/gfwlist +ipset=/.qienkuen.org/gfwlist +ipset=/.qi-gong.me/gfwlist +ipset=/.qiwen.lu/gfwlist +ipset=/.qixianglu.cn/gfwlist +ipset=/.qkshare.com/gfwlist +ipset=/.qoos.com/gfwlist +ipset=/.qq.co.za/gfwlist +ipset=/.qstatus.com/gfwlist +ipset=/.qtrac.eu/gfwlist +ipset=/.qtweeter.com/gfwlist +ipset=/.quadedge.com/gfwlist +ipset=/.qusi8.net/gfwlist +ipset=/.qvodzy.org/gfwlist +ipset=/.qxbbs.org/gfwlist +ipset=/.radicalparty.org/gfwlist +ipset=/.radioaustralia.net.au/gfwlist +ipset=/.radiovaticana.org/gfwlist +ipset=/.radiovncr.com/gfwlist +ipset=/.raidcall.com.tw/gfwlist +ipset=/.rangzen.org/gfwlist +ipset=/.ranyunfei.com/gfwlist +ipset=/.rapbull.net/gfwlist +ipset=/.rapidshare8.com/gfwlist +ipset=/.rapidsharedata.com/gfwlist +ipset=/.rayfme.com/gfwlist +ipset=/.rcinet.ca/gfwlist +ipset=/.rconversation.blogs.com/gfwlist +ipset=/.rdio.com/gfwlist +ipset=/.read100.com/gfwlist +ipset=/.readingtimes.com.tw/gfwlist +ipset=/.readmoo.com/gfwlist +ipset=/.realraptalk.com/gfwlist +ipset=/.recordhistory.org/gfwlist +ipset=/.redchinacn.org/gfwlist +ipset=/.redtube.com/gfwlist +ipset=/.referer.us/gfwlist +ipset=/.reflectivecode.com/gfwlist +ipset=/.relaxbbs.com/gfwlist +ipset=/.renminbao.com/gfwlist +ipset=/.renyurenquan.org/gfwlist +ipset=/.retweeteffect.com/gfwlist +ipset=/.retweetist.com/gfwlist +ipset=/.retweetrank.com/gfwlist +ipset=/.revleft.com/gfwlist +ipset=/.revsci.net/gfwlist +ipset=/.revver.com/gfwlist +ipset=/.rfachina.com/gfwlist +ipset=/.rfamobile.org/gfwlist +ipset=/.rfa.org/gfwlist +ipset=/.rferl.org/gfwlist +ipset=/.rfi.fr/gfwlist +ipset=/.rhcloud.com/gfwlist +ipset=/.riku.me/gfwlist +ipset=/.rileyguide.com/gfwlist +ipset=/.rlwlw.com/gfwlist +ipset=/.rmjdw.com/gfwlist +ipset=/.rnw.nl/gfwlist +ipset=/.robtex.com/gfwlist +ipset=/.robustnessiskey.com/gfwlist +ipset=/.rocmp.org/gfwlist +ipset=/.rojo.com/gfwlist +ipset=/.ronjoneswriter.com/gfwlist +ipset=/.roodo.com/gfwlist +ipset=/.rotten.com/gfwlist +ipset=/.rsf-chinese.org/gfwlist +ipset=/.rsf.org/gfwlist +ipset=/.rssmeme.com/gfwlist +ipset=/.rthk.hk/gfwlist +ipset=/.rthk.org.hk/gfwlist +ipset=/.rti.org.tw/gfwlist +ipset=/.ruanyifeng.com/gfwlist +ipset=/.rushbee.com/gfwlist +ipset=/.rutube.ru/gfwlist +ipset=/.ruyiseek.com/gfwlist +ipset=/.rxhj.net/gfwlist +ipset=/.s1heng.com/gfwlist +ipset=/.s8forum.com/gfwlist +ipset=/.sacom.hk/gfwlist +ipset=/.sadpanda.us/gfwlist +ipset=/.saiq.me/gfwlist +ipset=/.salvation.org.hk/gfwlist +ipset=/.samair.ru/gfwlist +ipset=/.sammyjs.org/gfwlist +ipset=/.samsoff.es/gfwlist +ipset=/.sandnoble.com/gfwlist +ipset=/.sankaizok.com/gfwlist +ipset=/.sanmin.com.tw/gfwlist +ipset=/.sapikachu.net/gfwlist +ipset=/.savemedia.com/gfwlist +ipset=/.savetibet.de/gfwlist +ipset=/.savetibet.fr/gfwlist +ipset=/.savetibet.nl/gfwlist +ipset=/.savetibet.org/gfwlist +ipset=/.savetibet.ru/gfwlist +ipset=/.savevid.com/gfwlist +ipset=/.say2.info/gfwlist +ipset=/.scanscout.com/gfwlist +ipset=/.scmpchinese.com/gfwlist +ipset=/.scmp.com/gfwlist +ipset=/.scorecardresearch.com/gfwlist +ipset=/.scribd.com/gfwlist +ipset=/.scriptspot.com/gfwlist +ipset=/.seapuff.com/gfwlist +ipset=/.secretchina.com/gfwlist +ipset=/.secretgarden.no/gfwlist +ipset=/.secure.wikimedia.org/gfwlist +ipset=/.securitykiss.com/gfwlist +ipset=/.seesmic.com/gfwlist +ipset=/.seevpn.com/gfwlist +ipset=/.seezone.net/gfwlist +ipset=/.sejie.com/gfwlist +ipset=/.sendoid.com/gfwlist +ipset=/.sendspace.com/gfwlist +ipset=/.sesawe.net/gfwlist +ipset=/.sesawe.org/gfwlist +ipset=/.sethwklein.net/gfwlist +ipset=/.sevenload.com/gfwlist +ipset=/.sex-11.com/gfwlist +ipset=/.sex3.com/gfwlist +ipset=/.sex8.cc/gfwlist +ipset=/.sexandsubmission.com/gfwlist +ipset=/.sex.com/gfwlist +ipset=/.sexhuang.com/gfwlist +ipset=/.sexhu.com/gfwlist +ipset=/.sexinsex.net/gfwlist +ipset=/.sfileydy.com/gfwlist +ipset=/.shadow.ma/gfwlist +ipset=/.shadowsocks.org/gfwlist +ipset=/.shahamat-english.com/gfwlist +ipset=/.shangfang.org/gfwlist +ipset=/.shapeservices.com/gfwlist +ipset=/.sharebee.com/gfwlist +ipset=/.sharecool.org/gfwlist +ipset=/.share.ovi.com/gfwlist +ipset=/.share.skype.com/gfwlist +ipset=/.share.youthwant.com.tw/gfwlist +ipset=/.sharkdolphin.com/gfwlist +ipset=/.sharpdaily.com.hk/gfwlist +ipset=/.sharpdaily.hk/gfwlist +ipset=/.shaunthesheep.com/gfwlist +ipset=/.sheikyermami.com/gfwlist +ipset=/.shellmix.com/gfwlist +ipset=/.shenshou.org/gfwlist +ipset=/.shenyunperformingarts.org/gfwlist +ipset=/.shenzhoufilm.com/gfwlist +ipset=/.shifeike.blog125.fc2blog.net/gfwlist +ipset=/.shinychan.com/gfwlist +ipset=/.shitaotv.org/gfwlist +ipset=/.shixiao.org/gfwlist +ipset=/.shizhao.org/gfwlist +ipset=/.shkspr.mobi/gfwlist +ipset=/.shodanhq.com/gfwlist +ipset=/.shopping.com/gfwlist +ipset=/.showbiz.omy.sg/gfwlist +ipset=/.showtime.jp/gfwlist +ipset=/.shwchurch3.com/gfwlist +ipset=/.sidelinesnews.com/gfwlist +ipset=/.sidelinessportseatery.com/gfwlist +ipset=/.simplecd.me/gfwlist +ipset=/.simplecd.org/gfwlist +ipset=/.simpleproductivityblog.com/gfwlist +ipset=/.sina.com.tw/gfwlist +ipset=/.singtao.com/gfwlist +ipset=/.singularitys.spaces.live.com/gfwlist +ipset=/.sinoants.com/gfwlist +ipset=/.sinocast.com/gfwlist +ipset=/.sinocism.com/gfwlist +ipset=/.sino-monthly.com/gfwlist +ipset=/.sinomontreal.ca/gfwlist +ipset=/.sinonet.ca/gfwlist +ipset=/.sinopitt.info/gfwlist +ipset=/.sinoquebec.com/gfwlist +ipset=/.sis001.com/gfwlist +ipset=/.sis001.us/gfwlist +ipset=/.sis.xxx/gfwlist +ipset=/.site90.net/gfwlist +ipset=/.sitebro.tw/gfwlist +ipset=/.siteks.uk.to/gfwlist +ipset=/.site.locql.com/gfwlist +ipset=/.sitemaps.org/gfwlist +ipset=/.sites.google.com/gfwlist +ipset=/.sitetag.us/gfwlist +ipset=/.siyi123123123.spaces.live.com/gfwlist +ipset=/.skimtube.com/gfwlist +ipset=/.skybet.com/gfwlist +ipset=/.skyvegas.com/gfwlist +ipset=/.slacker.com/gfwlist +ipset=/.slavasoft.com/gfwlist +ipset=/.slheng.com/gfwlist +ipset=/.slickvpn.com/gfwlist +ipset=/.slideshare.net/gfwlist +ipset=/.slinkset.com/gfwlist +ipset=/.slutload.com/gfwlist +ipset=/.smhric.org/gfwlist +ipset=/.snapchat.com/gfwlist +ipset=/.snaptu.com/gfwlist +ipset=/.sndcdn.com/gfwlist +ipset=/.sneakme.net/gfwlist +ipset=/.snooper.co.uk/gfwlist +ipset=/.sobees.com/gfwlist +ipset=/.socialwhale.com/gfwlist +ipset=/.sockslist.net/gfwlist +ipset=/.so.com/gfwlist +ipset=/.sod.co.jp/gfwlist +ipset=/.softether.co.jp/gfwlist +ipset=/.softether-download.com/gfwlist +ipset=/.softether.org/gfwlist +ipset=/.softwarebychuck.com/gfwlist +ipset=/.so-ga.net/gfwlist +ipset=/.sogclub.com/gfwlist +ipset=/.sogou.com/gfwlist +ipset=/.sogrady.me/gfwlist +ipset=/.sohcradio.com/gfwlist +ipset=/.sohfrance.org/gfwlist +ipset=/.soh.tw/gfwlist +ipset=/.sokamonline.com/gfwlist +ipset=/.solozorro.tk/gfwlist +ipset=/.somee.com/gfwlist +ipset=/.so-news.com/gfwlist +ipset=/.songjianjun.com/gfwlist +ipset=/.sonidodelaesperanza.org/gfwlist +ipset=/.sopcast.com/gfwlist +ipset=/.sopcast.org/gfwlist +ipset=/.sorting-algorithms.com/gfwlist +ipset=/.soso.com/gfwlist +ipset=/.soumo.info/gfwlist +ipset=/.soundcloud.com/gfwlist +ipset=/.soundofhope.kr/gfwlist +ipset=/.soundofhope.org/gfwlist +ipset=/.soupofmedia.com/gfwlist +ipset=/.sourceforge.net/gfwlist +ipset=/.southnews.com.tw/gfwlist +ipset=/.sowers.org.hk/gfwlist +ipset=/.space-scape.com/gfwlist +ipset=/.spankwire.com/gfwlist +ipset=/.spb.com/gfwlist +ipset=/.speckleapp.com/gfwlist +ipset=/.speedpluss.org/gfwlist +ipset=/.spencertipping.com/gfwlist +ipset=/.spinejs.com/gfwlist +ipset=/.sports.williamhill.com/gfwlist +ipset=/.spotify.com/gfwlist +ipset=/.sproutcore.com/gfwlist +ipset=/.squarespace.com/gfwlist +ipset=/.srcf.ucam.org/gfwlist +ipset=/.ssh91.com/gfwlist +ipset=/.sshtunnel.googlecode.com/gfwlist +ipset=/.sstatic.net/gfwlist +ipset=/.stag.gov.tw/gfwlist +ipset=/.standupfortibet.org/gfwlist +ipset=/.starp2p.com/gfwlist +ipset=/.startpage.com/gfwlist +ipset=/.statcounter.com/gfwlist +ipset=/.state168.com/gfwlist +ipset=/.static.apple.nextmedia.com/gfwlist +ipset=/.static.digg.com/gfwlist +ipset=/.staticflickr.com/gfwlist +ipset=/.static.nownews.com/gfwlist +ipset=/.static.soup.io/gfwlist +ipset=/.static.typepad.com/gfwlist +ipset=/.status.twhirl.org/gfwlist +ipset=/.stdtime.gov.tw/gfwlist +ipset=/.steel-storm.com/gfwlist +ipset=/.sthoo.com/gfwlist +ipset=/.stickam.com/gfwlist +ipset=/.stickeraction.com/gfwlist +ipset=/.stonegames.net/gfwlist +ipset=/.stoneip.info/gfwlist +ipset=/.stoptibetcrisis.net/gfwlist +ipset=/.storagenewsletter.com/gfwlist +ipset=/.stoweboyd.com/gfwlist +ipset=/.streamingthe.net/gfwlist +ipset=/.strongvpn.com/gfwlist +ipset=/.student.tw/gfwlist +ipset=/.stuffimreading.com/gfwlist +ipset=/.stuffimreading.net/gfwlist +ipset=/.stupidvideos.com/gfwlist +ipset=/.subacme.rerouted.org/gfwlist +ipset=/.sublexical.spaces.live.com/gfwlist +ipset=/.sufeng.org/gfwlist +ipset=/.sugarsync.com/gfwlist +ipset=/.summify.com/gfwlist +ipset=/.sun1911.com/gfwlist +ipset=/.suoluo.org/gfwlist +ipset=/.surfeasy.com.au/gfwlist +ipset=/.svwind.com/gfwlist +ipset=/.sweux.com/gfwlist +ipset=/.swift-tools.net/gfwlist +ipset=/.s.xiaod.in/gfwlist +ipset=/.sydneytoday.com/gfwlist +ipset=/.sylfoundation.org/gfwlist +ipset=/.syncback.com/gfwlist +ipset=/.sysadmin1138.net/gfwlist +ipset=/.sysresccd.org/gfwlist +ipset=/.sytes.net/gfwlist +ipset=/.szbbs.net/gfwlist +ipset=/.szetowah.org.hk/gfwlist +ipset=/.t35.com/gfwlist +ipset=/.t66y.com/gfwlist +ipset=/.taa-usa.org/gfwlist +ipset=/.tabtter.jp/gfwlist +ipset=/.tacem.org/gfwlist +ipset=/.tafaward.com/gfwlist +ipset=/.tagwalk.com/gfwlist +ipset=/.taipei.gov.tw/gfwlist +ipset=/.taipeisociety.org/gfwlist +ipset=/.taitung-house.gov.tw/gfwlist +ipset=/.taiwandaily.net/gfwlist +ipset=/.taiwankiss.com/gfwlist +ipset=/.taiwannation.50webs.com/gfwlist +ipset=/.taiwannation.com/gfwlist +ipset=/.taiwannation.com.tw/gfwlist +ipset=/.taiwannews.com.tw/gfwlist +ipset=/.taiwan-sex.com/gfwlist +ipset=/.taiwantt.org.tw/gfwlist +ipset=/.taiwanus.net/gfwlist +ipset=/.taiwanyes.com/gfwlist +ipset=/.taiwanyes.ning.com/gfwlist +ipset=/.tamiaode.tk/gfwlist +ipset=/.tanc.org/gfwlist +ipset=/.tangben.com/gfwlist +ipset=/.taolun.info/gfwlist +ipset=/.taoyuan.gov.tw/gfwlist +ipset=/.tap11.com/gfwlist +ipset=/.target.com/gfwlist +ipset=/.taweet.com/gfwlist +ipset=/.tax.nat.gov.tw/gfwlist +ipset=/.tbpic.info/gfwlist +ipset=/.tbsec.org/gfwlist +ipset=/.tbsn.org/gfwlist +ipset=/.tbsseattle.org/gfwlist +ipset=/.tchb.gov.tw/gfwlist +ipset=/.tchrd.org/gfwlist +ipset=/.t.co/gfwlist +ipset=/.tcsac.gov.tw/gfwlist +ipset=/.teamseesmic.com/gfwlist +ipset=/.teashark.com/gfwlist +ipset=/.techlifeweb.com/gfwlist +ipset=/.techparaiso.com/gfwlist +ipset=/.telecomspace.com/gfwlist +ipset=/.telegraph.co.uk/gfwlist +ipset=/.tenacy.com/gfwlist +ipset=/.thbstc.gov.tw/gfwlist +ipset=/.theampfactory.com/gfwlist +ipset=/.theappleblog.com/gfwlist +ipset=/.theatrum-belli.com/gfwlist +ipset=/.thebcomplex.com/gfwlist +ipset=/.theblemish.com/gfwlist +ipset=/.thebodyshop-usa.com/gfwlist +ipset=/.thechinabeat.org/gfwlist +ipset=/.thedailywh.at/gfwlist +ipset=/.thedieline.com/gfwlist +ipset=/.thedw.us/gfwlist +ipset=/.thegatesnotes.com/gfwlist +ipset=/.thehots.info/gfwlist +ipset=/.thehousenews.com/gfwlist +ipset=/.thehungrydudes.com/gfwlist +ipset=/.thehun.net/gfwlist +ipset=/.theinternetwishlist.com/gfwlist +ipset=/.thelifeyoucansave.com/gfwlist +ipset=/.thelius.org/gfwlist +ipset=/.thepiratebay.org/gfwlist +ipset=/.thepiratebay.se/gfwlist +ipset=/.theqii.info/gfwlist +ipset=/.thereallove.kr/gfwlist +ipset=/.thesartorialist.com/gfwlist +ipset=/.thespeeder.com/gfwlist +ipset=/.the-sun.on.cc/gfwlist +ipset=/.thetibetpost.com/gfwlist +ipset=/.thetrotskymovie.com/gfwlist +ipset=/.thevivekspot.com/gfwlist +ipset=/.thewgo.org/gfwlist +ipset=/.thisav.com/gfwlist +ipset=/.thisiswhyyouarefat.com/gfwlist +ipset=/.thkphoto.com/gfwlist +ipset=/.thomasbernhard.org/gfwlist +ipset=/.threatchaos.com/gfwlist +ipset=/.throughnightsfire.com/gfwlist +ipset=/.t.huhaitai.com/gfwlist +ipset=/.thumbzilla.com/gfwlist +ipset=/.thywords.com/gfwlist +ipset=/.tiananmenmother.org/gfwlist +ipset=/.tiananmenuniv.com/gfwlist +ipset=/.tiananmenuniv.net/gfwlist +ipset=/.tiandixing.org/gfwlist +ipset=/.tianhuayuan.com/gfwlist +ipset=/.tiantibooks.org/gfwlist +ipset=/.tianzhu.org/gfwlist +ipset=/.tibetalk.com/gfwlist +ipset=/.tibetanyouthcongress.org/gfwlist +ipset=/.tibet.at/gfwlist +ipset=/.tibet.com/gfwlist +ipset=/.tibetcorps.org/gfwlist +ipset=/.tibetfund.org/gfwlist +ipset=/.tibetjustice.org/gfwlist +ipset=/.tibet.net/gfwlist +ipset=/.tibetoffice.org/gfwlist +ipset=/.tibetonline.com/gfwlist +ipset=/.tibetonline.tv/gfwlist +ipset=/.tibet.org.tw/gfwlist +ipset=/.tibetsun.com/gfwlist +ipset=/.tibetwrites.org/gfwlist +ipset=/.tidyread.com/gfwlist +ipset=/.time.com/gfwlist +ipset=/.times.hinet.net/gfwlist +ipset=/.tinychat.com/gfwlist +ipset=/.tinypaste.com/gfwlist +ipset=/.tinypng.com/gfwlist +ipset=/.tistory.com/gfwlist +ipset=/.tjholowaychuk.com/gfwlist +ipset=/.tkcs-collins.com/gfwlist +ipset=/.tkforum.tk/gfwlist +ipset=/.t.kun.im/gfwlist +ipset=/.tmagazine.com/gfwlist +ipset=/.tmi.me/gfwlist +ipset=/.tnaflix.com/gfwlist +ipset=/.tncsec.gov.tw/gfwlist +ipset=/.t.neolee.cn/gfwlist +ipset=/.togetter.com/gfwlist +ipset=/.tokyo-247.com/gfwlist +ipset=/.tokyocn.com/gfwlist +ipset=/.tokyo-hot.com/gfwlist +ipset=/.tomayko.com/gfwlist +ipset=/.tomsc.com/gfwlist +ipset=/.tono-oka.jp/gfwlist +ipset=/.tonyyan.net/gfwlist +ipset=/.toodoc.com/gfwlist +ipset=/.toonel.net/gfwlist +ipset=/.topic.youthwant.com.tw/gfwlist +ipset=/.topnews.in/gfwlist +ipset=/.topshare.us/gfwlist +ipset=/.topshareware.com/gfwlist +ipset=/.topstyle4.com/gfwlist +ipset=/.topsy.com/gfwlist +ipset=/.tora.to/gfwlist +ipset=/.tor.blingblingsquad.net/gfwlist +ipset=/.torproject.org/gfwlist +ipset=/.torrentcrazy.com/gfwlist +ipset=/.torrentproject.se/gfwlist +ipset=/.tor.updatestar.com/gfwlist +ipset=/.torvpn.com/gfwlist +ipset=/.t.orzdream.com/gfwlist +ipset=/.tosh.comedycentral.com/gfwlist +ipset=/.touch99.com/gfwlist +ipset=/.toutfr.com/gfwlist +ipset=/.tpde.aide.gov.tw/gfwlist +ipset=/.tphcc.gov.tw/gfwlist +ipset=/.tpi.org.tw/gfwlist +ipset=/.transgressionism.org/gfwlist +ipset=/.transparency.org/gfwlist +ipset=/.travelinlocal.com/gfwlist +ipset=/.trendsmap.com/gfwlist +ipset=/.trialofccp.org/gfwlist +ipset=/.tripod.com/gfwlist +ipset=/.trouw.nl/gfwlist +ipset=/.trtc.com.tw/gfwlist +ipset=/.trt.net.tr/gfwlist +ipset=/.trulyergonomic.com/gfwlist +ipset=/.trustedbi.com/gfwlist +ipset=/.truth101.co.tv/gfwlist +ipset=/.truthcn.com/gfwlist +ipset=/.truveo.com/gfwlist +ipset=/.tsctv.net/gfwlist +ipset=/.tsemtulku.com/gfwlist +ipset=/.tsquare.tv/gfwlist +ipset=/.tsunagarumon.com/gfwlist +ipset=/.tt1069.com/gfwlist +ipset=/.tttan.com/gfwlist +ipset=/.tuanzt.com/gfwlist +ipset=/.tube8.com/gfwlist +ipset=/.tubecao.com/gfwlist +ipset=/.tube.com/gfwlist +ipset=/.tubewolf.com/gfwlist +ipset=/.tuidang.net/gfwlist +ipset=/.tuidang.org/gfwlist +ipset=/.tui.orzdream.com/gfwlist +ipset=/.tuite.googlecode.com/gfwlist +ipset=/.tumblr.awflasher.com/gfwlist +ipset=/.tumblweed.org/gfwlist +ipset=/.tumutanzi.com/gfwlist +ipset=/.tunein.com/gfwlist +ipset=/.tunnelbear.com/gfwlist +ipset=/.turbobit.net/gfwlist +ipset=/.turbotwitter.com/gfwlist +ipset=/.turningtorso.com/gfwlist +ipset=/.turntable.fm/gfwlist +ipset=/.tuxtraining.com/gfwlist +ipset=/.tvants.com/gfwlist +ipset=/.tvboxnow.com/gfwlist +ipset=/.tv.com/gfwlist +ipset=/.tvider.com/gfwlist +ipset=/.tv-intros.com/gfwlist +ipset=/.tv.on.cc/gfwlist +ipset=/.tvunetworks.com/gfwlist +ipset=/.twapperkeeper.com/gfwlist +ipset=/.twa.sh/gfwlist +ipset=/.twaud.io/gfwlist +ipset=/.twbbs.net.tw/gfwlist +ipset=/.twbbs.org/gfwlist +ipset=/.twbbs.tw/gfwlist +ipset=/.twblogger.com/gfwlist +ipset=/.tweepguide.com/gfwlist +ipset=/.tweeplike.me/gfwlist +ipset=/.tweepmag.com/gfwlist +ipset=/.tweepml.org/gfwlist +ipset=/.tweetbackup.com/gfwlist +ipset=/.tweetboard.com/gfwlist +ipset=/.tweetboner.biz/gfwlist +ipset=/.tweetdeck.com/gfwlist +ipset=/.tweetedtimes.com/gfwlist +ipset=/.tweetmeme.com/gfwlist +ipset=/.tweetmylast.fm/gfwlist +ipset=/.tweetphoto.com/gfwlist +ipset=/.tweetrans.com/gfwlist +ipset=/.tweetree.com/gfwlist +ipset=/.tweetwally.com/gfwlist +ipset=/.tweetymail.com/gfwlist +ipset=/.twftp.org/gfwlist +ipset=/.twibase.com/gfwlist +ipset=/.twibble.de/gfwlist +ipset=/.twibbon.com/gfwlist +ipset=/.twibs.com/gfwlist +ipset=/.twicsy.com/gfwlist +ipset=/.twifan.com/gfwlist +ipset=/.twiffo.com/gfwlist +ipset=/.twiggit.org/gfwlist +ipset=/.twilog.org/gfwlist +ipset=/.twimbow.com/gfwlist +ipset=/.twimg.com/gfwlist +ipset=/.twimg.edgesuite.net/gfwlist +ipset=/.tw.img.nextmedia.com/gfwlist +ipset=/.twindexx.com/gfwlist +ipset=/.twipple.jp/gfwlist +ipset=/.twistar.cc/gfwlist +ipset=/.twisternow.com/gfwlist +ipset=/.twistory.net/gfwlist +ipset=/.twit2d.com/gfwlist +ipset=/.twitbrowser.net/gfwlist +ipset=/.twitcause.com/gfwlist +ipset=/.twitese.spaces.live.com/gfwlist +ipset=/.twitgether.com/gfwlist +ipset=/.twitgoo.com/gfwlist +ipset=/.twitiq.com/gfwlist +ipset=/.twitlonger.com/gfwlist +ipset=/.twitoaster.com/gfwlist +ipset=/.twitonmsn.com/gfwlist +ipset=/.twitpic.com/gfwlist +ipset=/.twitreferral.com/gfwlist +ipset=/.twitstat.com/gfwlist +ipset=/.twittbot.net/gfwlist +ipset=/.twitter4j.org/gfwlist +ipset=/.twitter.com/gfwlist +ipset=/.twittercounter.com/gfwlist +ipset=/.twitterfeed.com/gfwlist +ipset=/.twittergadget.com/gfwlist +ipset=/.twitter.jp/gfwlist +ipset=/.twitterkr.com/gfwlist +ipset=/.twittermail.com/gfwlist +ipset=/.twittertim.es/gfwlist +ipset=/.twitthat.com/gfwlist +ipset=/.twitturk.com/gfwlist +ipset=/.twitturly.com/gfwlist +ipset=/.twitvid.com/gfwlist +ipset=/.twitzap.com/gfwlist +ipset=/.twiyia.com/gfwlist +ipset=/.tw.jiepang.com/gfwlist +ipset=/.tw.myblog.yahoo.com/gfwlist +ipset=/.tw.news.yahoo.com/gfwlist +ipset=/.tw-npo.org/gfwlist +ipset=/.tw.rd.yahoo.com/gfwlist +ipset=/.twreg.info/gfwlist +ipset=/.twstar.net/gfwlist +ipset=/.tw.streetvoice.com/gfwlist +ipset=/.twt.fm/gfwlist +ipset=/.twtkr.com/gfwlist +ipset=/.twtr2src.ogaoga.org/gfwlist +ipset=/.twtrland.com/gfwlist +ipset=/.twt.tl/gfwlist +ipset=/.twttr.com/gfwlist +ipset=/.twurl.nl/gfwlist +ipset=/.tw.voa.mobi/gfwlist +ipset=/.twyac.org/gfwlist +ipset=/.tw.yahoo.com/gfwlist +ipset=/.tycool.com/gfwlist +ipset=/.tynsoe.org/gfwlist +ipset=/.typepad.com/gfwlist +ipset=/.tzangms.com/gfwlist +ipset=/.ub0.cc/gfwlist +ipset=/.uberproxy.net/gfwlist +ipset=/.ucdc1998.org/gfwlist +ipset=/.uderzo.it/gfwlist +ipset=/.udn.com/gfwlist +ipset=/.ufreevpn.com/gfwlist +ipset=/.ugo.com/gfwlist +ipset=/.uhrp.org/gfwlist +ipset=/.uighurbiz.net/gfwlist +ipset=/.ukliferadio.co.uk/gfwlist +ipset=/.ulike.net/gfwlist +ipset=/.ultravpn.fr/gfwlist +ipset=/.ultraxs.com/gfwlist +ipset=/.unblock.cn.com/gfwlist +ipset=/.unblocksit.es/gfwlist +ipset=/.uncyclomedia.org/gfwlist +ipset=/.uncyclopedia.info/gfwlist +ipset=/.uncyclopedia.tw/gfwlist +ipset=/.unholyknight.com/gfwlist +ipset=/.uni.cc/gfwlist +ipset=/.unicode.org/gfwlist +ipset=/.uniteddaily.com.my/gfwlist +ipset=/.unix100.com/gfwlist +ipset=/.unknownspace.org/gfwlist +ipset=/.unpo.org/gfwlist +ipset=/.uocn.org/gfwlist +ipset=/.upcoming.yahoo.com/gfwlist +ipset=/.update.playstation.net/gfwlist +ipset=/.upload4u.info/gfwlist +ipset=/.upload.backchina.com/gfwlist +ipset=/.uploaded.to/gfwlist +ipset=/.uploadstation.com/gfwlist +ipset=/.upload.wikimedia.org/gfwlist +ipset=/.urlborg.com/gfwlist +ipset=/.urlparser.com/gfwlist +ipset=/.usacn.com/gfwlist +ipset=/.usfk.mil/gfwlist +ipset=/.usinfo.state.gov/gfwlist +ipset=/.usmc.mil/gfwlist +ipset=/.us.to/gfwlist +ipset=/.ustream.tv/gfwlist +ipset=/.usus.cc/gfwlist +ipset=/.uushare.com/gfwlist +ipset=/.uwants.com/gfwlist +ipset=/.uwants.net/gfwlist +ipset=/.uyghurcongress.org/gfwlist +ipset=/.uygur.org/gfwlist +ipset=/.v70.us/gfwlist +ipset=/.vaayoo.com/gfwlist +ipset=/.value-domain.com/gfwlist +ipset=/.van698.com/gfwlist +ipset=/.vanemu.cn/gfwlist +ipset=/.vanilla-jp.com/gfwlist +ipset=/.vansky.com/gfwlist +ipset=/.vapurl.com/gfwlist +ipset=/.vatn.org/gfwlist +ipset=/.vcfbuilder.org/gfwlist +ipset=/.vcf-online.org/gfwlist +ipset=/.veempiire.com/gfwlist +ipset=/.velkaepocha.sk/gfwlist +ipset=/.venbbs.com/gfwlist +ipset=/.venchina.com/gfwlist +ipset=/.ventureswell.com/gfwlist +ipset=/.veoh.com/gfwlist +ipset=/.verizon.net/gfwlist +ipset=/.verybs.com/gfwlist +ipset=/.vevo.com/gfwlist +ipset=/.vft.com.tw/gfwlist +ipset=/.vghks.gov.tw/gfwlist +ipset=/.vghtc.gov.tw/gfwlist +ipset=/.vghtpe.gov.tw/gfwlist +ipset=/.video.aol.ca/gfwlist +ipset=/.video.aol.com/gfwlist +ipset=/.video.aol.co.uk/gfwlist +ipset=/.video.ap.org/gfwlist +ipset=/.videobam.com/gfwlist +ipset=/.video.fdbox.com/gfwlist +ipset=/.video.foxbusiness.com/gfwlist +ipset=/.videomo.com/gfwlist +ipset=/.video.tiscali.it/gfwlist +ipset=/.video.yahoo.com/gfwlist +ipset=/.vidoemo.com/gfwlist +ipset=/.views.fm/gfwlist +ipset=/.viki.com/gfwlist +ipset=/.vimeocdn.com/gfwlist +ipset=/.vimeo.com/gfwlist +ipset=/.vimgolf.com/gfwlist +ipset=/.vimperator.org/gfwlist +ipset=/.vincnd.com/gfwlist +ipset=/.vinniev.com/gfwlist +ipset=/.vllcs.org/gfwlist +ipset=/.vlog.xuite.net/gfwlist +ipset=/.vmixcore.com/gfwlist +ipset=/.voacantonese.com/gfwlist +ipset=/.voachineseblog.com/gfwlist +ipset=/.voachinese.com/gfwlist +ipset=/.voagd.com/gfwlist +ipset=/.voanews.com/gfwlist +ipset=/.voatibetan.com/gfwlist +ipset=/.vocn.tv/gfwlist +ipset=/.vot.org/gfwlist +ipset=/.vpnbook.com/gfwlist +ipset=/.vpnfire.com/gfwlist +ipset=/.vpngate.jp/gfwlist +ipset=/.vpngate.net/gfwlist +ipset=/.vpnpop.com/gfwlist +ipset=/.vpnpronet.com/gfwlist +ipset=/.v-state.org/gfwlist +ipset=/.vtunnel.com/gfwlist +ipset=/.w3schools.com/gfwlist +ipset=/.waffle1999.com/gfwlist +ipset=/.wahas.com/gfwlist +ipset=/.waigaobu.com/gfwlist +ipset=/.waikeung.org/gfwlist +ipset=/.waiwaier.com/gfwlist +ipset=/.wallornot.org/gfwlist +ipset=/.wallpapercasa.com/gfwlist +ipset=/.wanderinghorse.net/gfwlist +ipset=/.wanfang.gov.tw/gfwlist +ipset=/.wangafu.net/gfwlist +ipset=/.wangjinbo.org/gfwlist +ipset=/.wanglixiong.com/gfwlist +ipset=/.wangruoshui.net/gfwlist +ipset=/.wangyi64.spaces.live.com/gfwlist +ipset=/.want-daily.com/gfwlist +ipset=/.wapedia.mobi/gfwlist +ipset=/.washeng.net/gfwlist +ipset=/.watchmygf.net/gfwlist +ipset=/.wattpad.com/gfwlist +ipset=/.wdf5.com/gfwlist +ipset=/.wearn.com/gfwlist +ipset=/.web2project.net/gfwlist +ipset=/.webbang.net/gfwlist +ipset=/.webfee.tk/gfwlist +ipset=/.weblagu.com/gfwlist +ipset=/.webmproject.org/gfwlist +ipset=/.webshots.com/gfwlist +ipset=/.websitepulse.com/gfwlist +ipset=/.webs-tv.net/gfwlist +ipset=/.webworkerdaily.com/gfwlist +ipset=/.weeewooo.net/gfwlist +ipset=/.weekmag.info/gfwlist +ipset=/.wefong.com/gfwlist +ipset=/.weiboleak.com/gfwlist +ipset=/.weigegebyc.dreamhosters.com/gfwlist +ipset=/.weijingsheng.org/gfwlist +ipset=/.weiming.info/gfwlist +ipset=/.weiquanwang.org/gfwlist +ipset=/.weisuo.ws/gfwlist +ipset=/.wellplacedpixels.com/gfwlist +ipset=/.wengewang.com/gfwlist +ipset=/.wengewang.org/gfwlist +ipset=/.wenhui.ch/gfwlist +ipset=/.wenku.com/gfwlist +ipset=/.wenxuecity.com/gfwlist +ipset=/.wenyunchao.com/gfwlist +ipset=/.wenyunchao.spaces.live.com/gfwlist +ipset=/.wepn.info/gfwlist +ipset=/.westca.com/gfwlist +ipset=/.westernwolves.com/gfwlist +ipset=/.wetplace.com/gfwlist +ipset=/.wetpussygames.com/gfwlist +ipset=/.wexiaobo.org/gfwlist +ipset=/.wezhiyong.org/gfwlist +ipset=/.wezone.net/gfwlist +ipset=/.wforum.com/gfwlist +ipset=/.whatblocked.com/gfwlist +ipset=/.whereiswerner.com/gfwlist +ipset=/.whippedass.com/gfwlist +ipset=/.whitebear.freebearblog.org/gfwlist +ipset=/.whydidyoubuymethat.com/gfwlist +ipset=/.whylover.com/gfwlist +ipset=/.whyx.org/gfwlist +ipset=/.w.idaiwan.com/gfwlist +ipset=/.wiki.cnitter.com/gfwlist +ipset=/.wiki.jqueryui.com/gfwlist +ipset=/.wiki.keso.cn/gfwlist +ipset=/.wikileaks.ch/gfwlist +ipset=/.wikileaks.de/gfwlist +ipset=/.wikileaks.eu/gfwlist +ipset=/.wikileaks.lu/gfwlist +ipset=/.wikileaks.org/gfwlist +ipset=/.wikileaks.pl/gfwlist +ipset=/.wikilivres.info/gfwlist +ipset=/.wikimapia.org/gfwlist +ipset=/.wikimedia.org.mo/gfwlist +ipset=/.wiki.moegirl.org/gfwlist +ipset=/.wikinet.org/gfwlist +ipset=/.wiki.oauth.net/gfwlist +ipset=/.wikipedia.org/gfwlist +ipset=/.wiki.phonegap.com/gfwlist +ipset=/.wikiwiki.jp/gfwlist +ipset=/.wikkii.com/gfwlist +ipset=/.williamlong.spaces.live.com/gfwlist +ipset=/.willw.net/gfwlist +ipset=/.windowsphoneme.com/gfwlist +ipset=/.winwhispers.info/gfwlist +ipset=/.wiredbytes.com/gfwlist +ipset=/.wiredpen.com/gfwlist +ipset=/.wireshark.org/gfwlist +ipset=/.wisevid.com/gfwlist +ipset=/.witnessleeteaching.com/gfwlist +ipset=/.witopia.net/gfwlist +ipset=/.wlx.sowiki.net/gfwlist +ipset=/.woeser.com/gfwlist +ipset=/.wolfax.com/gfwlist +ipset=/.womenbusiness.nyc.gov.tw/gfwlist +ipset=/.womensrightsofchina.org/gfwlist +ipset=/.woopie.jp/gfwlist +ipset=/.woopie.tv/gfwlist +ipset=/.wordboner.com/gfwlist +ipset=/.wordpress.com/gfwlist +ipset=/.wordsandturds.com/gfwlist +ipset=/.w.org/gfwlist +ipset=/.workatruna.com/gfwlist +ipset=/.worldcat.org/gfwlist +ipset=/.worldjournal.com/gfwlist +ipset=/.worstthingieverate.com/gfwlist +ipset=/.wo.tc/gfwlist +ipset=/.wowlegacy.ml/gfwlist +ipset=/.wow-life.net/gfwlist +ipset=/.woxinghuiguo.com/gfwlist +ipset=/.wozy.in/gfwlist +ipset=/.wp.com/gfwlist +ipset=/.wpoforum.com/gfwlist +ipset=/.wqlhw.com/gfwlist +ipset=/.wqyd.org/gfwlist +ipset=/.wrchina.org/gfwlist +ipset=/.wretch.cc/gfwlist +ipset=/.writer.zoho.com/gfwlist +ipset=/.wsj.com/gfwlist +ipset=/.wsj.net/gfwlist +ipset=/.wtfpeople.com/gfwlist +ipset=/.wuala.com/gfwlist +ipset=/.wuerkaixi.com/gfwlist +ipset=/.wufi.org.tw/gfwlist +ipset=/.wuguoguang.com/gfwlist +ipset=/.wujieliulan.com/gfwlist +ipset=/.wujie.net/gfwlist +ipset=/.wukangrui.net/gfwlist +ipset=/.wwitv.com/gfwlist +ipset=/.www.6v6dota.com/gfwlist +ipset=/.www.ajsands.com/gfwlist +ipset=/.www.antd.org/gfwlist +ipset=/.www.aolnews.com/gfwlist +ipset=/.www.bulbous.freeserve.co.uk/gfwlist +ipset=/.www.cmoinc.org/gfwlist +ipset=/.www.dfanning.com/gfwlist +ipset=/.www.dwheeler.com/gfwlist +ipset=/.www.eulam.com/gfwlist +ipset=/.www.exblog.jp/gfwlist +ipset=/.www.forum4hk.com/gfwlist +ipset=/.www.freetibet.org/gfwlist +ipset=/.www.getyouram.com/gfwlist +ipset=/.www.goldenmelody.com.tw/gfwlist +ipset=/.www.idlcoyote.com/gfwlist +ipset=/.www.immigration.gov.tw/gfwlist +ipset=/.www.klip.me/gfwlist +ipset=/.www.kodingen.com/gfwlist +ipset=/.www.linksalpha.com/gfwlist +ipset=/.www.loiclemeur.com/gfwlist +ipset=/.www.macrovpn.com/gfwlist +ipset=/.www.monlamit.org/gfwlist +ipset=/.www.moztw.org/gfwlist +ipset=/.www.mycould.com/gfwlist +ipset=/.www.ned.org/gfwlist +ipset=/.www.nownews.com/gfwlist +ipset=/.www.orchidbbs.com/gfwlist +ipset=/.www.owind.com/gfwlist +ipset=/.www.oxid.it/gfwlist +ipset=/.www.parkansky.com/gfwlist +ipset=/.www.powerpointninja.com/gfwlist +ipset=/.www.rnw.nl/gfwlist +ipset=/.www.somee.com/gfwlist +ipset=/.www.stackfile.com/gfwlist +ipset=/.www.supertweet.net/gfwlist +ipset=/.www.tiffanyarment.com/gfwlist +ipset=/.www.tripod.com/gfwlist +ipset=/.www.tv.com/gfwlist +ipset=/.www.twtrland.com/gfwlist +ipset=/.www.typepad.com/gfwlist +ipset=/.www.urbanoutfitters.com/gfwlist +ipset=/.www.vegorpedersen.com/gfwlist +ipset=/.www.voy.com/gfwlist +ipset=/.www.vpncup.com/gfwlist +ipset=/.www.wangruowang.org/gfwlist +ipset=/.www.wan-press.org/gfwlist +ipset=/.www.wet123.com/gfwlist +ipset=/.www.zaurus.org.uk/gfwlist +ipset=/.wzyboy.im/gfwlist +ipset=/.x1949x.com/gfwlist +ipset=/.x365x.com/gfwlist +ipset=/.xanga.com/gfwlist +ipset=/.x-art.com/gfwlist +ipset=/.xa.yimg.com/gfwlist +ipset=/.xbabe.com/gfwlist +ipset=/.xbookcn.com/gfwlist +ipset=/.xcafe.in/gfwlist +ipset=/.xcritic.com/gfwlist +ipset=/.xfm.pp.ru/gfwlist +ipset=/.xgmyd.com/gfwlist +ipset=/.xh4n.cn/gfwlist +ipset=/.xhamster.com/gfwlist +ipset=/.xiaochuncnjp.com/gfwlist +ipset=/.xiaohexie.com/gfwlist +ipset=/.xiaoma.org/gfwlist +ipset=/.xiezhua.com/gfwlist +ipset=/.xing.com/gfwlist +ipset=/.xinhuanet.org/gfwlist +ipset=/.xinmiao.com.hk/gfwlist +ipset=/.xinqimeng.over-blog.com/gfwlist +ipset=/.xinsheng.net/gfwlist +ipset=/.xinshijue.com/gfwlist +ipset=/.xinyubbs.net/gfwlist +ipset=/.xizang-zhiye.org/gfwlist +ipset=/.xjp.cc/gfwlist +ipset=/.xml-training-guide.com/gfwlist +ipset=/.xmovies.com/gfwlist +ipset=/.xmusic.fm/gfwlist +ipset=/.xnxx.com/gfwlist +ipset=/.xpdo.net/gfwlist +ipset=/.xpud.org/gfwlist +ipset=/.xskywalker.com/gfwlist +ipset=/.xtube.com/gfwlist +ipset=/.xuchao.net/gfwlist +ipset=/.xuchao.org/gfwlist +ipset=/.xuzhiyong.net/gfwlist +ipset=/.xuzhuoer.com/gfwlist +ipset=/.xvedios.com/gfwlist +ipset=/.xvideos.com/gfwlist +ipset=/.x-wall.org/gfwlist +ipset=/.xxbbx.com/gfwlist +ipset=/.x.xcity.jp/gfwlist +ipset=/.xxxx.com.au/gfwlist +ipset=/.xysblogs.org/gfwlist +ipset=/.xys.dxiong.com/gfwlist +ipset=/.xys.org/gfwlist +ipset=/.xyy69.com/gfwlist +ipset=/.xyy69.info/gfwlist +ipset=/.yahoo.cn/gfwlist +ipset=/.yahoo.com.hk/gfwlist +ipset=/.yam.com/gfwlist +ipset=/.yanghengjun.spaces.live.com/gfwlist +ipset=/.yasni.co.uk/gfwlist +ipset=/.yasukuni.or.jp/gfwlist +ipset=/.yatsen.gov.tw/gfwlist +ipset=/.ydy.com/gfwlist +ipset=/.yeelou.com/gfwlist +ipset=/.yeeyi.com/gfwlist +ipset=/.yegle.net/gfwlist +ipset=/.yezimary.spaces.live.com/gfwlist +ipset=/.yfrog.com/gfwlist +ipset=/.yhcw.net/gfwlist +ipset=/.yidio.com/gfwlist +ipset=/.yilubbs.com/gfwlist +ipset=/.yi.org/gfwlist +ipset=/.yipub.com/gfwlist +ipset=/.ym.backchina.com/gfwlist +ipset=/.yogichen.org/gfwlist +ipset=/.yong.hu/gfwlist +ipset=/.yorkbbs.ca/gfwlist +ipset=/.youdao.com/gfwlist +ipset=/.youjizz.com/gfwlist +ipset=/.youmaker.com/gfwlist +ipset=/.youpai.org/gfwlist +ipset=/.youporn.com/gfwlist +ipset=/.your-freedom.net/gfwlist +ipset=/.yousendit.com/gfwlist +ipset=/.youthbao.com/gfwlist +ipset=/.youthnetradio.org/gfwlist +ipset=/.youtu.be/gfwlist +ipset=/.youtubecn.com/gfwlist +ipset=/.youtube.com/gfwlist +ipset=/.youtube-nocookie.com/gfwlist +ipset=/.youversion.com/gfwlist +ipset=/.youxu.info/gfwlist +ipset=/.ytht.net/gfwlist +ipset=/.ytimg.com/gfwlist +ipset=/.yuanming.net/gfwlist +ipset=/.yuming.flnet.org/gfwlist +ipset=/.yunchao.net/gfwlist +ipset=/.yvesgeleyn.com/gfwlist +ipset=/.yvtc.gov.tw/gfwlist +ipset=/.yx51.net/gfwlist +ipset=/.yyii.org/gfwlist +ipset=/.yymaya.com/gfwlist +ipset=/.yzzk.com/gfwlist +ipset=/.zacebook.com/gfwlist +ipset=/.zannel.com/gfwlist +ipset=/.zaobao.com/gfwlist +ipset=/.zaobao.com.sg/gfwlist +ipset=/.zaozon.com/gfwlist +ipset=/.zarias.com/gfwlist +ipset=/.zattoo.com/gfwlist +ipset=/.zdnet.com.tw/gfwlist +ipset=/.zengjinyan.org/gfwlist +ipset=/.zengjinyan.spaces.live.com/gfwlist +ipset=/.zeutch.com/gfwlist +ipset=/.zgzcjj.net/gfwlist +ipset=/.zhanbin.net/gfwlist +ipset=/.zhao.jinhai.de/gfwlist +ipset=/.zhenghui.org/gfwlist +ipset=/.zhenlibu.info/gfwlist +ipset=/.zhinengluyou.com/gfwlist +ipset=/.zhllg.spaces.live.com/gfwlist +ipset=/.zh.m.wikipedia.org/gfwlist +ipset=/.zh.netlog.com/gfwlist +ipset=/.zhonggtuotese.net/gfwlist +ipset=/.zhongguotese.net/gfwlist +ipset=/.zhongmeng.org/gfwlist +ipset=/.zhongsou.com/gfwlist +ipset=/.zh.pokerstrategy.com/gfwlist +ipset=/.zhreader.com/gfwlist +ipset=/.zh-tw.justin.tv/gfwlist +ipset=/.zhuichaguoji.org/gfwlist +ipset=/.zh.uncyclopedia.wikia.com/gfwlist +ipset=/.zh.wikinews.org/gfwlist +ipset=/.zh.wikipedia.org/gfwlist +ipset=/.zh.wikisource.org/gfwlist +ipset=/.ziddu.com/gfwlist +ipset=/.zillionk.com/gfwlist +ipset=/.zinio.com/gfwlist +ipset=/.ziplib.com/gfwlist +ipset=/.zkaip.com/gfwlist +ipset=/.zmw.cn/gfwlist +ipset=/.zomobo.net/gfwlist +ipset=/.zonaeuropa.com/gfwlist +ipset=/.zootool.com/gfwlist +ipset=/.zoozle.net/gfwlist +ipset=/.zozotown.com/gfwlist +ipset=/.zshare.net/gfwlist +ipset=/.zsrhao.com/gfwlist +ipset=/.zuo.la/gfwlist +ipset=/.zuola.com/gfwlist +ipset=/.zvereff.com/gfwlist +ipset=/.zyzc9.com/gfwlist +ipset=/.zyzg.us/gfwlist +server=/.h12.io/127.0.0.1#5335 +server=/.starlark.net/127.0.0.1#5335 +server=/.golang.org/127.0.0.1#5335 +server=/.honnef.co/127.0.0.1#5335 +server=/.0rz.tw/127.0.0.1#5335 +server=/.0to255.com/127.0.0.1#5335 +server=/.10musume.com/127.0.0.1#5335 +server=/.123rf.com/127.0.0.1#5335 +server=/.12bet.com/127.0.0.1#5335 +server=/.12vpn.com/127.0.0.1#5335 +server=/.141hongkong.com/127.0.0.1#5335 +server=/.173ng.com/127.0.0.1#5335 +server=/.1984bbs.com/127.0.0.1#5335 +server=/.1984bbs.org/127.0.0.1#5335 +server=/.1-apple.com.tw/127.0.0.1#5335 +server=/.1bao.org/127.0.0.1#5335 +server=/.1eew.com/127.0.0.1#5335 +server=/.1pondo.tv/127.0.0.1#5335 +server=/.2000fun.com/127.0.0.1#5335 +server=/.2008xianzhang.info/127.0.0.1#5335 +server=/.21andy.com/127.0.0.1#5335 +server=/.247realmedia.com/127.0.0.1#5335 +server=/.24smile.org/127.0.0.1#5335 +server=/.2-hand.info/127.0.0.1#5335 +server=/.2mdn.net/127.0.0.1#5335 +server=/.2shared.com/127.0.0.1#5335 +server=/.301works.org/127.0.0.1#5335 +server=/.315lz.com/127.0.0.1#5335 +server=/.32red.com/127.0.0.1#5335 +server=/.365singles.com.ar/127.0.0.1#5335 +server=/.36rain.com/127.0.0.1#5335 +server=/.4bluestones.biz/127.0.0.1#5335 +server=/.4chan.org/127.0.0.1#5335 +server=/.4pppc.gov.tw/127.0.0.1#5335 +server=/.4shared.com/127.0.0.1#5335 +server=/.4sq.com/127.0.0.1#5335 +server=/.51.ca/127.0.0.1#5335 +server=/.5i01.com/127.0.0.1#5335 +server=/.5maodang.com/127.0.0.1#5335 +server=/.64tianwang.com/127.0.0.1#5335 +server=/.64wiki.com/127.0.0.1#5335 +server=/.666kb.com/127.0.0.1#5335 +server=/.6park.com/127.0.0.1#5335 +server=/.7capture.com/127.0.0.1#5335 +server=/.881903.com/127.0.0.1#5335 +server=/.888.com/127.0.0.1#5335 +server=/.89-64.org/127.0.0.1#5335 +server=/.9001700.com/127.0.0.1#5335 +server=/.91porn.com/127.0.0.1#5335 +server=/.921.gov.tw/127.0.0.1#5335 +server=/.92ccav.com/127.0.0.1#5335 +server=/.9bis.com/127.0.0.1#5335 +server=/.9bis.net/127.0.0.1#5335 +server=/.9city.me/127.0.0.1#5335 +server=/.a5.com.ru/127.0.0.1#5335 +server=/.abc.pp.ru/127.0.0.1#5335 +server=/.abitno.linpie.com/127.0.0.1#5335 +server=/.ablwang.com/127.0.0.1#5335 +server=/.aboluowang.com/127.0.0.1#5335 +server=/.aboutgfw.com/127.0.0.1#5335 +server=/.acgkj.com/127.0.0.1#5335 +server=/.ac.jiruan.net/127.0.0.1#5335 +server=/.ac.playstation.net/127.0.0.1#5335 +server=/.actimes.com.au/127.0.0.1#5335 +server=/.aculo.us/127.0.0.1#5335 +server=/.ad1.nownews.com/127.0.0.1#5335 +server=/.addictedtocoffee.de/127.0.0.1#5335 +server=/.ads.backchina.com/127.0.0.1#5335 +server=/.adultfriendfinder.com/127.0.0.1#5335 +server=/.adultkeep.net/127.0.0.1#5335 +server=/.advanscene.com/127.0.0.1#5335 +server=/.advertfan.com/127.0.0.1#5335 +server=/.aec.gov.tw/127.0.0.1#5335 +server=/.aenhancers.com/127.0.0.1#5335 +server=/.af.mil/127.0.0.1#5335 +server=/.aftygh.gov.tw/127.0.0.1#5335 +server=/.aide.gov.tw/127.0.0.1#5335 +server=/.aiph.net/127.0.0.1#5335 +server=/.aisex.com/127.0.0.1#5335 +server=/.ait.org.tw/127.0.0.1#5335 +server=/.aiweiweiblog.com/127.0.0.1#5335 +server=/.aiweiwei.com/127.0.0.1#5335 +server=/.ajaxplorer.info/127.0.0.1#5335 +server=/.akamaihd.net/127.0.0.1#5335 +server=/.akiba-online.com/127.0.0.1#5335 +server=/.alabout.com/127.0.0.1#5335 +server=/.alasbarricadas.org/127.0.0.1#5335 +server=/.alexlur.org/127.0.0.1#5335 +server=/.aliengu.com/127.0.0.1#5335 +server=/.alkasir.com/127.0.0.1#5335 +server=/.allaboutalpha.com/127.0.0.1#5335 +server=/.allgirlsallowed.org/127.0.0.1#5335 +server=/.alliance.org.hk/127.0.0.1#5335 +server=/.allinfa.com/127.0.0.1#5335 +server=/.allinfo.com/127.0.0.1#5335 +server=/.allmovie.com/127.0.0.1#5335 +server=/.allonlinux.free.fr/127.0.0.1#5335 +server=/.all-that-is-interesting.com/127.0.0.1#5335 +server=/.al-qimmah.net/127.0.0.1#5335 +server=/.alternate-tools.com/127.0.0.1#5335 +server=/.altrec.com/127.0.0.1#5335 +server=/.alvinalexander.com/127.0.0.1#5335 +server=/.alwaysdata.com/127.0.0.1#5335 +server=/.alwaysdata.net/127.0.0.1#5335 +server=/.am730.com.hk/127.0.0.1#5335 +server=/.amazonaws.com/127.0.0.1#5335 +server=/.ameblo.jp/127.0.0.1#5335 +server=/.americangreencard.com/127.0.0.1#5335 +server=/.amiblockedornot.com/127.0.0.1#5335 +server=/.amnesty.org/127.0.0.1#5335 +server=/.amnestyusa.org/127.0.0.1#5335 +server=/.amoiist.com/127.0.0.1#5335 +server=/.amzs.me/127.0.0.1#5335 +server=/.analyze-v.com/127.0.0.1#5335 +server=/.anchorfree.com/127.0.0.1#5335 +server=/.andfaraway.net/127.0.0.1#5335 +server=/.android.com/127.0.0.1#5335 +server=/.angularjs.org/127.0.0.1#5335 +server=/.animecrazy.net/127.0.0.1#5335 +server=/.anobii.com/127.0.0.1#5335 +server=/.anontext.com/127.0.0.1#5335 +server=/.anonymizer.com/127.0.0.1#5335 +server=/.a-normal-day.com/127.0.0.1#5335 +server=/.answering-islam.org/127.0.0.1#5335 +server=/.anthonycalzadilla.com/127.0.0.1#5335 +server=/.anti.anti.cnn.googlepages.com/127.0.0.1#5335 +server=/.antidrm.hpg.ig.com.br/127.0.0.1#5335 +server=/.antiwave.net/127.0.0.1#5335 +server=/.aobo.com.au/127.0.0.1#5335 +server=/.aolchannels.aol.com/127.0.0.1#5335 +server=/.aomiwang.com/127.0.0.1#5335 +server=/.apetube.com/127.0.0.1#5335 +server=/.apiary.io/127.0.0.1#5335 +server=/.apidocs.linksalpha.com/127.0.0.1#5335 +server=/.apigee.com/127.0.0.1#5335 +server=/.api.linksalpha.com/127.0.0.1#5335 +server=/.api.proxlet.com/127.0.0.1#5335 +server=/.api.supertweet.net/127.0.0.1#5335 +server=/.app.heywire.com/127.0.0.1#5335 +server=/.app.hkatvnews.com/127.0.0.1#5335 +server=/.appledaily.com/127.0.0.1#5335 +server=/.appledaily.com.tw/127.0.0.1#5335 +server=/.apps.hloli.net/127.0.0.1#5335 +server=/.appspot.com/127.0.0.1#5335 +server=/.archive.is/127.0.0.1#5335 +server=/.archive.org/127.0.0.1#5335 +server=/.arctosia.com/127.0.0.1#5335 +server=/.areca-backup.org/127.0.0.1#5335 +server=/.army.mil/127.0.0.1#5335 +server=/.arte.gov.tw/127.0.0.1#5335 +server=/.art-or-porn.com/127.0.0.1#5335 +server=/.artsy.net/127.0.0.1#5335 +server=/.asahichinese.com/127.0.0.1#5335 +server=/.asdfg.jp/127.0.0.1#5335 +server=/.asiafriendfinder.com/127.0.0.1#5335 +server=/.asiaharvest.org/127.0.0.1#5335 +server=/.asianews.it/127.0.0.1#5335 +server=/.asianwomensfilm.de/127.0.0.1#5335 +server=/.askstudent.com/127.0.0.1#5335 +server=/.askynz.net/127.0.0.1#5335 +server=/.assembla.com/127.0.0.1#5335 +server=/.astonmartinnews.com/127.0.0.1#5335 +server=/.atchinese.com/127.0.0.1#5335 +server=/.atc.org.au/127.0.0.1#5335 +server=/.atgfw.org/127.0.0.1#5335 +server=/.atj.org.tw/127.0.0.1#5335 +server=/.atlaspost.com/127.0.0.1#5335 +server=/.atnext.com/127.0.0.1#5335 +server=/.autoproxy.org/127.0.0.1#5335 +server=/.avaaz.org/127.0.0.1#5335 +server=/.avdb.in/127.0.0.1#5335 +server=/.avidemux.org/127.0.0.1#5335 +server=/.avoision.com/127.0.0.1#5335 +server=/.awardwinningfjords.com/127.0.0.1#5335 +server=/.axureformac.com/127.0.0.1#5335 +server=/.babynet.com.hk/127.0.0.1#5335 +server=/.backchina.com/127.0.0.1#5335 +server=/.backpackers.com.tw/127.0.0.1#5335 +server=/.badassjs.com/127.0.0.1#5335 +server=/.badoo.com/127.0.0.1#5335 +server=/.baidu.jp/127.0.0.1#5335 +server=/.baixing.me/127.0.0.1#5335 +server=/.bannedbook.org/127.0.0.1#5335 +server=/.barnabu.co.uk/127.0.0.1#5335 +server=/.basetimesheightdividedby2.com/127.0.0.1#5335 +server=/.bayvoice.net/127.0.0.1#5335 +server=/.bbcchinese.com/127.0.0.1#5335 +server=/.bbc.com/127.0.0.1#5335 +server=/.bbc.co.uk/127.0.0.1#5335 +server=/.bbci.co.uk/127.0.0.1#5335 +server=/.bbcimg.co.uk/127.0.0.1#5335 +server=/.bbc.in/127.0.0.1#5335 +server=/.bbg.gov/127.0.0.1#5335 +server=/.bbs2.newsgroup.la/127.0.0.1#5335 +server=/.bbs.ecstart.com/127.0.0.1#5335 +server=/.bbsfeed.com/127.0.0.1#5335 +server=/.bbs.kimy.com.tw/127.0.0.1#5335 +server=/.bbsland.com/127.0.0.1#5335 +server=/.bbs.morbell.com/127.0.0.1#5335 +server=/.bbs.mychat.to/127.0.0.1#5335 +server=/.bbs.newsgroup.la/127.0.0.1#5335 +server=/.bbs.ozchinese.com/127.0.0.1#5335 +server=/.bbs.qmzdd.com/127.0.0.1#5335 +server=/.bbs.sina.com/127.0.0.1#5335 +server=/.bbs.skykiwi.com/127.0.0.1#5335 +server=/.bbs.tuitui.info/127.0.0.1#5335 +server=/.bb.ttv.com.tw/127.0.0.1#5335 +server=/.bcc.com.tw/127.0.0.1#5335 +server=/.bcchinese.net/127.0.0.1#5335 +server=/.bdhr.gov.tw/127.0.0.1#5335 +server=/.bd.zhe.la/127.0.0.1#5335 +server=/.bebo.com/127.0.0.1#5335 +server=/.beeg.com/127.0.0.1#5335 +server=/.beijing1989.com/127.0.0.1#5335 +server=/.beijingspring.com/127.0.0.1#5335 +server=/.benjaminste.in/127.0.0.1#5335 +server=/.berlintwitterwall.com/127.0.0.1#5335 +server=/.bestforchina.org/127.0.0.1#5335 +server=/.bestvpnservice.com/127.0.0.1#5335 +server=/.bet365.com/127.0.0.1#5335 +server=/.beta.iset.com.tw/127.0.0.1#5335 +server=/.beta.usejump.com/127.0.0.1#5335 +server=/.betfair.com/127.0.0.1#5335 +server=/.bettween.com/127.0.0.1#5335 +server=/.betvictor.com/127.0.0.1#5335 +server=/.bewww.net/127.0.0.1#5335 +server=/.beyondfirewall.com/127.0.0.1#5335 +server=/.bfnn.org/127.0.0.1#5335 +server=/.biantailajiao.com/127.0.0.1#5335 +server=/.biantailajiao.in/127.0.0.1#5335 +server=/.bigfools.com/127.0.0.1#5335 +server=/.bignews.org/127.0.0.1#5335 +server=/.bigsound.org/127.0.0.1#5335 +server=/.bill2-software.com/127.0.0.1#5335 +server=/.billywr.com/127.0.0.1#5335 +server=/.bill.zhong.pp.ru/127.0.0.1#5335 +server=/.bipic.net/127.0.0.1#5335 +server=/.bitcointalk.org/127.0.0.1#5335 +server=/.bit.ly/127.0.0.1#5335 +server=/.bitly.com/127.0.0.1#5335 +server=/.bitshare.com/127.0.0.1#5335 +server=/.bjzc.org/127.0.0.1#5335 +server=/.blinkx.com/127.0.0.1#5335 +server=/.blinw.com/127.0.0.1#5335 +server=/.blip.tv/127.0.0.1#5335 +server=/.blockcn.com/127.0.0.1#5335 +server=/.blog.birdhouseapp.com/127.0.0.1#5335 +server=/.blog.bitly.com/127.0.0.1#5335 +server=/.blogblog.com/127.0.0.1#5335 +server=/.blog.boxcar.io/127.0.0.1#5335 +server=/.blogcatalog.com/127.0.0.1#5335 +server=/.blog.davidziegler.net/127.0.0.1#5335 +server=/.blog.dayoneapp.com/127.0.0.1#5335 +server=/.blog.de/127.0.0.1#5335 +server=/.blog.dribbble.com/127.0.0.1#5335 +server=/.blog.exblog.co.jp/127.0.0.1#5335 +server=/.blog.expofutures.com/127.0.0.1#5335 +server=/.blog.fizzik.com/127.0.0.1#5335 +server=/.blog.foolsmountain.com/127.0.0.1#5335 +server=/.blogger.com/127.0.0.1#5335 +server=/.blog.gowalla.com/127.0.0.1#5335 +server=/.blog.hotpotato.com/127.0.0.1#5335 +server=/.blog.ifttt.com/127.0.0.1#5335 +server=/.blogimg.jp/127.0.0.1#5335 +server=/.blog.instagram.com/127.0.0.1#5335 +server=/.blog.instapaper.com/127.0.0.1#5335 +server=/.blog.iphone-dev.org/127.0.0.1#5335 +server=/.blog.istef.info/127.0.0.1#5335 +server=/.blog.jackjia.com/127.0.0.1#5335 +server=/.blog.joeyrobert.org/127.0.0.1#5335 +server=/.blog.kangye.org/127.0.0.1#5335 +server=/.blog.kickstarter.com/127.0.0.1#5335 +server=/.blog.kl.am/127.0.0.1#5335 +server=/.blog.klip.me/127.0.0.1#5335 +server=/.blog.lester850.info/127.0.0.1#5335 +server=/.blog.lightbox.com/127.0.0.1#5335 +server=/.bloglines.com/127.0.0.1#5335 +server=/.bloglovin.com/127.0.0.1#5335 +server=/.blog.mongodb.org/127.0.0.1#5335 +server=/.blog.openinkpot.org/127.0.0.1#5335 +server=/.blog.palm.com/127.0.0.1#5335 +server=/.blog.path.com/127.0.0.1#5335 +server=/.blog.pathtosharepoint.com/127.0.0.1#5335 +server=/.blog.pchome.com.tw/127.0.0.1#5335 +server=/.blog.pentalogic.net/127.0.0.1#5335 +server=/.blog.pikchur.com/127.0.0.1#5335 +server=/.blog.pilotmoon.com/127.0.0.1#5335 +server=/.blog.redren.com/127.0.0.1#5335 +server=/.blog.rockmelt.com/127.0.0.1#5335 +server=/.blog.romanandreg.com/127.0.0.1#5335 +server=/.blog.s135.com/127.0.0.1#5335 +server=/.blogs.icerocket.com/127.0.0.1#5335 +server=/.blog.sina.com.tw/127.0.0.1#5335 +server=/.blog.sogoo.org/127.0.0.1#5335 +server=/.blog.sparrowmailapp.com/127.0.0.1#5335 +server=/.blogspot.com/127.0.0.1#5335 +server=/.blogspot.co.uk/127.0.0.1#5335 +server=/.blogspot.de/127.0.0.1#5335 +server=/.blogspot.fr/127.0.0.1#5335 +server=/.blogspot.in/127.0.0.1#5335 +server=/.blogspot.jp/127.0.0.1#5335 +server=/.blogs.tampabay.com/127.0.0.1#5335 +server=/.blog.summify.com/127.0.0.1#5335 +server=/.blogs.yahoo.co.jp/127.0.0.1#5335 +server=/.blog.syx86.cn/127.0.0.1#5335 +server=/.blog.syx86.com/127.0.0.1#5335 +server=/.blog.taragana.com/127.0.0.1#5335 +server=/.blogtd.net/127.0.0.1#5335 +server=/.blogtd.org/127.0.0.1#5335 +server=/.blog.tiney.com/127.0.0.1#5335 +server=/.blog.topify.com/127.0.0.1#5335 +server=/.blog.usa.gov/127.0.0.1#5335 +server=/.blog.xuite.net/127.0.0.1#5335 +server=/.blog.youthwant.com.tw/127.0.0.1#5335 +server=/.blog.youxu.info/127.0.0.1#5335 +server=/.bloodshed.net/127.0.0.1#5335 +server=/.bloomberg.cn/127.0.0.1#5335 +server=/.bloomberg.com/127.0.0.1#5335 +server=/.bloomberg.de/127.0.0.1#5335 +server=/.bloomfortune.com/127.0.0.1#5335 +server=/.bmediaasia.com/127.0.0.1#5335 +server=/.bnrmetal.com/127.0.0.1#5335 +server=/.boardreader.com/127.0.0.1#5335 +server=/.bobulate.com/127.0.0.1#5335 +server=/.bolin.netfirms.com/127.0.0.1#5335 +server=/.bonbonme.com/127.0.0.1#5335 +server=/.bonjourlesgeeks.com/127.0.0.1#5335 +server=/.boobstagram.com/127.0.0.1#5335 +server=/.books.com.tw/127.0.0.1#5335 +server=/.bookshelfporn.com/127.0.0.1#5335 +server=/.botanwang.com/127.0.0.1#5335 +server=/.bot.nu/127.0.0.1#5335 +server=/.bowenpress.com/127.0.0.1#5335 +server=/.boxunblog.com/127.0.0.1#5335 +server=/.boxunclub.com/127.0.0.1#5335 +server=/.boxun.com/127.0.0.1#5335 +server=/.boxun.tv/127.0.0.1#5335 +server=/.bralio.com/127.0.0.1#5335 +server=/.branch.com/127.0.0.1#5335 +server=/.brandonhutchinson.com/127.0.0.1#5335 +server=/.braumeister.org/127.0.0.1#5335 +server=/.break.com/127.0.0.1#5335 +server=/.breakingtweets.com/127.0.0.1#5335 +server=/.briefdream.com/127.0.0.1#5335 +server=/.brightcove.com/127.0.0.1#5335 +server=/.brightkite.com/127.0.0.1#5335 +server=/.brizzly.com/127.0.0.1#5335 +server=/.broadbook.com/127.0.0.1#5335 +server=/.br.st/127.0.0.1#5335 +server=/.brucewang.net/127.0.0.1#5335 +server=/.bt95.com/127.0.0.1#5335 +server=/.btdigg.org/127.0.0.1#5335 +server=/.btrd.net/127.0.0.1#5335 +server=/.budaedu.org/127.0.0.1#5335 +server=/.bugclub.org/127.0.0.1#5335 +server=/.builtwithbootstrap.com/127.0.0.1#5335 +server=/.bullogger.com/127.0.0.1#5335 +server=/.bullog.org/127.0.0.1#5335 +server=/.businesstimes.com.cn/127.0.0.1#5335 +server=/.businessweek.com/127.0.0.1#5335 +server=/.buugaa.com/127.0.0.1#5335 +server=/.buy.yahoo.com.tw/127.0.0.1#5335 +server=/.buzzurl.jp/127.0.0.1#5335 +server=/.bwbx.io/127.0.0.1#5335 +server=/.bwsj.hk/127.0.0.1#5335 +server=/.bx.tl/127.0.0.1#5335 +server=/.c1522.mooo.com/127.0.0.1#5335 +server=/.cacnw.com/127.0.0.1#5335 +server=/.cactusvpn.com/127.0.0.1#5335 +server=/.cafepress.com/127.0.0.1#5335 +server=/.cahr.org.tw/127.0.0.1#5335 +server=/.calameo.com/127.0.0.1#5335 +server=/.calebelston.com/127.0.0.1#5335 +server=/.cams.com/127.0.0.1#5335 +server=/.cams.org.sg/127.0.0.1#5335 +server=/.canadameet.com/127.0.0.1#5335 +server=/.canyu.org/127.0.0.1#5335 +server=/.caobian.info/127.0.0.1#5335 +server=/.caochangqing.com/127.0.0.1#5335 +server=/.cao.im/127.0.0.1#5335 +server=/.cari.com.my/127.0.0.1#5335 +server=/.catch22.net/127.0.0.1#5335 +server=/.catfightpayperview.xxx/127.0.0.1#5335 +server=/.catholic.org.hk/127.0.0.1#5335 +server=/.catholic.org.tw/127.0.0.1#5335 +server=/.cbs.ntu.edu.tw/127.0.0.1#5335 +server=/.cc9007.spaces.live.com/127.0.0.1#5335 +server=/.ccavtop10.com/127.0.0.1#5335 +server=/.ccdtr.org/127.0.0.1#5335 +server=/.ccim.org/127.0.0.1#5335 +server=/.cclife.org/127.0.0.1#5335 +server=/.ccthere.com/127.0.0.1#5335 +server=/.cctongbao.com/127.0.0.1#5335 +server=/.ccue.ca/127.0.0.1#5335 +server=/.ccue.com/127.0.0.1#5335 +server=/.cdig.info/127.0.0.1#5335 +server=/.cdjp.org/127.0.0.1#5335 +server=/.cdnews.com.tw/127.0.0.1#5335 +server=/.cdn.printfriendly.com/127.0.0.1#5335 +server=/.cdp1998.org/127.0.0.1#5335 +server=/.cdp2006.org/127.0.0.1#5335 +server=/.cdp.sinica.edu.tw/127.0.0.1#5335 +server=/.cdpusa.org/127.0.0.1#5335 +server=/.cdpweb.org/127.0.0.1#5335 +server=/.cdpwu.org/127.0.0.1#5335 +server=/.cdw.com/127.0.0.1#5335 +server=/.cecc.gov/127.0.0.1#5335 +server=/.cellulo.info/127.0.0.1#5335 +server=/.cenci.tk/127.0.0.1#5335 +server=/.cenews.eu/127.0.0.1#5335 +server=/.centralnation.com/127.0.0.1#5335 +server=/.centurys.net/127.0.0.1#5335 +server=/.c-est-simple.com/127.0.0.1#5335 +server=/.cfhks.org.hk/127.0.0.1#5335 +server=/.cftfc.com/127.0.0.1#5335 +server=/.cgdepot.org/127.0.0.1#5335 +server=/.chandoo.org/127.0.0.1#5335 +server=/.change.org/127.0.0.1#5335 +server=/.changp.com/127.0.0.1#5335 +server=/.chaos.e-spacy.com/127.0.0.1#5335 +server=/.chapm25.com/127.0.0.1#5335 +server=/.chartbeat.net/127.0.0.1#5335 +server=/.chaturbate.com/127.0.0.1#5335 +server=/.chccc.gov.tw/127.0.0.1#5335 +server=/.chengmingmag.com/127.0.0.1#5335 +server=/.chenguangcheng.com/127.0.0.1#5335 +server=/.chenpokong.com/127.0.0.1#5335 +server=/.chenyehao.spaces.live.com/127.0.0.1#5335 +server=/.cherrysave.com/127.0.0.1#5335 +server=/.chevronwp7.com/127.0.0.1#5335 +server=/.chicagoncmtv.com/127.0.0.1#5335 +server=/.china101.com/127.0.0.1#5335 +server=/.china21.com/127.0.0.1#5335 +server=/.china21.org/127.0.0.1#5335 +server=/.china5000.us/127.0.0.1#5335 +server=/.chinaaffairs.org/127.0.0.1#5335 +server=/.chinaaid.me/127.0.0.1#5335 +server=/.chinaaid.net/127.0.0.1#5335 +server=/.chinaaid.org/127.0.0.1#5335 +server=/.chinaaid.us/127.0.0.1#5335 +server=/.chinachange.org/127.0.0.1#5335 +server=/.chinachannel.hk/127.0.0.1#5335 +server=/.chinacomments.org/127.0.0.1#5335 +server=/.chinadigitaltimes.net/127.0.0.1#5335 +server=/.chinaeweekly.com/127.0.0.1#5335 +server=/.chinafreepress.org/127.0.0.1#5335 +server=/.chinagate.com/127.0.0.1#5335 +server=/.chinageeks.org/127.0.0.1#5335 +server=/.chinagfw.org/127.0.0.1#5335 +server=/.chinagreenparty.org/127.0.0.1#5335 +server=/.china-green-party.spaces.live.com/127.0.0.1#5335 +server=/.chinahush.com/127.0.0.1#5335 +server=/.chinainperspective.com/127.0.0.1#5335 +server=/.chinainperspective.net/127.0.0.1#5335 +server=/.chinainperspective.org/127.0.0.1#5335 +server=/.chinainterimgov.org/127.0.0.1#5335 +server=/.chinalawandpolicy.com/127.0.0.1#5335 +server=/.chinalawtranslate.com/127.0.0.1#5335 +server=/.chinamule.com/127.0.0.1#5335 +server=/.chinamz.org/127.0.0.1#5335 +server=/.chinarightsia.org/127.0.0.1#5335 +server=/.chinasocialdemocraticparty.com/127.0.0.1#5335 +server=/.chinaso.com/127.0.0.1#5335 +server=/.chinasoul.org/127.0.0.1#5335 +server=/.chinatimes.com/127.0.0.1#5335 +server=/.chinatweeps.com/127.0.0.1#5335 +server=/.chinaway.org/127.0.0.1#5335 +server=/.china-week.com/127.0.0.1#5335 +server=/.chinaworker.info/127.0.0.1#5335 +server=/.chinaxchina.com/127.0.0.1#5335 +server=/.chinayouth.org.hk/127.0.0.1#5335 +server=/.chinayuanmin.org/127.0.0.1#5335 +server=/.chinesedailynews.com/127.0.0.1#5335 +server=/.chinese.engadget.com/127.0.0.1#5335 +server=/.chinese-hermit.net/127.0.0.1#5335 +server=/.chinese-memorial.org/127.0.0.1#5335 +server=/.chinesen.de/127.0.0.1#5335 +server=/.chinesenewsnet.com/127.0.0.1#5335 +server=/.chinesepen.org/127.0.0.1#5335 +server=/.chinese.rnw.nl/127.0.0.1#5335 +server=/.chinese.soifind.com/127.0.0.1#5335 +server=/.chinesetalks.net/127.0.0.1#5335 +server=/.chinese.wsj.com/127.0.0.1#5335 +server=/.chingcheong.com/127.0.0.1#5335 +server=/.chn.chosun.com/127.0.0.1#5335 +server=/.chrispederick.com/127.0.0.1#5335 +server=/.chrispederick.net/127.0.0.1#5335 +server=/.christianstudy.com/127.0.0.1#5335 +server=/.christiantimes.org.hk/127.0.0.1#5335 +server=/.christusrex.org/127.0.0.1#5335 +server=/.chrlawyers.hk/127.0.0.1#5335 +server=/.chrlcg-hk.org/127.0.0.1#5335 +server=/.chromeadblock.com/127.0.0.1#5335 +server=/.chrome.com/127.0.0.1#5335 +server=/.ch.shvoong.com/127.0.0.1#5335 +server=/.chubun.com/127.0.0.1#5335 +server=/.chuizi.net/127.0.0.1#5335 +server=/.chukuang.gov.tw/127.0.0.1#5335 +server=/.circlethebayfortibet.org/127.0.0.1#5335 +server=/.citizenlab.org/127.0.0.1#5335 +server=/.citizensradio.org/127.0.0.1#5335 +server=/.city9x.com/127.0.0.1#5335 +server=/.civicparty.hk/127.0.0.1#5335 +server=/.civilhrfront.org/127.0.0.1#5335 +server=/.civilmedia.tw/127.0.0.1#5335 +server=/.cjb.net/127.0.0.1#5335 +server=/.ck101.com/127.0.0.1#5335 +server=/.classicalguitarblog.net/127.0.0.1#5335 +server=/.clb.org.hk/127.0.0.1#5335 +server=/.cl.d0z.net/127.0.0.1#5335 +server=/.clientsfromhell.net/127.0.0.1#5335 +server=/.clipfish.de/127.0.0.1#5335 +server=/.cl.ly/127.0.0.1#5335 +server=/.cloudfront.net/127.0.0.1#5335 +server=/.club.backchina.com/127.0.0.1#5335 +server=/.cms.gov/127.0.0.1#5335 +server=/.cmule.com/127.0.0.1#5335 +server=/.cn2.streetvoice.com/127.0.0.1#5335 +server=/.cna.com.tw/127.0.0.1#5335 +server=/.cnavista.com.tw/127.0.0.1#5335 +server=/.cn.calameo.com/127.0.0.1#5335 +server=/.cn.dayabook.com/127.0.0.1#5335 +server=/.cnd.org/127.0.0.1#5335 +server=/.cn.fmnnow.com/127.0.0.1#5335 +server=/.cn.ibtimes.com/127.0.0.1#5335 +server=/.cnn.com/127.0.0.1#5335 +server=/.cn.news.cnyes.com/127.0.0.1#5335 +server=/.cn.streetvoice.com/127.0.0.1#5335 +server=/.cn.uncyclopedia.wikia.com/127.0.0.1#5335 +server=/.cn.voa.mobi/127.0.0.1#5335 +server=/.cochina.org/127.0.0.1#5335 +server=/.cocoapods.org/127.0.0.1#5335 +server=/.cocoa.zonble.net/127.0.0.1#5335 +server=/.code1984.com/127.0.0.1#5335 +server=/.codeboxapp.com/127.0.0.1#5335 +server=/.codeshare.io/127.0.0.1#5335 +server=/.collateralmurder.com/127.0.0.1#5335 +server=/.collateralmurder.org/127.0.0.1#5335 +server=/.comefromchina.com/127.0.0.1#5335 +server=/.comnews.gio.gov.tw/127.0.0.1#5335 +server=/.compileheart.com/127.0.0.1#5335 +server=/.connectedchina.reuters.com/127.0.0.1#5335 +server=/.connect.facebook.net/127.0.0.1#5335 +server=/.conoyo.com/127.0.0.1#5335 +server=/.contactmagazine.net/127.0.0.1#5335 +server=/.contests.twilio.com/127.0.0.1#5335 +server=/.conviva.com/127.0.0.1#5335 +server=/.cookingtothegoodlife.com/127.0.0.1#5335 +server=/.coolaler.com/127.0.0.1#5335 +server=/.coolder.com/127.0.0.1#5335 +server=/.coolloud.org.tw/127.0.0.1#5335 +server=/.corpus4u.org/127.0.0.1#5335 +server=/.corumcollege.com/127.0.0.1#5335 +server=/.cotweet.com/127.0.0.1#5335 +server=/.couchdbwiki.com/127.0.0.1#5335 +server=/.coveringweb.com/127.0.0.1#5335 +server=/.cp-house.gov.tw/127.0.0.1#5335 +server=/.cpj.org/127.0.0.1#5335 +server=/.crackle.com/127.0.0.1#5335 +server=/.crd-net.org/127.0.0.1#5335 +server=/.creaders.net/127.0.0.1#5335 +server=/.cromotc.nat.gov.tw/127.0.0.1#5335 +server=/.crossthewall.net/127.0.0.1#5335 +server=/.csdparty.com/127.0.0.1#5335 +server=/.c-spanvideo.org/127.0.0.1#5335 +server=/.css.pixnet.in/127.0.0.1#5335 +server=/.csuchen.de/127.0.0.1#5335 +server=/.cts.com.tw/127.0.0.1#5335 +server=/.cubicle17.com/127.0.0.1#5335 +server=/.cuhkacs.org/127.0.0.1#5335 +server=/.cuihua.org/127.0.0.1#5335 +server=/.cuiweiping.net/127.0.0.1#5335 +server=/.culture.tw/127.0.0.1#5335 +server=/.curvefish.com/127.0.0.1#5335 +server=/.cwb.gov.tw/127.0.0.1#5335 +server=/.cyanogenmod.org/127.0.0.1#5335 +server=/.cyberghost.natado.com/127.0.0.1#5335 +server=/.cyberghostvpn.com/127.0.0.1#5335 +server=/.cycab.gov.tw/127.0.0.1#5335 +server=/.cydia.ifuckgfw.com/127.0.0.1#5335 +server=/.cynscribe.com/127.0.0.1#5335 +server=/.cytode.us/127.0.0.1#5335 +server=/.dabr.co.uk/127.0.0.1#5335 +server=/.dabr.me/127.0.0.1#5335 +server=/.dabr.mobi/127.0.0.1#5335 +server=/.dadazim.com/127.0.0.1#5335 +server=/.dadi360.com/127.0.0.1#5335 +server=/.dafagood.com/127.0.0.1#5335 +server=/.dafahao.com/127.0.0.1#5335 +server=/.dailidaili.com/127.0.0.1#5335 +server=/.dailymotion.com/127.0.0.1#5335 +server=/.dailynews.sina.com/127.0.0.1#5335 +server=/.dajiyuan.com/127.0.0.1#5335 +server=/.dajiyuan.eu/127.0.0.1#5335 +server=/.dajusha.baywords.com/127.0.0.1#5335 +server=/.dalailama.com/127.0.0.1#5335 +server=/.dalailama.ru/127.0.0.1#5335 +server=/.dalailamaworld.com/127.0.0.1#5335 +server=/.dalianmeng.org/127.0.0.1#5335 +server=/.danke4china.net/127.0.0.1#5335 +server=/.danwei.org/127.0.0.1#5335 +server=/.daolan.net/127.0.0.1#5335 +server=/.dapu-house.gov.tw/127.0.0.1#5335 +server=/.darpa.mil/127.0.0.1#5335 +server=/.date.fm/127.0.0.1#5335 +server=/.davidslog.com/127.0.0.1#5335 +server=/.daxa.cn/127.0.0.1#5335 +server=/.dayaarmongol.ning.com/127.0.0.1#5335 +server=/.daylife.com/127.0.0.1#5335 +server=/.ddc.com.tw/127.0.0.1#5335 +server=/.deck.ly/127.0.0.1#5335 +server=/.default.secureserver.net/127.0.0.1#5335 +server=/.delcamp.net/127.0.0.1#5335 +server=/.delicious.com/127.0.0.1#5335 +server=/.democrats.org/127.0.0.1#5335 +server=/.demo.opera-mini.net/127.0.0.1#5335 +server=/.derekhsu.homeip.net/127.0.0.1#5335 +server=/.de-sci.org/127.0.0.1#5335 +server=/.designerol.com/127.0.0.1#5335 +server=/.destiny.xfiles.to/127.0.0.1#5335 +server=/.deutsche-welle.de/127.0.0.1#5335 +server=/.dev102.com/127.0.0.1#5335 +server=/.developers.box.net/127.0.0.1#5335 +server=/.deviantart.com/127.0.0.1#5335 +server=/.deviantart.net/127.0.0.1#5335 +server=/.devio.us/127.0.0.1#5335 +server=/.devpn.com/127.0.0.1#5335 +server=/.dfas.mil/127.0.0.1#5335 +server=/.df.gov.tw/127.0.0.1#5335 +server=/.diaoyuislands.org/127.0.0.1#5335 +server=/.digitalnomadsproject.org/127.0.0.1#5335 +server=/.diigo.com/127.0.0.1#5335 +server=/.dimitrik.free.fr/127.0.0.1#5335 +server=/.dipity.com/127.0.0.1#5335 +server=/.directcreative.com/127.0.0.1#5335 +server=/.discuss.com.hk/127.0.0.1#5335 +server=/.disp.cc/127.0.0.1#5335 +server=/.dit-inc.us/127.0.0.1#5335 +server=/.dizhidizhi.com/127.0.0.1#5335 +server=/.djangosnippets.org/127.0.0.1#5335 +server=/.dl.box.net/127.0.0.1#5335 +server=/.dl-laby.jp/127.0.0.1#5335 +server=/.dl.playstation.net/127.0.0.1#5335 +server=/.dlsite.com/127.0.0.1#5335 +server=/.dmcdn.net/127.0.0.1#5335 +server=/.dmtip.gov.tw/127.0.0.1#5335 +server=/.dns2go.com/127.0.0.1#5335 +server=/.dnscrypt.org/127.0.0.1#5335 +server=/.docstoc.com/127.0.0.1#5335 +server=/.dojin.com/127.0.0.1#5335 +server=/.dok-forum.net/127.0.0.1#5335 +server=/.dolc.de/127.0.0.1#5335 +server=/.dollf.com/127.0.0.1#5335 +server=/.domain.club.tw/127.0.0.1#5335 +server=/.domainhelp.search.com/127.0.0.1#5335 +server=/.dongde.com/127.0.0.1#5335 +server=/.dongtaiwang.com/127.0.0.1#5335 +server=/.dongtaiwang.net/127.0.0.1#5335 +server=/.dongyangjing.com/127.0.0.1#5335 +server=/.dontfilter.us/127.0.0.1#5335 +server=/.dontmovetochina.com/127.0.0.1#5335 +server=/.dotheyfolloweachother.com/127.0.0.1#5335 +server=/.dotplane.com/127.0.0.1#5335 +server=/.dotsub.com/127.0.0.1#5335 +server=/.doubleaf.com/127.0.0.1#5335 +server=/.doubleclick.net/127.0.0.1#5335 +server=/.dougscripts.com/127.0.0.1#5335 +server=/.dowei.org/127.0.0.1#5335 +server=/.download.syniumsoftware.com/127.0.0.1#5335 +server=/.doxygen.org/127.0.0.1#5335 +server=/.dphk.org/127.0.0.1#5335 +server=/.dpp.org.tw/127.0.0.1#5335 +server=/.drewolanoff.com/127.0.0.1#5335 +server=/.drgan.net/127.0.0.1#5335 +server=/.dropbox.com/127.0.0.1#5335 +server=/.dropboxusercontent.com/127.0.0.1#5335 +server=/.drsunacademy.com/127.0.0.1#5335 +server=/.drtuber.com/127.0.0.1#5335 +server=/.dscn.info/127.0.0.1#5335 +server=/.dtiblog.com/127.0.0.1#5335 +server=/.dtic.mil/127.0.0.1#5335 +server=/.dtiserv2.com/127.0.0.1#5335 +server=/.duckduckgo.com/127.0.0.1#5335 +server=/.duckload.com/127.0.0.1#5335 +server=/.duckmylife.com/127.0.0.1#5335 +server=/.duihuahrjournal.org/127.0.0.1#5335 +server=/.duihua.org/127.0.0.1#5335 +server=/.duoweitimes.com/127.0.0.1#5335 +server=/.duping.net/127.0.0.1#5335 +server=/.duplicati.com/127.0.0.1#5335 +server=/.dupola.com/127.0.0.1#5335 +server=/.dupola.net/127.0.0.1#5335 +server=/.dvorak.org/127.0.0.1#5335 +server=/.dw.de/127.0.0.1#5335 +server=/.dwnews.com/127.0.0.1#5335 +server=/.dwnews.net/127.0.0.1#5335 +server=/.dw-world.com/127.0.0.1#5335 +server=/.dw-world.de/127.0.0.1#5335 +server=/.dy24k.info/127.0.0.1#5335 +server=/.dynawebinc.com/127.0.0.1#5335 +server=/.dyndns.org/127.0.0.1#5335 +server=/.dzze.com/127.0.0.1#5335 +server=/.e123.hk/127.0.0.1#5335 +server=/.eamonnbrennan.com/127.0.0.1#5335 +server=/.earthquake.usgs.gov/127.0.0.1#5335 +server=/.easy-share.com/127.0.0.1#5335 +server=/.ebookbrowse.com/127.0.0.1#5335 +server=/.ebookee.com/127.0.0.1#5335 +server=/.echofon.com/127.0.0.1#5335 +server=/.ecministry.net/127.0.0.1#5335 +server=/.edicypages.com/127.0.0.1#5335 +server=/.edoors.com/127.0.0.1#5335 +server=/.edubridge.com/127.0.0.1#5335 +server=/.eevpn.com/127.0.0.1#5335 +server=/.efcc.org.hk/127.0.0.1#5335 +server=/.efksoft.com/127.0.0.1#5335 +server=/.efmoe.com/127.0.0.1#5335 +server=/.e-gold.com/127.0.0.1#5335 +server=/.eic-av.com/127.0.0.1#5335 +server=/.e-info.org.tw/127.0.0.1#5335 +server=/.electionsmeter.com/127.0.0.1#5335 +server=/.elpais.com/127.0.0.1#5335 +server=/.eltondisney.com/127.0.0.1#5335 +server=/.emacsblog.org/127.0.0.1#5335 +server=/.embr.in/127.0.0.1#5335 +server=/.emory.edu/127.0.0.1#5335 +server=/.emule-ed2k.com/127.0.0.1#5335 +server=/.emuparadise.me/127.0.0.1#5335 +server=/.enewstree.com/127.0.0.1#5335 +server=/.en.favotter.net/127.0.0.1#5335 +server=/.englishfromengland.co.uk/127.0.0.1#5335 +server=/.entermap.com/127.0.0.1#5335 +server=/.en.wikipedia.org/127.0.0.1#5335 +server=/.epochtimes-bg.com/127.0.0.1#5335 +server=/.epochtimes.co.il/127.0.0.1#5335 +server=/.epochtimes.co.kr/127.0.0.1#5335 +server=/.epochtimes.com/127.0.0.1#5335 +server=/.epochtimes.de/127.0.0.1#5335 +server=/.epochtimes.fr/127.0.0.1#5335 +server=/.epochtimes.ie/127.0.0.1#5335 +server=/.epochtimes.jp/127.0.0.1#5335 +server=/.epochtimes-romania.com/127.0.0.1#5335 +server=/.epochtimes.ru/127.0.0.1#5335 +server=/.epochtimes.se/127.0.0.1#5335 +server=/.epochtimestr.com/127.0.0.1#5335 +server=/.epochweekly.com/127.0.0.1#5335 +server=/.erabaru.net/127.0.0.1#5335 +server=/.erepublik.com/127.0.0.1#5335 +server=/.erepublik.net/127.0.0.1#5335 +server=/.erights.net/127.0.0.1#5335 +server=/.eriversoft.com/127.0.0.1#5335 +server=/.ernestmandel.org/127.0.0.1#5335 +server=/.etaiwannews.com/127.0.0.1#5335 +server=/.etizer.org/127.0.0.1#5335 +server=/.etools.ncol.com/127.0.0.1#5335 +server=/.e-traderland.net/127.0.0.1#5335 +server=/.etraining.gov.tw/127.0.0.1#5335 +server=/.ettoday.net/127.0.0.1#5335 +server=/.evchk.wikia.com/127.0.0.1#5335 +server=/.eventful.com/127.0.0.1#5335 +server=/.everyday-carry.com/127.0.0.1#5335 +server=/.exblog.jp/127.0.0.1#5335 +server=/.expatshield.com/127.0.0.1#5335 +server=/.exploader.net/127.0.0.1#5335 +server=/.extremetube.com/127.0.0.1#5335 +server=/.eyespirit.info/127.0.0.1#5335 +server=/.eyevio.jp/127.0.0.1#5335 +server=/.eyny.com/127.0.0.1#5335 +server=/.ezpc.tk/127.0.0.1#5335 +server=/.ezpeer.com/127.0.0.1#5335 +server=/.facebook.com/127.0.0.1#5335 +server=/.facebook.net/127.0.0.1#5335 +server=/.facesofnyfw.com/127.0.0.1#5335 +server=/.fail.hk/127.0.0.1#5335 +server=/.faiththedog.info/127.0.0.1#5335 +server=/.fakku.net/127.0.0.1#5335 +server=/.falsefire.com/127.0.0.1#5335 +server=/.falunart.org/127.0.0.1#5335 +server=/.falundafamuseum.org/127.0.0.1#5335 +server=/.falundafa.org/127.0.0.1#5335 +server=/.falunhr.org/127.0.0.1#5335 +server=/.famunion.com/127.0.0.1#5335 +server=/.fangbinxing.com/127.0.0.1#5335 +server=/.fangeming.com/127.0.0.1#5335 +server=/.fanglizhi.info/127.0.0.1#5335 +server=/.fangongheike.com/127.0.0.1#5335 +server=/.fangong.org/127.0.0.1#5335 +server=/.fan-qiang.com/127.0.0.1#5335 +server=/.fanqianghou.com/127.0.0.1#5335 +server=/.fanqiangyakexi.net/127.0.0.1#5335 +server=/.fanswong.com/127.0.0.1#5335 +server=/.fanyue.info/127.0.0.1#5335 +server=/.fapdu.com/127.0.0.1#5335 +server=/.farwestchina.com/127.0.0.1#5335 +server=/.farxian.com/127.0.0.1#5335 +server=/.fastpic.ru/127.0.0.1#5335 +server=/.faststone.org/127.0.0.1#5335 +server=/.favorious.com/127.0.0.1#5335 +server=/.favstar.fm/127.0.0.1#5335 +server=/.fawanghuihui.org/127.0.0.1#5335 +server=/.faydao.com/127.0.0.1#5335 +server=/.fbcdn.net/127.0.0.1#5335 +server=/.fb.com/127.0.0.1#5335 +server=/.fb.me/127.0.0.1#5335 +server=/.fbsbx.com/127.0.0.1#5335 +server=/.fc2china.com/127.0.0.1#5335 +server=/.fc2.com/127.0.0.1#5335 +server=/.f.cl.ly/127.0.0.1#5335 +server=/.fdc89.jp/127.0.0.1#5335 +server=/.feedbooks.mobi/127.0.0.1#5335 +server=/.feedburner.com/127.0.0.1#5335 +server=/.feeds2.feedburner.com/127.0.0.1#5335 +server=/.feeds.feedburner.com/127.0.0.1#5335 +server=/.feedzshare.com/127.0.0.1#5335 +server=/.feelssh.com/127.0.0.1#5335 +server=/.feer.com/127.0.0.1#5335 +server=/.felixcat.net/127.0.0.1#5335 +server=/.feministteacher.com/127.0.0.1#5335 +server=/.fengzhenghu.com/127.0.0.1#5335 +server=/.fetchvideo.com/127.0.0.1#5335 +server=/.ff.im/127.0.0.1#5335 +server=/.fflick.com/127.0.0.1#5335 +server=/.fgmtv.net/127.0.0.1#5335 +server=/.fgmtv.org/127.0.0.1#5335 +server=/.filefactory.com/127.0.0.1#5335 +server=/.files2me.com/127.0.0.1#5335 +server=/.fileserve.com/127.0.0.1#5335 +server=/.fillthesquare.org/127.0.0.1#5335 +server=/.finalion.jp/127.0.0.1#5335 +server=/.findbook.tw/127.0.0.1#5335 +server=/.finler.net/127.0.0.1#5335 +server=/.fireofliberty.org/127.0.0.1#5335 +server=/.firstfivefollowers.com/127.0.0.1#5335 +server=/.flecheinthepeche.fr/127.0.0.1#5335 +server=/.fleshbot.com/127.0.0.1#5335 +server=/.flickr.com/127.0.0.1#5335 +server=/.flickrhivemind.net/127.0.0.1#5335 +server=/.flightcaster.com/127.0.0.1#5335 +server=/.flowerofhappiness.spaces.live.com/127.0.0.1#5335 +server=/.focustaiwan.tw/127.0.0.1#5335 +server=/.focusvpn.com/127.0.0.1#5335 +server=/.fofg.org/127.0.0.1#5335 +server=/.fooooo.com/127.0.0.1#5335 +server=/.footwiball.com/127.0.0.1#5335 +server=/.forum.baby-kingdom.com/127.0.0.1#5335 +server=/.forum.cyberctm.com/127.0.0.1#5335 +server=/.forum.idsam.com/127.0.0.1#5335 +server=/.forum.iset.com.tw/127.0.0.1#5335 +server=/.forum.my903.com/127.0.0.1#5335 +server=/.forum.mymaji.com/127.0.0.1#5335 +server=/.forum.newsgroup.la/127.0.0.1#5335 +server=/.forum.nownews.com/127.0.0.1#5335 +server=/.forum.omy.sg/127.0.0.1#5335 +server=/.forum.palmislife.com/127.0.0.1#5335 +server=/.forum.pchome.com.tw/127.0.0.1#5335 +server=/.forum.setty.com.tw/127.0.0.1#5335 +server=/.forum.sina.com.hk/127.0.0.1#5335 +server=/.forum.slime.com.tw/127.0.0.1#5335 +server=/.forum.tvb.com/127.0.0.1#5335 +server=/.forum.yorkbbs.ca/127.0.0.1#5335 +server=/.fotop.net/127.0.0.1#5335 +server=/.fourface.nodesnoop.com/127.0.0.1#5335 +server=/.fourthinternational.org/127.0.0.1#5335 +server=/.foxdie.us/127.0.0.1#5335 +server=/.foxsub.com/127.0.0.1#5335 +server=/.foxtang.com/127.0.0.1#5335 +server=/.fqrouter.com/127.0.0.1#5335 +server=/.franklc.com/127.0.0.1#5335 +server=/.freakshare.com/127.0.0.1#5335 +server=/.fredwilson.vc/127.0.0.1#5335 +server=/.free4u.com.ar/127.0.0.1#5335 +server=/.freealim.com/127.0.0.1#5335 +server=/.freechal.com/127.0.0.1#5335 +server=/.freedomhouse.org/127.0.0.1#5335 +server=/.free.fr/127.0.0.1#5335 +server=/.freegao.com/127.0.0.1#5335 +server=/.freegateget.googlepages.com/127.0.0.1#5335 +server=/.free-gate.org/127.0.0.1#5335 +server=/.free-hada-now.org/127.0.0.1#5335 +server=/.freelotto.com/127.0.0.1#5335 +server=/.freeman2.com/127.0.0.1#5335 +server=/.freemoren.com/127.0.0.1#5335 +server=/.freemorenews.com/127.0.0.1#5335 +server=/.freenet-china.org/127.0.0.1#5335 +server=/.freenetproject.org/127.0.0.1#5335 +server=/.freenewscn.com/127.0.0.1#5335 +server=/.freeopenvpn.com/127.0.0.1#5335 +server=/.freeoz.org/127.0.0.1#5335 +server=/.free-ssh.com/127.0.0.1#5335 +server=/.freessh.us/127.0.0.1#5335 +server=/.freetibet.org/127.0.0.1#5335 +server=/.freevpn.nl/127.0.0.1#5335 +server=/.freewallpaper4.me/127.0.0.1#5335 +server=/.freewebs.com/127.0.0.1#5335 +server=/.freeweibo.com/127.0.0.1#5335 +server=/.freexinwen.com/127.0.0.1#5335 +server=/.freeyoutubeproxy.net/127.0.0.1#5335 +server=/.friendfeed.com/127.0.0.1#5335 +server=/.friendfeed-media.com/127.0.0.1#5335 +server=/.fring.com/127.0.0.1#5335 +server=/.fringenetwork.com/127.0.0.1#5335 +server=/.frommel.net/127.0.0.1#5335 +server=/.frontlinedefenders.org/127.0.0.1#5335 +server=/.fscked.org/127.0.0.1#5335 +server=/.fsurf.com/127.0.0.1#5335 +server=/.ftchinese.com/127.0.0.1#5335 +server=/.fuckcnnic.net/127.0.0.1#5335 +server=/.fuckgfw.com/127.0.0.1#5335 +server=/.fuckgfw.org/127.0.0.1#5335 +server=/.fulue.com/127.0.0.1#5335 +server=/.funf.tw/127.0.0.1#5335 +server=/.funp.com/127.0.0.1#5335 +server=/.furinkan.com/127.0.0.1#5335 +server=/.furl.net/127.0.0.1#5335 +server=/.futurechinaforum.org/127.0.0.1#5335 +server=/.futureme.org/127.0.0.1#5335 +server=/.futuremessage.org/127.0.0.1#5335 +server=/.fuyin.net/127.0.0.1#5335 +server=/.fw.cm/127.0.0.1#5335 +server=/.fxnetworks.com/127.0.0.1#5335 +server=/.fzh999.com/127.0.0.1#5335 +server=/.fzh999.net/127.0.0.1#5335 +server=/.gabocorp.com/127.0.0.1#5335 +server=/.gaeproxy.com/127.0.0.1#5335 +server=/.gaeproxy.googlecode.com/127.0.0.1#5335 +server=/.galenwu.com/127.0.0.1#5335 +server=/.game735.com/127.0.0.1#5335 +server=/.gamebase.com.tw/127.0.0.1#5335 +server=/.gamer.com.tw/127.0.0.1#5335 +server=/.gamez.com.tw/127.0.0.1#5335 +server=/.ganges.com/127.0.0.1#5335 +server=/.gaoming.net/127.0.0.1#5335 +server=/.gaopi.net/127.0.0.1#5335 +server=/.gaozhisheng.net/127.0.0.1#5335 +server=/.gaozhisheng.org/127.0.0.1#5335 +server=/.gardennetworks.com/127.0.0.1#5335 +server=/.gardennetworks.org/127.0.0.1#5335 +server=/.gartlive.com/127.0.0.1#5335 +server=/.gather.com/127.0.0.1#5335 +server=/.gaymap.cc/127.0.0.1#5335 +server=/.gazotube.com/127.0.0.1#5335 +server=/.gcc.org.hk/127.0.0.1#5335 +server=/.gclooney.com/127.0.0.1#5335 +server=/.g.co/127.0.0.1#5335 +server=/.gcpnews.com/127.0.0.1#5335 +server=/.gdbt.net/127.0.0.1#5335 +server=/.gdzf.org/127.0.0.1#5335 +server=/.geek-art.net/127.0.0.1#5335 +server=/.geekerhome.com/127.0.0.1#5335 +server=/.geekmade.co.uk/127.0.0.1#5335 +server=/.geekmanuals.com/127.0.0.1#5335 +server=/.generesis.com/127.0.0.1#5335 +server=/.genuitec.com/127.0.0.1#5335 +server=/.geocities.co.jp/127.0.0.1#5335 +server=/.geocities.com/127.0.0.1#5335 +server=/.geocities.jp/127.0.0.1#5335 +server=/.geohot.com/127.0.0.1#5335 +server=/.geometrictools.com/127.0.0.1#5335 +server=/.getchu.com/127.0.0.1#5335 +server=/.getcloudapp.com/127.0.0.1#5335 +server=/.get-digital-help.com/127.0.0.1#5335 +server=/.getfoxyproxy.org/127.0.0.1#5335 +server=/.getfreedur.com/127.0.0.1#5335 +server=/.getiton.com/127.0.0.1#5335 +server=/.getjetso.com/127.0.0.1#5335 +server=/.getlantern.org/127.0.0.1#5335 +server=/.getsmartlinks.com/127.0.0.1#5335 +server=/.getsocialscope.com/127.0.0.1#5335 +server=/.gfwinterceptor.googlecode.com/127.0.0.1#5335 +server=/.gfw.org.ua/127.0.0.1#5335 +server=/.ggpht.com/127.0.0.1#5335 +server=/.ggssl.com/127.0.0.1#5335 +server=/.ghost.org/127.0.0.1#5335 +server=/.ghut.org/127.0.0.1#5335 +server=/.giga-web.jp/127.0.0.1#5335 +server=/.gigporno.ru/127.0.0.1#5335 +server=/.gimpshop.com/127.0.0.1#5335 +server=/.girlbanker.com/127.0.0.1#5335 +server=/.github.com/127.0.0.1#5335 +server=/.git-scm.com/127.0.0.1#5335 +server=/.givemesomethingtoread.com/127.0.0.1#5335 +server=/.glennhilton.com/127.0.0.1#5335 +server=/.globaljihad.net/127.0.0.1#5335 +server=/.globalmuseumoncommunism.org/127.0.0.1#5335 +server=/.globalrescue.net/127.0.0.1#5335 +server=/.globalvoicesonline.org/127.0.0.1#5335 +server=/.gmail.com/127.0.0.1#5335 +server=/.gmbd.cn/127.0.0.1#5335 +server=/.gmhz.org/127.0.0.1#5335 +server=/.gmodules.com/127.0.0.1#5335 +server=/.gmozomg.izihost.org/127.0.0.1#5335 +server=/.gnci.org.hk/127.0.0.1#5335 +server=/.goagent.biz/127.0.0.1#5335 +server=/.goagent.googlecode.com/127.0.0.1#5335 +server=/.goagentplus.com/127.0.0.1#5335 +server=/.godfootsteps.org/127.0.0.1#5335 +server=/.golang.org/127.0.0.1#5335 +server=/.goldbetsports.com/127.0.0.1#5335 +server=/.goldwave.com/127.0.0.1#5335 +server=/.gongmeng.info/127.0.0.1#5335 +server=/.gongm.in/127.0.0.1#5335 +server=/.gongminliliang.com/127.0.0.1#5335 +server=/.gongwt.com/127.0.0.1#5335 +server=/.goodreaders.com/127.0.0.1#5335 +server=/.goodreads.com/127.0.0.1#5335 +server=/.goofind.com/127.0.0.1#5335 +server=/.goo.gl/127.0.0.1#5335 +server=/.googleadservices.com/127.0.0.1#5335 +server=/.google-analytics.com/127.0.0.1#5335 +server=/.googleapis.com/127.0.0.1#5335 +server=/.googlecode.com/127.0.0.1#5335 +server=/.google.co.jp/127.0.0.1#5335 +server=/.google.com/127.0.0.1#5335 +server=/.google.com.hk/127.0.0.1#5335 +server=/.google.com.sg/127.0.0.1#5335 +server=/.google.com.tw/127.0.0.1#5335 +server=/.google.com.uk/127.0.0.1#5335 +server=/.googledomains.com/127.0.0.1#5335 +server=/.googledrive.com/127.0.0.1#5335 +server=/.googleearth.com/127.0.0.1#5335 +server=/.googlehosted.com/127.0.0.1#5335 +server=/.googlelabs.com/127.0.0.1#5335 +server=/.googlemail.com/127.0.0.1#5335 +server=/.googleplus.com/127.0.0.1#5335 +server=/.googlesile.com/127.0.0.1#5335 +server=/.googlesource.com/127.0.0.1#5335 +server=/.googlesyndication.com/127.0.0.1#5335 +server=/.googletagmanager.com/127.0.0.1#5335 +server=/.googletagservices.com/127.0.0.1#5335 +server=/.googleusercontent.com/127.0.0.1#5335 +server=/.googlevideo.com/127.0.0.1#5335 +server=/.gopetition.com/127.0.0.1#5335 +server=/.gospelherald.com/127.0.0.1#5335 +server=/.gov.tw/127.0.0.1#5335 +server=/.gpass1.com/127.0.0.1#5335 +server=/.grandtrial.org/127.0.0.1#5335 +server=/.graphis.ne.jp/127.0.0.1#5335 +server=/.gravatar.com/127.0.0.1#5335 +server=/.graylog2.org/127.0.0.1#5335 +server=/.grb.gov.tw/127.0.0.1#5335 +server=/.greatfire.org/127.0.0.1#5335 +server=/.greatfirewall.biz/127.0.0.1#5335 +server=/.great-firewall.com/127.0.0.1#5335 +server=/.greatfirewallofchina.net/127.0.0.1#5335 +server=/.greatfirewallofchina.org/127.0.0.1#5335 +server=/.great-roc.org/127.0.0.1#5335 +server=/.greatroc.org/127.0.0.1#5335 +server=/.greatroc.tw/127.0.0.1#5335 +server=/.greatzhonghua.org/127.0.0.1#5335 +server=/.greenparty.org.tw/127.0.0.1#5335 +server=/.greenvpn.net/127.0.0.1#5335 +server=/.gs-discuss.com/127.0.0.1#5335 +server=/.gseeker.com/127.0.0.1#5335 +server=/.gsn-cert.nat.gov.tw/127.0.0.1#5335 +server=/.gstatic.com/127.0.0.1#5335 +server=/.gtap.googlecode.com/127.0.0.1#5335 +server=/.gtricks.com/127.0.0.1#5335 +server=/.guancha.org/127.0.0.1#5335 +server=/.gufeng521.spaces.live.com/127.0.0.1#5335 +server=/.guishan.org/127.0.0.1#5335 +server=/.gunsamerica.com/127.0.0.1#5335 +server=/.gun-world.net/127.0.0.1#5335 +server=/.guomin.us/127.0.0.1#5335 +server=/.gutteruncensored.com/127.0.0.1#5335 +server=/.gvm.com.tw/127.0.0.1#5335 +server=/.gyalwarinpoche.com/127.0.0.1#5335 +server=/.gysd.nyc.gov.tw/127.0.0.1#5335 +server=/.gzm.tv/127.0.0.1#5335 +server=/.gzone-anime.info/127.0.0.1#5335 +server=/.h1n1china.org/127.0.0.1#5335 +server=/.hacken.cc/127.0.0.1#5335 +server=/.hackthatphone.net/127.0.0.1#5335 +server=/.hahlo.com/127.0.0.1#5335 +server=/.hakkatv.org.tw/127.0.0.1#5335 +server=/.hanunyi.com/127.0.0.1#5335 +server=/.hardsextube.com/127.0.0.1#5335 +server=/.hasaowall.com/127.0.0.1#5335 +server=/.have8.com/127.0.0.1#5335 +server=/.haygo.com/127.0.0.1#5335 +server=/.hcc.gov.tw/127.0.0.1#5335 +server=/.hchcc.gov.tw/127.0.0.1#5335 +server=/.h-china.org/127.0.0.1#5335 +server=/.hdtvb.net/127.0.0.1#5335 +server=/.heartyit.com/127.0.0.1#5335 +server=/.hecaitou.net/127.0.0.1#5335 +server=/.hechaji.com/127.0.0.1#5335 +server=/.heix.pp.ru/127.0.0.1#5335 +server=/.heiyo.info/127.0.0.1#5335 +server=/.helloandroid.com/127.0.0.1#5335 +server=/.hellonewyork.us/127.0.0.1#5335 +server=/.helloqueer.com/127.0.0.1#5335 +server=/.hellotxt.com/127.0.0.1#5335 +server=/.hellouk.org/127.0.0.1#5335 +server=/.helpeachpeople.com/127.0.0.1#5335 +server=/.helplinfen.com/127.0.0.1#5335 +server=/.help.linksalpha.com/127.0.0.1#5335 +server=/.help.opera.com/127.0.0.1#5335 +server=/.helpzhuling.org/127.0.0.1#5335 +server=/.hen.bao.li/127.0.0.1#5335 +server=/.hengchuen.gov.tw/127.0.0.1#5335 +server=/.heqinglian.net/127.0.0.1#5335 +server=/.here4news.com/127.0.0.1#5335 +server=/.heungkongdiscuss.com/127.0.0.1#5335 +server=/.hgseav.com/127.0.0.1#5335 +server=/.hidden-advent.org/127.0.0.1#5335 +server=/.hidecloud.com/127.0.0.1#5335 +server=/.hideipvpn.com/127.0.0.1#5335 +server=/.hidemyass.com/127.0.0.1#5335 +server=/.higfw.com/127.0.0.1#5335 +server=/.highrockmedia.com/127.0.0.1#5335 +server=/.hihiforum.com/127.0.0.1#5335 +server=/.hihistory.net/127.0.0.1#5335 +server=/.hiitch.com/127.0.0.1#5335 +server=/.hikinggfw.org/127.0.0.1#5335 +server=/.himemix.com/127.0.0.1#5335 +server=/.himemix.net/127.0.0.1#5335 +server=/.hjclub.info/127.0.0.1#5335 +server=/.hk32168.com/127.0.0.1#5335 +server=/.hkbc.net/127.0.0.1#5335 +server=/.hkbf.org/127.0.0.1#5335 +server=/.hkchurch.org/127.0.0.1#5335 +server=/.hkdailynews.com.hk/127.0.0.1#5335 +server=/.hkday.net/127.0.0.1#5335 +server=/.hkej.com/127.0.0.1#5335 +server=/.hkepc.com/127.0.0.1#5335 +server=/.hkfront.org/127.0.0.1#5335 +server=/.hk.geocities.com/127.0.0.1#5335 +server=/.hkgolden.com/127.0.0.1#5335 +server=/.hkgreenradio.org/127.0.0.1#5335 +server=/.hkg.westkit.net/127.0.0.1#5335 +server=/.hkheadline.com/127.0.0.1#5335 +server=/.hkhkhk.com/127.0.0.1#5335 +server=/.hkjc.com/127.0.0.1#5335 +server=/.hk.jiepang.com/127.0.0.1#5335 +server=/.hkjp.easyweb.hk/127.0.0.1#5335 +server=/.hkjp.org/127.0.0.1#5335 +server=/.hk.knowledge.yahoo.com/127.0.0.1#5335 +server=/.hk.myblog.yahoo.com/127.0.0.1#5335 +server=/.hk.news.yahoo.com/127.0.0.1#5335 +server=/.hkptu.org/127.0.0.1#5335 +server=/.hk-pub.com/127.0.0.1#5335 +server=/.hk.rd.yahoo.com/127.0.0.1#5335 +server=/.hkreporter.com/127.0.0.1#5335 +server=/.hkreporter.loved.hk/127.0.0.1#5335 +server=/.hk.search.yahoo.com/127.0.0.1#5335 +server=/.hk.video.news.yahoo.com/127.0.0.1#5335 +server=/.hkwcc.org.hk/127.0.0.1#5335 +server=/.hk.yahoo.com/127.0.0.1#5335 +server=/.hkzone.org/127.0.0.1#5335 +server=/.hnjhj.com/127.0.0.1#5335 +server=/.hola.com/127.0.0.1#5335 +server=/.holyspiritspeaks.org/127.0.0.1#5335 +server=/.holz.byethost8.com/127.0.0.1#5335 +server=/.homeservershow.com/127.0.0.1#5335 +server=/.home.sina.com/127.0.0.1#5335 +server=/.home.so-net.net.tw/127.0.0.1#5335 +server=/.honeonet.spaces.live.com/127.0.0.1#5335 +server=/.hongmeimei.com/127.0.0.1#5335 +server=/.hongzhi.li/127.0.0.1#5335 +server=/.hootsuite.com/127.0.0.1#5335 +server=/.hotpot.hk/127.0.0.1#5335 +server=/.hotshame.com/127.0.0.1#5335 +server=/.hotspotshield.com/127.0.0.1#5335 +server=/.hougaige.com/127.0.0.1#5335 +server=/.howtoforge.com/127.0.0.1#5335 +server=/.hqcdp.org/127.0.0.1#5335 +server=/.hrcir.com/127.0.0.1#5335 +server=/.hrichina.org/127.0.0.1#5335 +server=/.hrw.org/127.0.0.1#5335 +server=/.hsinchu-cc.gov.tw/127.0.0.1#5335 +server=/.hsjp.net/127.0.0.1#5335 +server=/.hsselite.com/127.0.0.1#5335 +server=/.htkou.net/127.0.0.1#5335 +server=/.htl.li/127.0.0.1#5335 +server=/.ht.ly/127.0.0.1#5335 +server=/.htmldog.com/127.0.0.1#5335 +server=/.huaglad.com/127.0.0.1#5335 +server=/.huajiadi.spaces.live.com/127.0.0.1#5335 +server=/.huanghuagang.org/127.0.0.1#5335 +server=/.huaren.us/127.0.0.1#5335 +server=/.huaxia-news.com/127.0.0.1#5335 +server=/.huaxin.ph/127.0.0.1#5335 +server=/.hua-yue.net/127.0.0.1#5335 +server=/.hudatoriq.web.id/127.0.0.1#5335 +server=/.hugoroy.eu/127.0.0.1#5335 +server=/.huhamhire.com/127.0.0.1#5335 +server=/.hujiachina.spaces.live.com/127.0.0.1#5335 +server=/.hulu.com/127.0.0.1#5335 +server=/.huluim.com/127.0.0.1#5335 +server=/.humanities.uchicago.edu/127.0.0.1#5335 +server=/.hungerstrikeforaids.org/127.0.0.1#5335 +server=/.hung-ya.com/127.0.0.1#5335 +server=/.huping.net/127.0.0.1#5335 +server=/.hutianyi.net/127.0.0.1#5335 +server=/.hutong9.net/127.0.0.1#5335 +server=/.hwinfo.com/127.0.0.1#5335 +server=/.hyperrate.com/127.0.0.1#5335 +server=/.hypeshell.com/127.0.0.1#5335 +server=/.i1.hk/127.0.0.1#5335 +server=/.i2runner.com/127.0.0.1#5335 +server=/.ialmostlaugh.com/127.0.0.1#5335 +server=/.iask.bz/127.0.0.1#5335 +server=/.iask.ca/127.0.0.1#5335 +server=/.ibiblio.org/127.0.0.1#5335 +server=/.iblogserv-f.net/127.0.0.1#5335 +server=/.ibros.org/127.0.0.1#5335 +server=/.icij.org/127.0.0.1#5335 +server=/.icl-fi.org/127.0.0.1#5335 +server=/.iconpaper.org/127.0.0.1#5335 +server=/.icu-project.org/127.0.0.1#5335 +server=/.idemocracy.asia/127.0.0.1#5335 +server=/.identi.ca/127.0.0.1#5335 +server=/.idiomconnection.com/127.0.0.1#5335 +server=/.idouga.com/127.0.0.1#5335 +server=/.idv.tw/127.0.0.1#5335 +server=/.ieasynews.net/127.0.0.1#5335 +server=/.ied2k.net/127.0.0.1#5335 +server=/.ieemdai.spaces.live.com/127.0.0.1#5335 +server=/.ifan.cz.cc/127.0.0.1#5335 +server=/.ifanqiang.com/127.0.0.1#5335 +server=/.ifanr.com/127.0.0.1#5335 +server=/.ifcss.org/127.0.0.1#5335 +server=/.ifjc.org/127.0.0.1#5335 +server=/.igfw.net/127.0.0.1#5335 +server=/.ignitedetroit.net/127.0.0.1#5335 +server=/.igvita.com/127.0.0.1#5335 +server=/.ihakka.net/127.0.0.1#5335 +server=/.iicns.com/127.0.0.1#5335 +server=/.illusionfactory.com/127.0.0.1#5335 +server=/.ilove80.be/127.0.0.1#5335 +server=/.im88.tw/127.0.0.1#5335 +server=/.imageflea.com/127.0.0.1#5335 +server=/.imagesblog.gio.gov.tw/127.0.0.1#5335 +server=/.imageshack.us/127.0.0.1#5335 +server=/.imagevenue.com/127.0.0.1#5335 +server=/.imagezilla.net/127.0.0.1#5335 +server=/.ime.baidu.jp/127.0.0.1#5335 +server=/.img.ly/127.0.0.1#5335 +server=/.imkev.com/127.0.0.1#5335 +server=/.imlive.com/127.0.0.1#5335 +server=/.immigration.gov.tw/127.0.0.1#5335 +server=/.imrworldwide.com/127.0.0.1#5335 +server=/.im.tv/127.0.0.1#5335 +server=/.incredibox.fr/127.0.0.1#5335 +server=/.iner.gov.tw/127.0.0.1#5335 +server=/.initiativesforchina.org/127.0.0.1#5335 +server=/.inmediahk.net/127.0.0.1#5335 +server=/.innermongolia.org/127.0.0.1#5335 +server=/.instagram.com/127.0.0.1#5335 +server=/.interestinglaugh.com/127.0.0.1#5335 +server=/.interfaceaddiction.com/127.0.0.1#5335 +server=/.internationalrivers.org/127.0.0.1#5335 +server=/.internetdefenseleague.org/127.0.0.1#5335 +server=/.internetfreedom.org/127.0.0.1#5335 +server=/.internetpopculture.com/127.0.0.1#5335 +server=/.inxian.com/127.0.0.1#5335 +server=/.iphone4hongkong.com/127.0.0.1#5335 +server=/.iphonehacks.com/127.0.0.1#5335 +server=/.iphonix.fr/127.0.0.1#5335 +server=/.ipicture.ru/127.0.0.1#5335 +server=/.ipobar.com/127.0.0.1#5335 +server=/.ippotv.com/127.0.0.1#5335 +server=/.iptorrents.com/127.0.0.1#5335 +server=/.ipvanish.com/127.0.0.1#5335 +server=/.iredmail.org/127.0.0.1#5335 +server=/.ironbigfools.compython.net/127.0.0.1#5335 +server=/.ironicsoftware.com/127.0.0.1#5335 +server=/.ironpython.net/127.0.0.1#5335 +server=/.isaacmao.com/127.0.0.1#5335 +server=/.isgreat.org/127.0.0.1#5335 +server=/.islamicity.com/127.0.0.1#5335 +server=/.islam.org.hk/127.0.0.1#5335 +server=/.ismprofessional.net/127.0.0.1#5335 +server=/.isohunt.com/127.0.0.1#5335 +server=/.israbox.com/127.0.0.1#5335 +server=/.istockphoto.com/127.0.0.1#5335 +server=/.isunaffairs.com/127.0.0.1#5335 +server=/.isuntv.com/127.0.0.1#5335 +server=/.itaboo.info/127.0.0.1#5335 +server=/.ithelp.ithome.com.tw/127.0.0.1#5335 +server=/.itrc.gov.tw/127.0.0.1#5335 +server=/.itshidden.com/127.0.0.1#5335 +server=/.itweet.net/127.0.0.1#5335 +server=/.iu45.com/127.0.0.1#5335 +server=/.iverycd.com/127.0.0.1#5335 +server=/.ixquick.com/127.0.0.1#5335 +server=/.izaobao.us/127.0.0.1#5335 +server=/.izles.net/127.0.0.1#5335 +server=/.japan-whores.com/127.0.0.1#5335 +server=/.jayparkinsonmd.com/127.0.0.1#5335 +server=/.jbtalks.cc/127.0.0.1#5335 +server=/.jbtalks.com/127.0.0.1#5335 +server=/.jbtalks.my/127.0.0.1#5335 +server=/.jeanyim.com/127.0.0.1#5335 +server=/.jgoodies.com/127.0.0.1#5335 +server=/.jiaoyou8.com/127.0.0.1#5335 +server=/.jiehua.cz/127.0.0.1#5335 +server=/.jieshibaobao.com/127.0.0.1#5335 +server=/.jike.com/127.0.0.1#5335 +server=/.jimoparty.com/127.0.0.1#5335 +server=/.jinbushe.org/127.0.0.1#5335 +server=/.jingpin.org/127.0.0.1#5335 +server=/.jitouch.com/127.0.0.1#5335 +server=/.jkforum.net/127.0.0.1#5335 +server=/.j.mp/127.0.0.1#5335 +server=/.joachims.org/127.0.0.1#5335 +server=/.jobso.tv/127.0.0.1#5335 +server=/.joeedelman.com/127.0.0.1#5335 +server=/.journalofdemocracy.org/127.0.0.1#5335 +server=/.jpopforum.net/127.0.0.1#5335 +server=/.juliereyc.com/127.0.0.1#5335 +server=/.junauza.com/127.0.0.1#5335 +server=/.junefourth-20.net/127.0.0.1#5335 +server=/.justfreevpn.com/127.0.0.1#5335 +server=/.justtristan.com/127.0.0.1#5335 +server=/.juziyue.com/127.0.0.1#5335 +server=/.jwmusic.org/127.0.0.1#5335 +server=/.jyxf.net/127.0.0.1#5335 +server=/.jyzj.waqn.com/127.0.0.1#5335 +server=/.k2.xrea.com/127.0.0.1#5335 +server=/.kagyuoffice.org.tw/127.0.0.1#5335 +server=/.kaiyuan.de/127.0.0.1#5335 +server=/.kakao.com/127.0.0.1#5335 +server=/.kanzhongguo.com/127.0.0.1#5335 +server=/.kanzhongguo.eu/127.0.0.1#5335 +server=/.karayou.com/127.0.0.1#5335 +server=/.ka-wai.com/127.0.0.1#5335 +server=/.kcsoftwares.com/127.0.0.1#5335 +server=/.kechara.com/127.0.0.1#5335 +server=/.keepandshare.com/127.0.0.1#5335 +server=/.kendincos.net/127.0.0.1#5335 +server=/.kenengba.com/127.0.0.1#5335 +server=/.keontech.net/127.0.0.1#5335 +server=/.khcc.gov.tw/127.0.0.1#5335 +server=/.khms.gov.tw/127.0.0.1#5335 +server=/.khmusic.com.tw/127.0.0.1#5335 +server=/.killwall.com/127.0.0.1#5335 +server=/.kineox.free.fr/127.0.0.1#5335 +server=/.kingdomsalvation.org/127.0.0.1#5335 +server=/.kinghost.com/127.0.0.1#5335 +server=/.kingstone.com.tw/127.0.0.1#5335 +server=/.kissbbao.cn/127.0.0.1#5335 +server=/.kissyoutube.com/127.0.0.1#5335 +server=/.kk.gov.tw/127.0.0.1#5335 +server=/.klccab.gov.tw/127.0.0.1#5335 +server=/.klra.gov.tw/127.0.0.1#5335 +server=/.klsio.gov.tw/127.0.0.1#5335 +server=/.kmh.gov.tw/127.0.0.1#5335 +server=/.kmseh.gov.tw/127.0.0.1#5335 +server=/.knowledgerush.com/127.0.0.1#5335 +server=/.kodingen.com/127.0.0.1#5335 +server=/.kompozer.net/127.0.0.1#5335 +server=/.koolsolutions.com/127.0.0.1#5335 +server=/.koornk.com/127.0.0.1#5335 +server=/.kt.kcome.org/127.0.0.1#5335 +server=/.kui.name/127.0.0.1#5335 +server=/.kun.im/127.0.0.1#5335 +server=/.kurtmunger.com/127.0.0.1#5335 +server=/.kusocity.com/127.0.0.1#5335 +server=/.kwongwah.com.my/127.0.0.1#5335 +server=/.kyohk.net/127.0.0.1#5335 +server=/.kzeng.info/127.0.0.1#5335 +server=/.labiennale.org/127.0.0.1#5335 +server=/.ladbrokes.com/127.0.0.1#5335 +server=/.la-forum.org/127.0.0.1#5335 +server=/.lagranepoca.com/127.0.0.1#5335 +server=/.lalulalu.com/127.0.0.1#5335 +server=/.laogai.org/127.0.0.1#5335 +server=/.laomiu.com/127.0.0.1#5335 +server=/.laoyang.info/127.0.0.1#5335 +server=/.laptoplockdown.com/127.0.0.1#5335 +server=/.laqingdan.net/127.0.0.1#5335 +server=/.larsgeorge.com/127.0.0.1#5335 +server=/.lastfm.es/127.0.0.1#5335 +server=/.latelinenews.com/127.0.0.1#5335 +server=/.latimesblogs.latimes.com/127.0.0.1#5335 +server=/.lazarsearlymusic.com/127.0.0.1#5335 +server=/.leecheukyan.org/127.0.0.1#5335 +server=/.legaltech.law.com/127.0.0.1#5335 +server=/.lematin.ch/127.0.0.1#5335 +server=/.lemonde.fr/127.0.0.1#5335 +server=/.lenwhite.com/127.0.0.1#5335 +server=/.lerosua.org/127.0.0.1#5335 +server=/.lesoir.be/127.0.0.1#5335 +server=/.lesscss.org/127.0.0.1#5335 +server=/.letscorp.net/127.0.0.1#5335 +server=/.liansi.org/127.0.0.1#5335 +server=/.lianyue.net/127.0.0.1#5335 +server=/.liaowangxizang.net/127.0.0.1#5335 +server=/.liberal.org.hk/127.0.0.1#5335 +server=/.libertytimes.com.tw/127.0.0.1#5335 +server=/.lich355.megabyet.net/127.0.0.1#5335 +server=/.lidecheng.com/127.0.0.1#5335 +server=/.life.fly4ever.me/127.0.0.1#5335 +server=/.limiao.net/127.0.0.1#5335 +server=/.line.me/127.0.0.1#5335 +server=/.linglingfa.com/127.0.0.1#5335 +server=/.lingvodics.com/127.0.0.1#5335 +server=/.linkideo.com/127.0.0.1#5335 +server=/.linuxconfig.org/127.0.0.1#5335 +server=/.linux-engineer.net/127.0.0.1#5335 +server=/.linuxreviews.org/127.0.0.1#5335 +server=/.linuxtoy.org/127.0.0.1#5335 +server=/.lipuman.com/127.0.0.1#5335 +server=/.listentoyoutube.com/127.0.0.1#5335 +server=/.list.ly/127.0.0.1#5335 +server=/.listorious.com/127.0.0.1#5335 +server=/.lists.debian.org/127.0.0.1#5335 +server=/.lists.w3.org/127.0.0.1#5335 +server=/.littlebigdetails.com/127.0.0.1#5335 +server=/.liudejun.com/127.0.0.1#5335 +server=/.liuhanyu.com/127.0.0.1#5335 +server=/.liujianshu.com/127.0.0.1#5335 +server=/.liu.lu/127.0.0.1#5335 +server=/.liuxiaotong.com/127.0.0.1#5335 +server=/.liveleak.com/127.0.0.1#5335 +server=/.livestation.com/127.0.0.1#5335 +server=/.livestream.com/127.0.0.1#5335 +server=/.livevideo.com/127.0.0.1#5335 +server=/.livingonline.us/127.0.0.1#5335 +server=/.livingstream.com/127.0.0.1#5335 +server=/.lizhizhuangbi.com/127.0.0.1#5335 +server=/.lkcn.net/127.0.0.1#5335 +server=/.localpresshk.com/127.0.0.1#5335 +server=/.lockdown.com/127.0.0.1#5335 +server=/.lockestek.com/127.0.0.1#5335 +server=/.logbot.net/127.0.0.1#5335 +server=/.logiqx.com/127.0.0.1#5335 +server=/.logmike.com/127.0.0.1#5335 +server=/.log.riku.me/127.0.0.1#5335 +server=/.london.neighborhoodr.com/127.0.0.1#5335 +server=/.longhair.hk/127.0.0.1#5335 +server=/.longtermly.net/127.0.0.1#5335 +server=/.lookatgame.com/127.0.0.1#5335 +server=/.lookingglasstheatre.org/127.0.0.1#5335 +server=/.lookpic.com/127.0.0.1#5335 +server=/.lotuslight.org.tw/127.0.0.1#5335 +server=/.lovequicksilver.com/127.0.0.1#5335 +server=/.lovesphinx.tk/127.0.0.1#5335 +server=/.lrfz.com/127.0.0.1#5335 +server=/.lsd.org.hk/127.0.0.1#5335 +server=/.lsforum.net/127.0.0.1#5335 +server=/.lsmchinese.org/127.0.0.1#5335 +server=/.lsmkorean.org/127.0.0.1#5335 +server=/.lsm.org/127.0.0.1#5335 +server=/.lsxszzg.com/127.0.0.1#5335 +server=/.lua.org/127.0.0.1#5335 +server=/.lua-users.org/127.0.0.1#5335 +server=/.lungtanhr.gov.tw/127.0.0.1#5335 +server=/.luntan.zaobao.com/127.0.0.1#5335 +server=/.lupm.org/127.0.0.1#5335 +server=/.lushstories.com/127.0.0.1#5335 +server=/.lvhai.org/127.0.0.1#5335 +server=/.lyricsquote.com/127.0.0.1#5335 +server=/.mad-ar.ch/127.0.0.1#5335 +server=/.madmenunbuttoned.com/127.0.0.1#5335 +server=/.magazines.sina.com.tw/127.0.0.1#5335 +server=/.maiio.net/127.0.0.1#5335 +server=/.mail-archive.com/127.0.0.1#5335 +server=/.maiplus.com/127.0.0.1#5335 +server=/.makemymood.com/127.0.0.1#5335 +server=/.makzhou.warehouse333.com/127.0.0.1#5335 +server=/.malaysiakini.com/127.0.0.1#5335 +server=/.marc.info/127.0.0.1#5335 +server=/.marco.org/127.0.0.1#5335 +server=/.marguerite.su/127.0.0.1#5335 +server=/.marines.mil/127.0.0.1#5335 +server=/.markmilian.com/127.0.0.1#5335 +server=/.martau.com/127.0.0.1#5335 +server=/.martincartoons.com/127.0.0.1#5335 +server=/.maruta.be/127.0.0.1#5335 +server=/.marxist.com/127.0.0.1#5335 +server=/.marxist.net/127.0.0.1#5335 +server=/.marxists.org/127.0.0.1#5335 +server=/.mashable.com/127.0.0.1#5335 +server=/.mash.to/127.0.0.1#5335 +server=/.matainja.com/127.0.0.1#5335 +server=/.mathiew-badimon.com/127.0.0.1#5335 +server=/.matsu-news.gov.tw/127.0.0.1#5335 +server=/.matsushimakaede.com/127.0.0.1#5335 +server=/.maxgif.com/127.0.0.1#5335 +server=/.mayimayi.com/127.0.0.1#5335 +server=/.mcadforums.com/127.0.0.1#5335 +server=/.mcfog.com/127.0.0.1#5335 +server=/.md-t.org/127.0.0.1#5335 +server=/.mediafire.com/127.0.0.1#5335 +server=/.meetup.com/127.0.0.1#5335 +server=/.mefeedia.com/127.0.0.1#5335 +server=/.megaporn.com/127.0.0.1#5335 +server=/.megarotic.com/127.0.0.1#5335 +server=/.megavideo.com/127.0.0.1#5335 +server=/.megurineluka.com/127.0.0.1#5335 +server=/.meirixiaochao.com/127.0.0.1#5335 +server=/.melon-peach.com/127.0.0.1#5335 +server=/.memedia.cn/127.0.0.1#5335 +server=/.meme.yahoo.com/127.0.0.1#5335 +server=/.memrijttm.org/127.0.0.1#5335 +server=/.merit-times.com.tw/127.0.0.1#5335 +server=/.mesotw.com/127.0.0.1#5335 +server=/.metacafe.com/127.0.0.1#5335 +server=/.meteorshowersonline.com/127.0.0.1#5335 +server=/.metrolife.ca/127.0.0.1#5335 +server=/.mgoon.com/127.0.0.1#5335 +server=/.mgstage.com/127.0.0.1#5335 +server=/.mh4u.org/127.0.0.1#5335 +server=/.mhradio.org/127.0.0.1#5335 +server=/.michaelanti.com/127.0.0.1#5335 +server=/.michaelmarketl.com/127.0.0.1#5335 +server=/.middle-way.net/127.0.0.1#5335 +server=/.mihk.hk/127.0.0.1#5335 +server=/.mihua.org/127.0.0.1#5335 +server=/.mike.cz.cc/127.0.0.1#5335 +server=/.mimivip.com/127.0.0.1#5335 +server=/.minghui.org/127.0.0.1#5335 +server=/.minghui-school.org/127.0.0.1#5335 +server=/.mingjinglishi.com/127.0.0.1#5335 +server=/.mingjingnews.com/127.0.0.1#5335 +server=/.mingpaocanada.com/127.0.0.1#5335 +server=/.mingpao.com/127.0.0.1#5335 +server=/.mingpaomonthly.com/127.0.0.1#5335 +server=/.mingpaonews.com/127.0.0.1#5335 +server=/.mingpaony.com/127.0.0.1#5335 +server=/.mingpaosf.com/127.0.0.1#5335 +server=/.mingpaotor.com/127.0.0.1#5335 +server=/.mingpaovan.com/127.0.0.1#5335 +server=/.minimalmac.com/127.0.0.1#5335 +server=/.mininova.org/127.0.0.1#5335 +server=/.minzhuhua.net/127.0.0.1#5335 +server=/.minzhuzhongguo.org/127.0.0.1#5335 +server=/.miroguide.com/127.0.0.1#5335 +server=/.mirrorbooks.com/127.0.0.1#5335 +server=/.mitbbs.com/127.0.0.1#5335 +server=/.mixedmedialabs.com/127.0.0.1#5335 +server=/.mixero.com/127.0.0.1#5335 +server=/.mixpod.com/127.0.0.1#5335 +server=/.mixx.com/127.0.0.1#5335 +server=/.mizzmona.com/127.0.0.1#5335 +server=/.mk5000.com/127.0.0.1#5335 +server=/.mlcool.com/127.0.0.1#5335 +server=/.mmaaxx.com/127.0.0.1#5335 +server=/.mmmca.com/127.0.0.1#5335 +server=/.mobatek.net/127.0.0.1#5335 +server=/.mobile01.com/127.0.0.1#5335 +server=/.mobileways.de/127.0.0.1#5335 +server=/.mobypicture.com/127.0.0.1#5335 +server=/.moby.to/127.0.0.1#5335 +server=/.modfetish.com/127.0.0.1#5335 +server=/.moe.gov.tw/127.0.0.1#5335 +server=/.mog.com/127.0.0.1#5335 +server=/.molihua.org/127.0.0.1#5335 +server=/.mondex.org/127.0.0.1#5335 +server=/.monitorchina.org/127.0.0.1#5335 +server=/.moonriver7.files.wordpress.com/127.0.0.1#5335 +server=/.morningsun.org/127.0.0.1#5335 +server=/.m.oulove.org/127.0.0.1#5335 +server=/.movabletype.com/127.0.0.1#5335 +server=/.moviefap.com/127.0.0.1#5335 +server=/.mp3ye.eu/127.0.0.1#5335 +server=/.mpettis.com/127.0.0.1#5335 +server=/.mpfinance.com/127.0.0.1#5335 +server=/.mpinews.com/127.0.0.1#5335 +server=/.m.plixi.com/127.0.0.1#5335 +server=/.mrdoob.com/127.0.0.1#5335 +server=/.mrtweet.com/127.0.0.1#5335 +server=/.msguancha.com/127.0.0.1#5335 +server=/.m.slandr.net/127.0.0.1#5335 +server=/.mthruf.com/127.0.0.1#5335 +server=/.m.tweete.net/127.0.0.1#5335 +server=/.mtw.tl/127.0.0.1#5335 +server=/.multiply.com/127.0.0.1#5335 +server=/.multiproxy.org/127.0.0.1#5335 +server=/.multiupload.com/127.0.0.1#5335 +server=/.muouju.com/127.0.0.1#5335 +server=/.muselinks.co.jp/127.0.0.1#5335 +server=/.music.jwmusic.org/127.0.0.1#5335 +server=/.muzi.com/127.0.0.1#5335 +server=/.muzi.net/127.0.0.1#5335 +server=/.muzu.tv/127.0.0.1#5335 +server=/.mvdis.gov.tw/127.0.0.1#5335 +server=/.mx981.com/127.0.0.1#5335 +server=/.myactimes.com/127.0.0.1#5335 +server=/.my-addr.com/127.0.0.1#5335 +server=/.myaudiocast.com/127.0.0.1#5335 +server=/.myav.com.tw/127.0.0.1#5335 +server=/.my.backchina.com/127.0.0.1#5335 +server=/.myboooks.googlepages.com/127.0.0.1#5335 +server=/.mychinamyhome.com/127.0.0.1#5335 +server=/.myeclipseide.com/127.0.0.1#5335 +server=/.myforum.com.hk/127.0.0.1#5335 +server=/.myforum.com.uk/127.0.0.1#5335 +server=/.myfreshnet.com/127.0.0.1#5335 +server=/.my.keso.cn/127.0.0.1#5335 +server=/.myopenid.com/127.0.0.1#5335 +server=/.my.opera.com/127.0.0.1#5335 +server=/.mypaper.pchome.com.tw/127.0.0.1#5335 +server=/.myparagliding.com/127.0.0.1#5335 +server=/.mypopescu.com/127.0.0.1#5335 +server=/.my-proxy.com/127.0.0.1#5335 +server=/.myshare.url.com.tw/127.0.0.1#5335 +server=/.mysinablog.com/127.0.0.1#5335 +server=/.myspace.com/127.0.0.1#5335 +server=/.myvlog.im.tv/127.0.0.1#5335 +server=/.naacoalition.org/127.0.0.1#5335 +server=/.naitik.net/127.0.0.1#5335 +server=/.nakido.com/127.0.0.1#5335 +server=/.namsisi.com/127.0.0.1#5335 +server=/.nanyang.com/127.0.0.1#5335 +server=/.nanyangpost.com/127.0.0.1#5335 +server=/.nanzao.com/127.0.0.1#5335 +server=/.naol.ca/127.0.0.1#5335 +server=/.national-lottery.co.uk/127.0.0.1#5335 +server=/.navicat.com/127.0.0.1#5335 +server=/.navigeaters.com/127.0.0.1#5335 +server=/.navy.mil/127.0.0.1#5335 +server=/.nccwatch.org.tw/127.0.0.1#5335 +server=/.ncdr.nat.gov.tw/127.0.0.1#5335 +server=/.nch.com.tw/127.0.0.1#5335 +server=/.ncn.org/127.0.0.1#5335 +server=/.ncree.gov.tw/127.0.0.1#5335 +server=/.nde.de/127.0.0.1#5335 +server=/.ndr.de/127.0.0.1#5335 +server=/.nekoslovakia.net/127.0.0.1#5335 +server=/.nerch.gov.tw/127.0.0.1#5335 +server=/.ner.gov.tw/127.0.0.1#5335 +server=/.nerhl.gov.tw/127.0.0.1#5335 +server=/.nertt.gov.tw/127.0.0.1#5335 +server=/.netcolony.com/127.0.0.1#5335 +server=/.netflix.com/127.0.0.1#5335 +server=/.netme.cc/127.0.0.1#5335 +server=/.networkedblogs.com/127.0.0.1#5335 +server=/.neverforget8964.org/127.0.0.1#5335 +server=/.new-3lunch.net/127.0.0.1#5335 +server=/.new-akiba.com/127.0.0.1#5335 +server=/.newcenturymc.com/127.0.0.1#5335 +server=/.newcenturynews.com/127.0.0.1#5335 +server=/.newchen.com/127.0.0.1#5335 +server=/.newgrounds.com/127.0.0.1#5335 +server=/.newlandmagazine.com.au/127.0.0.1#5335 +server=/.news100.com.tw/127.0.0.1#5335 +server=/.newsancai.com/127.0.0.1#5335 +server=/.news.atebits.com/127.0.0.1#5335 +server=/.news.backchina.com/127.0.0.1#5335 +server=/.news.bbc.co.uk/127.0.0.1#5335 +server=/.newscn.org/127.0.0.1#5335 +server=/.news.cnyes.com/127.0.0.1#5335 +server=/.newsforums.bbc.co.uk/127.0.0.1#5335 +server=/.news.ghostery.com/127.0.0.1#5335 +server=/.news.google.com.hk/127.0.0.1#5335 +server=/.newsminer.com/127.0.0.1#5335 +server=/.news.msn.com.tw/127.0.0.1#5335 +server=/.news.omy.sg/127.0.0.1#5335 +server=/.news.pchome.com.tw/127.0.0.1#5335 +server=/.newspeak.cc/127.0.0.1#5335 +server=/.newspp.org/127.0.0.1#5335 +server=/.news.sina.com.hk/127.0.0.1#5335 +server=/.news.sina.com.tw/127.0.0.1#5335 +server=/.news.singtao.ca/127.0.0.1#5335 +server=/.newstapa.org/127.0.0.1#5335 +server=/.newtaiwan.com.tw/127.0.0.1#5335 +server=/.newtalk.tw/127.0.0.1#5335 +server=/.newyorktimes.com/127.0.0.1#5335 +server=/.nexton-net.jp/127.0.0.1#5335 +server=/.nexttv.com.tw/127.0.0.1#5335 +server=/.nf.id.au/127.0.0.1#5335 +server=/.nga.mil/127.0.0.1#5335 +server=/.ngensis.com/127.0.0.1#5335 +server=/.nhri.gov.tw/127.0.0.1#5335 +server=/.nic.cz.cc/127.0.0.1#5335 +server=/.nici.nat.gov.tw/127.0.0.1#5335 +server=/.nicovideo.tw/127.0.0.1#5335 +server=/.nict.gov.tw/127.0.0.1#5335 +server=/.nighost.org/127.0.0.1#5335 +server=/.nintendium.com/127.0.0.1#5335 +server=/.nintendowifi.net/127.0.0.1#5335 +server=/.njactb.org/127.0.0.1#5335 +server=/.njuice.com/127.0.0.1#5335 +server=/.nlfreevpn.com/127.0.0.1#5335 +server=/.nmh.gov.tw/127.0.0.1#5335 +server=/.nmmba.gov.tw/127.0.0.1#5335 +server=/.nmp.gov.tw/127.0.0.1#5335 +server=/.nmtl.gov.tw/127.0.0.1#5335 +server=/.nmvttc.gov.tw/127.0.0.1#5335 +server=/.nobelprize.org/127.0.0.1#5335 +server=/.nobel.se/127.0.0.1#5335 +server=/.nobodycanstop.us/127.0.0.1#5335 +server=/.nokogiri.org/127.0.0.1#5335 +server=/.nokola.com/127.0.0.1#5335 +server=/.noobbox.com/127.0.0.1#5335 +server=/.notes.alexdong.com/127.0.0.1#5335 +server=/.novelasia.com/127.0.0.1#5335 +server=/.nownews.com/127.0.0.1#5335 +server=/.nowtorrents.com/127.0.0.1#5335 +server=/.noypf.com/127.0.0.1#5335 +server=/.npa.go.jp/127.0.0.1#5335 +server=/.npm.gov.tw/127.0.0.1#5335 +server=/.nps.gov/127.0.0.1#5335 +server=/.nrk.no/127.0.0.1#5335 +server=/.nsc.gov.tw/127.0.0.1#5335 +server=/.nspo.gov.tw/127.0.0.1#5335 +server=/.nstm.gov.tw/127.0.0.1#5335 +server=/.ntdmh.gov.tw/127.0.0.1#5335 +server=/.ntdtv.ca/127.0.0.1#5335 +server=/.ntdtv.co/127.0.0.1#5335 +server=/.ntdtv.com/127.0.0.1#5335 +server=/.ntdtv.org/127.0.0.1#5335 +server=/.ntdtv.ru/127.0.0.1#5335 +server=/.ntl.gov.tw/127.0.0.1#5335 +server=/.ntsec.gov.tw/127.0.0.1#5335 +server=/.ntuh.gov.tw/127.0.0.1#5335 +server=/.nuexpo.com/127.0.0.1#5335 +server=/.nurgo-software.com/127.0.0.1#5335 +server=/.nuvid.com/127.0.0.1#5335 +server=/.nuzcom.com/127.0.0.1#5335 +server=/.nvquan.org/127.0.0.1#5335 +server=/.nvri.gov.tw/127.0.0.1#5335 +server=/.nydus.ca/127.0.0.1#5335 +server=/.nysingtao.com/127.0.0.1#5335 +server=/.nytco.com/127.0.0.1#5335 +server=/.nyt.com/127.0.0.1#5335 +server=/.nytimes.com/127.0.0.1#5335 +server=/.nytimg.com/127.0.0.1#5335 +server=/.nzchinese.net.nz/127.0.0.1#5335 +server=/.observechina.net/127.0.0.1#5335 +server=/.oclp.hk/127.0.0.1#5335 +server=/.october-review.org/127.0.0.1#5335 +server=/.offbeatchina.com/127.0.0.1#5335 +server=/.ogaoga.org/127.0.0.1#5335 +server=/.oikos.com.tw/127.0.0.1#5335 +server=/.oiktv.com/127.0.0.1#5335 +server=/.oizoblog.com/127.0.0.1#5335 +server=/.okayfreedom.com/127.0.0.1#5335 +server=/.old-cat.net/127.0.0.1#5335 +server=/.old.nabble.com/127.0.0.1#5335 +server=/.olumpo.com/127.0.0.1#5335 +server=/.olympicwatch.org/127.0.0.1#5335 +server=/.omgili.com/127.0.0.1#5335 +server=/.omnitalk.com/127.0.0.1#5335 +server=/.on.cc/127.0.0.1#5335 +server=/.one.xthost.info/127.0.0.1#5335 +server=/.onlylady.cn/127.0.0.1#5335 +server=/.onmoon.com/127.0.0.1#5335 +server=/.onmoon.net/127.0.0.1#5335 +server=/.oopsforum.com/127.0.0.1#5335 +server=/.ooyala.com/127.0.0.1#5335 +server=/.open.com.hk/127.0.0.1#5335 +server=/.opendemocracy.net/127.0.0.1#5335 +server=/.openid.net/127.0.0.1#5335 +server=/.openleaks.org/127.0.0.1#5335 +server=/.openvpn.net/127.0.0.1#5335 +server=/.openvpn.org/127.0.0.1#5335 +server=/.openwebster.com/127.0.0.1#5335 +server=/.opml.radiotime.com/127.0.0.1#5335 +server=/.opnir.com/127.0.0.1#5335 +server=/.orientaldaily.com.my/127.0.0.1#5335 +server=/.orient-doll.com/127.0.0.1#5335 +server=/.orn.jp/127.0.0.1#5335 +server=/.orzistic.org/127.0.0.1#5335 +server=/.osfoora.com/127.0.0.1#5335 +server=/.ourdearamy.com/127.0.0.1#5335 +server=/.oursogo.com/127.0.0.1#5335 +server=/.oursteps.com.au/127.0.0.1#5335 +server=/.overlapr.com/127.0.0.1#5335 +server=/.owl.li/127.0.0.1#5335 +server=/.ow.ly/127.0.0.1#5335 +server=/.oyax.com/127.0.0.1#5335 +server=/.ozchinese.com/127.0.0.1#5335 +server=/.ozyoyo.com/127.0.0.1#5335 +server=/.pabp.gov.tw/127.0.0.1#5335 +server=/.pacificpoker.com/127.0.0.1#5335 +server=/.packages.debian.org/127.0.0.1#5335 +server=/.packetix.net/127.0.0.1#5335 +server=/.page2rss.com/127.0.0.1#5335 +server=/.page.bid.yahoo.com/127.0.0.1#5335 +server=/.pagodabox.com/127.0.0.1#5335 +server=/.paint.net/127.0.0.1#5335 +server=/.palacemoon.com/127.0.0.1#5335 +server=/.pandora.com/127.0.0.1#5335 +server=/.pandora.tv/127.0.0.1#5335 +server=/.panluan.net/127.0.0.1#5335 +server=/.panoramio.com/127.0.0.1#5335 +server=/.pao-pao.net/127.0.0.1#5335 +server=/.paperb.us/127.0.0.1#5335 +server=/.paper.li/127.0.0.1#5335 +server=/.paper-replika.com/127.0.0.1#5335 +server=/.parade.com/127.0.0.1#5335 +server=/.parislemon.com/127.0.0.1#5335 +server=/.pastebin.com/127.0.0.1#5335 +server=/.pastie.org/127.0.0.1#5335 +server=/.patehr.gov.tw/127.0.0.1#5335 +server=/.pbs.org/127.0.0.1#5335 +server=/.pbwiki.com/127.0.0.1#5335 +server=/.pbworks.com/127.0.0.1#5335 +server=/.pbxes.com/127.0.0.1#5335 +server=/.pbxes.org/127.0.0.1#5335 +server=/.pcdiscuss.com/127.0.0.1#5335 +server=/.pcdvd.com.tw/127.0.0.1#5335 +server=/.pchome.com.tw/127.0.0.1#5335 +server=/.pct.org.tw/127.0.0.1#5335 +server=/.pcworld.com/127.0.0.1#5335 +server=/.pdetails.com/127.0.0.1#5335 +server=/.pdproxy.com/127.0.0.1#5335 +server=/.peacefire.org/127.0.0.1#5335 +server=/.peacehall.com/127.0.0.1#5335 +server=/.peeasian.com/127.0.0.1#5335 +server=/.peerpong.com/127.0.0.1#5335 +server=/.pekingduck.org/127.0.0.1#5335 +server=/.penchinese.com/127.0.0.1#5335 +server=/.penchinese.net/127.0.0.1#5335 +server=/.pengyulong.com/127.0.0.1#5335 +server=/.penthouse.com/127.0.0.1#5335 +server=/.peopo.org/127.0.0.1#5335 +server=/.percy.in/127.0.0.1#5335 +server=/.perfectgirls.net/127.0.0.1#5335 +server=/.perfectvpn.net/127.0.0.1#5335 +server=/.perfspot.com/127.0.0.1#5335 +server=/.perlhowto.com/127.0.0.1#5335 +server=/.pet.gov.tw/127.0.0.1#5335 +server=/.philly.com/127.0.0.1#5335 +server=/.photofocus.com/127.0.0.1#5335 +server=/.photos.dailyme.com/127.0.0.1#5335 +server=/.photo.utom.us/127.0.0.1#5335 +server=/.phuquocservices.com/127.0.0.1#5335 +server=/.picasaweb.google.com/127.0.0.1#5335 +server=/.picidae.net/127.0.0.1#5335 +server=/.picturesocial.com/127.0.0.1#5335 +server=/.pictures.playboy.com/127.0.0.1#5335 +server=/.pidown.com/127.0.0.1#5335 +server=/.pign.net/127.0.0.1#5335 +server=/.pimg.tw/127.0.0.1#5335 +server=/.pin6.com/127.0.0.1#5335 +server=/.ping.fm/127.0.0.1#5335 +server=/.pinoy-n.com/127.0.0.1#5335 +server=/.pioneer-worker.forums-free.com/127.0.0.1#5335 +server=/.piring.com/127.0.0.1#5335 +server=/.pixanalytics.com/127.0.0.1#5335 +server=/.pixelqi.com/127.0.0.1#5335 +server=/.pixfs.net/127.0.0.1#5335 +server=/.pixnet.cc/127.0.0.1#5335 +server=/.pixnet.net/127.0.0.1#5335 +server=/.pixplug.in/127.0.0.1#5335 +server=/.pk.com/127.0.0.1#5335 +server=/.placemix.com/127.0.0.1#5335 +server=/.planetsuzy.org/127.0.0.1#5335 +server=/.playboy.com/127.0.0.1#5335 +server=/.plays.com.tw/127.0.0.1#5335 +server=/.plm.org.hk/127.0.0.1#5335 +server=/.plunder.com/127.0.0.1#5335 +server=/.plurk.com/127.0.0.1#5335 +server=/.plurktop.mmdays.com/127.0.0.1#5335 +server=/.plus28.com/127.0.0.1#5335 +server=/.plusbb.com/127.0.0.1#5335 +server=/.pmates.com/127.0.0.1#5335 +server=/.po2b.com/127.0.0.1#5335 +server=/.podictionary.com/127.0.0.1#5335 +server=/.pokerstars.com/127.0.0.1#5335 +server=/.politicalchina.org/127.0.0.1#5335 +server=/.popvote.hk/127.0.0.1#5335 +server=/.popyard.com/127.0.0.1#5335 +server=/.popyard.org/127.0.0.1#5335 +server=/.porn2.com/127.0.0.1#5335 +server=/.pornbase.org/127.0.0.1#5335 +server=/.porn.com/127.0.0.1#5335 +server=/.pornhub.com/127.0.0.1#5335 +server=/.pornmm.net/127.0.0.1#5335 +server=/.pornoxo.com/127.0.0.1#5335 +server=/.pornrapidshare.com/127.0.0.1#5335 +server=/.pornstarclub.com/127.0.0.1#5335 +server=/.porntube.com/127.0.0.1#5335 +server=/.pornvisit.com/127.0.0.1#5335 +server=/.portis21.spaces.live.com/127.0.0.1#5335 +server=/.pose.com/127.0.0.1#5335 +server=/.postadult.com/127.0.0.1#5335 +server=/.post.anyu.org/127.0.0.1#5335 +server=/.posterous.com/127.0.0.1#5335 +server=/.post.ly/127.0.0.1#5335 +server=/.powerapple.com/127.0.0.1#5335 +server=/.power.com/127.0.0.1#5335 +server=/.powercx.com/127.0.0.1#5335 +server=/.prayforchina.net/127.0.0.1#5335 +server=/.premeforwindows7.com/127.0.0.1#5335 +server=/.presentationzen.com/127.0.0.1#5335 +server=/.president.gov.tw/127.0.0.1#5335 +server=/.prestige-av.com/127.0.0.1#5335 +server=/.previewshots.com/127.0.0.1#5335 +server=/.privacybox.de/127.0.0.1#5335 +server=/.privateinternetaccess.com/127.0.0.1#5335 +server=/.privatepaste.com/127.0.0.1#5335 +server=/.privatetunnel.com/127.0.0.1#5335 +server=/.procopytips.com/127.0.0.1#5335 +server=/.program-think.spaces.live.com/127.0.0.1#5335 +server=/.prosiben.de/127.0.0.1#5335 +server=/.provideocoalition.com/127.0.0.1#5335 +server=/.proxifier.com/127.0.0.1#5335 +server=/.proxomitron.info/127.0.0.1#5335 +server=/.proxy.org/127.0.0.1#5335 +server=/.proxypy.net/127.0.0.1#5335 +server=/.proxyroad.com/127.0.0.1#5335 +server=/.prozz.net/127.0.0.1#5335 +server=/.psblog.name/127.0.0.1#5335 +server=/.psiphon.ca/127.0.0.1#5335 +server=/.psiphon.civisec.org/127.0.0.1#5335 +server=/.pts.org.tw/127.0.0.1#5335 +server=/.ptt.cc/127.0.0.1#5335 +server=/.pubu.com.tw/127.0.0.1#5335 +server=/.puffinbrowser.com/127.0.0.1#5335 +server=/.puffstore.com/127.0.0.1#5335 +server=/.pullfolio.com/127.0.0.1#5335 +server=/.pulse.yahoo.com/127.0.0.1#5335 +server=/.pure18.com/127.0.0.1#5335 +server=/.pureconcepts.net/127.0.0.1#5335 +server=/.purepdf.com/127.0.0.1#5335 +server=/.purevpn.com/127.0.0.1#5335 +server=/.putlocker.com/127.0.0.1#5335 +server=/.puttycm.free.fr/127.0.0.1#5335 +server=/.pwned.com/127.0.0.1#5335 +server=/.python.com/127.0.0.1#5335 +server=/.python.com.tw/127.0.0.1#5335 +server=/.qanote.com/127.0.0.1#5335 +server=/.qidian.ca/127.0.0.1#5335 +server=/.qienkuen.org/127.0.0.1#5335 +server=/.qi-gong.me/127.0.0.1#5335 +server=/.qiwen.lu/127.0.0.1#5335 +server=/.qixianglu.cn/127.0.0.1#5335 +server=/.qkshare.com/127.0.0.1#5335 +server=/.qoos.com/127.0.0.1#5335 +server=/.qq.co.za/127.0.0.1#5335 +server=/.qstatus.com/127.0.0.1#5335 +server=/.qtrac.eu/127.0.0.1#5335 +server=/.qtweeter.com/127.0.0.1#5335 +server=/.quadedge.com/127.0.0.1#5335 +server=/.qusi8.net/127.0.0.1#5335 +server=/.qvodzy.org/127.0.0.1#5335 +server=/.qxbbs.org/127.0.0.1#5335 +server=/.radicalparty.org/127.0.0.1#5335 +server=/.radioaustralia.net.au/127.0.0.1#5335 +server=/.radiovaticana.org/127.0.0.1#5335 +server=/.radiovncr.com/127.0.0.1#5335 +server=/.raidcall.com.tw/127.0.0.1#5335 +server=/.rangzen.org/127.0.0.1#5335 +server=/.ranyunfei.com/127.0.0.1#5335 +server=/.rapbull.net/127.0.0.1#5335 +server=/.rapidshare8.com/127.0.0.1#5335 +server=/.rapidsharedata.com/127.0.0.1#5335 +server=/.rayfme.com/127.0.0.1#5335 +server=/.rcinet.ca/127.0.0.1#5335 +server=/.rconversation.blogs.com/127.0.0.1#5335 +server=/.rdio.com/127.0.0.1#5335 +server=/.read100.com/127.0.0.1#5335 +server=/.readingtimes.com.tw/127.0.0.1#5335 +server=/.readmoo.com/127.0.0.1#5335 +server=/.realraptalk.com/127.0.0.1#5335 +server=/.recordhistory.org/127.0.0.1#5335 +server=/.redchinacn.org/127.0.0.1#5335 +server=/.redtube.com/127.0.0.1#5335 +server=/.referer.us/127.0.0.1#5335 +server=/.reflectivecode.com/127.0.0.1#5335 +server=/.relaxbbs.com/127.0.0.1#5335 +server=/.renminbao.com/127.0.0.1#5335 +server=/.renyurenquan.org/127.0.0.1#5335 +server=/.retweeteffect.com/127.0.0.1#5335 +server=/.retweetist.com/127.0.0.1#5335 +server=/.retweetrank.com/127.0.0.1#5335 +server=/.revleft.com/127.0.0.1#5335 +server=/.revsci.net/127.0.0.1#5335 +server=/.revver.com/127.0.0.1#5335 +server=/.rfachina.com/127.0.0.1#5335 +server=/.rfamobile.org/127.0.0.1#5335 +server=/.rfa.org/127.0.0.1#5335 +server=/.rferl.org/127.0.0.1#5335 +server=/.rfi.fr/127.0.0.1#5335 +server=/.rhcloud.com/127.0.0.1#5335 +server=/.riku.me/127.0.0.1#5335 +server=/.rileyguide.com/127.0.0.1#5335 +server=/.rlwlw.com/127.0.0.1#5335 +server=/.rmjdw.com/127.0.0.1#5335 +server=/.rnw.nl/127.0.0.1#5335 +server=/.robtex.com/127.0.0.1#5335 +server=/.robustnessiskey.com/127.0.0.1#5335 +server=/.rocmp.org/127.0.0.1#5335 +server=/.rojo.com/127.0.0.1#5335 +server=/.ronjoneswriter.com/127.0.0.1#5335 +server=/.roodo.com/127.0.0.1#5335 +server=/.rotten.com/127.0.0.1#5335 +server=/.rsf-chinese.org/127.0.0.1#5335 +server=/.rsf.org/127.0.0.1#5335 +server=/.rssmeme.com/127.0.0.1#5335 +server=/.rthk.hk/127.0.0.1#5335 +server=/.rthk.org.hk/127.0.0.1#5335 +server=/.rti.org.tw/127.0.0.1#5335 +server=/.ruanyifeng.com/127.0.0.1#5335 +server=/.rushbee.com/127.0.0.1#5335 +server=/.rutube.ru/127.0.0.1#5335 +server=/.ruyiseek.com/127.0.0.1#5335 +server=/.rxhj.net/127.0.0.1#5335 +server=/.s1heng.com/127.0.0.1#5335 +server=/.s8forum.com/127.0.0.1#5335 +server=/.sacom.hk/127.0.0.1#5335 +server=/.sadpanda.us/127.0.0.1#5335 +server=/.saiq.me/127.0.0.1#5335 +server=/.salvation.org.hk/127.0.0.1#5335 +server=/.samair.ru/127.0.0.1#5335 +server=/.sammyjs.org/127.0.0.1#5335 +server=/.samsoff.es/127.0.0.1#5335 +server=/.sandnoble.com/127.0.0.1#5335 +server=/.sankaizok.com/127.0.0.1#5335 +server=/.sanmin.com.tw/127.0.0.1#5335 +server=/.sapikachu.net/127.0.0.1#5335 +server=/.savemedia.com/127.0.0.1#5335 +server=/.savetibet.de/127.0.0.1#5335 +server=/.savetibet.fr/127.0.0.1#5335 +server=/.savetibet.nl/127.0.0.1#5335 +server=/.savetibet.org/127.0.0.1#5335 +server=/.savetibet.ru/127.0.0.1#5335 +server=/.savevid.com/127.0.0.1#5335 +server=/.say2.info/127.0.0.1#5335 +server=/.scanscout.com/127.0.0.1#5335 +server=/.scmpchinese.com/127.0.0.1#5335 +server=/.scmp.com/127.0.0.1#5335 +server=/.scorecardresearch.com/127.0.0.1#5335 +server=/.scribd.com/127.0.0.1#5335 +server=/.scriptspot.com/127.0.0.1#5335 +server=/.seapuff.com/127.0.0.1#5335 +server=/.secretchina.com/127.0.0.1#5335 +server=/.secretgarden.no/127.0.0.1#5335 +server=/.secure.wikimedia.org/127.0.0.1#5335 +server=/.securitykiss.com/127.0.0.1#5335 +server=/.seesmic.com/127.0.0.1#5335 +server=/.seevpn.com/127.0.0.1#5335 +server=/.seezone.net/127.0.0.1#5335 +server=/.sejie.com/127.0.0.1#5335 +server=/.sendoid.com/127.0.0.1#5335 +server=/.sendspace.com/127.0.0.1#5335 +server=/.sesawe.net/127.0.0.1#5335 +server=/.sesawe.org/127.0.0.1#5335 +server=/.sethwklein.net/127.0.0.1#5335 +server=/.sevenload.com/127.0.0.1#5335 +server=/.sex-11.com/127.0.0.1#5335 +server=/.sex3.com/127.0.0.1#5335 +server=/.sex8.cc/127.0.0.1#5335 +server=/.sexandsubmission.com/127.0.0.1#5335 +server=/.sex.com/127.0.0.1#5335 +server=/.sexhuang.com/127.0.0.1#5335 +server=/.sexhu.com/127.0.0.1#5335 +server=/.sexinsex.net/127.0.0.1#5335 +server=/.sfileydy.com/127.0.0.1#5335 +server=/.shadow.ma/127.0.0.1#5335 +server=/.shadowsocks.org/127.0.0.1#5335 +server=/.shahamat-english.com/127.0.0.1#5335 +server=/.shangfang.org/127.0.0.1#5335 +server=/.shapeservices.com/127.0.0.1#5335 +server=/.sharebee.com/127.0.0.1#5335 +server=/.sharecool.org/127.0.0.1#5335 +server=/.share.ovi.com/127.0.0.1#5335 +server=/.share.skype.com/127.0.0.1#5335 +server=/.share.youthwant.com.tw/127.0.0.1#5335 +server=/.sharkdolphin.com/127.0.0.1#5335 +server=/.sharpdaily.com.hk/127.0.0.1#5335 +server=/.sharpdaily.hk/127.0.0.1#5335 +server=/.shaunthesheep.com/127.0.0.1#5335 +server=/.sheikyermami.com/127.0.0.1#5335 +server=/.shellmix.com/127.0.0.1#5335 +server=/.shenshou.org/127.0.0.1#5335 +server=/.shenyunperformingarts.org/127.0.0.1#5335 +server=/.shenzhoufilm.com/127.0.0.1#5335 +server=/.shifeike.blog125.fc2blog.net/127.0.0.1#5335 +server=/.shinychan.com/127.0.0.1#5335 +server=/.shitaotv.org/127.0.0.1#5335 +server=/.shixiao.org/127.0.0.1#5335 +server=/.shizhao.org/127.0.0.1#5335 +server=/.shkspr.mobi/127.0.0.1#5335 +server=/.shodanhq.com/127.0.0.1#5335 +server=/.shopping.com/127.0.0.1#5335 +server=/.showbiz.omy.sg/127.0.0.1#5335 +server=/.showtime.jp/127.0.0.1#5335 +server=/.shwchurch3.com/127.0.0.1#5335 +server=/.sidelinesnews.com/127.0.0.1#5335 +server=/.sidelinessportseatery.com/127.0.0.1#5335 +server=/.simplecd.me/127.0.0.1#5335 +server=/.simplecd.org/127.0.0.1#5335 +server=/.simpleproductivityblog.com/127.0.0.1#5335 +server=/.sina.com.tw/127.0.0.1#5335 +server=/.singtao.com/127.0.0.1#5335 +server=/.singularitys.spaces.live.com/127.0.0.1#5335 +server=/.sinoants.com/127.0.0.1#5335 +server=/.sinocast.com/127.0.0.1#5335 +server=/.sinocism.com/127.0.0.1#5335 +server=/.sino-monthly.com/127.0.0.1#5335 +server=/.sinomontreal.ca/127.0.0.1#5335 +server=/.sinonet.ca/127.0.0.1#5335 +server=/.sinopitt.info/127.0.0.1#5335 +server=/.sinoquebec.com/127.0.0.1#5335 +server=/.sis001.com/127.0.0.1#5335 +server=/.sis001.us/127.0.0.1#5335 +server=/.sis.xxx/127.0.0.1#5335 +server=/.site90.net/127.0.0.1#5335 +server=/.sitebro.tw/127.0.0.1#5335 +server=/.siteks.uk.to/127.0.0.1#5335 +server=/.site.locql.com/127.0.0.1#5335 +server=/.sitemaps.org/127.0.0.1#5335 +server=/.sites.google.com/127.0.0.1#5335 +server=/.sitetag.us/127.0.0.1#5335 +server=/.siyi123123123.spaces.live.com/127.0.0.1#5335 +server=/.skimtube.com/127.0.0.1#5335 +server=/.skybet.com/127.0.0.1#5335 +server=/.skyvegas.com/127.0.0.1#5335 +server=/.slacker.com/127.0.0.1#5335 +server=/.slavasoft.com/127.0.0.1#5335 +server=/.slheng.com/127.0.0.1#5335 +server=/.slickvpn.com/127.0.0.1#5335 +server=/.slideshare.net/127.0.0.1#5335 +server=/.slinkset.com/127.0.0.1#5335 +server=/.slutload.com/127.0.0.1#5335 +server=/.smhric.org/127.0.0.1#5335 +server=/.snapchat.com/127.0.0.1#5335 +server=/.snaptu.com/127.0.0.1#5335 +server=/.sndcdn.com/127.0.0.1#5335 +server=/.sneakme.net/127.0.0.1#5335 +server=/.snooper.co.uk/127.0.0.1#5335 +server=/.sobees.com/127.0.0.1#5335 +server=/.socialwhale.com/127.0.0.1#5335 +server=/.sockslist.net/127.0.0.1#5335 +server=/.so.com/127.0.0.1#5335 +server=/.sod.co.jp/127.0.0.1#5335 +server=/.softether.co.jp/127.0.0.1#5335 +server=/.softether-download.com/127.0.0.1#5335 +server=/.softether.org/127.0.0.1#5335 +server=/.softwarebychuck.com/127.0.0.1#5335 +server=/.so-ga.net/127.0.0.1#5335 +server=/.sogclub.com/127.0.0.1#5335 +server=/.sogou.com/127.0.0.1#5335 +server=/.sogrady.me/127.0.0.1#5335 +server=/.sohcradio.com/127.0.0.1#5335 +server=/.sohfrance.org/127.0.0.1#5335 +server=/.soh.tw/127.0.0.1#5335 +server=/.sokamonline.com/127.0.0.1#5335 +server=/.solozorro.tk/127.0.0.1#5335 +server=/.somee.com/127.0.0.1#5335 +server=/.so-news.com/127.0.0.1#5335 +server=/.songjianjun.com/127.0.0.1#5335 +server=/.sonidodelaesperanza.org/127.0.0.1#5335 +server=/.sopcast.com/127.0.0.1#5335 +server=/.sopcast.org/127.0.0.1#5335 +server=/.sorting-algorithms.com/127.0.0.1#5335 +server=/.soso.com/127.0.0.1#5335 +server=/.soumo.info/127.0.0.1#5335 +server=/.soundcloud.com/127.0.0.1#5335 +server=/.soundofhope.kr/127.0.0.1#5335 +server=/.soundofhope.org/127.0.0.1#5335 +server=/.soupofmedia.com/127.0.0.1#5335 +server=/.sourceforge.net/127.0.0.1#5335 +server=/.southnews.com.tw/127.0.0.1#5335 +server=/.sowers.org.hk/127.0.0.1#5335 +server=/.space-scape.com/127.0.0.1#5335 +server=/.spankwire.com/127.0.0.1#5335 +server=/.spb.com/127.0.0.1#5335 +server=/.speckleapp.com/127.0.0.1#5335 +server=/.speedpluss.org/127.0.0.1#5335 +server=/.spencertipping.com/127.0.0.1#5335 +server=/.spinejs.com/127.0.0.1#5335 +server=/.sports.williamhill.com/127.0.0.1#5335 +server=/.spotify.com/127.0.0.1#5335 +server=/.sproutcore.com/127.0.0.1#5335 +server=/.squarespace.com/127.0.0.1#5335 +server=/.srcf.ucam.org/127.0.0.1#5335 +server=/.ssh91.com/127.0.0.1#5335 +server=/.sshtunnel.googlecode.com/127.0.0.1#5335 +server=/.sstatic.net/127.0.0.1#5335 +server=/.stag.gov.tw/127.0.0.1#5335 +server=/.standupfortibet.org/127.0.0.1#5335 +server=/.starp2p.com/127.0.0.1#5335 +server=/.startpage.com/127.0.0.1#5335 +server=/.statcounter.com/127.0.0.1#5335 +server=/.state168.com/127.0.0.1#5335 +server=/.static.apple.nextmedia.com/127.0.0.1#5335 +server=/.static.digg.com/127.0.0.1#5335 +server=/.staticflickr.com/127.0.0.1#5335 +server=/.static.nownews.com/127.0.0.1#5335 +server=/.static.soup.io/127.0.0.1#5335 +server=/.static.typepad.com/127.0.0.1#5335 +server=/.status.twhirl.org/127.0.0.1#5335 +server=/.stdtime.gov.tw/127.0.0.1#5335 +server=/.steel-storm.com/127.0.0.1#5335 +server=/.sthoo.com/127.0.0.1#5335 +server=/.stickam.com/127.0.0.1#5335 +server=/.stickeraction.com/127.0.0.1#5335 +server=/.stonegames.net/127.0.0.1#5335 +server=/.stoneip.info/127.0.0.1#5335 +server=/.stoptibetcrisis.net/127.0.0.1#5335 +server=/.storagenewsletter.com/127.0.0.1#5335 +server=/.stoweboyd.com/127.0.0.1#5335 +server=/.streamingthe.net/127.0.0.1#5335 +server=/.strongvpn.com/127.0.0.1#5335 +server=/.student.tw/127.0.0.1#5335 +server=/.stuffimreading.com/127.0.0.1#5335 +server=/.stuffimreading.net/127.0.0.1#5335 +server=/.stupidvideos.com/127.0.0.1#5335 +server=/.subacme.rerouted.org/127.0.0.1#5335 +server=/.sublexical.spaces.live.com/127.0.0.1#5335 +server=/.sufeng.org/127.0.0.1#5335 +server=/.sugarsync.com/127.0.0.1#5335 +server=/.summify.com/127.0.0.1#5335 +server=/.sun1911.com/127.0.0.1#5335 +server=/.suoluo.org/127.0.0.1#5335 +server=/.surfeasy.com.au/127.0.0.1#5335 +server=/.svwind.com/127.0.0.1#5335 +server=/.sweux.com/127.0.0.1#5335 +server=/.swift-tools.net/127.0.0.1#5335 +server=/.s.xiaod.in/127.0.0.1#5335 +server=/.sydneytoday.com/127.0.0.1#5335 +server=/.sylfoundation.org/127.0.0.1#5335 +server=/.syncback.com/127.0.0.1#5335 +server=/.sysadmin1138.net/127.0.0.1#5335 +server=/.sysresccd.org/127.0.0.1#5335 +server=/.sytes.net/127.0.0.1#5335 +server=/.szbbs.net/127.0.0.1#5335 +server=/.szetowah.org.hk/127.0.0.1#5335 +server=/.t35.com/127.0.0.1#5335 +server=/.t66y.com/127.0.0.1#5335 +server=/.taa-usa.org/127.0.0.1#5335 +server=/.tabtter.jp/127.0.0.1#5335 +server=/.tacem.org/127.0.0.1#5335 +server=/.tafaward.com/127.0.0.1#5335 +server=/.tagwalk.com/127.0.0.1#5335 +server=/.taipei.gov.tw/127.0.0.1#5335 +server=/.taipeisociety.org/127.0.0.1#5335 +server=/.taitung-house.gov.tw/127.0.0.1#5335 +server=/.taiwandaily.net/127.0.0.1#5335 +server=/.taiwankiss.com/127.0.0.1#5335 +server=/.taiwannation.50webs.com/127.0.0.1#5335 +server=/.taiwannation.com/127.0.0.1#5335 +server=/.taiwannation.com.tw/127.0.0.1#5335 +server=/.taiwannews.com.tw/127.0.0.1#5335 +server=/.taiwan-sex.com/127.0.0.1#5335 +server=/.taiwantt.org.tw/127.0.0.1#5335 +server=/.taiwanus.net/127.0.0.1#5335 +server=/.taiwanyes.com/127.0.0.1#5335 +server=/.taiwanyes.ning.com/127.0.0.1#5335 +server=/.tamiaode.tk/127.0.0.1#5335 +server=/.tanc.org/127.0.0.1#5335 +server=/.tangben.com/127.0.0.1#5335 +server=/.taolun.info/127.0.0.1#5335 +server=/.taoyuan.gov.tw/127.0.0.1#5335 +server=/.tap11.com/127.0.0.1#5335 +server=/.target.com/127.0.0.1#5335 +server=/.taweet.com/127.0.0.1#5335 +server=/.tax.nat.gov.tw/127.0.0.1#5335 +server=/.tbpic.info/127.0.0.1#5335 +server=/.tbsec.org/127.0.0.1#5335 +server=/.tbsn.org/127.0.0.1#5335 +server=/.tbsseattle.org/127.0.0.1#5335 +server=/.tchb.gov.tw/127.0.0.1#5335 +server=/.tchrd.org/127.0.0.1#5335 +server=/.t.co/127.0.0.1#5335 +server=/.tcsac.gov.tw/127.0.0.1#5335 +server=/.teamseesmic.com/127.0.0.1#5335 +server=/.teashark.com/127.0.0.1#5335 +server=/.techlifeweb.com/127.0.0.1#5335 +server=/.techparaiso.com/127.0.0.1#5335 +server=/.telecomspace.com/127.0.0.1#5335 +server=/.telegraph.co.uk/127.0.0.1#5335 +server=/.tenacy.com/127.0.0.1#5335 +server=/.thbstc.gov.tw/127.0.0.1#5335 +server=/.theampfactory.com/127.0.0.1#5335 +server=/.theappleblog.com/127.0.0.1#5335 +server=/.theatrum-belli.com/127.0.0.1#5335 +server=/.thebcomplex.com/127.0.0.1#5335 +server=/.theblemish.com/127.0.0.1#5335 +server=/.thebodyshop-usa.com/127.0.0.1#5335 +server=/.thechinabeat.org/127.0.0.1#5335 +server=/.thedailywh.at/127.0.0.1#5335 +server=/.thedieline.com/127.0.0.1#5335 +server=/.thedw.us/127.0.0.1#5335 +server=/.thegatesnotes.com/127.0.0.1#5335 +server=/.thehots.info/127.0.0.1#5335 +server=/.thehousenews.com/127.0.0.1#5335 +server=/.thehungrydudes.com/127.0.0.1#5335 +server=/.thehun.net/127.0.0.1#5335 +server=/.theinternetwishlist.com/127.0.0.1#5335 +server=/.thelifeyoucansave.com/127.0.0.1#5335 +server=/.thelius.org/127.0.0.1#5335 +server=/.thepiratebay.org/127.0.0.1#5335 +server=/.thepiratebay.se/127.0.0.1#5335 +server=/.theqii.info/127.0.0.1#5335 +server=/.thereallove.kr/127.0.0.1#5335 +server=/.thesartorialist.com/127.0.0.1#5335 +server=/.thespeeder.com/127.0.0.1#5335 +server=/.the-sun.on.cc/127.0.0.1#5335 +server=/.thetibetpost.com/127.0.0.1#5335 +server=/.thetrotskymovie.com/127.0.0.1#5335 +server=/.thevivekspot.com/127.0.0.1#5335 +server=/.thewgo.org/127.0.0.1#5335 +server=/.thisav.com/127.0.0.1#5335 +server=/.thisiswhyyouarefat.com/127.0.0.1#5335 +server=/.thkphoto.com/127.0.0.1#5335 +server=/.thomasbernhard.org/127.0.0.1#5335 +server=/.threatchaos.com/127.0.0.1#5335 +server=/.throughnightsfire.com/127.0.0.1#5335 +server=/.t.huhaitai.com/127.0.0.1#5335 +server=/.thumbzilla.com/127.0.0.1#5335 +server=/.thywords.com/127.0.0.1#5335 +server=/.tiananmenmother.org/127.0.0.1#5335 +server=/.tiananmenuniv.com/127.0.0.1#5335 +server=/.tiananmenuniv.net/127.0.0.1#5335 +server=/.tiandixing.org/127.0.0.1#5335 +server=/.tianhuayuan.com/127.0.0.1#5335 +server=/.tiantibooks.org/127.0.0.1#5335 +server=/.tianzhu.org/127.0.0.1#5335 +server=/.tibetalk.com/127.0.0.1#5335 +server=/.tibetanyouthcongress.org/127.0.0.1#5335 +server=/.tibet.at/127.0.0.1#5335 +server=/.tibet.com/127.0.0.1#5335 +server=/.tibetcorps.org/127.0.0.1#5335 +server=/.tibetfund.org/127.0.0.1#5335 +server=/.tibetjustice.org/127.0.0.1#5335 +server=/.tibet.net/127.0.0.1#5335 +server=/.tibetoffice.org/127.0.0.1#5335 +server=/.tibetonline.com/127.0.0.1#5335 +server=/.tibetonline.tv/127.0.0.1#5335 +server=/.tibet.org.tw/127.0.0.1#5335 +server=/.tibetsun.com/127.0.0.1#5335 +server=/.tibetwrites.org/127.0.0.1#5335 +server=/.tidyread.com/127.0.0.1#5335 +server=/.time.com/127.0.0.1#5335 +server=/.times.hinet.net/127.0.0.1#5335 +server=/.tinychat.com/127.0.0.1#5335 +server=/.tinypaste.com/127.0.0.1#5335 +server=/.tinypng.com/127.0.0.1#5335 +server=/.tistory.com/127.0.0.1#5335 +server=/.tjholowaychuk.com/127.0.0.1#5335 +server=/.tkcs-collins.com/127.0.0.1#5335 +server=/.tkforum.tk/127.0.0.1#5335 +server=/.t.kun.im/127.0.0.1#5335 +server=/.tmagazine.com/127.0.0.1#5335 +server=/.tmi.me/127.0.0.1#5335 +server=/.tnaflix.com/127.0.0.1#5335 +server=/.tncsec.gov.tw/127.0.0.1#5335 +server=/.t.neolee.cn/127.0.0.1#5335 +server=/.togetter.com/127.0.0.1#5335 +server=/.tokyo-247.com/127.0.0.1#5335 +server=/.tokyocn.com/127.0.0.1#5335 +server=/.tokyo-hot.com/127.0.0.1#5335 +server=/.tomayko.com/127.0.0.1#5335 +server=/.tomsc.com/127.0.0.1#5335 +server=/.tono-oka.jp/127.0.0.1#5335 +server=/.tonyyan.net/127.0.0.1#5335 +server=/.toodoc.com/127.0.0.1#5335 +server=/.toonel.net/127.0.0.1#5335 +server=/.topic.youthwant.com.tw/127.0.0.1#5335 +server=/.topnews.in/127.0.0.1#5335 +server=/.topshare.us/127.0.0.1#5335 +server=/.topshareware.com/127.0.0.1#5335 +server=/.topstyle4.com/127.0.0.1#5335 +server=/.topsy.com/127.0.0.1#5335 +server=/.tora.to/127.0.0.1#5335 +server=/.tor.blingblingsquad.net/127.0.0.1#5335 +server=/.torproject.org/127.0.0.1#5335 +server=/.torrentcrazy.com/127.0.0.1#5335 +server=/.torrentproject.se/127.0.0.1#5335 +server=/.tor.updatestar.com/127.0.0.1#5335 +server=/.torvpn.com/127.0.0.1#5335 +server=/.t.orzdream.com/127.0.0.1#5335 +server=/.tosh.comedycentral.com/127.0.0.1#5335 +server=/.touch99.com/127.0.0.1#5335 +server=/.toutfr.com/127.0.0.1#5335 +server=/.tpde.aide.gov.tw/127.0.0.1#5335 +server=/.tphcc.gov.tw/127.0.0.1#5335 +server=/.tpi.org.tw/127.0.0.1#5335 +server=/.transgressionism.org/127.0.0.1#5335 +server=/.transparency.org/127.0.0.1#5335 +server=/.travelinlocal.com/127.0.0.1#5335 +server=/.trendsmap.com/127.0.0.1#5335 +server=/.trialofccp.org/127.0.0.1#5335 +server=/.tripod.com/127.0.0.1#5335 +server=/.trouw.nl/127.0.0.1#5335 +server=/.trtc.com.tw/127.0.0.1#5335 +server=/.trt.net.tr/127.0.0.1#5335 +server=/.trulyergonomic.com/127.0.0.1#5335 +server=/.trustedbi.com/127.0.0.1#5335 +server=/.truth101.co.tv/127.0.0.1#5335 +server=/.truthcn.com/127.0.0.1#5335 +server=/.truveo.com/127.0.0.1#5335 +server=/.tsctv.net/127.0.0.1#5335 +server=/.tsemtulku.com/127.0.0.1#5335 +server=/.tsquare.tv/127.0.0.1#5335 +server=/.tsunagarumon.com/127.0.0.1#5335 +server=/.tt1069.com/127.0.0.1#5335 +server=/.tttan.com/127.0.0.1#5335 +server=/.tuanzt.com/127.0.0.1#5335 +server=/.tube8.com/127.0.0.1#5335 +server=/.tubecao.com/127.0.0.1#5335 +server=/.tube.com/127.0.0.1#5335 +server=/.tubewolf.com/127.0.0.1#5335 +server=/.tuidang.net/127.0.0.1#5335 +server=/.tuidang.org/127.0.0.1#5335 +server=/.tui.orzdream.com/127.0.0.1#5335 +server=/.tuite.googlecode.com/127.0.0.1#5335 +server=/.tumblr.awflasher.com/127.0.0.1#5335 +server=/.tumblweed.org/127.0.0.1#5335 +server=/.tumutanzi.com/127.0.0.1#5335 +server=/.tunein.com/127.0.0.1#5335 +server=/.tunnelbear.com/127.0.0.1#5335 +server=/.turbobit.net/127.0.0.1#5335 +server=/.turbotwitter.com/127.0.0.1#5335 +server=/.turningtorso.com/127.0.0.1#5335 +server=/.turntable.fm/127.0.0.1#5335 +server=/.tuxtraining.com/127.0.0.1#5335 +server=/.tvants.com/127.0.0.1#5335 +server=/.tvboxnow.com/127.0.0.1#5335 +server=/.tv.com/127.0.0.1#5335 +server=/.tvider.com/127.0.0.1#5335 +server=/.tv-intros.com/127.0.0.1#5335 +server=/.tv.on.cc/127.0.0.1#5335 +server=/.tvunetworks.com/127.0.0.1#5335 +server=/.twapperkeeper.com/127.0.0.1#5335 +server=/.twa.sh/127.0.0.1#5335 +server=/.twaud.io/127.0.0.1#5335 +server=/.twbbs.net.tw/127.0.0.1#5335 +server=/.twbbs.org/127.0.0.1#5335 +server=/.twbbs.tw/127.0.0.1#5335 +server=/.twblogger.com/127.0.0.1#5335 +server=/.tweepguide.com/127.0.0.1#5335 +server=/.tweeplike.me/127.0.0.1#5335 +server=/.tweepmag.com/127.0.0.1#5335 +server=/.tweepml.org/127.0.0.1#5335 +server=/.tweetbackup.com/127.0.0.1#5335 +server=/.tweetboard.com/127.0.0.1#5335 +server=/.tweetboner.biz/127.0.0.1#5335 +server=/.tweetdeck.com/127.0.0.1#5335 +server=/.tweetedtimes.com/127.0.0.1#5335 +server=/.tweetmeme.com/127.0.0.1#5335 +server=/.tweetmylast.fm/127.0.0.1#5335 +server=/.tweetphoto.com/127.0.0.1#5335 +server=/.tweetrans.com/127.0.0.1#5335 +server=/.tweetree.com/127.0.0.1#5335 +server=/.tweetwally.com/127.0.0.1#5335 +server=/.tweetymail.com/127.0.0.1#5335 +server=/.twftp.org/127.0.0.1#5335 +server=/.twibase.com/127.0.0.1#5335 +server=/.twibble.de/127.0.0.1#5335 +server=/.twibbon.com/127.0.0.1#5335 +server=/.twibs.com/127.0.0.1#5335 +server=/.twicsy.com/127.0.0.1#5335 +server=/.twifan.com/127.0.0.1#5335 +server=/.twiffo.com/127.0.0.1#5335 +server=/.twiggit.org/127.0.0.1#5335 +server=/.twilog.org/127.0.0.1#5335 +server=/.twimbow.com/127.0.0.1#5335 +server=/.twimg.com/127.0.0.1#5335 +server=/.twimg.edgesuite.net/127.0.0.1#5335 +server=/.tw.img.nextmedia.com/127.0.0.1#5335 +server=/.twindexx.com/127.0.0.1#5335 +server=/.twipple.jp/127.0.0.1#5335 +server=/.twistar.cc/127.0.0.1#5335 +server=/.twisternow.com/127.0.0.1#5335 +server=/.twistory.net/127.0.0.1#5335 +server=/.twit2d.com/127.0.0.1#5335 +server=/.twitbrowser.net/127.0.0.1#5335 +server=/.twitcause.com/127.0.0.1#5335 +server=/.twitese.spaces.live.com/127.0.0.1#5335 +server=/.twitgether.com/127.0.0.1#5335 +server=/.twitgoo.com/127.0.0.1#5335 +server=/.twitiq.com/127.0.0.1#5335 +server=/.twitlonger.com/127.0.0.1#5335 +server=/.twitoaster.com/127.0.0.1#5335 +server=/.twitonmsn.com/127.0.0.1#5335 +server=/.twitpic.com/127.0.0.1#5335 +server=/.twitreferral.com/127.0.0.1#5335 +server=/.twitstat.com/127.0.0.1#5335 +server=/.twittbot.net/127.0.0.1#5335 +server=/.twitter4j.org/127.0.0.1#5335 +server=/.twitter.com/127.0.0.1#5335 +server=/.twittercounter.com/127.0.0.1#5335 +server=/.twitterfeed.com/127.0.0.1#5335 +server=/.twittergadget.com/127.0.0.1#5335 +server=/.twitter.jp/127.0.0.1#5335 +server=/.twitterkr.com/127.0.0.1#5335 +server=/.twittermail.com/127.0.0.1#5335 +server=/.twittertim.es/127.0.0.1#5335 +server=/.twitthat.com/127.0.0.1#5335 +server=/.twitturk.com/127.0.0.1#5335 +server=/.twitturly.com/127.0.0.1#5335 +server=/.twitvid.com/127.0.0.1#5335 +server=/.twitzap.com/127.0.0.1#5335 +server=/.twiyia.com/127.0.0.1#5335 +server=/.tw.jiepang.com/127.0.0.1#5335 +server=/.tw.myblog.yahoo.com/127.0.0.1#5335 +server=/.tw.news.yahoo.com/127.0.0.1#5335 +server=/.tw-npo.org/127.0.0.1#5335 +server=/.tw.rd.yahoo.com/127.0.0.1#5335 +server=/.twreg.info/127.0.0.1#5335 +server=/.twstar.net/127.0.0.1#5335 +server=/.tw.streetvoice.com/127.0.0.1#5335 +server=/.twt.fm/127.0.0.1#5335 +server=/.twtkr.com/127.0.0.1#5335 +server=/.twtr2src.ogaoga.org/127.0.0.1#5335 +server=/.twtrland.com/127.0.0.1#5335 +server=/.twt.tl/127.0.0.1#5335 +server=/.twttr.com/127.0.0.1#5335 +server=/.twurl.nl/127.0.0.1#5335 +server=/.tw.voa.mobi/127.0.0.1#5335 +server=/.twyac.org/127.0.0.1#5335 +server=/.tw.yahoo.com/127.0.0.1#5335 +server=/.tycool.com/127.0.0.1#5335 +server=/.tynsoe.org/127.0.0.1#5335 +server=/.typepad.com/127.0.0.1#5335 +server=/.tzangms.com/127.0.0.1#5335 +server=/.ub0.cc/127.0.0.1#5335 +server=/.uberproxy.net/127.0.0.1#5335 +server=/.ucdc1998.org/127.0.0.1#5335 +server=/.uderzo.it/127.0.0.1#5335 +server=/.udn.com/127.0.0.1#5335 +server=/.ufreevpn.com/127.0.0.1#5335 +server=/.ugo.com/127.0.0.1#5335 +server=/.uhrp.org/127.0.0.1#5335 +server=/.uighurbiz.net/127.0.0.1#5335 +server=/.ukliferadio.co.uk/127.0.0.1#5335 +server=/.ulike.net/127.0.0.1#5335 +server=/.ultravpn.fr/127.0.0.1#5335 +server=/.ultraxs.com/127.0.0.1#5335 +server=/.unblock.cn.com/127.0.0.1#5335 +server=/.unblocksit.es/127.0.0.1#5335 +server=/.uncyclomedia.org/127.0.0.1#5335 +server=/.uncyclopedia.info/127.0.0.1#5335 +server=/.uncyclopedia.tw/127.0.0.1#5335 +server=/.unholyknight.com/127.0.0.1#5335 +server=/.uni.cc/127.0.0.1#5335 +server=/.unicode.org/127.0.0.1#5335 +server=/.uniteddaily.com.my/127.0.0.1#5335 +server=/.unix100.com/127.0.0.1#5335 +server=/.unknownspace.org/127.0.0.1#5335 +server=/.unpo.org/127.0.0.1#5335 +server=/.uocn.org/127.0.0.1#5335 +server=/.upcoming.yahoo.com/127.0.0.1#5335 +server=/.update.playstation.net/127.0.0.1#5335 +server=/.upload4u.info/127.0.0.1#5335 +server=/.upload.backchina.com/127.0.0.1#5335 +server=/.uploaded.to/127.0.0.1#5335 +server=/.uploadstation.com/127.0.0.1#5335 +server=/.upload.wikimedia.org/127.0.0.1#5335 +server=/.urlborg.com/127.0.0.1#5335 +server=/.urlparser.com/127.0.0.1#5335 +server=/.usacn.com/127.0.0.1#5335 +server=/.usfk.mil/127.0.0.1#5335 +server=/.usinfo.state.gov/127.0.0.1#5335 +server=/.usmc.mil/127.0.0.1#5335 +server=/.us.to/127.0.0.1#5335 +server=/.ustream.tv/127.0.0.1#5335 +server=/.usus.cc/127.0.0.1#5335 +server=/.uushare.com/127.0.0.1#5335 +server=/.uwants.com/127.0.0.1#5335 +server=/.uwants.net/127.0.0.1#5335 +server=/.uyghurcongress.org/127.0.0.1#5335 +server=/.uygur.org/127.0.0.1#5335 +server=/.v70.us/127.0.0.1#5335 +server=/.vaayoo.com/127.0.0.1#5335 +server=/.value-domain.com/127.0.0.1#5335 +server=/.van698.com/127.0.0.1#5335 +server=/.vanemu.cn/127.0.0.1#5335 +server=/.vanilla-jp.com/127.0.0.1#5335 +server=/.vansky.com/127.0.0.1#5335 +server=/.vapurl.com/127.0.0.1#5335 +server=/.vatn.org/127.0.0.1#5335 +server=/.vcfbuilder.org/127.0.0.1#5335 +server=/.vcf-online.org/127.0.0.1#5335 +server=/.veempiire.com/127.0.0.1#5335 +server=/.velkaepocha.sk/127.0.0.1#5335 +server=/.venbbs.com/127.0.0.1#5335 +server=/.venchina.com/127.0.0.1#5335 +server=/.ventureswell.com/127.0.0.1#5335 +server=/.veoh.com/127.0.0.1#5335 +server=/.verizon.net/127.0.0.1#5335 +server=/.verybs.com/127.0.0.1#5335 +server=/.vevo.com/127.0.0.1#5335 +server=/.vft.com.tw/127.0.0.1#5335 +server=/.vghks.gov.tw/127.0.0.1#5335 +server=/.vghtc.gov.tw/127.0.0.1#5335 +server=/.vghtpe.gov.tw/127.0.0.1#5335 +server=/.video.aol.ca/127.0.0.1#5335 +server=/.video.aol.com/127.0.0.1#5335 +server=/.video.aol.co.uk/127.0.0.1#5335 +server=/.video.ap.org/127.0.0.1#5335 +server=/.videobam.com/127.0.0.1#5335 +server=/.video.fdbox.com/127.0.0.1#5335 +server=/.video.foxbusiness.com/127.0.0.1#5335 +server=/.videomo.com/127.0.0.1#5335 +server=/.video.tiscali.it/127.0.0.1#5335 +server=/.video.yahoo.com/127.0.0.1#5335 +server=/.vidoemo.com/127.0.0.1#5335 +server=/.views.fm/127.0.0.1#5335 +server=/.viki.com/127.0.0.1#5335 +server=/.vimeocdn.com/127.0.0.1#5335 +server=/.vimeo.com/127.0.0.1#5335 +server=/.vimgolf.com/127.0.0.1#5335 +server=/.vimperator.org/127.0.0.1#5335 +server=/.vincnd.com/127.0.0.1#5335 +server=/.vinniev.com/127.0.0.1#5335 +server=/.vllcs.org/127.0.0.1#5335 +server=/.vlog.xuite.net/127.0.0.1#5335 +server=/.vmixcore.com/127.0.0.1#5335 +server=/.voacantonese.com/127.0.0.1#5335 +server=/.voachineseblog.com/127.0.0.1#5335 +server=/.voachinese.com/127.0.0.1#5335 +server=/.voagd.com/127.0.0.1#5335 +server=/.voanews.com/127.0.0.1#5335 +server=/.voatibetan.com/127.0.0.1#5335 +server=/.vocn.tv/127.0.0.1#5335 +server=/.vot.org/127.0.0.1#5335 +server=/.vpnbook.com/127.0.0.1#5335 +server=/.vpnfire.com/127.0.0.1#5335 +server=/.vpngate.jp/127.0.0.1#5335 +server=/.vpngate.net/127.0.0.1#5335 +server=/.vpnpop.com/127.0.0.1#5335 +server=/.vpnpronet.com/127.0.0.1#5335 +server=/.v-state.org/127.0.0.1#5335 +server=/.vtunnel.com/127.0.0.1#5335 +server=/.w3schools.com/127.0.0.1#5335 +server=/.waffle1999.com/127.0.0.1#5335 +server=/.wahas.com/127.0.0.1#5335 +server=/.waigaobu.com/127.0.0.1#5335 +server=/.waikeung.org/127.0.0.1#5335 +server=/.waiwaier.com/127.0.0.1#5335 +server=/.wallornot.org/127.0.0.1#5335 +server=/.wallpapercasa.com/127.0.0.1#5335 +server=/.wanderinghorse.net/127.0.0.1#5335 +server=/.wanfang.gov.tw/127.0.0.1#5335 +server=/.wangafu.net/127.0.0.1#5335 +server=/.wangjinbo.org/127.0.0.1#5335 +server=/.wanglixiong.com/127.0.0.1#5335 +server=/.wangruoshui.net/127.0.0.1#5335 +server=/.wangyi64.spaces.live.com/127.0.0.1#5335 +server=/.want-daily.com/127.0.0.1#5335 +server=/.wapedia.mobi/127.0.0.1#5335 +server=/.washeng.net/127.0.0.1#5335 +server=/.watchmygf.net/127.0.0.1#5335 +server=/.wattpad.com/127.0.0.1#5335 +server=/.wdf5.com/127.0.0.1#5335 +server=/.wearn.com/127.0.0.1#5335 +server=/.web2project.net/127.0.0.1#5335 +server=/.webbang.net/127.0.0.1#5335 +server=/.webfee.tk/127.0.0.1#5335 +server=/.weblagu.com/127.0.0.1#5335 +server=/.webmproject.org/127.0.0.1#5335 +server=/.webshots.com/127.0.0.1#5335 +server=/.websitepulse.com/127.0.0.1#5335 +server=/.webs-tv.net/127.0.0.1#5335 +server=/.webworkerdaily.com/127.0.0.1#5335 +server=/.weeewooo.net/127.0.0.1#5335 +server=/.weekmag.info/127.0.0.1#5335 +server=/.wefong.com/127.0.0.1#5335 +server=/.weiboleak.com/127.0.0.1#5335 +server=/.weigegebyc.dreamhosters.com/127.0.0.1#5335 +server=/.weijingsheng.org/127.0.0.1#5335 +server=/.weiming.info/127.0.0.1#5335 +server=/.weiquanwang.org/127.0.0.1#5335 +server=/.weisuo.ws/127.0.0.1#5335 +server=/.wellplacedpixels.com/127.0.0.1#5335 +server=/.wengewang.com/127.0.0.1#5335 +server=/.wengewang.org/127.0.0.1#5335 +server=/.wenhui.ch/127.0.0.1#5335 +server=/.wenku.com/127.0.0.1#5335 +server=/.wenxuecity.com/127.0.0.1#5335 +server=/.wenyunchao.com/127.0.0.1#5335 +server=/.wenyunchao.spaces.live.com/127.0.0.1#5335 +server=/.wepn.info/127.0.0.1#5335 +server=/.westca.com/127.0.0.1#5335 +server=/.westernwolves.com/127.0.0.1#5335 +server=/.wetplace.com/127.0.0.1#5335 +server=/.wetpussygames.com/127.0.0.1#5335 +server=/.wexiaobo.org/127.0.0.1#5335 +server=/.wezhiyong.org/127.0.0.1#5335 +server=/.wezone.net/127.0.0.1#5335 +server=/.wforum.com/127.0.0.1#5335 +server=/.whatblocked.com/127.0.0.1#5335 +server=/.whereiswerner.com/127.0.0.1#5335 +server=/.whippedass.com/127.0.0.1#5335 +server=/.whitebear.freebearblog.org/127.0.0.1#5335 +server=/.whydidyoubuymethat.com/127.0.0.1#5335 +server=/.whylover.com/127.0.0.1#5335 +server=/.whyx.org/127.0.0.1#5335 +server=/.w.idaiwan.com/127.0.0.1#5335 +server=/.wiki.cnitter.com/127.0.0.1#5335 +server=/.wiki.jqueryui.com/127.0.0.1#5335 +server=/.wiki.keso.cn/127.0.0.1#5335 +server=/.wikileaks.ch/127.0.0.1#5335 +server=/.wikileaks.de/127.0.0.1#5335 +server=/.wikileaks.eu/127.0.0.1#5335 +server=/.wikileaks.lu/127.0.0.1#5335 +server=/.wikileaks.org/127.0.0.1#5335 +server=/.wikileaks.pl/127.0.0.1#5335 +server=/.wikilivres.info/127.0.0.1#5335 +server=/.wikimapia.org/127.0.0.1#5335 +server=/.wikimedia.org.mo/127.0.0.1#5335 +server=/.wiki.moegirl.org/127.0.0.1#5335 +server=/.wikinet.org/127.0.0.1#5335 +server=/.wiki.oauth.net/127.0.0.1#5335 +server=/.wikipedia.org/127.0.0.1#5335 +server=/.wiki.phonegap.com/127.0.0.1#5335 +server=/.wikiwiki.jp/127.0.0.1#5335 +server=/.wikkii.com/127.0.0.1#5335 +server=/.williamlong.spaces.live.com/127.0.0.1#5335 +server=/.willw.net/127.0.0.1#5335 +server=/.windowsphoneme.com/127.0.0.1#5335 +server=/.winwhispers.info/127.0.0.1#5335 +server=/.wiredbytes.com/127.0.0.1#5335 +server=/.wiredpen.com/127.0.0.1#5335 +server=/.wireshark.org/127.0.0.1#5335 +server=/.wisevid.com/127.0.0.1#5335 +server=/.witnessleeteaching.com/127.0.0.1#5335 +server=/.witopia.net/127.0.0.1#5335 +server=/.wlx.sowiki.net/127.0.0.1#5335 +server=/.woeser.com/127.0.0.1#5335 +server=/.wolfax.com/127.0.0.1#5335 +server=/.womenbusiness.nyc.gov.tw/127.0.0.1#5335 +server=/.womensrightsofchina.org/127.0.0.1#5335 +server=/.woopie.jp/127.0.0.1#5335 +server=/.woopie.tv/127.0.0.1#5335 +server=/.wordboner.com/127.0.0.1#5335 +server=/.wordpress.com/127.0.0.1#5335 +server=/.wordsandturds.com/127.0.0.1#5335 +server=/.w.org/127.0.0.1#5335 +server=/.workatruna.com/127.0.0.1#5335 +server=/.worldcat.org/127.0.0.1#5335 +server=/.worldjournal.com/127.0.0.1#5335 +server=/.worstthingieverate.com/127.0.0.1#5335 +server=/.wo.tc/127.0.0.1#5335 +server=/.wowlegacy.ml/127.0.0.1#5335 +server=/.wow-life.net/127.0.0.1#5335 +server=/.woxinghuiguo.com/127.0.0.1#5335 +server=/.wozy.in/127.0.0.1#5335 +server=/.wp.com/127.0.0.1#5335 +server=/.wpoforum.com/127.0.0.1#5335 +server=/.wqlhw.com/127.0.0.1#5335 +server=/.wqyd.org/127.0.0.1#5335 +server=/.wrchina.org/127.0.0.1#5335 +server=/.wretch.cc/127.0.0.1#5335 +server=/.writer.zoho.com/127.0.0.1#5335 +server=/.wsj.com/127.0.0.1#5335 +server=/.wsj.net/127.0.0.1#5335 +server=/.wtfpeople.com/127.0.0.1#5335 +server=/.wuala.com/127.0.0.1#5335 +server=/.wuerkaixi.com/127.0.0.1#5335 +server=/.wufi.org.tw/127.0.0.1#5335 +server=/.wuguoguang.com/127.0.0.1#5335 +server=/.wujieliulan.com/127.0.0.1#5335 +server=/.wujie.net/127.0.0.1#5335 +server=/.wukangrui.net/127.0.0.1#5335 +server=/.wwitv.com/127.0.0.1#5335 +server=/.www.6v6dota.com/127.0.0.1#5335 +server=/.www.ajsands.com/127.0.0.1#5335 +server=/.www.antd.org/127.0.0.1#5335 +server=/.www.aolnews.com/127.0.0.1#5335 +server=/.www.bulbous.freeserve.co.uk/127.0.0.1#5335 +server=/.www.cmoinc.org/127.0.0.1#5335 +server=/.www.dfanning.com/127.0.0.1#5335 +server=/.www.dwheeler.com/127.0.0.1#5335 +server=/.www.eulam.com/127.0.0.1#5335 +server=/.www.exblog.jp/127.0.0.1#5335 +server=/.www.forum4hk.com/127.0.0.1#5335 +server=/.www.freetibet.org/127.0.0.1#5335 +server=/.www.getyouram.com/127.0.0.1#5335 +server=/.www.goldenmelody.com.tw/127.0.0.1#5335 +server=/.www.idlcoyote.com/127.0.0.1#5335 +server=/.www.immigration.gov.tw/127.0.0.1#5335 +server=/.www.klip.me/127.0.0.1#5335 +server=/.www.kodingen.com/127.0.0.1#5335 +server=/.www.linksalpha.com/127.0.0.1#5335 +server=/.www.loiclemeur.com/127.0.0.1#5335 +server=/.www.macrovpn.com/127.0.0.1#5335 +server=/.www.monlamit.org/127.0.0.1#5335 +server=/.www.moztw.org/127.0.0.1#5335 +server=/.www.mycould.com/127.0.0.1#5335 +server=/.www.ned.org/127.0.0.1#5335 +server=/.www.nownews.com/127.0.0.1#5335 +server=/.www.orchidbbs.com/127.0.0.1#5335 +server=/.www.owind.com/127.0.0.1#5335 +server=/.www.oxid.it/127.0.0.1#5335 +server=/.www.parkansky.com/127.0.0.1#5335 +server=/.www.powerpointninja.com/127.0.0.1#5335 +server=/.www.rnw.nl/127.0.0.1#5335 +server=/.www.somee.com/127.0.0.1#5335 +server=/.www.stackfile.com/127.0.0.1#5335 +server=/.www.supertweet.net/127.0.0.1#5335 +server=/.www.tiffanyarment.com/127.0.0.1#5335 +server=/.www.tripod.com/127.0.0.1#5335 +server=/.www.tv.com/127.0.0.1#5335 +server=/.www.twtrland.com/127.0.0.1#5335 +server=/.www.typepad.com/127.0.0.1#5335 +server=/.www.urbanoutfitters.com/127.0.0.1#5335 +server=/.www.vegorpedersen.com/127.0.0.1#5335 +server=/.www.voy.com/127.0.0.1#5335 +server=/.www.vpncup.com/127.0.0.1#5335 +server=/.www.wangruowang.org/127.0.0.1#5335 +server=/.www.wan-press.org/127.0.0.1#5335 +server=/.www.wet123.com/127.0.0.1#5335 +server=/.www.zaurus.org.uk/127.0.0.1#5335 +server=/.wzyboy.im/127.0.0.1#5335 +server=/.x1949x.com/127.0.0.1#5335 +server=/.x365x.com/127.0.0.1#5335 +server=/.xanga.com/127.0.0.1#5335 +server=/.x-art.com/127.0.0.1#5335 +server=/.xa.yimg.com/127.0.0.1#5335 +server=/.xbabe.com/127.0.0.1#5335 +server=/.xbookcn.com/127.0.0.1#5335 +server=/.xcafe.in/127.0.0.1#5335 +server=/.xcritic.com/127.0.0.1#5335 +server=/.xfm.pp.ru/127.0.0.1#5335 +server=/.xgmyd.com/127.0.0.1#5335 +server=/.xh4n.cn/127.0.0.1#5335 +server=/.xhamster.com/127.0.0.1#5335 +server=/.xiaochuncnjp.com/127.0.0.1#5335 +server=/.xiaohexie.com/127.0.0.1#5335 +server=/.xiaoma.org/127.0.0.1#5335 +server=/.xiezhua.com/127.0.0.1#5335 +server=/.xing.com/127.0.0.1#5335 +server=/.xinhuanet.org/127.0.0.1#5335 +server=/.xinmiao.com.hk/127.0.0.1#5335 +server=/.xinqimeng.over-blog.com/127.0.0.1#5335 +server=/.xinsheng.net/127.0.0.1#5335 +server=/.xinshijue.com/127.0.0.1#5335 +server=/.xinyubbs.net/127.0.0.1#5335 +server=/.xizang-zhiye.org/127.0.0.1#5335 +server=/.xjp.cc/127.0.0.1#5335 +server=/.xml-training-guide.com/127.0.0.1#5335 +server=/.xmovies.com/127.0.0.1#5335 +server=/.xmusic.fm/127.0.0.1#5335 +server=/.xnxx.com/127.0.0.1#5335 +server=/.xpdo.net/127.0.0.1#5335 +server=/.xpud.org/127.0.0.1#5335 +server=/.xskywalker.com/127.0.0.1#5335 +server=/.xtube.com/127.0.0.1#5335 +server=/.xuchao.net/127.0.0.1#5335 +server=/.xuchao.org/127.0.0.1#5335 +server=/.xuzhiyong.net/127.0.0.1#5335 +server=/.xuzhuoer.com/127.0.0.1#5335 +server=/.xvedios.com/127.0.0.1#5335 +server=/.xvideos.com/127.0.0.1#5335 +server=/.x-wall.org/127.0.0.1#5335 +server=/.xxbbx.com/127.0.0.1#5335 +server=/.x.xcity.jp/127.0.0.1#5335 +server=/.xxxx.com.au/127.0.0.1#5335 +server=/.xysblogs.org/127.0.0.1#5335 +server=/.xys.dxiong.com/127.0.0.1#5335 +server=/.xys.org/127.0.0.1#5335 +server=/.xyy69.com/127.0.0.1#5335 +server=/.xyy69.info/127.0.0.1#5335 +server=/.yahoo.cn/127.0.0.1#5335 +server=/.yahoo.com.hk/127.0.0.1#5335 +server=/.yam.com/127.0.0.1#5335 +server=/.yanghengjun.spaces.live.com/127.0.0.1#5335 +server=/.yasni.co.uk/127.0.0.1#5335 +server=/.yasukuni.or.jp/127.0.0.1#5335 +server=/.yatsen.gov.tw/127.0.0.1#5335 +server=/.ydy.com/127.0.0.1#5335 +server=/.yeelou.com/127.0.0.1#5335 +server=/.yeeyi.com/127.0.0.1#5335 +server=/.yegle.net/127.0.0.1#5335 +server=/.yezimary.spaces.live.com/127.0.0.1#5335 +server=/.yfrog.com/127.0.0.1#5335 +server=/.yhcw.net/127.0.0.1#5335 +server=/.yidio.com/127.0.0.1#5335 +server=/.yilubbs.com/127.0.0.1#5335 +server=/.yi.org/127.0.0.1#5335 +server=/.yipub.com/127.0.0.1#5335 +server=/.ym.backchina.com/127.0.0.1#5335 +server=/.yogichen.org/127.0.0.1#5335 +server=/.yong.hu/127.0.0.1#5335 +server=/.yorkbbs.ca/127.0.0.1#5335 +server=/.youdao.com/127.0.0.1#5335 +server=/.youjizz.com/127.0.0.1#5335 +server=/.youmaker.com/127.0.0.1#5335 +server=/.youpai.org/127.0.0.1#5335 +server=/.youporn.com/127.0.0.1#5335 +server=/.your-freedom.net/127.0.0.1#5335 +server=/.yousendit.com/127.0.0.1#5335 +server=/.youthbao.com/127.0.0.1#5335 +server=/.youthnetradio.org/127.0.0.1#5335 +server=/.youtu.be/127.0.0.1#5335 +server=/.youtubecn.com/127.0.0.1#5335 +server=/.youtube.com/127.0.0.1#5335 +server=/.youtube-nocookie.com/127.0.0.1#5335 +server=/.youversion.com/127.0.0.1#5335 +server=/.youxu.info/127.0.0.1#5335 +server=/.ytht.net/127.0.0.1#5335 +server=/.ytimg.com/127.0.0.1#5335 +server=/.yuanming.net/127.0.0.1#5335 +server=/.yuming.flnet.org/127.0.0.1#5335 +server=/.yunchao.net/127.0.0.1#5335 +server=/.yvesgeleyn.com/127.0.0.1#5335 +server=/.yvtc.gov.tw/127.0.0.1#5335 +server=/.yx51.net/127.0.0.1#5335 +server=/.yyii.org/127.0.0.1#5335 +server=/.yymaya.com/127.0.0.1#5335 +server=/.yzzk.com/127.0.0.1#5335 +server=/.zacebook.com/127.0.0.1#5335 +server=/.zannel.com/127.0.0.1#5335 +server=/.zaobao.com/127.0.0.1#5335 +server=/.zaobao.com.sg/127.0.0.1#5335 +server=/.zaozon.com/127.0.0.1#5335 +server=/.zarias.com/127.0.0.1#5335 +server=/.zattoo.com/127.0.0.1#5335 +server=/.zdnet.com.tw/127.0.0.1#5335 +server=/.zengjinyan.org/127.0.0.1#5335 +server=/.zengjinyan.spaces.live.com/127.0.0.1#5335 +server=/.zeutch.com/127.0.0.1#5335 +server=/.zgzcjj.net/127.0.0.1#5335 +server=/.zhanbin.net/127.0.0.1#5335 +server=/.zhao.jinhai.de/127.0.0.1#5335 +server=/.zhenghui.org/127.0.0.1#5335 +server=/.zhenlibu.info/127.0.0.1#5335 +server=/.zhinengluyou.com/127.0.0.1#5335 +server=/.zhllg.spaces.live.com/127.0.0.1#5335 +server=/.zh.m.wikipedia.org/127.0.0.1#5335 +server=/.zh.netlog.com/127.0.0.1#5335 +server=/.zhonggtuotese.net/127.0.0.1#5335 +server=/.zhongguotese.net/127.0.0.1#5335 +server=/.zhongmeng.org/127.0.0.1#5335 +server=/.zhongsou.com/127.0.0.1#5335 +server=/.zh.pokerstrategy.com/127.0.0.1#5335 +server=/.zhreader.com/127.0.0.1#5335 +server=/.zh-tw.justin.tv/127.0.0.1#5335 +server=/.zhuichaguoji.org/127.0.0.1#5335 +server=/.zh.uncyclopedia.wikia.com/127.0.0.1#5335 +server=/.zh.wikinews.org/127.0.0.1#5335 +server=/.zh.wikipedia.org/127.0.0.1#5335 +server=/.zh.wikisource.org/127.0.0.1#5335 +server=/.ziddu.com/127.0.0.1#5335 +server=/.zillionk.com/127.0.0.1#5335 +server=/.zinio.com/127.0.0.1#5335 +server=/.ziplib.com/127.0.0.1#5335 +server=/.zkaip.com/127.0.0.1#5335 +server=/.zmw.cn/127.0.0.1#5335 +server=/.zomobo.net/127.0.0.1#5335 +server=/.zonaeuropa.com/127.0.0.1#5335 +server=/.zootool.com/127.0.0.1#5335 +server=/.zoozle.net/127.0.0.1#5335 +server=/.zozotown.com/127.0.0.1#5335 +server=/.zshare.net/127.0.0.1#5335 +server=/.zsrhao.com/127.0.0.1#5335 +server=/.zuo.la/127.0.0.1#5335 +server=/.zuola.com/127.0.0.1#5335 +server=/.zvereff.com/127.0.0.1#5335 +server=/.zyzc9.com/127.0.0.1#5335 +server=/.zyzg.us/127.0.0.1#5335 diff --git a/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_list.conf b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_list.conf new file mode 100644 index 0000000000..97fc505ab1 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/dnsmasq.ssr/gfw_list.conf @@ -0,0 +1,2 @@ +server=/.t66y.com/127.0.0.1#5335 +ipset=/.t66y.com/gfwlist diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr new file mode 100755 index 0000000000..3e3bb8a4e6 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -0,0 +1,545 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# Copyright (C) 2018 lean +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +START=90 +STOP=15 + +SERVICE_DAEMONIZE=1 +NAME=shadowsocksr +EXTRA_COMMANDS=rules +CONFIG_FILE=/var/etc/${NAME}.json +CONFIG_UDP_FILE=/var/etc/${NAME}_u.json +CONFIG_SOCK5_FILE=/var/etc/${NAME}_s.json +server_count=0 +redir_tcp=0 +redir_udp=0 +tunnel_enable=0 +local_enable=0 +kcp_enable_flag=0 +kcp_flag=0 +pdnsd_enable_flag=0 +switch_enable=0 +switch_server=$1 +MAXFD=32768 +CRON_FILE=/etc/crontabs/root +threads=1 + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_get_by_type() { + local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) + echo ${ret:=$3} +} + +add_cron() +{ + sed -i '/ssrplus.log/d' $CRON_FILE + echo '0 1 * * 0 echo "" > /tmp/ssrplus.log' >> $CRON_FILE + [ -n "$(grep -w "/usr/share/shadowsocksr/subscribe.sh" $CRON_FILE)" ] && sed -i '/\/usr\/share\/shadowsocksr\/subscribe.sh/d' $CRON_FILE + [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/share/shadowsocksr/subscribe.sh" >> $CRON_FILE + [ -z "$(grep -w "/usr/share/shadowsocksr/update.sh" $CRON_FILE)" ] && echo "0 5 * * 0 /usr/share/shadowsocksr/update.sh" >> $CRON_FILE + crontab $CRON_FILE +} + +del_cron() +{ + sed -i '/shadowsocksr/d' $CRON_FILE + sed -i '/ssrplus.log/d' $CRON_FILE + /etc/init.d/cron restart +} + +run_mode=$(uci_get_by_type global run_mode) + +gen_config_file() { + local host=$(uci_get_by_name $1 server) + if echo $host|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then + hostip=${host} + elif [ "$host" != "${host#*:[0-9a-fA-F]}" ] ;then + hostip=${host} + else + hostip=`ping ${host} -s 1 -c 1 | grep PING | cut -d'(' -f 2 | cut -d')' -f1` + if echo $hostip|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then + hostip=${hostip} + else + hostip=`cat /etc/ssr_ip` + fi + fi + [ $2 = "0" -a $kcp_flag = "1" ] && hostip="127.0.0.1" + + if [ $2 = "0" ] ;then + config_file=$CONFIG_FILE + elif [ $2 = "1" ]; then + config_file=$CONFIG_UDP_FILE + else + config_file=$CONFIG_SOCK5_FILE + fi + if [ $(uci_get_by_name $1 fast_open 0) = "1" ] ;then + fastopen="true"; + else + fastopen="false"; + fi +local stype=$(uci_get_by_name $1 type) +if [ "$stype" == "ss" ] ;then + cat <<-EOF >$config_file + { + "server": "$hostip", + "server_port": $(uci_get_by_name $1 server_port), + "local_address": "0.0.0.0", + "local_port": $(uci_get_by_name $1 local_port), + "password": "$(uci_get_by_name $1 password)", + "timeout": $(uci_get_by_name $1 timeout 60), + "method": "$(uci_get_by_name $1 encrypt_method_ss)", + "reuse_port": true, + "fast_open": $fastopen + } +EOF + elif [ "$stype" == "ssr" ] ;then + cat <<-EOF >$config_file + { + + "server": "$hostip", + "server_port": $(uci_get_by_name $1 server_port), + "local_address": "0.0.0.0", + "local_port": $(uci_get_by_name $1 local_port), + "password": "$(uci_get_by_name $1 password)", + "timeout": $(uci_get_by_name $1 timeout 60), + "method": "$(uci_get_by_name $1 encrypt_method)", + "protocol": "$(uci_get_by_name $1 protocol)", + "protocol_param": "$(uci_get_by_name $1 protocol_param)", + "obfs": "$(uci_get_by_name $1 obfs)", + "obfs_param": "$(uci_get_by_name $1 obfs_param)", + "reuse_port": true, + "fast_open": $fastopen + } +EOF + elif [ "$stype" == "v2ray" ] ;then + lua /usr/share/shadowsocksr/genv2config.lua $GLOBAL_SERVER tcp $(uci_get_by_name $1 local_port) > /var/etc/v2-ssr-retcp.json + sed -i 's/\\//g' /var/etc/v2-ssr-retcp.json +fi +} + +get_arg_out() { + case "$(uci_get_by_type access_control router_proxy 1)" in + 1) echo "-o";; + 2) echo "-O";; + esac +} + +start_rules() { + local server=$(uci_get_by_name $GLOBAL_SERVER server) + #resolve name + if echo $server|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then + server=${server} + elif [ "$server" != "${server#*:[0-9a-fA-F]}" ] ;then + server=${server} + else + server=`ping ${server} -s 1 -c 1 | grep PING | cut -d'(' -f 2 | cut -d')' -f1` + if echo $server|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then + echo $server >/etc/ssr_ip + else + server=`cat /etc/ssr_ip` + fi + fi + + kcp_server=$server + + local kcp_enable=$(uci_get_by_name $GLOBAL_SERVER kcp_enable 0) + if [ $kcp_enable = "1" ] ;then + kcp_flag=1 + fi + + local local_port=$(uci_get_by_name $GLOBAL_SERVER local_port) + local lan_ac_ips=$(uci_get_by_type access_control lan_ac_ips) + local lan_ac_mode="b" + local router_proxy=$(uci_get_by_type access_control router_proxy) + if [ "$GLOBAL_SERVER" = "$UDP_RELAY_SERVER" -a $kcp_flag = 0 ]; then + ARG_UDP="-u" + elif [ -n "$UDP_RELAY_SERVER" ]; then + ARG_UDP="-U" + local udp_server=$(uci_get_by_name $UDP_RELAY_SERVER server) + local udp_local_port=$(uci_get_by_name $UDP_RELAY_SERVER local_port) + fi + + if [ -n "$lan_ac_ips" ]; then + case "$lan_ac_mode" in + w|W|b|B) local ac_ips="$lan_ac_mode$lan_ac_ips";; + esac + fi + +#deal gfw firewall rule + local gfwmode="" + if [ "$run_mode" = "gfw" ]; then + gfwmode="-g" + elif [ "$run_mode" = "router" ]; then + gfwmode="-r" + elif [ "$run_mode" = "oversea" ]; then + gfwmode="-c" + elif [ "$run_mode" = "all" ]; then + gfwmode="-z" + fi + + + /usr/bin/ssr-rules \ + -s "$server" \ + -l "$local_port" \ + -S "$udp_server" \ + -L "$udp_local_port" \ + -a "$ac_ips" \ + -i "$(uci_get_by_type access_control wan_bp_list)" \ + -b "$(uci_get_by_type access_control wan_bp_ips)" \ + -w "$(uci_get_by_type access_control wan_fw_ips)" \ + -p "$(uci_get_by_type access_control lan_fp_ips)" \ + -G "$(uci_get_by_type access_control lan_gm_ips)" \ + $(get_arg_out) $gfwmode $ARG_UDP + + return $? +} + +start_pdnsd() { + local usr_dns="$1" + local usr_port="$2" + + local tcp_dns_list="208.67.222.222, 208.67.220.220" + [ -z "$usr_dns" ] && usr_dns="8.8.8.8" + [ -z "$usr_port" ] && usr_port="53" + + [ -d /var/etc ] || mkdir -p /var/etc + + if [ ! -d /var/pdnsd ];then + mkdir -p /var/pdnsd + echo -ne "pd13\000\000\000\000" >/var/pdnsd/pdnsd.cache + chown -R nobody:nogroup /var/pdnsd + fi + + cat > /var/etc/pdnsd.conf </dev/null 2>&1 + done + echo "$(date "+%Y-%m-%d %H:%M:%S") Shadowsocks/ShadowsocksR $threads Threads Started!" >> /tmp/ssrplus.log + elif [ "$stype" == "v2ray" ] ;then + $sscmd -config /var/etc/v2-ssr-retcp.json >/dev/null 2>&1 & + echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) Started!" >> /tmp/ssrplus.log + fi + + if [ -n "$UDP_RELAY_SERVER" ] ;then + redir_udp=1 + if [ "$utype" == "ss" -o "$utype" == "ssr" ] ;then + case "$(uci_get_by_name $UDP_RELAY_SERVER auth_enable)" in + 1|on|true|yes|enabled) ARG_OTA="-A";; + *) ARG_OTA="";; + esac + gen_config_file $UDP_RELAY_SERVER 1 + last_config_file=$CONFIG_UDP_FILE + pid_file="/var/run/ssr-reudp.pid" + $ucmd -c $last_config_file $ARG_OTA -U -f /var/run/ssr-reudp.pid >/dev/null 2>&1 + elif [ "$utype" == "v2ray" ] ; then + lua /usr/share/shadowsocksr/genv2config.lua $UDP_RELAY_SERVER udp $(uci_get_by_name $UDP_RELAY_SERVER local_port) > /var/etc/v2-ssr-reudp.json + sed -i 's/\\//g' /var/etc/v2-ssr-reudp.json + $ucmd -config /var/etc/v2-ssr-reudp.json >/dev/null 2>&1 & + fi + fi + + + + #deal with dns + + if [ "$(uci_get_by_type global pdnsd_enable)" = "1" ] ;then + local dnsstr="$(uci_get_by_type global tunnel_forward 8.8.4.4:53)" + local dnsserver=`echo "$dnsstr"|awk -F ':' '{print $1}'` + local dnsport=`echo "$dnsstr"|awk -F ':' '{print $2}'` + if [ "$run_mode" = "gfw" ]; then + ipset add gfwlist $dnsserver 2>/dev/null + elif [ "$run_mode" = "oversea" ]; then + ipset add oversea $dnsserver 2>/dev/null + else + ipset add ss_spec_wan_ac $dnsserver nomatch 2>/dev/null + fi + start_pdnsd $dnsserver $dnsport + pdnsd_enable_flag=1 + fi + + if [ "$(uci_get_by_type global enable_switch)" = "1" ] ;then + if [ "$(uci_get_by_name $GLOBAL_SERVER switch_enable)" = "1" ] ;then + if [ -z "$switch_server" ] ;then + local switch_time=$(uci_get_by_type global switch_time) + local switch_timeout=$(uci_get_by_type global switch_timeout) + service_start /usr/bin/ssr-switch start $switch_time $switch_timeout + switch_enable=1 + fi + fi + fi + add_cron + + return $? +} + +gen_service_file() { + if [ $(uci_get_by_name $1 fast_open) = "1" ] ;then + fastopen="true"; + else + fastopen="false"; + fi + cat <<-EOF >$2 + { + "server": "0.0.0.0", + "server_port": $(uci_get_by_name $1 server_port), + "password": "$(uci_get_by_name $1 password)", + "timeout": $(uci_get_by_name $1 timeout 60), + "method": "$(uci_get_by_name $1 encrypt_method)", + "protocol": "$(uci_get_by_name $1 protocol)", + "protocol_param": "$(uci_get_by_name $1 protocol_param)", + "obfs": "$(uci_get_by_name $1 obfs)", + "obfs_param": "$(uci_get_by_name $1 obfs_param)", + "fast_open": $fastopen + } +EOF +} + +start_service() { +[ $(uci_get_by_name $1 enable) = "0" ] && return 1 +let server_count=server_count+1 +if [ $server_count = 1 ] ;then +iptables -N SSR-SERVER-RULE && \ +iptables -t filter -I INPUT -j SSR-SERVER-RULE +fi + +gen_service_file $1 /var/etc/${NAME}_${server_count}.json +/usr/bin/ssr-server -c /var/etc/${NAME}_${server_count}.json -u -f /var/run/ssr-server${server_count}.pid >/dev/null 2>&1 +iptables -t filter -A SSR-SERVER-RULE -p tcp --dport $(uci_get_by_name $1 server_port) -j ACCEPT +iptables -t filter -A SSR-SERVER-RULE -p udp --dport $(uci_get_by_name $1 server_port) -j ACCEPT +return 0 +} +gen_serv_include() { +FWI=$(uci get firewall.shadowsocksr.path 2>/dev/null) +[ -n "$FWI" ] || return 0 +if [ ! -f $FWI ] ;then +echo '#!/bin/sh' >$FWI +fi +extract_rules() { +echo "*filter" +iptables-save -t filter | grep SSR-SERVER-RULE|sed -e "s/^-A INPUT/-I INPUT/" +echo 'COMMIT' +} + cat <<-EOF >>$FWI + iptables-save -c | grep -v "SSR-SERVER" | iptables-restore -c + iptables-restore -n <<-EOT + $(extract_rules) + EOT +EOF + +} +start_server() { + SERVER_ENABLE=$(uci_get_by_type server_global enable_server) + [ "$SERVER_ENABLE" = 0 ] && return 0 + mkdir -p /var/run /var/etc + + config_load $NAME + config_foreach start_service server_config + gen_serv_include + return 0 +} + +start_local() { + local local_server=$(uci_get_by_type socks5_proxy server) + [ "$local_server" = "nil" ] && return 1 + mkdir -p /var/run /var/etc + gen_config_file $local_server 2 + /usr/bin/ssr-local -c $CONFIG_SOCK5_FILE -u \ + -l $(uci_get_by_type socks5_proxy local_port 1080) \ + -b $(uci_get_by_type socks5_proxy local_address 0.0.0.0) \ + -f /var/run/ssr-local.pid >/dev/null 2>&1 + local_enable=1 +} + +rules() { + [ "$GLOBAL_SERVER" = "nil" ] && return 1 + mkdir -p /var/run /var/etc + UDP_RELAY_SERVER=$(uci_get_by_type global udp_relay_server) + [ "$UDP_RELAY_SERVER" = "same" ] && UDP_RELAY_SERVER=$GLOBAL_SERVER + if start_rules ;then + return 0 + else + return 1 + fi +} + +start() { + if [ -z "$switch_server" ] ;then + GLOBAL_SERVER=$(uci_get_by_type global global_server) + else + GLOBAL_SERVER=$switch_server + switch_enable=1 + fi + if rules ;then + start_redir + + mkdir -p /tmp/dnsmasq.d + if ! [ "$run_mode" = "oversea" ] ;then + cat > /tmp/dnsmasq.d/dnsmasq-ssr.conf < /tmp/dnsmasq.d/dnsmasq-ssr.conf </dev/null 2>&1 + + fi + start_server + start_local + + if [ $(uci_get_by_type global monitor_enable) = 1 ] ;then + let total_count=server_count+redir_tcp+redir_udp+tunnel_enable+kcp_enable_flag+local_enable+pdnsd_enable_flag+switch_enable + if [ $total_count -gt 0 ] + then + #param:server(count) redir_tcp(0:no,1:yes) redir_udp tunnel kcp local gfw + service_start /usr/bin/ssr-monitor $server_count $redir_tcp $redir_udp $tunnel_enable $kcp_enable_flag $local_enable $pdnsd_enable_flag $switch_enable + fi + fi + + ENABLE_SERVER=$(uci_get_by_type global global_server) + [ "$ENABLE_SERVER" = "nil" ] && return 1 +} + +boot() { + (/usr/share/shadowsocksr/chinaipset.sh && sleep 5 && start >/dev/null 2>&1) & +} + +stop() { + /usr/bin/ssr-rules -f + srulecount=`iptables -L|grep SSR-SERVER-RULE|wc -l` + if [ $srulecount -gt 0 ] ;then + iptables -F SSR-SERVER-RULE + iptables -t filter -D INPUT -j SSR-SERVER-RULE + iptables -X SSR-SERVER-RULE 2>/dev/null + fi + if [ -z "$switch_server" ] ;then + kill -9 $(ps | grep ssr-switch | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + fi + if [ $(uci_get_by_type global monitor_enable) = 1 ] ;then + kill -9 $(ps | grep ssr-monitor | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + fi + killall -q -9 ssr-monitor + killall -q -9 ss-redir + killall -q -9 ssr-redir + killall -q -9 v2ray + killall -q -9 ssr-server + killall -q -9 kcptun-client + killall -q -9 ssr-local + if [ -f /var/run/pdnsd.pid ] ;then + kill $(cat /var/run/pdnsd.pid) >/dev/null 2>&1 + else + kill -9 $(ps | grep pdnsd | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + fi + + if [ -f "/tmp/dnsmasq.d/dnsmasq-ssr.conf" ]; then + rm -f /tmp/dnsmasq.d/dnsmasq-ssr.conf + /etc/init.d/dnsmasq restart >/dev/null 2>&1 + fi + del_cron +} diff --git a/package/lean/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus b/package/lean/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus new file mode 100755 index 0000000000..97aa54a468 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/etc/uci-defaults/luci-ssr-plus @@ -0,0 +1,18 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@shadowsocksr[-1] + add ucitrack shadowsocksr + set ucitrack.@shadowsocksr[-1].init=shadowsocksr + commit ucitrack + delete firewall.shadowsocksr + set firewall.shadowsocksr=include + set firewall.shadowsocksr.type=script + set firewall.shadowsocksr.path=/var/etc/shadowsocksr.include + set firewall.shadowsocksr.reload=1 + commit firewall +EOF + +/usr/share/shadowsocksr/gfw2ipset.sh +rm -f /tmp/luci-indexcache +exit 0 diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-ad b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-ad new file mode 100755 index 0000000000..668a262664 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-ad @@ -0,0 +1,6 @@ +#!/bin/sh -e + +if [ -f /tmp/adnew.conf ]; then + cat /tmp/adnew.conf | grep ^\|\|[^\*]*\^$ | sed -e 's:||:address\=\/:' -e 's:\^:/0\.0\.0\.0:' > /tmp/ad.conf +fi + diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-gfw b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-gfw new file mode 100755 index 0000000000..dffebbaca2 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-gfw @@ -0,0 +1,31 @@ +#!/bin/sh -e + +generate_china_banned() +{ + + cat $1 | base64 -d > /tmp/gfwlist.txt + rm -f $1 + sed -i '/^@@|/d' /tmp/gfwlist.txt + + cat /tmp/gfwlist.txt | sort -u | + sed 's#!.\+##; s#|##g; s#@##g; s#http:\/\/##; s#https:\/\/##;' | + sed '/\*/d; /apple\.com/d; /sina\.cn/d; /sina\.com\.cn/d; /baidu\.com/d; /byr\.cn/d; /jlike\.com/d; /weibo\.com/d; /zhongsou\.com/d; /youdao\.com/d; /sogou\.com/d; /so\.com/d; /soso\.com/d; /aliyun\.com/d; /taobao\.com/d; /jd\.com/d; /qq\.com/d' | + sed '/^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$/d' | + grep '^[0-9a-zA-Z\.-]\+$' | grep '\.' | sed 's#^\.\+##' | sort -u | + awk ' +BEGIN { prev = "________"; } { + cur = $0; + if (index(cur, prev) == 1 && substr(cur, 1 + length(prev) ,1) == ".") { + } else { + print cur; + prev = cur; + } +}' | sort -u + +} + +generate_china_banned /tmp/gfw.b64 > /tmp/gfw.txt +rm -f /tmp/gfwlist.txt +sed '/.*/s/.*/server=\/\.&\/127.0.0.1#5335\nipset=\/\.&\/gfwlist/' /tmp/gfw.txt >/tmp/gfwnew.txt +rm -f /tmp/gfw.txt + diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-monitor b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-monitor new file mode 100755 index 0000000000..60c34ee556 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-monitor @@ -0,0 +1,132 @@ +#!/bin/sh +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + + +NAME=shadowsocksr + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_get_by_type() { + local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) + echo ${ret:=$3} +} + +server_process_count=$1 +redir_tcp_process=$2 +redir_udp_process=$3 +tunnel_process=$4 +kcp_process=$5 +local_process=$6 +pdnsd_process=$7 +if [ -z "$pdnsd_process" ] ;then +pdnsd_process=0 +fi + +i=0 + +GLOBAL_SERVER=$(uci_get_by_type global global_server) +server=$(uci_get_by_name $GLOBAL_SERVER server) +lkcp_port=$(uci_get_by_name $GLOBAL_SERVER kcp_port) +server_port=$(uci_get_by_name $GLOBAL_SERVER server_port) +password=$(uci_get_by_name $GLOBAL_SERVER kcp_password) +kcp_param=$(uci_get_by_name $GLOBAL_SERVER kcp_param) +[ "$password" != "" ] && password="--key "${password} + +sock5_port=$(uci_get_by_type socks5_proxy local_port 1080) + +if echo $server|grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$">/dev/null; then + server=${server} + else + server=`cat /etc/ssr_ip` +fi + +while [ "1" = "1" ] #ѭ +do + sleep 30 +#redir tcp + if [ $redir_tcp_process -gt 0 ] ;then + icount=`ps -w | grep ssr-retcp |grep -v grep| wc -l` + if [ $icount = 0 ] ;then + logger -t "$NAME" "ssr redir tcp error.restart!" + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi +#redir udp + if [ $redir_udp_process -gt 0 ] ;then + icount=`ps -w | grep ssr-reudp|grep -v grep| wc -l` + if [ $icount = 0 ] ;then + logger -t "$NAME" "ssr redir udp error.restart!" + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi +#tunnel + if [ $tunnel_process -gt 0 ] ;then + icount=`ps -w | grep ssr-tunnel |grep -v grep| wc -l` + if [ $icount = 0 ] ;then + logger -t "$NAME" "ssr tunnel error.restart!" + /etc/init.d/shadowsocksr restart + exit 0 + fi + fi +#server + if [ $server_process_count -gt 0 ] ;then + icount=`ps -w | grep ssr-server |grep -v grep| wc -l` + if [ $icount -lt $server_process_count ] #̹ҵ + then + logger -t "$NAME" "ssr server error.restart!" + killall -q -9 ssr-server + for i in `seq $server_process_count` + do + /usr/bin/ssr-server -c /var/etc/shadowsocksr_$i.json -u -f /var/run/ssr-server$i.pid + done + fi + fi +#kcptun + if [ $kcp_process -gt 0 ] ;then + icount=`ps -w | grep kcptun-client |grep -v grep| wc -l` + if [ $icount -lt $kcp_process ] #̹ҵ + then + logger -t "$NAME" "ssr kcptun error.restart!" + killall -q -9 kcptun-client + + ( /usr/bin/kcptun-client -r $server:$kcp_port -l :$server_port $password $kcp_param &) + fi + fi +#local + if [ $local_process -gt 0 ] ;then + icount=`ps -w | grep ssr-local |grep -v grep| wc -l` + if [ $icount -lt $local_process ] #̹ҵ + then + logger -t "$NAME" "ssr local error.restart!" + killall -q -9 ssr-local + + ( /usr/bin/ssr-local -c /var/etc/shadowsocksr_s.json -u -l $sock5_port -f /var/run/ssr-local.pid &) + fi + fi +#pdnsd + if [ $pdnsd_process -gt 0 ] ;then + icount=`ps -w | grep pdnsd |grep -v grep| wc -l` + if [ $icount -lt $pdnsd_process ] #̹ҵ + then + logger -t "$NAME" "pdnsd tunnel error.restart!" + if [ -f /var/run/pdnsd.pid ] ;then + kill $(cat /var/run/pdnsd.pid) >/dev/null 2>&1 + else + kill -9 $(ps | grep pdnsd | grep -v grep | awk '{print $1}') >/dev/null 2>&1 + fi + + ( /usr/sbin/pdnsd -c /var/etc/pdnsd.conf -d &) + fi + fi +done diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules new file mode 100755 index 0000000000..b27c9d513d --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules @@ -0,0 +1,372 @@ +#!/bin/sh +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +TAG="_SS_SPEC_RULE_" # comment tag +IPT="iptables -t nat" # alias of iptables +FWI=$(uci get firewall.shadowsocksr.path 2>/dev/null) # firewall include file + +usage() { + cat <<-EOF + Usage: ssr-rules [options] + + Valid options are: + + -s ip address of shadowsocksr remote server + -l port number of shadowsocksr local server + -S ip address of shadowsocksr remote UDP server + -L port number of shadowsocksr local UDP server + -i a file content is bypassed ip list + -a lan ip of access control, need a prefix to + define access control mode + -b wan ip of will be bypassed + -w wan ip of will be forwarded + -p lan ip of will be global proxy + -G lan ip of will be game mode proxy + -e extra options for iptables + -o apply the rules to the OUTPUT chain + -O apply the global rules to the OUTPUT chain + -u enable udprelay mode, TPROXY is required + -U enable udprelay mode, using different IP + and ports for TCP and UDP + -f flush the rules + -g gfw list mode + -r return china mode + -h show this help message and exit +EOF + exit $1 +} + +loger() { + # 1.alert 2.crit 3.err 4.warn 5.notice 6.info 7.debug + logger -st ssr-rules[$$] -p$1 $2 +} + +flush_r() { + flush_iptables() { + local ipt="iptables -t $1" + local DAT=$(iptables-save -t $1) + eval $(echo "$DAT" | grep "$TAG" | sed -e 's/^-A/$ipt -D/' -e 's/$/;/') + for chain in $(echo "$DAT" | awk '/^:SS_SPEC/{print $1}'); do + $ipt -F ${chain:1} 2>/dev/null && $ipt -X ${chain:1} + done + } + flush_iptables nat + flush_iptables mangle + ip rule del fwmark 0x01/0x01 table 100 2>/dev/null + ip route del local 0.0.0.0/0 dev lo table 100 2>/dev/null + ipset -X ss_spec_lan_ac 2>/dev/null + ipset -X ss_spec_wan_ac 2>/dev/null + ipset -X ssr_gen_router 2>/dev/null + ipset -X fplan 2>/dev/null + ipset -X gmlan 2>/dev/null + ipset -X oversea 2>/dev/null + [ -n "$FWI" ] && echo '#!/bin/sh' >$FWI + return 0 +} + +ipset_r() { + if [ "$RUNMODE" = "router" ] ;then + ipset -! -R <<-EOF || return 1 + create ss_spec_wan_ac hash:net + $(gen_iplist | sed -e "s/^/add ss_spec_wan_ac /") + $(for ip in $WAN_FW_IP; do echo "add ss_spec_wan_ac $ip nomatch"; done) +EOF + ipset -N gfwlist hash:net 2>/dev/null + $IPT -N SS_SPEC_WAN_AC + $IPT -I SS_SPEC_WAN_AC -d $server -j RETURN + $IPT -A SS_SPEC_WAN_AC -m set --match-set ss_spec_wan_ac dst -j RETURN + $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW + + elif [ "$RUNMODE" = "gfw" ] ;then + ipset -N gfwlist hash:net 2>/dev/null + for ip in $WAN_FW_IP; do ipset -! add gfwlist $ip ; done + $IPT -N SS_SPEC_WAN_AC + $IPT -A SS_SPEC_WAN_AC -m set --match-set gfwlist dst -j SS_SPEC_WAN_FW + ipset -N gmlan hash:net 2>/dev/null + for ip in $LAN_GM_IP; do ipset -! add gmlan $ip ; done + $IPT -A SS_SPEC_WAN_AC -m set --match-set gmlan src -m set ! --match-set china dst -j SS_SPEC_WAN_FW + $IPT -I SS_SPEC_WAN_AC -d $server -j RETURN + + elif [ "$RUNMODE" = "oversea" ] ;then + ipset -N oversea hash:net 2>/dev/null + $IPT -N SS_SPEC_WAN_AC + ipset -N gmlan hash:net 2>/dev/null + for ip in $LAN_GM_IP; do ipset -! add gmlan $ip ; done + $IPT -A SS_SPEC_WAN_AC -m set --match-set china dst -j SS_SPEC_WAN_FW + $IPT -I SS_SPEC_WAN_AC -d $server -j RETURN + + elif [ "$RUNMODE" = "all" ] ;then + $IPT -N SS_SPEC_WAN_AC + $IPT -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW + $IPT -I SS_SPEC_WAN_AC -d $server -j RETURN + + fi + + ipset -N fplan hash:net 2>/dev/null + for ip in $LAN_FP_IP; do ipset -! add fplan $ip ; done + $IPT -I SS_SPEC_WAN_AC -m set --match-set fplan src -j SS_SPEC_WAN_FW + + return $? +} + +fw_rule() { + $IPT -N SS_SPEC_WAN_FW + $IPT -A SS_SPEC_WAN_FW -d 0.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 10.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 127.0.0.0/8 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 169.254.0.0/16 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 172.16.0.0/12 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 192.168.0.0/16 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 224.0.0.0/4 -j RETURN + $IPT -A SS_SPEC_WAN_FW -d 240.0.0.0/4 -j RETURN + $IPT -A SS_SPEC_WAN_FW -p tcp \ + -j REDIRECT --to-ports $local_port 2>/dev/null || { + loger 3 "Can't redirect, please check the iptables." + exit 1 + } + return $? +} + +ac_rule() { + if [ -n "$LAN_AC_IP" ]; then + case "${LAN_AC_IP:0:1}" in + w|W) + MATCH_SET="-m set --match-set ss_spec_lan_ac src" + ;; + b|B) + MATCH_SET="-m set ! --match-set ss_spec_lan_ac src" + ;; + *) + loger 3 "Bad argument \`-a $LAN_AC_IP\`." + return 2 + ;; + esac + fi + IFNAME=$(uci get -P/var/state network.lan.ifname 2>/dev/null) + ipset -! -R <<-EOF || return 1 + create ss_spec_lan_ac hash:net + $(for ip in ${LAN_AC_IP:1}; do echo "add ss_spec_lan_ac $ip"; done) +EOF + $IPT -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p tcp $EXT_ARGS $MATCH_SET \ + -m comment --comment "$TAG" -j SS_SPEC_WAN_AC + if [ "$OUTPUT" = 1 ]; then + $IPT -I OUTPUT 1 -p tcp $EXT_ARGS \ + -m comment --comment "$TAG" -j SS_SPEC_WAN_AC + elif [ "$OUTPUT" = 2 ]; then + ipset -! -R <<-EOF || return 1 + create ssr_gen_router hash:net + $(gen_spec_iplist | sed -e "s/^/add ssr_gen_router /") +EOF + $IPT -N SS_SPEC_ROUTER && \ + $IPT -A SS_SPEC_ROUTER -m set --match-set ssr_gen_router dst -j RETURN && \ + $IPT -A SS_SPEC_ROUTER -j SS_SPEC_WAN_FW + $IPT -I OUTPUT 1 -p tcp -m comment --comment "$TAG" -j SS_SPEC_ROUTER + fi + return $? +} + +tp_rule() { + [ -n "$TPROXY" ] || return 0 + ip rule add fwmark 0x01/0x01 table 100 + ip route add local 0.0.0.0/0 dev lo table 100 + local ipt="iptables -t mangle" + $ipt -N SS_SPEC_TPROXY + $ipt -A SS_SPEC_TPROXY -p udp --dport 53 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 0.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 10.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 127.0.0.0/8 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 169.254.0.0/16 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 172.16.0.0/12 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 192.168.0.0/16 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 224.0.0.0/4 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d 240.0.0.0/4 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp -d $SERVER -j RETURN + + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set fplan src \ + -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + + if [ "$RUNMODE" = "router" ] ;then + $ipt -A SS_SPEC_TPROXY -p udp -m set ! --match-set ss_spec_wan_ac dst \ + -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + + elif [ "$RUNMODE" = "gfw" ] ;then + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gmlan src -m set ! --match-set china dst \ + -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set gfwlist dst \ + -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + + elif [ "$RUNMODE" = "oversea" ] ;then + $ipt -A SS_SPEC_TPROXY -p udp -m set --match-set china dst \ + -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + + elif [ "$RUNMODE" = "all" ] ;then + $ipt -A SS_SPEC_TPROXY -p udp -j TPROXY --on-port "$LOCAL_PORT" --tproxy-mark 0x01/0x01 + fi + + $ipt -I PREROUTING 1 ${IFNAME:+-i $IFNAME} -p udp $EXT_ARGS $MATCH_SET \ + -m comment --comment "$TAG" -j SS_SPEC_TPROXY + + return $? +} + +get_wan_ip() { + cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}" + $server + $SERVER + $WAN_BP_IP +EOF +} + +gen_iplist() { + cat <<-EOF + 0.0.0.0/8 + 10.0.0.0/8 + 100.64.0.0/10 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.0.0.0/24 + 192.0.2.0/24 + 192.88.99.0/24 + 192.168.0.0/16 + 198.18.0.0/15 + 198.51.100.0/24 + 203.0.113.0/24 + 224.0.0.0/4 + 240.0.0.0/4 + 255.255.255.255 + $(get_wan_ip) + $(cat ${IGNORE_LIST:=/dev/null} 2>/dev/null) +EOF +} + +gen_spec_iplist() { + cat <<-EOF + 0.0.0.0/8 + 10.0.0.0/8 + 100.64.0.0/10 + 127.0.0.0/8 + 169.254.0.0/16 + 172.16.0.0/12 + 192.0.0.0/24 + 192.0.2.0/24 + 192.88.99.0/24 + 192.168.0.0/16 + 198.18.0.0/15 + 198.51.100.0/24 + 203.0.113.0/24 + 224.0.0.0/4 + 240.0.0.0/4 + 255.255.255.255 + $(get_wan_ip) +EOF +} + +gen_include() { + [ -n "$FWI" ] || return 0 + extract_rules() { + echo "*$1" + iptables-save -t $1 | grep SS_SPEC_ |\ + sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/" + echo 'COMMIT' + } + cat <<-EOF >>$FWI + iptables-save -c | grep -v "SS_SPEC" | iptables-restore -c + iptables-restore -n <<-EOT + $(extract_rules nat) + $(extract_rules mangle) + EOT +EOF + return 0 +} + +while getopts ":s:l:S:L:i:e:a:b:w:p:G:oOuUfgrczh" arg; do + case "$arg" in + s) + server=$OPTARG + ;; + l) + local_port=$OPTARG + ;; + S) + SERVER=$OPTARG + ;; + L) + LOCAL_PORT=$OPTARG + ;; + i) + IGNORE_LIST=$OPTARG + ;; + e) + EXT_ARGS=$OPTARG + ;; + a) + LAN_AC_IP=$OPTARG + ;; + b) + WAN_BP_IP=$(for ip in $OPTARG; do echo $ip; done) + ;; + w) + WAN_FW_IP=$OPTARG + ;; + p) + LAN_FP_IP=$OPTARG + ;; + G) + LAN_GM_IP=$OPTARG + ;; + o) + OUTPUT=1 + ;; + O) + OUTPUT=2 + ;; + u) + TPROXY=1 + ;; + U) + TPROXY=2 + ;; + g) + RUNMODE=gfw + ;; + r) + RUNMODE=router + ;; + c) + RUNMODE=oversea + ;; + z) + RUNMODE=all + ;; + f) + flush_r + exit 0 + ;; + h) + usage 0 + ;; + esac +done + +if [ -z "$server" -o -z "$local_port" ]; then + usage 2 +fi + +if [ "$TPROXY" = 1 ]; then + SERVER=$server + LOCAL_PORT=$local_port +elif [ "$TPROXY" = 2 ]; then + : ${SERVER:?"You must assign an ip for the udp relay server."} + : ${LOCAL_PORT:?"You must assign a port for the udp relay server."} +fi + +flush_r && fw_rule && ipset_r && ac_rule && tp_rule && gen_include +[ "$?" = 0 ] || loger 3 "Start failed!" +exit $? diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-switch b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-switch new file mode 100755 index 0000000000..e46de0a2ac --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-switch @@ -0,0 +1,173 @@ +#!/bin/sh /etc/rc.common +# +# Copyright (C) 2017 openwrt-ssr +# Copyright (C) 2017 yushi studio +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# + +cycle_time=60 +switch_time=3 +normal_flag=0 +server_locate=0 +server_count=0 +NAME=shadowsocksr +ENABLE_SERVER=nil +CONFIG_SWTICH_FILE=/var/etc/${NAME}_t.json + + +[ -n "$1" ] && cycle_time=$1 +[ -n "$2" ] && switch_time=$2 + +uci_get_by_name() { + local ret=$(uci get $NAME.$1.$2 2>/dev/null) + echo ${ret:=$3} +} + +uci_get_by_type() { + local ret=$(uci get $NAME.@$1[0].$2 2>/dev/null) + echo ${ret:=$3} +} + +DEFAULT_SERVER=$(uci_get_by_type global global_server) +CURRENT_SERVER=$DEFAULT_SERVER + +#жϴǷ +check_proxy() { +/usr/bin/ssr-check www.google.com 80 $switch_time 1 +if [ "$?" == "0" ]; then + return 0 +else + /usr/bin/ssr-check www.baidu.com 80 $switch_time 1 + if [ "$?" == "0" ]; then + #gooleͨbaiduͨ + return 1 + else + return 2 + fi +fi +return 0 +} + + +test_proxy() { +local servername=$(uci_get_by_name $1 server) +local serverport=$(uci_get_by_name $1 server_port) +ret=$(ping -c 3 $servername | grep 'loss' | awk -F ',' '{ print $3 }' | awk -F "%" '{ print $1 }') +[ -z "$ret" ] && return 1 +[ "$ret" -gt "50" ] && return 1 +ipset add ss_spec_wan_ac $servername 2>/dev/null +ret=$? +/usr/bin/ssr-check $servername $serverport $switch_time +local ret2=$? +if [ "$ret" = "0" ] ;then +ipset del ss_spec_wan_ac $servername 2>/dev/null +fi +if [ "$ret2" = "0" ] ;then +return 0 +else +return 1 +fi +} + +search_proxy() { +let server_count=server_count+1 +[ "$normal_flag" = "1" -a "$server_count" -le "$server_locate" ] && return 0 +[ "$(uci_get_by_name $1 switch_enable)" != "1" ] && return 1 +[ $ENABLE_SERVER != nil ] && return 0 +[ "$1" = "$CURRENT_SERVER" ] && return 0 +local servername=$(uci_get_by_name $1 server) +local serverport=$(uci_get_by_name $1 server_port) +ipset add ss_spec_wan_ac $servername 2>/dev/null +ret=$? + /usr/bin/ssr-check $servername $serverport $switch_time + local ret2=$? +if [ "$ret" = "0" ] ;then +ipset del ss_spec_wan_ac $servername 2>/dev/null +fi +if [ "$ret2" = "0" ] ;then +server_locate=$server_count +ENABLE_SERVER=$1 +return 0 +else +return 1 +fi + +} +#ѡõĴ +select_proxy() { + +config_load $NAME +ENABLE_SERVER=nil +mkdir -p /var/run /var/etc +server_count=0 +config_foreach search_proxy servers + +} + +#л +switch_proxy() { +/etc/init.d/shadowsocksr restart $1 +return 0 +} + +start() { +#֧kcptunʱл +[ $(uci_get_by_name $DEFAULT_SERVER kcp_enable) = "1" ] && return 1 + +while [ "1" = "1" ] #ѭ +do + sleep $cycle_time + + LOGTIME=$(date "+%Y-%m-%d %H:%M:%S") + + + #жϵǰǷΪȱʡ + if [ "$CURRENT_SERVER" != "$DEFAULT_SERVER" ] ;then + #echo "not default proxy" + echo "$(date "+%Y-%m-%d %H:%M:%S") Current server is not default Main server, try to switch back." >> /tmp/ssrplus.log + + #ȱʡǷ + if test_proxy $DEFAULT_SERVER ;then + #echo "switch to default proxy" + echo "$(date "+%Y-%m-%d %H:%M:%S") Main server is avilable." >> /tmp/ssrplus.log + #ȱʡл + CURRENT_SERVER=$DEFAULT_SERVER + switch_proxy $CURRENT_SERVER + echo "switch to default ["$(uci_get_by_name $CURRENT_SERVER server)"] proxy!" >> /tmp/ssrplus.log + continue + else + echo "$(date "+%Y-%m-%d %H:%M:%S") Main server is NOT avilable.Continue using current server." >> /tmp/ssrplus.log + fi + fi + + #жϵǰǷ + check_proxy + current_ret=$? + + if [ "$current_ret" = "1" ] ;then + #ǰж޿õķ + #echo "current error" + echo "$(date "+%Y-%m-%d %H:%M:%S") Current server error, try to switch another server." >> /tmp/ssrplus.log + + select_proxy + if [ "$ENABLE_SERVER" != nil ] ;then + #ãл + #echo $(uci_get_by_name $new_proxy server) + echo "$(date "+%Y-%m-%d %H:%M:%S") Another server is avilable, now switching server." >> /tmp/ssrplus.log + CURRENT_SERVER=$ENABLE_SERVER + switch_proxy $CURRENT_SERVER + normal_flag=1 + echo "$(date "+%Y-%m-%d %H:%M:%S") ShadowsocksR server switch OK" >> /tmp/ssrplus.log + else + normal_flag=0 + fi + else + normal_flag=0 + echo "$(date "+%Y-%m-%d %H:%M:%S") ShadowsocksR No Problem." >> /tmp/ssrplus.log + fi + + +done +} \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh new file mode 100755 index 0000000000..044d524d94 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/chinaipset.sh @@ -0,0 +1,5 @@ +echo "create china hash:net family inet hashsize 1024 maxelem 65536" > /tmp/china.ipset +awk '!/^$/&&!/^#/{printf("add china %s'" "'\n",$0)}' /etc/china_ssr.txt >> /tmp/china.ipset +ipset -! flush china +ipset -! restore < /tmp/china.ipset 2>/dev/null +rm -f /tmp/china.ipset diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua new file mode 100644 index 0000000000..dcc11166b4 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/genv2config.lua @@ -0,0 +1,95 @@ +local ucursor = require "luci.model.uci".cursor() +local json = require "luci.jsonc" +local server_section = arg[1] +local proto = arg[2] +local local_port = arg[3] + +local server = ucursor:get_all("shadowsocksr", server_section) + +local v2ray = { + log = { + -- error = "/var/ssrplus.log", + loglevel = "warning" + }, + -- 传入连接 + inbound = { + port = local_port, + protocol = "dokodemo-door", + settings = { + network = proto, + followRedirect = true + }, + sniffing = { + enabled = true, + destOverride = { "http", "tls" } + } + }, + -- 传出连接 + outbound = { + protocol = "vmess", + settings = { + vnext = { + { + address = server.server, + port = tonumber(server.server_port), + users = { + { + id = server.vmess_id, + alterId = tonumber(server.alter_id), + security = server.security + } + } + } + } + }, + -- 底层传输配置 + streamSettings = { + network = server.transport, + security = (server.tls == '1') and "tls" or "none", + tlsSettings = {allowInsecure = (server.insecure == "1") and true or false,}, + kcpSettings = (server.transport == "kcp") and { + mtu = tonumber(server.mtu), + tti = tonumber(server.tti), + uplinkCapacity = tonumber(server.uplink_capacity), + downlinkCapacity = tonumber(server.downlink_capacity), + congestion = (server.congestion == "1") and true or false, + readBufferSize = tonumber(server.read_buffer_size), + writeBufferSize = tonumber(server.write_buffer_size), + header = { + type = server.kcp_guise + } + } or nil, + wsSettings = (server.transport == "ws") and { + path = server.ws_path, + headers = (server.ws_host ~= nil) and { + Host = server.ws_host + } or nil, + } or nil, + httpSettings = (server.transport == "h2") and { + path = server.h2_path, + host = server.h2_host, + } or nil, + quicSettings = (server.transport == "quic") and { + security = server.quic_security, + key = server.quic_key, + header = { + type = server.quic_guise + } + } or nil + }, + mux = { + enabled = (server.mux == "1") and true or false, + concurrency = tonumber(server.concurrency) + } + }, + + -- 额外传出连接 + outboundDetour = { + { + protocol = "freedom", + tag = "direct", + settings = { keep = "" } + } + } +} +print(json.stringify(v2ray, 1)) diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh new file mode 100755 index 0000000000..1a1ec856e0 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/gfw2ipset.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"gfwlist"'\n",$0)}' /etc/config/gfw.list > /etc/dnsmasq.ssr/custom_forward.conf +awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/gfw.list >> /etc/dnsmasq.ssr/custom_forward.conf + diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh new file mode 100755 index 0000000000..3c73d36c39 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.sh @@ -0,0 +1,205 @@ +#!/bin/bash +# Copyright (C) 2017 XiaoShan https://www.mivm.cn + +. /usr/share/libubox/jshn.sh + +urlsafe_b64decode() { + local d="====" data=$(echo $1 | sed 's/_/\//g; s/-/+/g') + local mod4=$((${#data}%4)) + [ $mod4 -gt 0 ] && data=${data}${d:mod4} + echo $data | base64 -d +} + +echo_date(){ + echo $(TZ=UTC-8 date -R +%Y-%m-%d\ %X):$1 +} + +Server_Update() { + local uci_set="uci -q set $name.$1." + ${uci_set}alias="[$ssr_group] $ssr_remarks" + ${uci_set}auth_enable="0" + ${uci_set}switch_enable="1" + ${uci_set}type="$ssr_type" + ${uci_set}server="$ssr_host" + ${uci_set}server_port="$ssr_port" + ${uci_set}local_port="1234" + uci -q get $name.@servers[$1].timeout >/dev/null || ${uci_set}timeout="60" + ${uci_set}password="$ssr_passwd" + ${uci_set}encrypt_method="$ssr_method" + ${uci_set}protocol="$ssr_protocol" + ${uci_set}protocol_param="$ssr_protoparam" + ${uci_set}obfs="$ssr_obfs" + ${uci_set}obfs_param="$ssr_obfsparam" + ${uci_set}fast_open="0" + ${uci_set}kcp_enable="0" + ${uci_set}kcp_port="0" + ${uci_set}kcp_param="--nocomp" + + #v2ray + ${uci_set}alter_id="$ssr_alter_id" + ${uci_set}vmess_id="$ssr_vmess_id" + ${uci_set}security="$ssr_security" + ${uci_set}transport="$ssr_transport" + ${uci_set}tcp_guise="$ssr_tcp_guise" + ${uci_set}ws_host="$ssr_ws_host" + ${uci_set}ws_path="$ssr_ws_path" + ${uci_set}tls="$ssr_tls" +} + +name=shadowsocksr +subscribe_url=($(uci get $name.@server_subscribe[0].subscribe_url)) #订阅服务器地址 +[ ${#subscribe_url[@]} -eq 0 ] && exit 1 +[ $(uci -q get $name.@server_subscribe[0].proxy || echo 0) -eq 0 ] && /etc/init.d/$name stop >/dev/null 2>&1 +log_name=${name}_subscribe +for ((o=0;o<${#subscribe_url[@]};o++)) +do + echo_date "从 ${subscribe_url[o]} 获取订阅" + echo_date "开始更新在线订阅列表..." + echo_date "开始下载订阅链接到本地临时文件,请稍等..." + subscribe_data=$(wget-ssl --user-agent="User-Agent: Mozilla" --no-check-certificate -T 3 -O- ${subscribe_url[o]}) + curl_code=$? + if [ ! $curl_code -eq 0 ];then + echo_date "下载订阅成功..." + echo_date "开始解析节点信息..." + subscribe_data=$(wget-ssl --no-check-certificate -T 3 -O- ${subscribe_url[o]}) + curl_code=$? + fi + if [ $curl_code -eq 0 ];then + ssr_url=($(echo $subscribe_data | base64 -d | sed 's/\r//g')) # 解码数据并删除 \r 换行符 + subscribe_max=$(echo ${ssr_url[0]} | grep -i MAX= | awk -F = '{print $2}') + subscribe_max_x=() + if [ -n "$subscribe_max" ]; then + while [ ${#subscribe_max_x[@]} -ne $subscribe_max ] + do + if [ ${#ssr_url[@]} -ge 10 ]; then + if [ $((${RANDOM:0:2}%2)) -eq 0 ]; then + temp_x=${RANDOM:0:1} + else + temp_x=${RANDOM:0:2} + fi + else + temp_x=${RANDOM:0:1} + fi + [ $temp_x -lt ${#ssr_url[@]} -a -z "$(echo "${subscribe_max_x[*]}" | grep -w $temp_x)" ] && subscribe_max_x[${#subscribe_max_x[@]}]="$temp_x" + done + else + subscribe_max=${#ssr_url[@]} + fi + echo_date "共计$subscribe_max个节点" + ssr_group=$(urlsafe_b64decode $(urlsafe_b64decode ${ssr_url[$((${#ssr_url[@]} - 1))]//ssr:\/\//} | sed 's/&/\n/g' | grep group= | awk -F = '{print $2}')) + if [ -z "$ssr_group" ]; then + ssr_group="default" + fi + if [ -n "$ssr_group" ]; then + subscribe_i=0 + subscribe_n=0 + subscribe_o=0 + subscribe_x="" + temp_host_o=() + curr_ssr=$(uci show $name | grep @servers | grep -c server=) + for ((x=0;x<$curr_ssr;x++)) # 循环已有服务器信息,匹配当前订阅群组 + do + temp_alias=$(uci -q get $name.@servers[$x].alias | grep "\[$ssr_group\]") + [ -n "$temp_alias" ] && temp_host_o[${#temp_host_o[@]}]=$(uci get $name.@servers[$x].server) + done + for ((x=0;x<$subscribe_max;x++)) # 循环链接 + do + [ ${#subscribe_max_x[@]} -eq 0 ] && temp_x=$x || temp_x=${subscribe_max_x[x]} + result=$(echo ${ssr_url[temp_x]} | grep "ssr") + if [[ "$result" != "" ]] + then + temp_info=$(urlsafe_b64decode ${ssr_url[temp_x]//ssr:\/\//}) # 解码 SSR 链接 + + info=${temp_info///?*/} + temp_info_array=(${info//:/ }) + ssr_type="ssr" + ssr_host=${temp_info_array[0]} + ssr_port=${temp_info_array[1]} + ssr_protocol=${temp_info_array[2]} + ssr_method=${temp_info_array[3]} + ssr_obfs=${temp_info_array[4]} + ssr_passwd=$(urlsafe_b64decode ${temp_info_array[5]}) + info=${temp_info:$((${#info} + 2))} + info=(${info//&/ }) + ssr_protoparam="" + ssr_obfsparam="" + ssr_remarks="$temp_x" + for ((i=0;i<${#info[@]};i++)) # 循环扩展信息 + do + temp_info=($(echo ${info[i]} | sed 's/=/ /g')) + case "${temp_info[0]}" in + protoparam) + ssr_protoparam=$(urlsafe_b64decode ${temp_info[1]}) + ;; + obfsparam) + ssr_obfsparam=$(urlsafe_b64decode ${temp_info[1]}) + ;; + remarks) + ssr_remarks=$(urlsafe_b64decode ${temp_info[1]}) + ;; + esac + done + else + temp_info=$(urlsafe_b64decode ${ssr_url[temp_x]//vmess:\/\//}) # 解码 Vmess 链接 + ssr_type="v2ray" + json_load "$temp_info" + json_get_var ssr_host add + json_get_var ssr_port port + json_get_var ssr_alter_id aid + json_get_var ssr_vmess_id id + json_get_var ssr_security type + json_get_var ssr_transport net + json_get_var ssr_remarks ps + ssr_tcp_guise="none" + json_get_var ssr_ws_host host + json_get_var ssr_ws_path path + json_get_var ssr_tls tls + + fi + + + uci_name_tmp=$(uci show $name | grep -w $ssr_host | awk -F . '{print $2}') + if [ -z "$uci_name_tmp" ]; then # 判断当前服务器信息是否存在 + uci_name_tmp=$(uci add $name servers) + subscribe_n=$(($subscribe_n + 1)) + fi + Server_Update $uci_name_tmp + subscribe_x=$subscribe_x$ssr_host" " + ssrtype=$(echo $ssr_type | tr '[a-z]' '[A-Z]') + echo_date "$ssrtype节点:【$ssr_remarks】" + + # SSR + # echo "服务器地址: $ssr_host" + # echo "服务器端口 $ssr_port" + # echo "密码: $ssr_passwd" + # echo "加密: $ssr_method" + # echo "协议: $ssr_protocol" + # echo "协议参数: $ssr_protoparam" + # echo "混淆: $ssr_obfs" + # echo "混淆参数: $ssr_obfsparam" + # echo "备注: $ssr_remarks" + + done + for ((x=0;x<${#temp_host_o[@]};x++)) # 新旧服务器信息匹配,如果旧服务器信息不存在于新服务器信息则删除 + do + if [ -z "$(echo "$subscribe_x" | grep -w ${temp_host_o[x]})" ]; then + uci_name_tmp=$(uci show $name | grep ${temp_host_o[x]} | awk -F . '{print $2}') + uci delete $name.$uci_name_tmp + subscribe_o=$(($subscribe_o + 1)) + fi + done + echo_date "本次更新订阅来源 【$ssr_group】 服务器数量: ${#ssr_url[@]} 新增服务器: $subscribe_n 删除服务器: $subscribe_o" + echo_date "在线订阅列表更新完成!请等待网页自动刷新!" + subscribe_log="$ssr_group 服务器订阅更新成功 服务器数量: ${#ssr_url[@]} 新增服务器: $subscribe_n 删除服务器: $subscribe_o" + logger -st $log_name[$$] -p6 "$subscribe_log" + uci commit $name + else + echo_date "${subscribe_url[$o]} 订阅数据解析失败 无法获取 Group" + logger -st $log_name[$$] -p3 "${subscribe_url[$o]} 订阅数据解析失败 无法获取 Group" + fi +else + echo_date "${subscribe_url[$o]} 订阅数据获取失败 错误代码: $curl_code" + logger -st $log_name[$$] -p3 "${subscribe_url[$o]} 订阅数据获取失败 错误代码: $curl_code" +fi +done +/etc/init.d/$name restart >/dev/null 2>&1 diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.sh new file mode 100755 index 0000000000..0ad565a448 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +chnroute_data=$(wget -O- -t 3 -T 3 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest) +[ $? -eq 0 ] && { + echo "$chnroute_data" | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /tmp/china_ssr.txt +} + +if [ -s "/tmp/china_ssr.txt" ];then + if ( ! cmp -s /tmp/china_ssr.txt /etc/china_ssr.txt );then + mv /tmp/china_ssr.txt /etc/china_ssr.txt + fi +fi + +/usr/share/shadowsocksr/chinaipset.sh + +wget-ssl --no-check-certificate https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt -O /tmp/gfw.b64 +/usr/bin/ssr-gfw + +if [ -s "/tmp/gfwnew.txt" ];then + if ( ! cmp -s /tmp/gfwnew.txt /etc/dnsmasq.ssr/gfw_list.conf );then + mv /tmp/gfwnew.txt /etc/dnsmasq.ssr/gfw_list.conf + echo "copy" + fi +fi + +/etc/init.d/shadowsocksr restart \ No newline at end of file diff --git a/target/linux/apm821xx/patches-4.19/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-4.19/802-usb-xhci-force-msi-renesas-xhci.patch index 238da6190d..a745ea6f44 100755 --- a/target/linux/apm821xx/patches-4.19/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-4.19/802-usb-xhci-force-msi-renesas-xhci.patch @@ -43,7 +43,7 @@ produce a noisy warning. hcd->msi_enabled = 1; --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1867,6 +1867,7 @@ struct xhci_hcd { +@@ -1876,6 +1876,7 @@ struct xhci_hcd { /* support xHCI 0.96 spec USB2 software LPM */ unsigned sw_lpm_support:1; /* support xHCI 1.0 spec USB2 hardware LPM */ diff --git a/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch b/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch index 3ea491bc37..0902773ff4 100755 --- a/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch +++ b/target/linux/ar71xx/patches-4.14/450-gpio-nxp-74hc153-gpio-chip-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1298,4 +1298,12 @@ config GPIO_VIPERBOARD +@@ -1299,4 +1299,12 @@ config GPIO_VIPERBOARD endmenu diff --git a/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch b/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch index 870804e937..8039a71689 100755 --- a/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch +++ b/target/linux/ar71xx/patches-4.14/451-gpio-74x164-improve-platform-device-support.patch @@ -109,7 +109,7 @@ +#endif --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1250,7 +1250,6 @@ menu "SPI GPIO expanders" +@@ -1251,7 +1251,6 @@ menu "SPI GPIO expanders" config GPIO_74X164 tristate "74x164 serial-in/parallel-out 8-bits shift register" diff --git a/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch b/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch index d88b480410..13c5781dee 100755 --- a/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch +++ b/target/linux/ar71xx/patches-4.14/452-gpio-add-gpio-latch-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1305,4 +1305,9 @@ config GPIO_NXP_74HC153 +@@ -1306,4 +1306,9 @@ config GPIO_NXP_74HC153 Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This provides a GPIO interface supporting input mode only. diff --git a/target/linux/bcm53xx/patches-4.19/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-4.19/180-usb-xhci-add-support-for-performing-fake-doorbell.patch index 68ae5d4162..6bd46a2bcd 100755 --- a/target/linux/bcm53xx/patches-4.19/180-usb-xhci-add-support-for-performing-fake-doorbell.patch +++ b/target/linux/bcm53xx/patches-4.19/180-usb-xhci-add-support-for-performing-fake-doorbell.patch @@ -127,7 +127,7 @@ it on BCM4708 family. /* --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h -@@ -1856,6 +1856,7 @@ struct xhci_hcd { +@@ -1865,6 +1865,7 @@ struct xhci_hcd { #define XHCI_ZERO_64B_REGS BIT_ULL(32) #define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34) #define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35) diff --git a/target/linux/brcm2708/patches-4.14/950-0436-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch b/target/linux/brcm2708/patches-4.14/950-0436-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch index b68cef69d6..5ebb2a06cb 100755 --- a/target/linux/brcm2708/patches-4.14/950-0436-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch +++ b/target/linux/brcm2708/patches-4.14/950-0436-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/drivers/rtc/rtc-pcf8523.c +++ b/drivers/rtc/rtc-pcf8523.c -@@ -178,8 +178,28 @@ static int pcf8523_rtc_read_time(struct +@@ -198,8 +198,28 @@ static int pcf8523_rtc_read_time(struct if (err < 0) return err; @@ -46,7 +46,7 @@ Signed-off-by: Phil Elwell tm->tm_sec = bcd2bin(regs[0] & 0x7f); tm->tm_min = bcd2bin(regs[1] & 0x7f); -@@ -215,7 +235,6 @@ static int pcf8523_rtc_set_time(struct d +@@ -235,7 +255,6 @@ static int pcf8523_rtc_set_time(struct d return err; regs[0] = REG_SECONDS; diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch index 7053f61a0c..b60e9d3230 100755 --- a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -30,7 +30,7 @@ Signed-off-by: Johan Hovold --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -1941,7 +1941,8 @@ static const struct usb_device_id option +@@ -1947,7 +1947,8 @@ static const struct usb_device_id option { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, diff --git a/target/linux/generic/backport-4.14/030-v4.17-0001-usb-dwc2-add-support-for-host-mode-external-vbus-sup.patch b/target/linux/generic/backport-4.14/030-v4.17-0001-usb-dwc2-add-support-for-host-mode-external-vbus-sup.patch index a17844f5e6..4d029ebfe2 100755 --- a/target/linux/generic/backport-4.14/030-v4.17-0001-usb-dwc2-add-support-for-host-mode-external-vbus-sup.patch +++ b/target/linux/generic/backport-4.14/030-v4.17-0001-usb-dwc2-add-support-for-host-mode-external-vbus-sup.patch @@ -63,7 +63,7 @@ Signed-off-by: Felipe Balbi /** * dwc2_enable_host_interrupts() - Enables the Host mode interrupts * -@@ -3342,6 +3359,7 @@ static void dwc2_conn_id_status_change(s +@@ -3346,6 +3363,7 @@ static void dwc2_conn_id_status_change(s /* B-Device connector (Device Mode) */ if (gotgctl & GOTGCTL_CONID_B) { @@ -71,7 +71,7 @@ Signed-off-by: Felipe Balbi /* Wait for switch to device mode */ dev_dbg(hsotg->dev, "connId B\n"); if (hsotg->bus_suspended) { -@@ -4448,6 +4466,9 @@ static int _dwc2_hcd_start(struct usb_hc +@@ -4455,6 +4473,9 @@ static int _dwc2_hcd_start(struct usb_hc } spin_unlock_irqrestore(&hsotg->lock, flags); @@ -81,7 +81,7 @@ Signed-off-by: Felipe Balbi return 0; } -@@ -4475,6 +4496,8 @@ static void _dwc2_hcd_stop(struct usb_hc +@@ -4482,6 +4503,8 @@ static void _dwc2_hcd_stop(struct usb_hc clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); spin_unlock_irqrestore(&hsotg->lock, flags); @@ -90,7 +90,7 @@ Signed-off-by: Felipe Balbi usleep_range(1000, 3000); } -@@ -4511,6 +4534,7 @@ static int _dwc2_hcd_suspend(struct usb_ +@@ -4518,6 +4541,7 @@ static int _dwc2_hcd_suspend(struct usb_ hprt0 |= HPRT0_SUSP; hprt0 &= ~HPRT0_PWR; dwc2_writel(hprt0, hsotg->regs + HPRT0); @@ -98,7 +98,7 @@ Signed-off-by: Felipe Balbi } /* Enter hibernation */ -@@ -4591,6 +4615,8 @@ static int _dwc2_hcd_resume(struct usb_h +@@ -4598,6 +4622,8 @@ static int _dwc2_hcd_resume(struct usb_h spin_unlock_irqrestore(&hsotg->lock, flags); dwc2_port_resume(hsotg); } else { diff --git a/target/linux/generic/backport-4.14/030-v4.17-0002-usb-dwc2-dwc2_vbus_supply_init-fix-error-check.patch b/target/linux/generic/backport-4.14/030-v4.17-0002-usb-dwc2-dwc2_vbus_supply_init-fix-error-check.patch index 59ab805cf6..02b61fe84f 100755 --- a/target/linux/generic/backport-4.14/030-v4.17-0002-usb-dwc2-dwc2_vbus_supply_init-fix-error-check.patch +++ b/target/linux/generic/backport-4.14/030-v4.17-0002-usb-dwc2-dwc2_vbus_supply_init-fix-error-check.patch @@ -42,7 +42,7 @@ Signed-off-by: Felipe Balbi return regulator_enable(hsotg->vbus_supply); } -@@ -4467,9 +4472,7 @@ static int _dwc2_hcd_start(struct usb_hc +@@ -4474,9 +4479,7 @@ static int _dwc2_hcd_start(struct usb_hc spin_unlock_irqrestore(&hsotg->lock, flags); diff --git a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch index 9b33393c01..5e339865d3 100755 --- a/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch +++ b/target/linux/generic/backport-4.14/293-v4.16-netfilter-reduce-size-of-hook-entry-point-locations.patch @@ -159,7 +159,7 @@ Signed-off-by: Pablo Neira Ayuso net->nf.proc_netfilter = proc_net_mkdir(net, "netfilter", --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -201,6 +201,23 @@ repeat: +@@ -202,6 +202,23 @@ repeat: return NF_ACCEPT; } @@ -183,7 +183,7 @@ Signed-off-by: Pablo Neira Ayuso /* Caller must hold rcu read-side lock */ void nf_reinject(struct nf_queue_entry *entry, unsigned int verdict) { -@@ -216,12 +233,12 @@ void nf_reinject(struct nf_queue_entry * +@@ -217,12 +234,12 @@ void nf_reinject(struct nf_queue_entry * net = entry->state.net; pf = entry->state.pf; diff --git a/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch b/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch index 9444f6bb48..b27b02f506 100755 --- a/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch +++ b/target/linux/generic/backport-4.14/296-v4.16-netfilter-don-t-allocate-space-for-arp-bridge-hooks-.patch @@ -152,7 +152,7 @@ Signed-off-by: Pablo Neira Ayuso #endif --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -204,8 +204,10 @@ repeat: +@@ -205,8 +205,10 @@ repeat: static struct nf_hook_entries *nf_hook_entries_head(const struct net *net, u8 pf, u8 hooknum) { switch (pf) { diff --git a/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch b/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch index 6e9413e511..9303a0b777 100755 --- a/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch +++ b/target/linux/generic/backport-4.14/308-v4.16-netfilter-move-reroute-indirection-to-struct-nf_ipv6.patch @@ -171,7 +171,7 @@ Signed-off-by: Pablo Neira Ayuso --- a/net/netfilter/nf_queue.c +++ b/net/netfilter/nf_queue.c -@@ -266,7 +266,6 @@ void nf_reinject(struct nf_queue_entry * +@@ -267,7 +267,6 @@ void nf_reinject(struct nf_queue_entry * const struct nf_hook_entry *hook_entry; const struct nf_hook_entries *hooks; struct sk_buff *skb = entry->skb; @@ -179,7 +179,7 @@ Signed-off-by: Pablo Neira Ayuso const struct net *net; unsigned int i; int err; -@@ -293,8 +292,7 @@ void nf_reinject(struct nf_queue_entry * +@@ -294,8 +293,7 @@ void nf_reinject(struct nf_queue_entry * verdict = nf_hook_entry_hookfn(hook_entry, skb, &entry->state); if (verdict == NF_ACCEPT) { diff --git a/target/linux/generic/backport-4.14/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch b/target/linux/generic/backport-4.14/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch index cd729a93b1..dd22d2bfac 100644 --- a/target/linux/generic/backport-4.14/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch +++ b/target/linux/generic/backport-4.14/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch @@ -1,4 +1,4 @@ -From 21d81d05787908b13a4079f42a63a5b3254b7ab4 Mon Sep 17 00:00:00 2001 +From e3777dd42dc6f1b9cb099836707a3e7971dcf4df Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Wed, 13 Mar 2019 20:54:49 +0000 Subject: [PATCH] net: sched: Introduce act_ctinfo action @@ -44,9 +44,9 @@ ok | goto chain Signed-off-by: Kevin Darbyshire-Bryant --- - include/net/tc_act/tc_ctinfo.h | 28 ++ + include/net/tc_act/tc_ctinfo.h | 33 +++ include/uapi/linux/pkt_cls.h | 3 +- - include/uapi/linux/tc_act/tc_ctinfo.h | 34 +++ + include/uapi/linux/tc_act/tc_ctinfo.h | 29 ++ net/sched/Kconfig | 13 + net/sched/Makefile | 1 + net/sched/act_ctinfo.c | 394 ++++++++++++++++++++++++++ @@ -57,7 +57,7 @@ Signed-off-by: Kevin Darbyshire-Bryant --- /dev/null +++ b/include/net/tc_act/tc_ctinfo.h -@@ -0,0 +1,28 @@ +@@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __NET_TC_CTINFO_H +#define __NET_TC_CTINFO_H @@ -83,6 +83,11 @@ Signed-off-by: Kevin Darbyshire-Bryant + u64 stats_cpmark_set; +}; + ++enum { ++ CTINFO_MODE_DSCP = BIT(0), ++ CTINFO_MODE_CPMARK = BIT(1) ++}; ++ +#define to_ctinfo(a) ((struct tcf_ctinfo *)a) + +#endif /* __NET_TC_CTINFO_H */ @@ -100,7 +105,7 @@ Signed-off-by: Kevin Darbyshire-Bryant #define TCA_ID_MAX __TCA_ID_MAX --- /dev/null +++ b/include/uapi/linux/tc_act/tc_ctinfo.h -@@ -0,0 +1,34 @@ +@@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __UAPI_TC_CTINFO_H +#define __UAPI_TC_CTINFO_H @@ -129,11 +134,6 @@ Signed-off-by: Kevin Darbyshire-Bryant + +#define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1) + -+enum { -+ CTINFO_MODE_DSCP = BIT(0), -+ CTINFO_MODE_CPMARK = BIT(1) -+}; -+ +#endif --- a/net/sched/Kconfig +++ b/net/sched/Kconfig diff --git a/target/linux/generic/backport-4.19/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch b/target/linux/generic/backport-4.19/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch index cc4a621bb4..d0047435fd 100644 --- a/target/linux/generic/backport-4.19/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch +++ b/target/linux/generic/backport-4.19/380-v5.3-net-sched-Introduce-act_ctinfo-action.patch @@ -1,4 +1,4 @@ -From 402c8d61d2f27060be14849fcb30682f75f3bf3b Mon Sep 17 00:00:00 2001 +From c17877e414155b9b97d10416ff62b102d25019a1 Mon Sep 17 00:00:00 2001 From: Kevin Darbyshire-Bryant Date: Wed, 13 Mar 2019 20:54:49 +0000 Subject: [PATCH] net: sched: Introduce act_ctinfo action @@ -59,9 +59,9 @@ e.g. dscp 0xfc000000/0x01000000 Signed-off-by: Kevin Darbyshire-Bryant --- - include/net/tc_act/tc_ctinfo.h | 28 ++ + include/net/tc_act/tc_ctinfo.h | 33 ++ include/uapi/linux/pkt_cls.h | 3 +- - include/uapi/linux/tc_act/tc_ctinfo.h | 34 ++ + include/uapi/linux/tc_act/tc_ctinfo.h | 29 ++ net/sched/Kconfig | 17 + net/sched/Makefile | 1 + net/sched/act_ctinfo.c | 395 ++++++++++++++++++++++ @@ -73,7 +73,7 @@ Signed-off-by: Kevin Darbyshire-Bryant --- /dev/null +++ b/include/net/tc_act/tc_ctinfo.h -@@ -0,0 +1,28 @@ +@@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __NET_TC_CTINFO_H +#define __NET_TC_CTINFO_H @@ -99,6 +99,11 @@ Signed-off-by: Kevin Darbyshire-Bryant + u64 stats_cpmark_set; +}; + ++enum { ++ CTINFO_MODE_DSCP = BIT(0), ++ CTINFO_MODE_CPMARK = BIT(1) ++}; ++ +#define to_ctinfo(a) ((struct tcf_ctinfo *)a) + +#endif /* __NET_TC_CTINFO_H */ @@ -116,7 +121,7 @@ Signed-off-by: Kevin Darbyshire-Bryant #define TCA_ID_MAX __TCA_ID_MAX --- /dev/null +++ b/include/uapi/linux/tc_act/tc_ctinfo.h -@@ -0,0 +1,34 @@ +@@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __UAPI_TC_CTINFO_H +#define __UAPI_TC_CTINFO_H @@ -145,11 +150,6 @@ Signed-off-by: Kevin Darbyshire-Bryant + +#define TCA_CTINFO_MAX (__TCA_CTINFO_MAX - 1) + -+enum { -+ CTINFO_MODE_DSCP = BIT(0), -+ CTINFO_MODE_CPMARK = BIT(1) -+}; -+ +#endif --- a/net/sched/Kconfig +++ b/net/sched/Kconfig diff --git a/target/linux/generic/hack-4.14/930-crashlog.patch b/target/linux/generic/hack-4.14/930-crashlog.patch index 17ba187925..1479a4c06d 100755 --- a/target/linux/generic/hack-4.14/930-crashlog.patch +++ b/target/linux/generic/hack-4.14/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -112,6 +112,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex +@@ -113,6 +113,7 @@ obj-$(CONFIG_CONTEXT_TRACKING) += contex obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += memremap.o diff --git a/target/linux/generic/hack-4.19/930-crashlog.patch b/target/linux/generic/hack-4.19/930-crashlog.patch index 890c72b640..0088b7a081 100755 --- a/target/linux/generic/hack-4.19/930-crashlog.patch +++ b/target/linux/generic/hack-4.19/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau help --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -116,6 +116,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o +@@ -117,6 +117,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_HAS_IOMEM) += iomem.o obj-$(CONFIG_ZONE_DEVICE) += memremap.o obj-$(CONFIG_RSEQ) += rseq.o diff --git a/target/linux/generic/hack-4.19/940-cleanup-offload-hooks-on-netdev-unregister.patch b/target/linux/generic/hack-4.19/940-cleanup-offload-hooks-on-netdev-unregister.patch index 6db6112b79..1079d94fe3 100755 --- a/target/linux/generic/hack-4.19/940-cleanup-offload-hooks-on-netdev-unregister.patch +++ b/target/linux/generic/hack-4.19/940-cleanup-offload-hooks-on-netdev-unregister.patch @@ -39,7 +39,7 @@ Signed-off-by: Chen Minqiang --- a/net/netfilter/xt_FLOWOFFLOAD.c +++ b/net/netfilter/xt_FLOWOFFLOAD.c -@@ -338,10 +338,41 @@ static void xt_flowoffload_table_cleanup +@@ -343,10 +343,41 @@ static void xt_flowoffload_table_cleanup nf_flow_table_free(table); } @@ -81,7 +81,7 @@ Signed-off-by: Chen Minqiang INIT_DELAYED_WORK(&hook_work, xt_flowoffload_hook_work); ret = xt_flowoffload_table_init(&nf_flowtable); -@@ -359,6 +390,7 @@ static void __exit xt_flowoffload_tg_exi +@@ -364,6 +395,7 @@ static void __exit xt_flowoffload_tg_exi { xt_unregister_target(&offload_tg_reg); xt_flowoffload_table_cleanup(&nf_flowtable); diff --git a/target/linux/generic/hack-4.9/930-crashlog.patch b/target/linux/generic/hack-4.9/930-crashlog.patch index baa87b1b7f..61e256e00c 100755 --- a/target/linux/generic/hack-4.9/930-crashlog.patch +++ b/target/linux/generic/hack-4.9/930-crashlog.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau depends on BROKEN || !FRV --- a/kernel/Makefile +++ b/kernel/Makefile -@@ -113,6 +113,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o +@@ -114,6 +114,7 @@ obj-$(CONFIG_TORTURE_TEST) += torture.o obj-$(CONFIG_MEMBARRIER) += membarrier.o obj-$(CONFIG_HAS_IOMEM) += memremap.o diff --git a/target/linux/generic/pending-4.14/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch b/target/linux/generic/pending-4.14/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch index 588b571e01..7f21fefc25 100755 --- a/target/linux/generic/pending-4.14/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch +++ b/target/linux/generic/pending-4.14/171-usb-dwc2-Fix-inefficient-copy-of-unaligned-buffers.patch @@ -30,9 +30,9 @@ Signed-off-by: Antti Seppälä if (!(urb->transfer_flags & URB_ALIGNED_TEMP_BUFFER)) return; -@@ -2677,9 +2678,14 @@ static void dwc2_free_dma_aligned_buffer - memcpy(&stored_xfer_buffer, urb->transfer_buffer + - urb->transfer_buffer_length, sizeof(urb->transfer_buffer)); +@@ -2679,9 +2680,14 @@ static void dwc2_free_dma_aligned_buffer + dma_get_cache_alignment()), + sizeof(urb->transfer_buffer)); - if (usb_urb_dir_in(urb)) - memcpy(stored_xfer_buffer, urb->transfer_buffer, diff --git a/target/linux/generic/pending-4.14/201-extra_optimization.patch b/target/linux/generic/pending-4.14/201-extra_optimization.patch index 4a9c67269a..857951cbf9 100755 --- a/target/linux/generic/pending-4.14/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.14/201-extra_optimization.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -653,12 +653,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -654,12 +654,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni KBUILD_CFLAGS += $(call cc-disable-warning, attribute-alias) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE diff --git a/target/linux/generic/pending-4.14/834-ledtrig-libata.patch b/target/linux/generic/pending-4.14/834-ledtrig-libata.patch index 392d41c94f..f59085b51c 100755 --- a/target/linux/generic/pending-4.14/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-4.14/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -5121,6 +5134,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5124,6 +5137,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = tag; -@@ -6022,6 +6038,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -6025,6 +6041,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -6043,6 +6062,12 @@ static void ata_host_release(struct devi +@@ -6046,6 +6065,12 @@ static void ata_host_release(struct devi kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6489,7 +6514,23 @@ int ata_host_register(struct ata_host *h +@@ -6492,7 +6517,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/generic/pending-4.19/100-MIPS-fix-build-on-non-linux-hosts.patch b/target/linux/generic/pending-4.19/100-MIPS-fix-build-on-non-linux-hosts.patch new file mode 100644 index 0000000000..5d34df4283 --- /dev/null +++ b/target/linux/generic/pending-4.19/100-MIPS-fix-build-on-non-linux-hosts.patch @@ -0,0 +1,55 @@ +From 4ee213d8c2afeab9a68f8530317260298b4b6b82 Mon Sep 17 00:00:00 2001 +From: Kevin Darbyshire-Bryant +Date: Wed, 19 Jun 2019 08:16:33 +0100 +Subject: [PATCH] MIPS: fix build on non-linux hosts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +calc_vmlinuz_load_addr.c requires SZ_64K to be defined for alignment +purposes. It included "../../../../include/linux/sizes.h" to define +that size, however "sizes.h" tries to include which +assumes linux system headers. These may not exist eg. the following +error was encountered when building Linux for OpenWrt under macOS: + +In file included from arch/mips/boot/compressed/calc_vmlinuz_load_addr.c:16: +arch/mips/boot/compressed/../../../../include/linux/sizes.h:11:10: fatal error: 'linux/const.h' file not found + ^~~~~~~~~~ + +Change makefile to force building on local linux headers instead of +system headers. Also change eye-watering relative reference in include +file spec. + +Thanks to Jo-Philip Wich & Petr Štetiar for assistance in tracking this +down & fixing. + +Suggested-by: Jo-Philipp Wich +Signed-off-by: Petr Štetiar +Signed-off-by: Kevin Darbyshire-Bryant +--- + arch/mips/boot/compressed/Makefile | 2 ++ + arch/mips/boot/compressed/calc_vmlinuz_load_addr.c | 2 +- + 2 files changed, 3 insertions(+), 1 deletion(-) + +--- a/arch/mips/boot/compressed/Makefile ++++ b/arch/mips/boot/compressed/Makefile +@@ -78,6 +78,8 @@ OBJCOPYFLAGS_piggy.o := --add-section=.i + $(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE + $(call if_changed,objcopy) + ++HOSTCFLAGS_calc_vmlinuz_load_addr.o += $(LINUXINCLUDE) ++ + # Calculate the load address of the compressed kernel image + hostprogs-y := calc_vmlinuz_load_addr + +--- a/arch/mips/boot/compressed/calc_vmlinuz_load_addr.c ++++ b/arch/mips/boot/compressed/calc_vmlinuz_load_addr.c +@@ -13,7 +13,7 @@ + #include + #include + #include +-#include "../../../../include/linux/sizes.h" ++#include + + int main(int argc, char *argv[]) + { diff --git a/target/linux/generic/pending-4.19/201-extra_optimization.patch b/target/linux/generic/pending-4.19/201-extra_optimization.patch index 5890483ae4..d8ad40be61 100755 --- a/target/linux/generic/pending-4.19/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.19/201-extra_optimization.patch @@ -14,8 +14,8 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -654,12 +654,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni - KBUILD_CFLAGS += $(call cc-disable-warning, int-in-bool-context) +@@ -655,12 +655,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni + KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE -KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) diff --git a/target/linux/generic/pending-4.19/834-ledtrig-libata.patch b/target/linux/generic/pending-4.19/834-ledtrig-libata.patch index 70d3de05d0..de029fafe5 100755 --- a/target/linux/generic/pending-4.19/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-4.19/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -5131,6 +5144,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5134,6 +5147,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -6041,6 +6057,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -6044,6 +6060,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -6076,6 +6095,12 @@ static void ata_host_release(struct kref +@@ -6079,6 +6098,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6539,7 +6564,23 @@ int ata_host_register(struct ata_host *h +@@ -6542,7 +6567,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch index d010445bcb..0f6ce1f802 100755 --- a/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch +++ b/target/linux/generic/pending-4.9/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch @@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -5922,7 +5922,7 @@ static void __ref alloc_node_mem_map(str +@@ -5924,7 +5924,7 @@ static void __ref alloc_node_mem_map(str mem_map = NODE_DATA(0)->node_mem_map; #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM) if (page_to_pfn(mem_map) != pgdat->node_start_pfn) diff --git a/target/linux/generic/pending-4.9/834-ledtrig-libata.patch b/target/linux/generic/pending-4.9/834-ledtrig-libata.patch index 4715182c6b..0913f3ebff 100755 --- a/target/linux/generic/pending-4.9/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-4.9/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4995,6 +5008,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4998,6 +5011,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = tag; -@@ -5896,6 +5912,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5899,6 +5915,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5917,6 +5936,12 @@ static void ata_host_release(struct devi +@@ -5920,6 +5939,12 @@ static void ata_host_release(struct devi kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -6363,7 +6388,23 @@ int ata_host_register(struct ata_host *h +@@ -6366,7 +6391,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/layerscape/patches-4.14/821-smmu-support-layerscape.patch b/target/linux/layerscape/patches-4.14/821-smmu-support-layerscape.patch index 7c11e2c84b..973146cedf 100755 --- a/target/linux/layerscape/patches-4.14/821-smmu-support-layerscape.patch +++ b/target/linux/layerscape/patches-4.14/821-smmu-support-layerscape.patch @@ -93,7 +93,7 @@ Signed-off-by: Biwen Li #include "io-pgtable.h" #include "arm-smmu-regs.h" -@@ -1465,6 +1466,8 @@ static struct iommu_group *arm_smmu_devi +@@ -1474,6 +1475,8 @@ static struct iommu_group *arm_smmu_devi if (dev_is_pci(dev)) group = pci_device_group(dev); @@ -102,7 +102,7 @@ Signed-off-by: Biwen Li else group = generic_device_group(dev); -@@ -2043,6 +2046,10 @@ static void arm_smmu_bus_init(void) +@@ -2052,6 +2055,10 @@ static void arm_smmu_bus_init(void) bus_set_iommu(&pci_bus_type, &arm_smmu_ops); } #endif diff --git a/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch b/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch index 72a2ece464..d934155001 100755 --- a/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch +++ b/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch @@ -22,7 +22,7 @@ Signed-off-by: John Crispin mapped_addr = dma_map_single(eth->dev, skb->data, skb_headlen(skb), DMA_TO_DEVICE); -@@ -1980,7 +1980,10 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1981,7 +1981,10 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); /* Enable RX VLan Offloading */ diff --git a/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch b/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch index a658a572fc..a3ee4636f5 100755 --- a/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch +++ b/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch @@ -17,7 +17,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1984,6 +1984,8 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1985,6 +1985,8 @@ static int mtk_hw_init(struct mtk_eth *e */ val = mtk_r32(eth, MTK_CDMQ_IG_CTRL); mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); diff --git a/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch b/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch index 3ace7265c6..088914fda1 100755 --- a/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch +++ b/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1995,6 +1995,7 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1996,6 +1996,7 @@ static int mtk_hw_init(struct mtk_eth *e /* enable interrupt delay for RX */ mtk_w32(eth, MTK_PDMA_DELAY_RX_DELAY, MTK_PDMA_DELAY_INT); diff --git a/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch b/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch index f4c0fce566..81e984ccfa 100755 --- a/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch +++ b/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2454,7 +2454,7 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -2455,7 +2455,7 @@ static int mtk_add_mac(struct mtk_eth *e mac->hw_stats->reg_offset = id * MTK_STAT_OFFSET; SET_NETDEV_DEV(eth->netdev[id], eth->dev); diff --git a/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch b/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch index 0dde3fdb64..3263e656ae 100755 --- a/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch +++ b/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch @@ -20,7 +20,7 @@ continue; } break; -@@ -1868,7 +1872,10 @@ static void mtk_stop_dma(struct mtk_eth +@@ -1869,7 +1873,10 @@ static void mtk_stop_dma(struct mtk_eth for (i = 0; i < 10; i++) { val = mtk_r32(eth, glo_cfg); if (val & (MTK_TX_DMA_BUSY | MTK_RX_DMA_BUSY)) { @@ -32,7 +32,7 @@ continue; } break; -@@ -1906,7 +1913,10 @@ static void ethsys_reset(struct mtk_eth +@@ -1907,7 +1914,10 @@ static void ethsys_reset(struct mtk_eth reset_bits, reset_bits); diff --git a/target/linux/mediatek/patches-4.14/0175-net-mediatek-remove-superfluous-pin-setup-for-MT7622.patch b/target/linux/mediatek/patches-4.14/0175-net-mediatek-remove-superfluous-pin-setup-for-MT7622.patch index 86354973b1..db05fd994d 100755 --- a/target/linux/mediatek/patches-4.14/0175-net-mediatek-remove-superfluous-pin-setup-for-MT7622.patch +++ b/target/linux/mediatek/patches-4.14/0175-net-mediatek-remove-superfluous-pin-setup-for-MT7622.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1976,14 +1976,16 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1977,14 +1977,16 @@ static int mtk_hw_init(struct mtk_eth *e } regmap_write(eth->ethsys, ETHSYS_SYSCFG0, val); @@ -41,7 +41,7 @@ Signed-off-by: David S. Miller /* Set linkdown as the default for each GMAC. Its own MCR would be set * up with the more appropriate value when mtk_phy_link_adjust call is -@@ -2568,11 +2570,13 @@ static int mtk_probe(struct platform_dev +@@ -2569,11 +2571,13 @@ static int mtk_probe(struct platform_dev } } @@ -60,7 +60,7 @@ Signed-off-by: David S. Miller } for (i = 0; i < 3; i++) { -@@ -2698,17 +2702,20 @@ static int mtk_remove(struct platform_de +@@ -2699,17 +2703,20 @@ static int mtk_remove(struct platform_de static const struct mtk_soc_data mt2701_data = { .caps = MTK_GMAC1_TRGMII, diff --git a/target/linux/mvebu/Makefile b/target/linux/mvebu/Makefile index 56ea9fe44e..1688065a5c 100755 --- a/target/linux/mvebu/Makefile +++ b/target/linux/mvebu/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk BOARD:=mvebu BOARDNAME:=Marvell EBU Armada -FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk +FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part SUBTARGETS:=cortexa9 cortexa53 cortexa72 MAINTAINER:=Imre Kaloz -KERNEL_PATCHVER:=4.14 +KERNEL_PATCHVER:=4.19 include $(INCLUDE_DIR)/target.mk -DEFAULT_PACKAGES += uboot-envtools kmod-gpio-button-hotplug automount autosamba v2ray luci-app-advanced-reboot +DEFAULT_PACKAGES += uboot-envtools kmod-gpio-button-hotplug $(eval $(call BuildTarget)) diff --git a/target/linux/mvebu/base-files/etc/board.d/01_leds b/target/linux/mvebu/base-files/etc/board.d/01_leds index ff8d4a21c0..14313ee664 100755 --- a/target/linux/mvebu/base-files/etc/board.d/01_leds +++ b/target/linux/mvebu/base-files/etc/board.d/01_leds @@ -11,42 +11,42 @@ board_config_update board=$(board_name) case "$board" in -armada-385-linksys-caiman) +linksys,caiman) ucidef_set_led_netdev "wan" "WAN" "pca963x:caiman:white:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:caiman:white:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:caiman:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:caiman:white:usb3_2" "usb3-port1" ;; -armada-385-linksys-cobra) +linksys,cobra) ucidef_set_led_netdev "wan" "WAN" "pca963x:cobra:white:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:cobra:white:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:cobra:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:cobra:white:usb3_2" "usb3-port1" ;; -armada-385-linksys-rango) +linksys,mamba) + ucidef_set_led_netdev "wan" "WAN" "mamba:white:wan" "eth1" + ucidef_set_led_usbport "usb1" "USB 1" "mamba:white:usb2" "usb1-port1" + ucidef_set_led_usbport "usb2" "USB 2" "mamba:white:usb3_1" "usb2-port1" "usb3-port1" + ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "mamba:white:usb3_2" "usb3-port2" + ;; +linksys,rango) ucidef_set_led_netdev "wan" "WAN" "pca963x:rango:white:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:rango:white:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:rango:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:rango:white:usb3_2" "usb3-port1" ;; -armada-385-linksys-shelby) +linksys,shelby) ucidef_set_led_netdev "wan" "WAN" "pca963x:shelby:white:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:shelby:white:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:shelby:white:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:shelby:white:usb3_2" "usb3-port1" ;; -armada-385-linksys-venom) +linksys,venom) ucidef_set_led_netdev "wan" "WAN" "pca963x:venom:blue:wan" "eth1" ucidef_set_led_usbport "usb1" "USB 1" "pca963x:venom:blue:usb2" "usb1-port1" ucidef_set_led_usbport "usb2" "USB 2" "pca963x:venom:blue:usb3_1" "usb2-port1" "usb3-port1" ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "pca963x:venom:blue:usb3_2" "usb3-port1" ;; -armada-xp-linksys-mamba) - ucidef_set_led_netdev "wan" "WAN" "mamba:white:wan" "eth1" - ucidef_set_led_usbport "usb1" "USB 1" "mamba:white:usb2" "usb1-port1" - ucidef_set_led_usbport "usb2" "USB 2" "mamba:white:usb3_1" "usb2-port1" "usb3-port1" - ucidef_set_led_usbport "usb2_ss" "USB 2 SS" "mamba:white:usb3_2" "usb3-port2" - ;; esac diff --git a/target/linux/mvebu/base-files/etc/board.d/02_network b/target/linux/mvebu/base-files/etc/board.d/02_network index 2c10154925..08819104d2 100755 --- a/target/linux/mvebu/base-files/etc/board.d/02_network +++ b/target/linux/mvebu/base-files/etc/board.d/02_network @@ -11,24 +11,45 @@ board_config_update board=$(board_name) case "$board" in -armada-385-db-ap) - ucidef_set_interfaces_lan_wan "eth0 eth1" "eth2" +cznic,turris-omnia) + ucidef_set_interface_lan "lan0 lan1 lan2 lan3 lan4" + ucidef_set_interface_wan "eth2" ;; -armada-385-linksys-caiman|\ -armada-385-linksys-cobra|\ -armada-385-linksys-rango|\ -armada-385-linksys-shelby|\ -armada-385-linksys-venom|\ -armada-xp-linksys-mamba) +globalscale,espressobin|\ +globalscale,espressobin-emmc|\ +globalscale,espressobin-v7|\ +globalscale,espressobin-v7-emmc) + ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" + ;; +linksys,caiman|\ +linksys,cobra|\ +linksys,mamba|\ +linksys,rango|\ +linksys,shelby|\ +linksys,venom) ucidef_set_interfaces_lan_wan "eth0.1" "eth1.2" ucidef_add_switch "switch0" \ "0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth0" "4:wan" "6@eth1" ;; -armada-385-turris-omnia) - ucidef_set_interface_lan "lan0 lan1 lan2 lan3 lan4" - ucidef_set_interface_wan "eth2" +marvell,a385-db-ap) + ucidef_set_interfaces_lan_wan "eth0 eth1" "eth2" ;; -armada-388-clearfog-*) +marvell,armada8040-mcbin) + ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2" + ;; +marvell,armada8040-db) + ucidef_set_interfaces_lan_wan "eth0 eth2 eth3" "eth1" + ;; +marvell,armada7040-db) + ucidef_set_interfaces_lan_wan "eth0 eth2" "eth1" + ;; +marvell,armada-3720-db) + ucidef_set_interfaces_lan_wan "eth1" "eth0" + ;; +marvell,axp-gp) + ucidef_set_interface_lan "eth0 eth1 eth2 eth3" + ;; +solidrun,clearfog*a1) # eth0 is standalone ethernet # eth1 is switch (-pro) or standalone ethernet (-base) # eth2 is SFP @@ -40,24 +61,6 @@ armada-388-clearfog-*) ucidef_add_switch "switch0" \ "0:lan:5" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5u@eth1" "6:lan:6" ;; -armada-xp-gp) - ucidef_set_interface_lan "eth0 eth1 eth2 eth3" - ;; -globalscale,espressobin) - ucidef_set_interfaces_lan_wan "lan0 lan1" "wan" - ;; -marvell,armada-3720-db) - ucidef_set_interfaces_lan_wan "eth1" "eth0" - ;; -marvell,armada8040-mcbin) - ucidef_set_interfaces_lan_wan "eth0 eth1 eth3" "eth2" - ;; -marvell,armada8040-db) - ucidef_set_interfaces_lan_wan "eth0 eth2 eth3" "eth1" - ;; -marvell,armada7040-db) - ucidef_set_interfaces_lan_wan "eth0 eth2" "eth1" - ;; *) ucidef_set_interface_lan "eth0" ;; diff --git a/target/linux/mvebu/base-files/etc/diag.sh b/target/linux/mvebu/base-files/etc/diag.sh index 327a82df93..be825379f9 100755 --- a/target/linux/mvebu/base-files/etc/diag.sh +++ b/target/linux/mvebu/base-files/etc/diag.sh @@ -7,24 +7,24 @@ get_status_led() { case $(board_name) in - armada-385-linksys-caiman) + linksys,caiman) status_led="caiman:white:power" ;; - armada-385-linksys-cobra) + linksys,cobra) status_led="cobra:white:power" ;; - armada-385-linksys-rango) + linksys,mamba) + status_led="mamba:white:power" + ;; + linksys,rango) status_led="rango:white:power" ;; - armada-385-linksys-shelby) + linksys,shelby) status_led="shelby:white:power" ;; - armada-385-linksys-venom) + linksys,venom) status_led="venom:blue:power" ;; - armada-xp-linksys-mamba) - status_led="mamba:white:power" - ;; esac } diff --git a/target/linux/mvebu/base-files/etc/init.d/bootcount b/target/linux/mvebu/base-files/etc/init.d/bootcount new file mode 100755 index 0000000000..6e8e310849 --- /dev/null +++ b/target/linux/mvebu/base-files/etc/init.d/bootcount @@ -0,0 +1,18 @@ +#!/bin/sh /etc/rc.common + +START=99 + +start() { + . /lib/functions.sh + + case $(board_name) in + linksys,caiman |\ + linksys,cobra |\ + linksys,mamba |\ + linksys,rango |\ + linksys,shelby |\ + linksys,venom) + mtd resetbc s_env || true + ;; + esac +} diff --git a/target/linux/mvebu/base-files/etc/init.d/linksys_recovery b/target/linux/mvebu/base-files/etc/init.d/linksys_recovery deleted file mode 100755 index 520b8aac54..0000000000 --- a/target/linux/mvebu/base-files/etc/init.d/linksys_recovery +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2015-2016 OpenWrt.org -# Copyright (C) 2016 LEDE-Project.org - -START=97 -boot() { -. /lib/functions.sh - -case $(board_name) in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) - # make sure auto_recovery in uboot is always on - AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`" - if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then - fw_setenv auto_recovery yes - fi - # reset the boot counter - mtd resetbc s_env - ;; -esac -} diff --git a/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless b/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless index 6fb24c8d4f..3c345ff148 100755 --- a/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless +++ b/target/linux/mvebu/base-files/etc/uci-defaults/03_wireless @@ -11,7 +11,7 @@ board=$(board_name) case "$board" in -armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) +linksys,caiman|linksys,cobra|linksys,mamba|linksys,shelby|linksys,venom) SKU=$(strings /dev/mtd3|sed -ne 's/^cert_region=//p') WIFIMAC2G=$(macaddr_add $(cat /sys/class/net/eth0/address) +1) WIFIMAC5G=$(macaddr_add $WIFIMAC2G +1) @@ -34,7 +34,7 @@ armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-shelby|arm esac case "$board" in - armada-xp-linksys-mamba) + linksys,mamba) WIFIMAC0=$WIFIMAC2G WIFIMAC1=$WIFIMAC5G ;; diff --git a/target/linux/mvebu/base-files/etc/uci-defaults/04_mambafan b/target/linux/mvebu/base-files/etc/uci-defaults/04_mambafan index e15ce616c7..ec25aedad6 100755 --- a/target/linux/mvebu/base-files/etc/uci-defaults/04_mambafan +++ b/target/linux/mvebu/base-files/etc/uci-defaults/04_mambafan @@ -8,7 +8,7 @@ board=$(board_name) case "$board" in -armada-xp-linksys-mamba) +linksys,mamba) # Set fan script execution in crontab grep -s -q fan_ctrl.sh /etc/crontabs/root && exit 0 diff --git a/target/linux/mvebu/base-files/lib/mvebu.sh b/target/linux/mvebu/base-files/lib/mvebu.sh deleted file mode 100755 index 5a0d7b2933..0000000000 --- a/target/linux/mvebu/base-files/lib/mvebu.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/sh -# -# Copyright (C) 2013-2015 OpenWrt.org -# Copyright (C) 2016 LEDE-Project.org -# - -MVEBU_BOARD_NAME= -MVEBU_MODEL= - -mvebu_board_detect() { - local machine - local name - - machine=$(cat /proc/device-tree/model) - - case "$machine" in - *"Marvell Armada 370 Evaluation Board") - name="armada-370-db" - ;; - *"Globalscale Marvell ESPRESSOBin Board") - name="globalscale,espressobin" - ;; - *"Marvell Armada 3720 Development Board DB-88F3720-DDR3") - name="marvell,armada-3720-db" - ;; - *"Marvell 8040 MACHIATOBin") - name="marvell,armada8040-mcbin" - ;; - *"Marvell Armada 8040 DB board") - name="marvell,armada8040-db" - ;; - *"Marvell Armada 7040 DB board") - name="marvell,armada7040-db" - ;; - *"Globalscale Mirabox") - name="mirabox" - ;; - *"Marvell Armada 370 Reference Design") - name="armada-370-rd" - ;; - *"Marvell Armada XP Evaluation Board") - name="armada-xp-db" - ;; - *"PlatHome OpenBlocks AX3-4 board") - name="openblocks-ax3-4" - ;; - *"Marvell Armada XP GP Board") - name="armada-xp-gp" - ;; - *"Linksys WRT1200AC") - name="armada-385-linksys-caiman" - ;; - *"Linksys WRT1900AC") - name="armada-xp-linksys-mamba" - ;; - *"Linksys WRT1900ACv2") - name="armada-385-linksys-cobra" - ;; - *"Linksys WRT1900ACS") - name="armada-385-linksys-shelby" - ;; - *"Linksys WRT3200ACM") - name="armada-385-linksys-rango" - ;; - *"Linksys WRT32X") - name="armada-385-linksys-venom" - ;; - *"Marvell Armada 385 Access Point Development Board") - name="armada-385-db-ap" - ;; - *"Marvell Armada XP Development Board DB-MV784MP-GP") - name="armada-xp-gp" - ;; - *"SolidRun Clearfog Pro A1") - name="armada-388-clearfog-pro" - ;; - *"SolidRun Clearfog Base A1") - name="armada-388-clearfog-base" - ;; - *"Turris Omnia") - name="armada-385-turris-omnia" - ;; - esac - - [ -z "$name" ] && name="unknown" - - [ -z "$MVEBU_BOARD_NAME" ] && MVEBU_BOARD_NAME="$name" - [ -z "$MVEBU_MODEL" ] && MVEBU_MODEL="$machine" - - [ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/" - - echo "$MVEBU_BOARD_NAME" > /tmp/sysinfo/board_name - echo "$MVEBU_MODEL" > /tmp/sysinfo/model -} diff --git a/target/linux/mvebu/base-files/lib/preinit/01_sysinfo b/target/linux/mvebu/base-files/lib/preinit/01_sysinfo deleted file mode 100755 index 6f473cfa13..0000000000 --- a/target/linux/mvebu/base-files/lib/preinit/01_sysinfo +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -do_sysinfo_mvebu() { - . /lib/mvebu.sh - - mvebu_board_detect -} - -boot_hook_add preinit_main do_sysinfo_mvebu diff --git a/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac b/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac index 534a271efb..aba8da239e 100755 --- a/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/mvebu/base-files/lib/preinit/06_set_iface_mac @@ -9,12 +9,7 @@ preinit_set_mac_address() { . /lib/functions.sh case $(board_name) in - armada-xp-linksys-mamba) - mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) - ip link set dev eth0 address $mac 2>/dev/null - ip link set dev eth1 address $mac 2>/dev/null - ;; - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom) + linksys,caiman|linksys,cobra|linksys,rango|linksys,shelby|linksys,venom) # rename interfaces back to the way they were with 4.4 case "$(readlink /sys/class/net/eth0)" in *f1070000*) @@ -29,7 +24,12 @@ preinit_set_mac_address() { ip link set dev eth1 address $mac 2>/dev/null ip link set dev eth0 address $mac_wan 2>/dev/null ;; - armada-385-db-ap|armada-388-clearfog) + linksys,mamba) + mac=$(mtd_get_mac_ascii devinfo hw_mac_addr) + ip link set dev eth0 address $mac 2>/dev/null + ip link set dev eth1 address $mac 2>/dev/null + ;; + marvell,a385-db-ap|solidrun,clearfog*a1) # rename interfaces back to the way they were with 4.4 case "$(readlink /sys/class/net/eth0)" in *f1070000*) diff --git a/target/linux/mvebu/base-files/lib/preinit/79_move_config b/target/linux/mvebu/base-files/lib/preinit/79_move_config index 1735ad8849..640fb5cdad 100755 --- a/target/linux/mvebu/base-files/lib/preinit/79_move_config +++ b/target/linux/mvebu/base-files/lib/preinit/79_move_config @@ -1,16 +1,23 @@ #!/bin/sh # Copyright (C) 2015 OpenWrt.org -BOOTPART=/dev/mmcblk0p1 +. /lib/functions.sh +. /lib/upgrade/common.sh move_config() { - if [ -b $BOOTPART ]; then - insmod nls_cp437 - insmod nls_iso8859-1 - insmod fat - insmod vfat + local partdev + + if export_bootdevice && export_partdevice partdev 1; then + case $(board_name) in + cznic,turris-omnia) + insmod nls_cp437 + insmod nls_iso8859-1 + insmod fat + insmod vfat + ;; + esac mkdir -p /boot - mount -o rw,noatime $BOOTPART /boot + mount -o rw,noatime "/dev/$partdev" /boot [ -f /boot/sysupgrade.tgz ] && mv -f /boot/sysupgrade.tgz / umount /boot fi diff --git a/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg b/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg index cf7a22c4f6..b107eacb11 100755 --- a/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg +++ b/target/linux/mvebu/base-files/lib/preinit/81_linksys_syscfg @@ -8,7 +8,7 @@ preinit_mount_syscfg() { . /lib/functions.sh case $(board_name) in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) + linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom) needs_recovery=0 syscfg_part=$(grep syscfg /proc/mtd |cut -c4) ubiattach -m $syscfg_part || needs_recovery=1 diff --git a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh index aacaf55667..3f45d6cac5 100755 --- a/target/linux/mvebu/base-files/lib/upgrade/linksys.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/linksys.sh @@ -3,26 +3,45 @@ # linksys_get_target_firmware() { + + local cur_boot_part mtd_ubi0 + cur_boot_part=`/usr/sbin/fw_printenv -n boot_part` - target_firmware="" - if [ "$cur_boot_part" = "1" ] - then - # current primary boot - update alt boot - target_firmware="kernel2" - fw_setenv boot_part 2 - fw_setenv bootcmd "run altnandboot" - elif [ "$cur_boot_part" = "2" ] - then - # current alt boot - update primary boot - target_firmware="kernel1" - fw_setenv boot_part 1 - fw_setenv bootcmd "run nandboot" + if [ -z "${cur_boot_part}" ] ; then + mtd_ubi0=$(cat /sys/devices/virtual/ubi/ubi0/mtd_num) + case $(egrep ^mtd${mtd_ubi0}: /proc/mtd | cut -d '"' -f 2) in + kernel1|rootfs1) + cur_boot_part=1 + ;; + kernel2|rootfs2) + cur_boot_part=2 + ;; + esac + >&2 printf "Current boot_part='%s' selected from ubi0/mtd_num='%s'" \ + "${cur_boot_part}" "${mtd_ubi0}" fi - # re-enable recovery so we get back if the new firmware is broken - fw_setenv auto_recovery yes - - echo "$target_firmware" + case $cur_boot_part in + 1) + fw_setenv -s - <<-EOF + boot_part 2 + bootcmd "run altnandboot" + EOF + printf "kernel2" + return + ;; + 2) + fw_setenv -s - <<-EOF + boot_part 1 + bootcmd "run nandboot" + EOF + printf "kernel1" + return + ;; + *) + return + ;; + esac } linksys_get_root_magic() { diff --git a/target/linux/mvebu/base-files/lib/upgrade/platform.sh b/target/linux/mvebu/base-files/lib/upgrade/platform.sh index e4ccf9d7f2..a7d5f451c5 100755 --- a/target/linux/mvebu/base-files/lib/upgrade/platform.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/platform.sh @@ -8,15 +8,23 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' REQUIRE_IMAGE_METADATA=1 platform_check_image() { - return 0 + case "$(board_name)" in + cznic,turris-omnia|globalscale,espressobin|marvell,armada8040-mcbin|solidrun,clearfog-base-a1|solidrun,clearfog-pro-a1) + platform_check_image_sdcard "$ARGV" + ;; + *) + return 0 + ;; + esac } platform_do_upgrade() { case "$(board_name)" in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) + linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom) platform_do_upgrade_linksys "$ARGV" ;; - armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin) + cznic,turris-omnia|globalscale,espressobin|globalscale,espressobin-emmc|globalscale,espressobin-v7|globalscale,espressobin-v7-emmc|\ + marvell,armada8040-mcbin|solidrun,clearfog-base-a1|solidrun,clearfog-pro-a1) platform_do_upgrade_sdcard "$ARGV" ;; *) @@ -26,10 +34,10 @@ platform_do_upgrade() { } platform_copy_config() { case "$(board_name)" in - armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-385-linksys-venom|armada-xp-linksys-mamba) + linksys,caiman|linksys,cobra|linksys,mamba|linksys,rango|linksys,shelby|linksys,venom) platform_copy_config_linksys ;; - armada-385-turris-omnia|armada-388-clearfog-base|armada-388-clearfog-pro|globalscale,espressobin|marvell,armada8040-mcbin) + cznic,turris-omnia|globalscale,espressobin|marvell,armada8040-mcbin|solidrun,clearfog-base-a1|solidrun,clearfog-pro-a1) platform_copy_config_sdcard "$ARGV" ;; esac diff --git a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh index a05df834ba..43fc2504fc 100755 --- a/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh +++ b/target/linux/mvebu/base-files/lib/upgrade/sdcard.sh @@ -6,7 +6,7 @@ get_magic_at() { platform_check_image_sdcard() { local file="$1" - local magic + local magic diskdev partdev diff magic=$(get_magic_at "$file" 510) [ "$magic" != "55aa" ] && { @@ -14,17 +14,84 @@ platform_check_image_sdcard() { return 1 } - return 0; + export_bootdevice && export_partdevice diskdev 0 || { + echo "Unable to determine upgrade device" + return 1 + } + + get_partitions "/dev/$diskdev" bootdisk + + #extract the boot sector from the image + get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b 2>/dev/null + + get_partitions /tmp/image.bs image + + #compare tables + diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" + + rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image + + if [ -n "$diff" ]; then + echo "Partition layout has changed. Full image will be written." + ask_bool 0 "Abort" && exit 1 + return 0 + fi } platform_do_upgrade_sdcard() { local board=$(board_name) + local diskdev partdev diff + + export_bootdevice && export_partdevice diskdev 0 || { + echo "Unable to determine upgrade device" + return 1 + } sync - get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync + + if [ "$SAVE_PARTITIONS" = "1" ]; then + get_partitions "/dev/$diskdev" bootdisk + + #extract the boot sector from the image + get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b + + get_partitions /tmp/image.bs image + + #compare tables + diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)" + else + diff=1 + fi + + if [ -n "$diff" ]; then + get_image "$@" | dd of="/dev/$diskdev" bs=4096 conv=fsync + + # Separate removal and addtion is necessary; otherwise, partition 1 + # will be missing if it overlaps with the old partition 2 + partx -d - "/dev/$diskdev" + partx -a - "/dev/$diskdev" + + return 0 + fi + + #write uboot image + get_image "$@" | dd of="$diskdev" bs=512 skip=1 seek=1 count=2048 conv=fsync + #iterate over each partition from the image and write it to the boot disk + while read part start size; do + if export_partdevice partdev $part; then + echo "Writing image to /dev/$partdev..." + get_image "$@" | dd of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync + else + echo "Unable to find partition $part device, skipped." + fi + done < /tmp/partmap.image + + #copy partition uuid + echo "Writing new UUID to /dev/$diskdev..." + get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync case "$board" in - armada-385-turris-omnia) + cznic,turris-omnia) fw_setenv openwrt_bootargs 'earlyprintk console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=auto rootwait' fw_setenv openwrt_mmcload 'setenv bootargs "$openwrt_bootargs cfg80211.freg=$regdomain"; fatload mmc 0 0x01000000 zImage; fatload mmc 0 0x02000000 armada-385-turris-omnia.dtb' fw_setenv factory_mmcload 'setenv bootargs "$bootargs cfg80211.freg=$regdomain"; btrload mmc 0 0x01000000 boot/zImage @; btrload mmc 0 0x02000000 boot/dtb @' @@ -36,9 +103,13 @@ platform_do_upgrade_sdcard() { } platform_copy_config_sdcard() { - mkdir -p /boot - [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/mmcblk0p1 /boot - cp -af "$CONF_TAR" /boot/ - sync - umount /boot + local partdev + + if export_partdevice partdev 1; then + mkdir -p /boot + [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/$partdev /boot + cp -af "$CONF_TAR" /boot/ + sync + umount /boot + fi } diff --git a/target/linux/mvebu/config-4.14 b/target/linux/mvebu/config-4.14 index 296da5a109..dca685cffe 100755 --- a/target/linux/mvebu/config-4.14 +++ b/target/linux/mvebu/config-4.14 @@ -41,7 +41,7 @@ CONFIG_ARM_APPENDED_DTB=y # CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set CONFIG_ARM_ATAG_DTB_COMPAT=y # CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set -CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_ARM_CRYPTO=y @@ -109,6 +109,7 @@ CONFIG_CPU_PABRT_V7=y CONFIG_CPU_PJ4B=y CONFIG_CPU_PM=y CONFIG_CPU_RMAP=y +CONFIG_CPU_SPECTRE=y CONFIG_CPU_THERMAL=y CONFIG_CPU_THUMB_CAPABLE=y CONFIG_CPU_TLB_V7=y @@ -212,6 +213,7 @@ CONFIG_GPIO_PCA953X_IRQ=y CONFIG_GPIO_SYSFS=y # CONFIG_GRO_CELLS is not set CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y @@ -266,6 +268,7 @@ CONFIG_HOTPLUG_CPU=y CONFIG_HWBM=y CONFIG_HWMON=y CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_OMAP is not set CONFIG_HZ_FIXED=0 CONFIG_HZ_PERIODIC=y CONFIG_I2C=y @@ -308,6 +311,7 @@ CONFIG_MDIO_I2C=y CONFIG_MEMORY=y CONFIG_MIGHT_HAVE_CACHE_L2X0=y CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MIGRATION=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y CONFIG_MMC_MVSDIO=y @@ -396,7 +400,7 @@ CONFIG_PINCTRL_MVEBU=y CONFIG_PJ4B_ERRATA_4742=y # CONFIG_PL310_ERRATA_588369 is not set # CONFIG_PL310_ERRATA_727915 is not set -# CONFIG_PL310_ERRATA_753970 is not set +CONFIG_PL310_ERRATA_753970=y # CONFIG_PL310_ERRATA_769419 is not set CONFIG_PLAT_ORION=y CONFIG_PM_OPP=y diff --git a/target/linux/mvebu/config-4.19 b/target/linux/mvebu/config-4.19 new file mode 100644 index 0000000000..5a554a0bda --- /dev/null +++ b/target/linux/mvebu/config-4.19 @@ -0,0 +1,498 @@ +CONFIG_AHCI_MVEBU=y +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ARCH_CLOCKSOURCE_DATA=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_SG_CHAIN=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MULTIPLATFORM=y +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_NR_GPIO=0 +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARM=y +CONFIG_ARMADA_370_CLK=y +CONFIG_ARMADA_370_XP_IRQ=y +CONFIG_ARMADA_370_XP_TIMER=y +CONFIG_ARMADA_38X_CLK=y +CONFIG_ARMADA_THERMAL=y +CONFIG_ARMADA_XP_CLK=y +CONFIG_ARM_APPENDED_DTB=y +# CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND is not set +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_CRYPTO=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_GIC=y +CONFIG_ARM_GLOBAL_TIMER=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_L1_CACHE_SHIFT_6=y +# CONFIG_ARM_LPAE is not set +CONFIG_ARM_MVEBU_V7_CPUIDLE=y +CONFIG_ARM_PATCH_IDIV=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_UNWIND=y +CONFIG_ARM_VIRT_EXT=y +CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y +CONFIG_ATA=y +CONFIG_ATAGS=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BOUNCE=y +# CONFIG_CACHE_FEROCEON_L2 is not set +CONFIG_CACHE_L2X0=y +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMMON_CLK=y +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BIG_ENDIAN is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_HAS_ASID=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PJ4B=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SPECTRE=y +CONFIG_CPU_THERMAL=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_V7=y +CONFIG_CRC16=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES_ARM=y +CONFIG_CRYPTO_AES_ARM_BS=y +# CONFIG_CRYPTO_AES_ARM_CE is not set +# CONFIG_CRYPTO_CHACHA20_NEON is not set +CONFIG_CRYPTO_CRC32=y +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32_ARM_CE is not set +CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_DEV_MARVELL_CESA=y +# CONFIG_CRYPTO_GHASH_ARM_CE is not set +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_ARM=y +# CONFIG_CRYPTO_SHA1_ARM_CE is not set +CONFIG_CRYPTO_SHA1_ARM_NEON=y +CONFIG_CRYPTO_SHA256_ARM=y +# CONFIG_CRYPTO_SHA2_ARM_CE is not set +CONFIG_CRYPTO_SHA512_ARM=y +CONFIG_CRYPTO_SIMD=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DEBUG_ALIGN_RODATA=y +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_LL=y +CONFIG_DEBUG_LL_INCLUDE="debug/8250.S" +CONFIG_DEBUG_MVEBU_UART0=y +# CONFIG_DEBUG_MVEBU_UART0_ALTERNATE is not set +# CONFIG_DEBUG_MVEBU_UART1_ALTERNATE is not set +CONFIG_DEBUG_UART_8250=y +# CONFIG_DEBUG_UART_8250_FLOW_CONTROL is not set +CONFIG_DEBUG_UART_8250_SHIFT=2 +# CONFIG_DEBUG_UART_8250_WORD is not set +CONFIG_DEBUG_UART_PHYS=0xd0012000 +CONFIG_DEBUG_UART_VIRT=0xfec12000 +CONFIG_DEBUG_UNCOMPRESS=y +CONFIG_DEBUG_USER=y +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_ENGINE_RAID=y +CONFIG_DMA_OF=y +CONFIG_DTC=y +CONFIG_EARLY_PRINTK=y +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_EXT4_FS=y +CONFIG_EXTCON=y +# CONFIG_F2FS_CHECK_FS is not set +CONFIG_F2FS_FS=y +# CONFIG_F2FS_FS_SECURITY is not set +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_STAT_FS=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ARCH_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GLOB=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MVEBU=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_SYSFS=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_ARM_TWD=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UID16=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_HOTPLUG_CPU=y +CONFIG_HWBM=y +CONFIG_HWMON=y +CONFIG_HW_RANDOM=y +CONFIG_HZ_FIXED=0 +CONFIG_HZ_PERIODIC=y +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MV64XXX=y +# CONFIG_I2C_PXA is not set +CONFIG_INITRAMFS_SOURCE="" +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_WORK=y +# CONFIG_IWMMXT is not set +CONFIG_JBD2=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PCA963X=y +CONFIG_LEDS_TLC591XX=y +CONFIG_LEDS_TRIGGER_DISK=y +CONFIG_LIBFDT=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MACH_ARMADA_370=y +# CONFIG_MACH_ARMADA_375 is not set +CONFIG_MACH_ARMADA_38X=y +# CONFIG_MACH_ARMADA_39X is not set +CONFIG_MACH_ARMADA_XP=y +# CONFIG_MACH_DOVE is not set +CONFIG_MACH_MVEBU_ANY=y +CONFIG_MACH_MVEBU_V7=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_MANGLE_BOOTARGS=y +CONFIG_MARVELL_PHY=y +CONFIG_MDIO_BUS=y +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_I2C=y +CONFIG_MEMFD_CREATE=y +CONFIG_MEMORY=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_MIGRATION=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_MVSDIO=y +CONFIG_MMC_SDHCI=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_PXAV3=y +# CONFIG_MMC_TIFM_SD is not set +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_M25P80=y +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_MARVELL=y +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPLIT_FIRMWARE=y +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_MVEBU_CLK_COMMON=y +CONFIG_MVEBU_CLK_COREDIV=y +CONFIG_MVEBU_CLK_CPU=y +CONFIG_MVEBU_DEVBUS=y +CONFIG_MVEBU_MBUS=y +CONFIG_MVMDIO=y +CONFIG_MVNETA=y +CONFIG_MVNETA_BM=y +CONFIG_MVNETA_BM_ENABLE=y +CONFIG_MVPP2=y +CONFIG_MVSW61XX_PHY=y +CONFIG_MV_XOR=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEON=y +CONFIG_NET_DSA=y +CONFIG_NET_DSA_LEGACY=y +CONFIG_NET_DSA_MV88E6XXX=y +CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y +# CONFIG_NET_DSA_MV88E6XXX_PTP is not set +CONFIG_NET_DSA_TAG_DSA=y +CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NLS=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_NO_BOOTMEM=y +CONFIG_NR_CPUS=4 +CONFIG_NVMEM=y +CONFIG_OF=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_OF_NET=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_ORION_WATCHDOG=y +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_PADATA=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_MVEBU=y +# CONFIG_PCI_V3_SEMI is not set +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_PHYLIB=y +CONFIG_PHYLINK=y +# CONFIG_PHY_MVEBU_CP110_COMPHY is not set +CONFIG_PINCTRL=y +CONFIG_PINCTRL_ARMADA_370=y +CONFIG_PINCTRL_ARMADA_38X=y +CONFIG_PINCTRL_ARMADA_XP=y +CONFIG_PINCTRL_MVEBU=y +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PJ4B_ERRATA_4742=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +CONFIG_PL310_ERRATA_753970=y +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_PLAT_ORION=y +CONFIG_PM_OPP=y +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=11 +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +CONFIG_RATIONAL=y +CONFIG_RCU_NEED_SEGCBLIST=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_REFCOUNT_FULL=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_SPI=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_ARMADA38X=y +CONFIG_RTC_DRV_MV=y +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_SATA_AHCI_PLATFORM=y +CONFIG_SATA_MV=y +CONFIG_SATA_PMP=y +CONFIG_SCSI=y +CONFIG_SENSORS_PWM_FAN=y +CONFIG_SENSORS_TMP421=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_MVEBU_CONSOLE=y +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_SFP=y +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SOC_BUS=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPI=y +# CONFIG_SPI_ARMADA_3700 is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_ORION=y +CONFIG_SRAM=y +CONFIG_SRAM_EXEC=y +CONFIG_SRCU=y +CONFIG_SWCONFIG=y +CONFIG_SWPHY=y +CONFIG_SWP_EMULATE=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_THERMAL=y +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +CONFIG_UBIFS_FS=y +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_USB=y +CONFIG_USB_COMMON=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_ORION=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_LEDS_TRIGGER_USBPORT=y +CONFIG_USB_PHY=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_MVEBU=y +CONFIG_USB_XHCI_PLATFORM=y +CONFIG_USE_OF=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_WATCHDOG_CORE=y +CONFIG_XPS=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y diff --git a/target/linux/mvebu/cortexa53/config-default b/target/linux/mvebu/cortexa53/config-4.14 similarity index 97% rename from target/linux/mvebu/cortexa53/config-default rename to target/linux/mvebu/cortexa53/config-4.14 index b631c30f5f..df5f6f341b 100755 --- a/target/linux/mvebu/cortexa53/config-default +++ b/target/linux/mvebu/cortexa53/config-4.14 @@ -37,7 +37,6 @@ CONFIG_ARM64_PAGE_SHIFT=12 # CONFIG_ARM64_PTDUMP_DEBUGFS is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set CONFIG_ARM64_SSBD=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set # CONFIG_ARM64_UAO is not set CONFIG_ARM64_VA_BITS=39 CONFIG_ARM64_VA_BITS_39=y @@ -57,7 +56,6 @@ CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_PSCI_FW=y # CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -# CONFIG_COMPAT is not set # CONFIG_DEBUG_ALIGN_RODATA is not set CONFIG_FRAME_POINTER=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y @@ -65,7 +63,6 @@ CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_GENERIC_PINCONF=y CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_KASAN=y @@ -78,6 +75,7 @@ CONFIG_HAVE_GENERIC_GUP=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_HAVE_PATA_PLATFORM=y CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HOLES_IN_ZONE=y # CONFIG_HUGETLBFS is not set CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_MFD_SYSCON=y diff --git a/target/linux/mvebu/cortexa53/config-4.19 b/target/linux/mvebu/cortexa53/config-4.19 new file mode 100644 index 0000000000..67d6d4209d --- /dev/null +++ b/target/linux/mvebu/cortexa53/config-4.19 @@ -0,0 +1,114 @@ +CONFIG_64BIT=y +# CONFIG_ACPI is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARM64=y +# CONFIG_ARM64_16K_PAGES is not set +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_CONT_SHIFT=4 +# CONFIG_ARM64_CRYPTO is not set +# CONFIG_ARM64_HW_AFDBM is not set +# CONFIG_ARM64_LSE_ATOMICS is not set +CONFIG_ARM64_PAGE_SHIFT=12 +# CONFIG_ARM64_PAN is not set +# CONFIG_ARM64_PMEM is not set +# CONFIG_ARM64_PTDUMP_CORE is not set +# CONFIG_ARM64_PTDUMP_DEBUGFS is not set +# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +CONFIG_ARM64_SSBD=y +CONFIG_ARM64_SVE=y +# CONFIG_ARM64_UAO is not set +CONFIG_ARM64_VA_BITS=39 +CONFIG_ARM64_VA_BITS_39=y +# CONFIG_ARM64_VA_BITS_48 is not set +# CONFIG_ARM64_VHE is not set +CONFIG_ARMADA_37XX_CLK=y +CONFIG_ARMADA_AP806_SYSCON=y +CONFIG_ARMADA_CP110_SYSCON=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=y +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +# CONFIG_ARM_PL172_MPMC is not set +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_SP805_WATCHDOG is not set +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +# CONFIG_DEBUG_ALIGN_RODATA is not set +CONFIG_FRAME_POINTER=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_HAVE_GENERIC_GUP=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HOLES_IN_ZONE=y +# CONFIG_HUGETLBFS is not set +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_MFD_SYSCON=y +CONFIG_MMC_SDHCI_XENON=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_MVEBU_GICP=y +CONFIG_MVEBU_ICU=y +CONFIG_MVEBU_ODMI=y +CONFIG_MVEBU_PIC=y +CONFIG_NEED_SG_DMA_LENGTH=y +# CONFIG_NUMA is not set +CONFIG_PARTITION_PERCPU=y +CONFIG_PCI_AARDVARK=y +CONFIG_PCI_BUS_ADDR_T_64BIT=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PINCTRL_ARMADA_37XX=y +CONFIG_PINCTRL_ARMADA_AP806=y +CONFIG_PINCTRL_ARMADA_CP110=y +CONFIG_POWER_RESET=y +CONFIG_POWER_SUPPLY=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_REGULATOR_GPIO=y +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPI_ARMADA_3700=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_VMAP_STACK=y diff --git a/target/linux/mvebu/cortexa53/target.mk b/target/linux/mvebu/cortexa53/target.mk index acc18d3454..fe89d08ffa 100755 --- a/target/linux/mvebu/cortexa53/target.mk +++ b/target/linux/mvebu/cortexa53/target.mk @@ -11,5 +11,6 @@ ARCH:=aarch64 BOARDNAME:=Marvell Armada 3700LP (ARM64) CPU_TYPE:=cortex-a53 FEATURES+=ext4 +DEFAULT_PACKAGES+=e2fsprogs ethtool mkf2fs partx-utils KERNELNAME:=Image dtbs diff --git a/target/linux/mvebu/cortexa72/config-default b/target/linux/mvebu/cortexa72/config-4.14 similarity index 91% rename from target/linux/mvebu/cortexa72/config-default rename to target/linux/mvebu/cortexa72/config-4.14 index 50b8d21c32..f9bcefc4c5 100755 --- a/target/linux/mvebu/cortexa72/config-default +++ b/target/linux/mvebu/cortexa72/config-4.14 @@ -37,12 +37,12 @@ CONFIG_ARM64_PAGE_SHIFT=12 # CONFIG_ARM64_PTDUMP_DEBUGFS is not set # CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set CONFIG_ARM64_SSBD=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set # CONFIG_ARM64_UAO is not set CONFIG_ARM64_VA_BITS=39 CONFIG_ARM64_VA_BITS_39=y # CONFIG_ARM64_VA_BITS_48 is not set # CONFIG_ARM64_VHE is not set +CONFIG_ARMADA_37XX_CLK=y CONFIG_ARMADA_AP806_SYSCON=y CONFIG_ARMADA_CP110_SYSCON=y CONFIG_ARM_AMBA=y @@ -55,7 +55,6 @@ CONFIG_ARM_GIC_V3_ITS=y CONFIG_ARM_PSCI_FW=y # CONFIG_ARM_SP805_WATCHDOG is not set CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y -# CONFIG_COMPAT is not set # CONFIG_DEBUG_ALIGN_RODATA is not set CONFIG_FRAME_POINTER=y CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y @@ -63,7 +62,6 @@ CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_GENERIC_PINCONF=y CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_ARCH_HUGE_VMAP=y CONFIG_HAVE_ARCH_KASAN=y @@ -76,40 +74,39 @@ CONFIG_HAVE_GENERIC_GUP=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_HAVE_PATA_PLATFORM=y CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HOLES_IN_ZONE=y # CONFIG_HUGETLBFS is not set -CONFIG_I2C_MUX_PCA954x=y +CONFIG_HW_RANDOM_OMAP=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_MARVELL_10G_PHY=y CONFIG_MFD_SYSCON=y CONFIG_MMC_SDHCI_XENON=y CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_MV_XOR_V2=y CONFIG_MVEBU_GICP=y CONFIG_MVEBU_ICU=y CONFIG_MVEBU_ODMI=y CONFIG_MVEBU_PIC=y +CONFIG_MV_XOR_V2=y CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NET_DSA=y -CONFIG_NET_DSA_MV88E6XXX=y -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y -# CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set -CONFIG_NET_DSA_TAG_DSA=y -CONFIG_NET_DSA_TAG_EDSA=y -CONFIG_NET_SWITCHDEV=y # CONFIG_NUMA is not set CONFIG_PARTITION_PERCPU=y CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y CONFIG_PCIE_ARMADA_8K=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y # CONFIG_PCI_AARDVARK is not set CONFIG_PCI_BUS_ADDR_T_64BIT=y CONFIG_PGTABLE_LEVELS=3 -CONFIG_PHY_MVEBU_CP110_COMPHY=y CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PHY_MVEBU_CP110_COMPHY=y +CONFIG_PINCTRL_ARMADA_37XX=y CONFIG_PINCTRL_ARMADA_AP806=y CONFIG_PINCTRL_ARMADA_CP110=y CONFIG_POWER_RESET=y CONFIG_POWER_SUPPLY=y # CONFIG_RANDOMIZE_BASE is not set +CONFIG_RAS=y CONFIG_REGULATOR_GPIO=y # CONFIG_SERIAL_AMBA_PL011 is not set CONFIG_SPARSEMEM=y diff --git a/target/linux/mvebu/cortexa72/config-4.19 b/target/linux/mvebu/cortexa72/config-4.19 new file mode 100644 index 0000000000..9143e4e6d4 --- /dev/null +++ b/target/linux/mvebu/cortexa72/config-4.19 @@ -0,0 +1,122 @@ +CONFIG_64BIT=y +# CONFIG_ACPI is not set +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set +# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARM64=y +# CONFIG_ARM64_16K_PAGES is not set +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_CONT_SHIFT=4 +# CONFIG_ARM64_CRYPTO is not set +# CONFIG_ARM64_HW_AFDBM is not set +# CONFIG_ARM64_LSE_ATOMICS is not set +CONFIG_ARM64_PAGE_SHIFT=12 +# CONFIG_ARM64_PAN is not set +# CONFIG_ARM64_PMEM is not set +# CONFIG_ARM64_PTDUMP_CORE is not set +# CONFIG_ARM64_PTDUMP_DEBUGFS is not set +# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set +CONFIG_ARM64_SSBD=y +CONFIG_ARM64_SVE=y +# CONFIG_ARM64_UAO is not set +CONFIG_ARM64_VA_BITS=39 +CONFIG_ARM64_VA_BITS_39=y +# CONFIG_ARM64_VA_BITS_48 is not set +# CONFIG_ARM64_VHE is not set +CONFIG_ARMADA_37XX_CLK=y +CONFIG_ARMADA_AP806_SYSCON=y +CONFIG_ARMADA_CP110_SYSCON=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +# CONFIG_ARM_PL172_MPMC is not set +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_SP805_WATCHDOG is not set +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +# CONFIG_DEBUG_ALIGN_RODATA is not set +CONFIG_FRAME_POINTER=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_HAVE_GENERIC_GUP=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_HAVE_RCU_TABLE_FREE=y +CONFIG_HOLES_IN_ZONE=y +# CONFIG_HUGETLBFS is not set +CONFIG_HW_RANDOM_OMAP=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_MARVELL_10G_PHY=y +CONFIG_MFD_SYSCON=y +CONFIG_MMC_SDHCI_XENON=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_MVEBU_GICP=y +CONFIG_MVEBU_ICU=y +CONFIG_MVEBU_ODMI=y +CONFIG_MVEBU_PIC=y +CONFIG_MV_XOR_V2=y +CONFIG_NEED_SG_DMA_LENGTH=y +# CONFIG_NUMA is not set +CONFIG_PARTITION_PERCPU=y +CONFIG_PCIEAER=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIE_ARMADA_8K=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +# CONFIG_PCI_AARDVARK is not set +CONFIG_PCI_BUS_ADDR_T_64BIT=y +CONFIG_PGTABLE_LEVELS=3 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PHY_MVEBU_CP110_COMPHY=y +CONFIG_PINCTRL_ARMADA_37XX=y +CONFIG_PINCTRL_ARMADA_AP806=y +CONFIG_PINCTRL_ARMADA_CP110=y +CONFIG_POWER_RESET=y +CONFIG_POWER_SUPPLY=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_RAS=y +CONFIG_REGULATOR_GPIO=y +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_VMAP_STACK=y diff --git a/target/linux/mvebu/cortexa72/target.mk b/target/linux/mvebu/cortexa72/target.mk index 670c402a56..540ef1104f 100755 --- a/target/linux/mvebu/cortexa72/target.mk +++ b/target/linux/mvebu/cortexa72/target.mk @@ -11,5 +11,6 @@ ARCH:=aarch64 BOARDNAME:=Marvell Armada 7k/8k (ARM64) CPU_TYPE:=cortex-a72 FEATURES+=ext4 +DEFAULT_PACKAGES+=e2fsprogs ethtool mkf2fs partx-utils KERNELNAME:=Image dtbs diff --git a/target/linux/mvebu/cortexa9/config-default b/target/linux/mvebu/cortexa9/config-default deleted file mode 100755 index c9f039ba96..0000000000 --- a/target/linux/mvebu/cortexa9/config-default +++ /dev/null @@ -1 +0,0 @@ -CONFIG_HARDEN_BRANCH_PREDICTOR=y diff --git a/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts new file mode 100644 index 0000000000..ef90a1bd38 --- /dev/null +++ b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board with eMMC + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board (eMMC)"; + compatible = "globalscale,espressobin-emmc", "globalscale,espressobin", + "marvell,armada3720", "marvell,armada3710"; +}; + +&sdhci0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + mmccard: mmccard@0 { + compatible = "mmc-card"; + reg = <0>; + }; +}; diff --git a/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts new file mode 100644 index 0000000000..2b565ca8d8 --- /dev/null +++ b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 with eMMC + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board V7 (eMMC)"; + compatible = "globalscale,espressobin-v7-emmc", "globalscale,espressobin-v7", + "globalscale,espressobin", "marvell,armada3720", + "marvell,armada3710"; +}; + +&ports { + port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&switch0phy0>; + }; + + port@3 { + reg = <3>; + label = "wan"; + phy-handle = <&switch0phy2>; + }; +}; + +&sdhci0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + mmccard: mmccard@0 { + compatible = "mmc-card"; + reg = <0>; + }; +}; diff --git a/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts new file mode 100644 index 0000000000..8a408c3c48 --- /dev/null +++ b/target/linux/mvebu/files-4.14/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board V7"; + compatible = "globalscale,espressobin-v7", "globalscale,espressobin", + "marvell,armada3720", "marvell,armada3710"; +}; + +&ports { + port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&switch0phy0>; + }; + + port@3 { + reg = <3>; + label = "wan"; + phy-handle = <&switch0phy2>; + }; +}; diff --git a/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts b/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts new file mode 100644 index 0000000000..c152c14c6b --- /dev/null +++ b/target/linux/mvebu/files-4.19/arch/arm/boot/dts/armada-385-linksys-venom.dts @@ -0,0 +1,213 @@ +/* + * Device Tree file for the Linksys WRT32X (Venom) + * + * Copyright (C) 2017 Imre Kaloz + * + * + * This file is dual-licensed: you can use it either under the terms + * of the GPL or the X11 license, at your option. Note that this dual + * licensing only applies to this file, and not this project as a + * whole. + * + * a) This file is licensed under the terms of the GNU General Public + * License version 2. This program is licensed "as is" without + * any warranty of any kind, whether express or implied. + * + * Or, alternatively, + * + * b) Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following + * conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + */ + +/dts-v1/; +#include +#include +#include "armada-385-linksys.dtsi" + +/ { + model = "Linksys WRT32X"; + compatible = "linksys,venom", "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + + chosen { + bootargs = "console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + append-rootblock = "root=/dev/mtdblock"; + }; +}; + +&expander0 { + wan_amber@0 { + label = "venom:amber:wan"; + reg = <0x0>; + }; + + wan_blue@1 { + label = "venom:blue:wan"; + reg = <0x1>; + }; + + usb2@5 { + label = "venom:blue:usb2"; + reg = <0x5>; + }; + + usb3_1@6 { + label = "venom:blue:usb3_1"; + reg = <0x6>; + }; + + usb3_2@7 { + label = "venom:blue:usb3_2"; + reg = <0x7>; + }; + + wps_blue@8 { + label = "venom:blue:wps"; + reg = <0x8>; + }; + + wps_amber@9 { + label = "venom:amber:wps"; + reg = <0x9>; + }; +}; + +&gpio_leds { + power { + gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; + label = "venom:blue:power"; + }; + + sata { + gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; + label = "venom:blue:sata"; + }; + + wlan_2g { + gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; + label = "venom:blue:wlan_2g"; + }; + + wlan_5g { + gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; + label = "venom:blue:wlan_5g"; + }; +}; + +&gpio_leds_pins { + marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56"; +}; + +&nand { + /* Spansion S34ML02G2 256MiB, OEM Layout */ + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x200000>; /* 2MB */ + read-only; + }; + + partition@200000 { + label = "u_env"; + reg = <0x200000 0x20000>; /* 128KB */ + }; + + partition@220000 { + label = "s_env"; + reg = <0x220000 0x40000>; /* 256KB */ + }; + + partition@180000 { + label = "unused_area"; + reg = <0x260000 0x5c0000>; /* 5.75MB */ + }; + + partition@7e0000 { + label = "devinfo"; + reg = <0x7e0000 0x40000>; /* 256KB */ + read-only; + }; + + /* kernel1 overlaps with rootfs1 by design */ + partition@900000 { + label = "kernel1"; + reg = <0x900000 0x7b00000>; /* 123MB */ + }; + + partition@c00000 { + label = "rootfs1"; + reg = <0xc00000 0x7800000>; /* 120MB */ + }; + + /* kernel2 overlaps with rootfs2 by design */ + partition@8400000 { + label = "kernel2"; + reg = <0x8400000 0x7b00000>; /* 123MB */ + }; + + partition@8700000 { + label = "rootfs2"; + reg = <0x8700000 0x7800000>; /* 120MB */ + }; + + /* last MB is for the BBT, not writable */ + partition@ff00000 { + label = "BBT"; + reg = <0xff00000 0x100000>; + }; + }; +}; + + +&pcie1 { + mwlwifi { + marvell,chainmask = <4 4>; + }; +}; + +&pcie2 { + mwlwifi { + marvell,chainmask = <4 4>; + }; +}; + +&sdhci { + pinctrl-names = "default"; + pinctrl-0 = <&sdhci_pins>; + no-1-8-v; + non-removable; + wp-inverted; + bus-width = <8>; + status = "okay"; +}; + +&usb3_1_vbus { + gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; +}; + +&usb3_1_vbus_pins { + marvell,pins = "mpp44"; +}; diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts new file mode 100644 index 0000000000..ef90a1bd38 --- /dev/null +++ b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-emmc.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board with eMMC + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board (eMMC)"; + compatible = "globalscale,espressobin-emmc", "globalscale,espressobin", + "marvell,armada3720", "marvell,armada3710"; +}; + +&sdhci0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + mmccard: mmccard@0 { + compatible = "mmc-card"; + reg = <0>; + }; +}; diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts new file mode 100644 index 0000000000..2b565ca8d8 --- /dev/null +++ b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7-emmc.dts @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 with eMMC + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board V7 (eMMC)"; + compatible = "globalscale,espressobin-v7-emmc", "globalscale,espressobin-v7", + "globalscale,espressobin", "marvell,armada3720", + "marvell,armada3710"; +}; + +&ports { + port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&switch0phy0>; + }; + + port@3 { + reg = <3>; + label = "wan"; + phy-handle = <&switch0phy2>; + }; +}; + +&sdhci0 { + status = "okay"; + + #address-cells = <1>; + #size-cells = <0>; + mmccard: mmccard@0 { + compatible = "mmc-card"; + reg = <0>; + }; +}; diff --git a/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts new file mode 100644 index 0000000000..8a408c3c48 --- /dev/null +++ b/target/linux/mvebu/files-4.19/arch/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Device Tree file for Globalscale Marvell ESPRESSOBin Board V7 + * Copyright (C) 2018 Marvell + * + * Romain Perier + * Konstantin Porotchkin + * + */ + +#include "armada-3720-espressobin.dts" + +/ { + model = "Globalscale Marvell ESPRESSOBin Board V7"; + compatible = "globalscale,espressobin-v7", "globalscale,espressobin", + "marvell,armada3720", "marvell,armada3710"; +}; + +&ports { + port@1 { + reg = <1>; + label = "lan1"; + phy-handle = <&switch0phy0>; + }; + + port@3 { + reg = <3>; + label = "wan"; + phy-handle = <&switch0phy2>; + }; +}; diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index be01623e86..57e5a30491 100755 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -15,27 +15,19 @@ KERNEL_LOADADDR := 0x00008000 SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH)) -define Build/dtb - $(call Image/BuildDTB,$(DTS_DIR)/$(DEVICE_DTS).dts,$@.dtb) -endef - -# SD-Card Images: -# these values are optimized for a 4GB labeled sdcard that actually holds 7744512 sectors of 512 byte -# MBR: 2048 sectors -# Partition 1: 32768 sectors -# Partition 2: 98304 sectors (configurable) - define Build/boot-scr rm -f $@-boot.scr - sed -e 's#@ROOT@#$(SIGNATURE)#g' \ - $(DEVICE_NAME).bootscript > $@-new.bootscript + sed \ + -e 's#@ROOT@#$(SIGNATURE)#g' \ + -e 's#@DTB@#$(firstword $(DEVICE_DTS))#g' \ + $(BOOT_SCRIPT).bootscript > $@-new.bootscript mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $@-new.bootscript $@-boot.scr endef define Build/boot-img rm -f $@.boot - mkfs.fat -C $@.boot 16384 - $(foreach dts,$(DEVICE_DTS), mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::$(dts).dtb;) + mkfs.fat -C $@.boot $$(( $(CONFIG_TARGET_KERNEL_PARTSIZE) * 1024 )) + $(foreach dts,$(DEVICE_DTS), mcopy -i $@.boot $(KDIR)/image-$(dts).dtb ::$(dts).dtb;) mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_NAME) -mcopy -i $@.boot $@-boot.scr ::boot.scr endef @@ -43,30 +35,26 @@ endef define Build/boot-img-ext4 rm -fR $@.boot mkdir -p $@.boot - $(foreach dts,$(DEVICE_DTS), $(CP) $(DTS_DIR)/$(dts).dtb $@.boot;) + $(foreach dts,$(DEVICE_DTS), $(CP) $(KDIR)/image-$(dts).dtb $@.boot/$(dts).dtb;) $(CP) $(IMAGE_KERNEL) $@.boot/$(KERNEL_NAME) -$(CP) $@-boot.scr $@.boot/boot.scr - make_ext4fs -J -l 16384K $@.bootimg $@.boot + make_ext4fs -J -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M $@.bootimg $@.boot endef define Build/sdcard-img - if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \ - ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \ SIGNATURE="$(SIGNATURE)" \ ./gen_mvebu_sdcard_img.sh $@ \ - $$UBOOT \ - c 32768 $@.boot \ - 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS) + $(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \ + c $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \ + 83 $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) endef define Build/sdcard-img-ext4 - if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \ - ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \ SIGNATURE="$(SIGNATURE)" \ ./gen_mvebu_sdcard_img.sh $@ \ - $$UBOOT \ - 83 32768 $@.bootimg \ - 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS) + $(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \ + 83 $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.bootimg \ + 83 $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) endef define Build/omnia-medkit-initramfs @@ -74,7 +62,7 @@ define Build/omnia-medkit-initramfs rm -rf $(dir $(IMAGE_KERNEL))boot mkdir -p $(dir $(IMAGE_KERNEL))boot/boot/ cp $(KDIR)/zImage-initramfs $(dir $(IMAGE_KERNEL))boot/boot/zImage - cp $(DTS_DIR)/$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb + cp $(KDIR)/image-$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb $(TAR) -rp --numeric-owner --owner=0 --group=0 --sort=name \ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \ --file=$@ -C $(dir $(IMAGE_KERNEL))boot/ . @@ -82,29 +70,29 @@ endef define Device/Default PROFILES := Default - DEVICE_DTS := $(1) BOARD_NAME = $$(DEVICE_DTS) KERNEL_NAME := zImage KERNEL := kernel-bin | append-dtb | uImage none - SUPPORTED_DEVICES = $$(DEVICE_DTS) - UBOOT := -endef -DEVICE_VARS += UBOOT - -define Device/UBI IMAGES := sysupgrade.bin - IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata -endef - -define Device/UBI-factory - $(Device/UBI) - UBINIZE_OPTS := -E 5 - IMAGES += factory.img IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE) + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + SUPPORTED_DEVICES = $(subst _,$(comma),$(1)) + UBINIZE_OPTS := -E 5 + UBOOT := + BOOT_SCRIPT := +endef +DEVICE_VARS += BOOT_SCRIPT UBOOT + +define Device/Default-arm64 + BOOT_SCRIPT := generic-arm64 + DTS_DIR := $(DTS_DIR)/marvell + IMAGES := sdcard.img.gz + IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata + KERNEL_NAME := Image + KERNEL := kernel-bin endef define Device/NAND-128K - $(Device/UBI) BLOCKSIZE := 128k PAGESIZE := 2048 SUBPAGESIZE := 512 @@ -112,13 +100,11 @@ define Device/NAND-128K endef define Device/NAND-256K - $(Device/UBI) BLOCKSIZE := 256k PAGESIZE := 4096 endef define Device/NAND-512K - $(Device/UBI) BLOCKSIZE := 512k PAGESIZE := 4096 endef diff --git a/target/linux/mvebu/image/armada-388-clearfog-base.bootscript b/target/linux/mvebu/image/armada-388-clearfog-base.bootscript deleted file mode 100755 index 1755203dc5..0000000000 --- a/target/linux/mvebu/image/armada-388-clearfog-base.bootscript +++ /dev/null @@ -1,27 +0,0 @@ -# Standard Boot-Script -# use only well-known variable names provided by U-Boot Distro boot -# This script assumes that there is a boot partition, -# and that the root partition is always the next one. - -# Override DeviceTree for Clearfog Base -# removed once U-Boot is able to detect the board variant. -setenv fdtfile armada-388-clearfog-base.dtb - -# rootfs is always on the next partition -setexpr openwrt_rootpart ${distro_bootpart} + 1 - -# figure out partition uuid to pass to the kernel as root= -part uuid ${devtype} ${devnum}:${openwrt_rootpart} uuid - -# generate bootargs (rootfs) -setenv bootargs ${bootargs} root=PARTUUID=${uuid} rootfstype=auto rootwait - -# add console= option to bootargs, if any -if test -n "${console}"; then - setenv bootargs ${bootargs} console=${console} -fi - -echo "Booting Linux with ${bootargs}" -load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile} -load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage -bootz ${kernel_addr_r} - ${fdt_addr_r} diff --git a/target/linux/mvebu/image/armada-macchiatobin.bootscript b/target/linux/mvebu/image/armada-macchiatobin.bootscript deleted file mode 100755 index ae9fdca92d..0000000000 --- a/target/linux/mvebu/image/armada-macchiatobin.bootscript +++ /dev/null @@ -1,10 +0,0 @@ -setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait" - -if test -n "${console}"; then - setenv bootargs "${bootargs} ${console}" -fi - -load mmc 1:1 ${fdt_addr} armada-8040-mcbin.dtb -load mmc 1:1 ${kernel_addr} Image - -booti ${kernel_addr} - ${fdt_addr} diff --git a/target/linux/mvebu/image/armada-388-clearfog-pro.bootscript b/target/linux/mvebu/image/clearfog.bootscript similarity index 78% rename from target/linux/mvebu/image/armada-388-clearfog-pro.bootscript rename to target/linux/mvebu/image/clearfog.bootscript index 99aa145858..20ba76f0da 100755 --- a/target/linux/mvebu/image/armada-388-clearfog-pro.bootscript +++ b/target/linux/mvebu/image/clearfog.bootscript @@ -3,10 +3,6 @@ # This script assumes that there is a boot partition, # and that the root partition is always the next one. -# Override DeviceTree for Clearfog Pro -# removed once U-Boot has been updated to the new name. -setenv fdtfile armada-388-clearfog-pro.dtb - # rootfs is always on the next partition setexpr openwrt_rootpart ${distro_bootpart} + 1 @@ -22,6 +18,6 @@ if test -n "${console}"; then fi echo "Booting Linux with ${bootargs}" -load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${fdtfile} +load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} @DTB@.dtb load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} zImage bootz ${kernel_addr_r} - ${fdt_addr_r} diff --git a/target/linux/mvebu/image/cortex-a53.mk b/target/linux/mvebu/image/cortex-a53.mk index 89c3363448..d7014d6f02 100755 --- a/target/linux/mvebu/image/cortex-a53.mk +++ b/target/linux/mvebu/image/cortex-a53.mk @@ -1,29 +1,38 @@ ifeq ($(SUBTARGET),cortexa53) -define Device/globalscale-espressobin - KERNEL_NAME := Image - KERNEL := kernel-bin +define Device/globalscale_espressobin + $(call Device/Default-arm64) DEVICE_TITLE := ESPRESSObin (Marvell Armada 3700 Community Board) - DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-usb2 kmod-usb3 kmod-usb-storage - IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata DEVICE_DTS := armada-3720-espressobin - DTS_DIR := $(DTS_DIR)/marvell - SUPPORTED_DEVICES := globalscale,espressobin endef -TARGET_DEVICES += globalscale-espressobin +TARGET_DEVICES += globalscale_espressobin -define Device/armada-3720-db - KERNEL_NAME := Image - KERNEL := kernel-bin - DEVICE_TITLE := Marvell Armada 3720 Development Board DB-88F3720-DDR3 - DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-usb2 kmod-usb3 kmod-usb-storage - IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata - DEVICE_DTS := armada-3720-db - DTS_DIR := $(DTS_DIR)/marvell - SUPPORTED_DEVICES := marvell,armada-3720-db +define Device/globalscale_espressobin-emmc + $(call Device/Default-arm64) + DEVICE_TITLE := ESPRESSObin eMMC (Marvell Armada 3700 Community Board) + DEVICE_DTS := armada-3720-espressobin-emmc endef -TARGET_DEVICES += armada-3720-db +TARGET_DEVICES += globalscale_espressobin-emmc + +define Device/globalscale_espressobin-v7 + $(call Device/Default-arm64) + DEVICE_TITLE := ESPRESSObin V7 (Marvell Armada 3700 Community Board) + DEVICE_DTS := armada-3720-espressobin-v7 +endef +TARGET_DEVICES += globalscale_espressobin-v7 + +define Device/globalscale_espressobin-v7-emmc + $(call Device/Default-arm64) + DEVICE_TITLE := ESPRESSObin V7 eMMC (Marvell Armada 3700 Community Board) + DEVICE_DTS := armada-3720-espressobin-v7-emmc +endef +TARGET_DEVICES += globalscale_espressobin-v7-emmc + +define Device/marvell_armada-3720-db + $(call Device/Default-arm64) + DEVICE_TITLE := Marvell Armada 3720 Development Board DB-88F3720-DDR3 + DEVICE_DTS := armada-3720-db +endef +TARGET_DEVICES += marvell_armada-3720-db endif diff --git a/target/linux/mvebu/image/cortex-a72.mk b/target/linux/mvebu/image/cortex-a72.mk index ac5b80233b..73dc67b60a 100755 --- a/target/linux/mvebu/image/cortex-a72.mk +++ b/target/linux/mvebu/image/cortex-a72.mk @@ -1,42 +1,28 @@ ifeq ($(SUBTARGET),cortexa72) -define Device/armada-macchiatobin - KERNEL_NAME := Image - KERNEL := kernel-bin +define Device/marvell_macchiatobin + $(call Device/Default-arm64) DEVICE_TITLE := MACCHIATObin (SolidRun Armada 8040 Community Board) - DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-mmc - IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata + DEVICE_PACKAGES += kmod-i2c-core kmod-i2c-mux kmod-i2c-mux-pca954x DEVICE_DTS := armada-8040-mcbin - DTS_DIR := $(DTS_DIR)/marvell SUPPORTED_DEVICES := marvell,armada8040-mcbin endef -TARGET_DEVICES += armada-macchiatobin +TARGET_DEVICES += marvell_macchiatobin -define Device/armada-8040-db - KERNEL_NAME := Image - KERNEL := kernel-bin +define Device/marvell_armada8040-db + $(call Device/Default-arm64) DEVICE_TITLE := Marvell Armada 8040 DB board - DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-mmc - IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata DEVICE_DTS := armada-8040-db - DTS_DIR := $(DTS_DIR)/marvell - SUPPORTED_DEVICES := marvell,armada8040-db -endef -TARGET_DEVICES += armada-8040-db - -define Device/armada-7040-db - KERNEL_NAME := Image - KERNEL := kernel-bin - DEVICE_TITLE := Marvell Armada 7040 DB board - DEVICE_PACKAGES := e2fsprogs ethtool mkf2fs kmod-fs-vfat kmod-mmc - IMAGES := sdcard.img.gz IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata - DEVICE_DTS := armada-7040-db - DTS_DIR := $(DTS_DIR)/marvell - SUPPORTED_DEVICES := marvell,armada7040-db endef -TARGET_DEVICES += armada-7040-db +TARGET_DEVICES += marvell_armada8040-db + +define Device/marvell_armada7040-db + $(call Device/Default-arm64) + DEVICE_TITLE := Marvell Armada 7040 DB board + DEVICE_DTS := armada-7040-db + IMAGE/sdcard.img.gz := boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata +endef +TARGET_DEVICES += marvell_armada7040-db endif diff --git a/target/linux/mvebu/image/cortex-a9.mk b/target/linux/mvebu/image/cortex-a9.mk index 79c3bc7bdb..17d950d595 100755 --- a/target/linux/mvebu/image/cortex-a9.mk +++ b/target/linux/mvebu/image/cortex-a9.mk @@ -9,166 +9,178 @@ ifeq ($(SUBTARGET),cortexa9) define Device/linksys - DEVICE_TITLE := Linksys $(1) - DEVICE_PACKAGES := kmod-mwlwifi wpad-basic swconfig -endef - -define Device/armada-385-linksys $(Device/NAND-128K) - $(Device/UBI-factory) + DEVICE_TITLE := Linksys $(1) + DEVICE_PACKAGES := kmod-mwlwifi swconfig wpad-basic + IMAGES += factory.img KERNEL_SIZE := 6144k endef -define Device/linksys-wrt1200ac +define Device/linksys_wrt1200ac $(call Device/linksys,WRT1200AC (Caiman)) - $(Device/armada-385-linksys) DEVICE_DTS := armada-385-linksys-caiman DEVICE_PACKAGES += mwlwifi-firmware-88w8864 + SUPPORTED_DEVICES := armada-385-linksys-caiman linksys,caiman endef -TARGET_DEVICES += linksys-wrt1200ac +TARGET_DEVICES += linksys_wrt1200ac -define Device/linksys-wrt1900acv2 +define Device/linksys_wrt1900acv2 $(call Device/linksys,WRT1900ACv2 (Cobra)) - $(Device/armada-385-linksys) DEVICE_DTS := armada-385-linksys-cobra DEVICE_PACKAGES += mwlwifi-firmware-88w8864 + SUPPORTED_DEVICES := armada-385-linksys-cobra linksys,cobra endef -TARGET_DEVICES += linksys-wrt1900acv2 +TARGET_DEVICES += linksys_wrt1900acv2 -define Device/linksys-wrt3200acm +define Device/linksys_wrt3200acm $(call Device/linksys,WRT3200ACM (Rango)) - $(Device/armada-385-linksys) DEVICE_DTS := armada-385-linksys-rango DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 + SUPPORTED_DEVICES := armada-385-linksys-rango linksys,rango endef -TARGET_DEVICES += linksys-wrt3200acm +TARGET_DEVICES += linksys_wrt3200acm -define Device/linksys-wrt1900acs +define Device/linksys_wrt1900acs $(call Device/linksys,WRT1900ACS (Shelby)) - $(Device/armada-385-linksys) DEVICE_DTS := armada-385-linksys-shelby DEVICE_PACKAGES += mwlwifi-firmware-88w8864 + SUPPORTED_DEVICES := armada-385-linksys-shelby linksys,shelby endef -TARGET_DEVICES += linksys-wrt1900acs +TARGET_DEVICES += linksys_wrt1900acs -define Device/linksys-wrt32x -$(call Device/linksys,WRT32X (Venom)) +define Device/linksys_wrt32x + $(call Device/linksys,WRT32X (Venom)) DEVICE_DTS := armada-385-linksys-venom DEVICE_PACKAGES += kmod-btmrvl kmod-mwifiex-sdio mwlwifi-firmware-88w8964 - $(Device/armada-385-linksys) KERNEL_SIZE := 3072k KERNEL := kernel-bin | append-dtb + SUPPORTED_DEVICES := armada-385-linksys-venom linksys,venom endef -TARGET_DEVICES += linksys-wrt32x +TARGET_DEVICES += linksys_wrt32x -define Device/linksys-wrt1900ac +define Device/linksys_wrt1900ac $(call Device/linksys,WRT1900AC (Mamba)) DEVICE_DTS := armada-xp-linksys-mamba DEVICE_PACKAGES += mwlwifi-firmware-88w8864 - $(Device/NAND-128K) - $(Device/UBI-factory) KERNEL_SIZE := 3072k + SUPPORTED_DEVICES := armada-xp-linksys-mamba linksys,mamba endef -TARGET_DEVICES += linksys-wrt1900ac +TARGET_DEVICES += linksys_wrt1900ac -define Device/openblocks-ax3-4 - $(Device/UBI-factory) +define Device/plathome_openblocks-ax3-4 DEVICE_DTS := armada-xp-openblocks-ax3-4 - SUPPORTED_DEVICES := $(1) + SUPPORTED_DEVICES += openblocks-ax3-4 BLOCKSIZE := 128k PAGESIZE := 1 + IMAGES += factory.img IMAGE/factory.img := append-kernel | pad-to $$(BLOCKSIZE) | append-ubi DEVICE_TITLE := Plat'Home OpenBlocks AX3 endef -TARGET_DEVICES += openblocks-ax3-4 +TARGET_DEVICES += plathome_openblocks-ax3-4 -define Device/armada-385-db-ap +define Device/marvell_a385-db-ap $(Device/NAND-256K) - $(Device/UBI-factory) + DEVICE_DTS := armada-385-db-ap + IMAGES += factory.img KERNEL_SIZE := 8192k DEVICE_TITLE := Marvell Armada 385 DB AP (DB-88F6820-AP) + SUPPORTED_DEVICES += armada-385-db-ap endef -TARGET_DEVICES += armada-385-db-ap +TARGET_DEVICES += marvell_a385-db-ap -define Device/marvell-nand +define Device/marvell_a370-db $(Device/NAND-512K) - DEVICE_TITLE := Marvell Armada $(1) + DEVICE_TITLE := Marvell Armada 370 DB (DB-88F6710-BP-DDR3) + DEVICE_DTS := armada-370-db + SUPPORTED_DEVICES += armada-370-db endef +TARGET_DEVICES += marvell_a370-db -define Device/armada-370-db - $(call Device/marvell-nand,370 DB (DB-88F6710-BP-DDR3)) +define Device/marvell_a370-rd + $(Device/NAND-512K) + DEVICE_TITLE := Marvell Armada 370 RD (RD-88F6710-A1) + DEVICE_DTS := armada-370-rd + SUPPORTED_DEVICES += armada-370-rd endef -TARGET_DEVICES += armada-370-db +TARGET_DEVICES += marvell_a370-rd -define Device/armada-370-rd - $(call Device/marvell-nand,370 RD (RD-88F6710-A1)) +define Device/marvell_axp-db + $(Device/NAND-512K) + DEVICE_TITLE := Marvell Armada XP DB (DB-78460-BP) + DEVICE_DTS := armada-xp-db + SUPPORTED_DEVICES += armada-xp-db endef -TARGET_DEVICES += armada-370-rd +TARGET_DEVICES += marvell_axp-db -define Device/armada-xp-db - $(call Device/marvell-nand,XP DB (DB-78460-BP)) +define Device/marvell_axp-gp + $(Device/NAND-512K) + DEVICE_TITLE := Marvell Armada XP GP (DB-MV784MP-GP) + DEVICE_DTS := armada-xp-gp + SUPPORTED_DEVICES += armada-xp-gp endef -TARGET_DEVICES += armada-xp-db +TARGET_DEVICES += marvell_axp-gp -define Device/armada-xp-gp - $(call Device/marvell-nand,XP GP (DB-MV784MP-GP)) -endef -TARGET_DEVICES += armada-xp-gp - -define Device/armada-388-rd +define Device/marvell_a388-rd DEVICE_TITLE := Marvell Armada 388 RD (RD-88F6820-AP) + DEVICE_DTS := armada-388-rd IMAGES := firmware.bin IMAGE/firmware.bin := append-kernel | pad-to 256k | append-rootfs | pad-rootfs + SUPPORTED_DEVICES := armada-388-rd marvell,a385-rd endef -TARGET_DEVICES += armada-388-rd +TARGET_DEVICES += marvell_a388-rd -define Device/armada-388-clearfog-pro +define Device/solidrun_clearfog-pro-a1 KERNEL_INSTALL := 1 KERNEL := kernel-bin DEVICE_TITLE := SolidRun ClearFog Pro - DEVICE_PACKAGES := mkf2fs e2fsprogs swconfig kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 + DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils swconfig IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip | append-metadata + IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base - SUPPORTED_DEVICES := armada-388-clearfog-pro armada-388-clearfog + SUPPORTED_DEVICES += armada-388-clearfog armada-388-clearfog-pro UBOOT := clearfog-u-boot-spl.kwb + BOOT_SCRIPT := clearfog endef -TARGET_DEVICES += armada-388-clearfog-pro +TARGET_DEVICES += solidrun_clearfog-pro-a1 -define Device/armada-388-clearfog-base +define Device/solidrun_clearfog-base-a1 KERNEL_INSTALL := 1 KERNEL := kernel-bin DEVICE_TITLE := SolidRun ClearFog Base - DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 + DEVICE_PACKAGES := mkf2fs e2fsprogs partx-utils IMAGES := sdcard.img.gz - IMAGE/sdcard.img.gz := boot-scr | boot-img | sdcard-img | gzip | append-metadata - DEVICE_DTS := armada-388-clearfog-pro armada-388-clearfog-base + IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata + DEVICE_DTS := armada-388-clearfog-base armada-388-clearfog-pro + SUPPORTED_DEVICES += armada-388-clearfog-base UBOOT := clearfog-u-boot-spl.kwb + BOOT_SCRIPT := clearfog endef -TARGET_DEVICES += armada-388-clearfog-base +TARGET_DEVICES += solidrun_clearfog-base-a1 -define Device/globalscale-mirabox +define Device/globalscale_mirabox $(Device/NAND-512K) DEVICE_DTS := armada-370-mirabox - SUPPORTED_DEVICES := mirabox + SUPPORTED_DEVICES += mirabox DEVICE_TITLE := Globalscale Mirabox endef -TARGET_DEVICES += globalscale-mirabox +TARGET_DEVICES += globalscale_mirabox -define Device/turris-omnia +define Device/cznic_turris-omnia KERNEL_INSTALL := 1 KERNEL := kernel-bin KERNEL_INITRAMFS := kernel-bin DEVICE_TITLE := Turris Omnia DEVICE_PACKAGES := \ mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 \ - wpad-basic kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct + wpad-basic kmod-ath9k kmod-ath10k-ct ath10k-firmware-qca988x-ct \ + partx-utils kmod-i2c-core kmod-i2c-mux kmod-i2c-mux-pca954x IMAGES := $$(IMAGE_PREFIX)-sysupgrade.img.gz omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz IMAGE/$$(IMAGE_PREFIX)-sysupgrade.img.gz := boot-img | sdcard-img | gzip | append-metadata IMAGE/omnia-medkit-$$(IMAGE_PREFIX)-initramfs.tar.gz := omnia-medkit-initramfs | gzip IMAGE_NAME = $$(2) DEVICE_DTS := armada-385-turris-omnia + SUPPORTED_DEVICES += armada-385-turris-omnia endef -TARGET_DEVICES += turris-omnia +TARGET_DEVICES += cznic_turris-omnia endif diff --git a/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh b/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh index 67416ed80c..e0230e48b6 100755 --- a/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh +++ b/target/linux/mvebu/image/gen_mvebu_sdcard_img.sh @@ -18,7 +18,7 @@ # usage() { - echo "$0 [ ]?" + echo "$0 [ ]?" } # always require first 2 or 3 arguments @@ -46,7 +46,7 @@ dd if=/dev/zero of="$OUTFILE" bs=512 count=1 >/dev/null printf "Done\n" while [ "$#" -ge 3 ]; do - ptgen_args="$ptgen_args -t $1 -p $(($2 / 2 + 256))" + ptgen_args="$ptgen_args -t $1 -p $(($2 * 1024 + 256))" parts="$parts$3 " shift; shift; shift done diff --git a/target/linux/mvebu/image/armada-3720-db.bootscript b/target/linux/mvebu/image/generic-arm64.bootscript similarity index 50% rename from target/linux/mvebu/image/armada-3720-db.bootscript rename to target/linux/mvebu/image/generic-arm64.bootscript index 65e39a1af5..bb78948253 100755 --- a/target/linux/mvebu/image/armada-3720-db.bootscript +++ b/target/linux/mvebu/image/generic-arm64.bootscript @@ -4,7 +4,13 @@ if test -n "${console}"; then setenv bootargs "${bootargs} ${console}" fi -load mmc 0:1 ${fdt_addr} armada-3720-db.dtb -load mmc 0:1 ${kernel_addr} Image +if mmc dev 0; then + setenv mmcdev 0 +elif mmc dev 1; then + setenv mmcdev 1 +fi + +load mmc ${mmcdev}:1 ${fdt_addr} @DTB@.dtb +load mmc ${mmcdev}:1 ${kernel_addr} Image booti ${kernel_addr} - ${fdt_addr} diff --git a/target/linux/mvebu/image/globalscale-espressobin.bootscript b/target/linux/mvebu/image/globalscale-espressobin.bootscript deleted file mode 100755 index 0d03ac8513..0000000000 --- a/target/linux/mvebu/image/globalscale-espressobin.bootscript +++ /dev/null @@ -1,10 +0,0 @@ -setenv bootargs "root=PARTUUID=@ROOT@-02 rw rootwait" - -if test -n "${console}"; then - setenv bootargs "${bootargs} ${console}" -fi - -load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb -load mmc 0:1 ${kernel_addr} Image - -booti ${kernel_addr} - ${fdt_addr} diff --git a/target/linux/mvebu/patches-4.14/105-build_new_dtbs.patch b/target/linux/mvebu/patches-4.14/105-build_new_dtbs.patch deleted file mode 100755 index 92880b9971..0000000000 --- a/target/linux/mvebu/patches-4.14/105-build_new_dtbs.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -1027,6 +1027,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \ - armada-385-linksys-cobra.dtb \ - armada-385-linksys-rango.dtb \ - armada-385-linksys-shelby.dtb \ -+ armada-385-linksys-venom.dtb \ - armada-385-synology-ds116.dtb \ - armada-385-turris-omnia.dtb \ - armada-388-clearfog.dtb \ diff --git a/target/linux/mvebu/patches-4.14/505-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch b/target/linux/mvebu/patches-4.14/500-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/505-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch rename to target/linux/mvebu/patches-4.14/500-arm64-dts-marvell-Fix-A37xx-UART0-register-size.patch diff --git a/target/linux/mvebu/patches-4.14/504-spi-a3700-Change-SPI-mode-before-asserting-chip-sele.patch b/target/linux/mvebu/patches-4.14/501-spi-a3700-Change-SPI-mode-before-asserting-chip-sele.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/504-spi-a3700-Change-SPI-mode-before-asserting-chip-sele.patch rename to target/linux/mvebu/patches-4.14/501-spi-a3700-Change-SPI-mode-before-asserting-chip-sele.patch diff --git a/target/linux/mvebu/patches-4.14/506-arm64-dts-marvell-armada-37xx-add-UART-clock.patch b/target/linux/mvebu/patches-4.14/502-arm64-dts-marvell-armada-37xx-add-UART-clock.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/506-arm64-dts-marvell-armada-37xx-add-UART-clock.patch rename to target/linux/mvebu/patches-4.14/502-arm64-dts-marvell-armada-37xx-add-UART-clock.patch diff --git a/target/linux/mvebu/patches-4.14/500-clk-mvebu-armada-37xx-periph-cosmetic-changes.patch b/target/linux/mvebu/patches-4.14/503-clk-mvebu-armada-37xx-periph-cosmetic-changes.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/500-clk-mvebu-armada-37xx-periph-cosmetic-changes.patch rename to target/linux/mvebu/patches-4.14/503-clk-mvebu-armada-37xx-periph-cosmetic-changes.patch diff --git a/target/linux/mvebu/patches-4.14/501-clk-mvebu-armada-37xx-periph-prepare-cpu-clk-to-be-u.patch b/target/linux/mvebu/patches-4.14/504-clk-mvebu-armada-37xx-periph-prepare-cpu-clk-to-be-u.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/501-clk-mvebu-armada-37xx-periph-prepare-cpu-clk-to-be-u.patch rename to target/linux/mvebu/patches-4.14/504-clk-mvebu-armada-37xx-periph-prepare-cpu-clk-to-be-u.patch diff --git a/target/linux/mvebu/patches-4.14/502-clk-mvebu-armada-37xx-periph-add-DVFS-support-for-cp.patch b/target/linux/mvebu/patches-4.14/505-clk-mvebu-armada-37xx-periph-add-DVFS-support-for-cp.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/502-clk-mvebu-armada-37xx-periph-add-DVFS-support-for-cp.patch rename to target/linux/mvebu/patches-4.14/505-clk-mvebu-armada-37xx-periph-add-DVFS-support-for-cp.patch diff --git a/target/linux/mvebu/patches-4.14/503-cpufreq-Add-DVFS-support-for-Armada-37xx.patch b/target/linux/mvebu/patches-4.14/506-cpufreq-Add-DVFS-support-for-Armada-37xx.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/503-cpufreq-Add-DVFS-support-for-Armada-37xx.patch rename to target/linux/mvebu/patches-4.14/506-cpufreq-Add-DVFS-support-for-Armada-37xx.patch diff --git a/target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch b/target/linux/mvebu/patches-4.14/508-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch similarity index 74% rename from target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch rename to target/linux/mvebu/patches-4.14/508-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch index fb80db7e89..840897473f 100755 --- a/target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch +++ b/target/linux/mvebu/patches-4.14/508-arm64-dts-armada-3720-espressobin-wire-up-spi-flash.patch @@ -14,16 +14,13 @@ Tested-by: Gregory CLEMENT Signed-off-by: Ellie Reeves Signed-off-by: Uwe Kleine-König Signed-off-by: Gregory CLEMENT - -[drop partitions, not every U-Boot has same layout] -Signed-off-by: Tomasz Maciej Nowak --- - .../dts/marvell/armada-3720-espressobin.dts | 13 +++++++++++++ - 1 file changed, 13 insertions(+) + .../dts/marvell/armada-3720-espressobin.dts | 27 +++++++++++++++++++ + 1 file changed, 27 insertions(+) --- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts -@@ -96,6 +96,19 @@ +@@ -96,6 +96,33 @@ status = "okay"; }; @@ -31,12 +28,26 @@ Signed-off-by: Tomasz Maciej Nowak + status = "okay"; + + flash@0 { -+ #address-cells = <1>; -+ #size-cells = <1>; + reg = <0>; + compatible = "winbond,w25q32dw", "jedec,spi-flash"; + spi-max-frequency = <104000000>; + m25p,fast-read; ++ ++ partitions { ++ compatible = "fixed-partitions"; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ partition@0 { ++ label = "uboot"; ++ reg = <0 0x180000>; ++ }; ++ ++ partition@180000 { ++ label = "ubootenv"; ++ reg = <0x180000 0x10000>; ++ }; ++ }; + }; +}; + diff --git a/target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch b/target/linux/mvebu/patches-4.14/509-cpufreq-armada-37xx-Fix-clock-leak.patch similarity index 100% rename from target/linux/mvebu/patches-4.14/508-cpufreq-armada-37xx-Fix-clock-leak.patch rename to target/linux/mvebu/patches-4.14/509-cpufreq-armada-37xx-Fix-clock-leak.patch diff --git a/target/linux/mvebu/patches-4.14/510-clk-mvebu-armada-37xx-periph-Fix-switching-CPU-rate-.patch b/target/linux/mvebu/patches-4.14/510-clk-mvebu-armada-37xx-periph-Fix-switching-CPU-rate-.patch new file mode 100644 index 0000000000..42bfef7b7e --- /dev/null +++ b/target/linux/mvebu/patches-4.14/510-clk-mvebu-armada-37xx-periph-Fix-switching-CPU-rate-.patch @@ -0,0 +1,92 @@ +From 61c40f35f5cd6f67ccbd7319a1722eb78c815989 Mon Sep 17 00:00:00 2001 +From: Gregory CLEMENT +Date: Tue, 19 Jun 2018 14:34:45 +0200 +Subject: [PATCH] clk: mvebu: armada-37xx-periph: Fix switching CPU rate from + 300Mhz to 1.2GHz + +Switching the CPU from the L2 or L3 frequencies (300 and 200 Mhz +respectively) to L0 frequency (1.2 Ghz) requires a significant amount +of time to let VDD stabilize to the appropriate voltage. This amount of +time is large enough that it cannot be covered by the hardware +countdown register. Due to this, the CPU might start operating at L0 +before the voltage is stabilized, leading to CPU stalls. + +To work around this problem, we prevent switching directly from the +L2/L3 frequencies to the L0 frequency, and instead switch to the L1 +frequency in-between. The sequence therefore becomes: + +1. First switch from L2/L3(200/300MHz) to L1(600MHZ) +2. Sleep 20ms for stabling VDD voltage +3. Then switch from L1(600MHZ) to L0(1200Mhz). + +It is based on the work done by Ken Ma + +Cc: stable@vger.kernel.org +Fixes: 2089dc33ea0e ("clk: mvebu: armada-37xx-periph: add DVFS support for cpu clocks") +Signed-off-by: Gregory CLEMENT +Signed-off-by: Stephen Boyd +--- + drivers/clk/mvebu/armada-37xx-periph.c | 38 ++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +--- a/drivers/clk/mvebu/armada-37xx-periph.c ++++ b/drivers/clk/mvebu/armada-37xx-periph.c +@@ -35,6 +35,7 @@ + #define CLK_SEL 0x10 + #define CLK_DIS 0x14 + ++#define ARMADA_37XX_DVFS_LOAD_1 1 + #define LOAD_LEVEL_NR 4 + + #define ARMADA_37XX_NB_L0L1 0x18 +@@ -507,6 +508,40 @@ static long clk_pm_cpu_round_rate(struct + return -EINVAL; + } + ++/* ++ * Switching the CPU from the L2 or L3 frequencies (300 and 200 Mhz ++ * respectively) to L0 frequency (1.2 Ghz) requires a significant ++ * amount of time to let VDD stabilize to the appropriate ++ * voltage. This amount of time is large enough that it cannot be ++ * covered by the hardware countdown register. Due to this, the CPU ++ * might start operating at L0 before the voltage is stabilized, ++ * leading to CPU stalls. ++ * ++ * To work around this problem, we prevent switching directly from the ++ * L2/L3 frequencies to the L0 frequency, and instead switch to the L1 ++ * frequency in-between. The sequence therefore becomes: ++ * 1. First switch from L2/L3(200/300MHz) to L1(600MHZ) ++ * 2. Sleep 20ms for stabling VDD voltage ++ * 3. Then switch from L1(600MHZ) to L0(1200Mhz). ++ */ ++static void clk_pm_cpu_set_rate_wa(unsigned long rate, struct regmap *base) ++{ ++ unsigned int cur_level; ++ ++ if (rate != 1200 * 1000 * 1000) ++ return; ++ ++ regmap_read(base, ARMADA_37XX_NB_CPU_LOAD, &cur_level); ++ cur_level &= ARMADA_37XX_NB_CPU_LOAD_MASK; ++ if (cur_level <= ARMADA_37XX_DVFS_LOAD_1) ++ return; ++ ++ regmap_update_bits(base, ARMADA_37XX_NB_CPU_LOAD, ++ ARMADA_37XX_NB_CPU_LOAD_MASK, ++ ARMADA_37XX_DVFS_LOAD_1); ++ msleep(20); ++} ++ + static int clk_pm_cpu_set_rate(struct clk_hw *hw, unsigned long rate, + unsigned long parent_rate) + { +@@ -537,6 +572,9 @@ static int clk_pm_cpu_set_rate(struct cl + */ + reg = ARMADA_37XX_NB_CPU_LOAD; + mask = ARMADA_37XX_NB_CPU_LOAD_MASK; ++ ++ clk_pm_cpu_set_rate_wa(rate, base); ++ + regmap_update_bits(base, reg, mask, load_level); + + return rate; diff --git a/target/linux/mvebu/patches-4.14/511-clk-mvebu-armada-37xx-periph-Fix-wrong-return-value-.patch b/target/linux/mvebu/patches-4.14/511-clk-mvebu-armada-37xx-periph-Fix-wrong-return-value-.patch new file mode 100644 index 0000000000..389a13a2b4 --- /dev/null +++ b/target/linux/mvebu/patches-4.14/511-clk-mvebu-armada-37xx-periph-Fix-wrong-return-value-.patch @@ -0,0 +1,33 @@ +From 616bf80d381da13fbb392ebff06f46f946e3ee84 Mon Sep 17 00:00:00 2001 +From: Gregory CLEMENT +Date: Fri, 13 Jul 2018 12:27:26 +0200 +Subject: [PATCH] clk: mvebu: armada-37xx-periph: Fix wrong return value in + get_parent + +The return value of the get_parent operation is a u8, whereas a -EINVAL +was returned. This wrong value was return if the value was bigger that +the number of parent but this case was already handled by the core. + +So we can just remove this chunk of code to fix the issue. + +Reported-by: Dan Carpenter +Fixes: 9818a7a4fd10 ("clk: mvebu: armada-37xx-periph: prepare cpu clk to +be used with DVFS") +Signed-off-by: Gregory CLEMENT +Signed-off-by: Stephen Boyd +--- + drivers/clk/mvebu/armada-37xx-periph.c | 3 --- + 1 file changed, 3 deletions(-) + +--- a/drivers/clk/mvebu/armada-37xx-periph.c ++++ b/drivers/clk/mvebu/armada-37xx-periph.c +@@ -429,9 +429,6 @@ static u8 clk_pm_cpu_get_parent(struct c + val &= pm_cpu->mask_mux; + } + +- if (val >= num_parents) +- return -EINVAL; +- + return val; + } + diff --git a/target/linux/mvebu/patches-4.14/512-clk-mvebu-armada-37xx-periph-Remove-unused-var-num_p.patch b/target/linux/mvebu/patches-4.14/512-clk-mvebu-armada-37xx-periph-Remove-unused-var-num_p.patch new file mode 100644 index 0000000000..874f982bd7 --- /dev/null +++ b/target/linux/mvebu/patches-4.14/512-clk-mvebu-armada-37xx-periph-Remove-unused-var-num_p.patch @@ -0,0 +1,33 @@ +From 8927c27b32703e28041ae19bf25ea53461be83a1 Mon Sep 17 00:00:00 2001 +From: Anders Roxell +Date: Fri, 27 Jul 2018 00:27:21 +0200 +Subject: [PATCH] clk: mvebu: armada-37xx-periph: Remove unused var num_parents +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When building armada-37xx-periph, num_parents isn't used in function +clk_pm_cpu_get_parent: +drivers/clk/mvebu/armada-37xx-periph.c: In function ‘clk_pm_cpu_get_parent’: +drivers/clk/mvebu/armada-37xx-periph.c:419:6: warning: unused variable ‘num_parents’ [-Wunused-variable] + int num_parents = clk_hw_get_num_parents(hw); + ^~~~~~~~~~~ +Remove the declaration of num_parents to dispose the warning. + +Fixes: 616bf80d381d ("clk: mvebu: armada-37xx-periph: Fix wrong return value in get_parent") +Signed-off-by: Anders Roxell +Signed-off-by: Stephen Boyd +--- + drivers/clk/mvebu/armada-37xx-periph.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/clk/mvebu/armada-37xx-periph.c ++++ b/drivers/clk/mvebu/armada-37xx-periph.c +@@ -419,7 +419,6 @@ static unsigned int armada_3700_pm_dvfs_ + static u8 clk_pm_cpu_get_parent(struct clk_hw *hw) + { + struct clk_pm_cpu *pm_cpu = to_clk_pm_cpu(hw); +- int num_parents = clk_hw_get_num_parents(hw); + u32 val; + + if (armada_3700_pm_dvfs_is_enabled(pm_cpu->nb_pm_base)) { diff --git a/target/linux/mvebu/patches-4.14/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch b/target/linux/mvebu/patches-4.14/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch new file mode 100644 index 0000000000..19702a61ed --- /dev/null +++ b/target/linux/mvebu/patches-4.14/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch @@ -0,0 +1,40 @@ +From eefe328439642101774f0f5c4ea0dc6ba1cfb687 Mon Sep 17 00:00:00 2001 +From: Ding Tao +Date: Fri, 26 Oct 2018 11:50:27 +0000 +Subject: [PATCH] arm64: dts: marvell: armada37xx: Add emmc/sdio pinctrl + definition + +Add emmc/sdio pinctrl definition for marvell armada37xx SoCs. + +Signed-off-by: Ding Tao +Signed-off-by: Gregory CLEMENT +--- + arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi ++++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +@@ -218,6 +218,11 @@ + groups = "uart2"; + function = "uart"; + }; ++ ++ mmc_pins: mmc-pins { ++ groups = "emmc_nb"; ++ function = "emmc"; ++ }; + }; + + nb_pm: syscon@14000 { +@@ -247,6 +252,11 @@ + function = "mii"; + }; + ++ sdio_pins: sdio-pins { ++ groups = "sdio_sb"; ++ function = "sdio"; ++ }; ++ + }; + + eth0: ethernet@30000 { diff --git a/target/linux/mvebu/patches-4.14/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch b/target/linux/mvebu/patches-4.14/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch new file mode 100644 index 0000000000..26d090f050 --- /dev/null +++ b/target/linux/mvebu/patches-4.14/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch @@ -0,0 +1,49 @@ +From 43ebc7c1b3ed8198b9acf3019eca16e722f7331c Mon Sep 17 00:00:00 2001 +From: Ding Tao +Date: Fri, 26 Oct 2018 11:50:28 +0000 +Subject: [PATCH] arm64: dts: marvell: armada-37xx: Enable emmc on espressobin + +The ESPRESSObin board has a emmc interface available on U11: declare it +and let the bootloader enable it if the emmc is present. + +[gregory.clement@bootlin.com: disable the emmc by default] +Signed-off-by: Ding Tao +Signed-off-by: Gregory CLEMENT +--- + .../dts/marvell/armada-3720-espressobin.dts | 22 +++++++++++++++++++ + 1 file changed, 22 insertions(+) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -93,9 +93,31 @@ + cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>; + marvell,pad-type = "sd"; + vqmmc-supply = <&vcc_sd_reg1>; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio_pins>; + status = "okay"; + }; + ++/* U11 */ ++&sdhci0 { ++ non-removable; ++ bus-width = <8>; ++ mmc-ddr-1_8v; ++ mmc-hs400-1_8v; ++ marvell,xenon-emmc; ++ marvell,xenon-tun-count = <9>; ++ marvell,pad-type = "fixed-1-8v"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc_pins>; ++/* ++ * This eMMC is not populated on all boards, so disable it by ++ * default and let the bootloader enable it, if it is present ++ */ ++ status = "disabled"; ++}; ++ + &spi0 { + status = "okay"; + diff --git a/target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch b/target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch new file mode 100644 index 0000000000..fc7cb2af1e --- /dev/null +++ b/target/linux/mvebu/patches-4.14/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch @@ -0,0 +1,58 @@ +From 3217cdfe8a3eae76fafbebbe407be5985a7fd4c2 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Mon, 31 Dec 2018 14:18:50 +0100 +Subject: [PATCH] arm64: dts: armada-3720-espressobin: correct spi node + +The manufacturer of this board, ships it with various SPI NOR chips and +increments U-Boot bootloader version along the time. There is no way to +tell which is placed on the board since no revision bump takes place. +This creates two issues. + +The first, cosmetic. Since the SPI chip may differ, there's message on +boot stating that kernel expected w25q32dw and found different one. To +correct this, remove optional device-specific compatible string. Being +here lets replace bogus "spi-flash" string with proper one. + +The second is linked to partitions layout, it changed after commit [1] +in Marvells downstream U-Boot fork, shifting environment location to the +end of boot device. Since the new boards can have U-Boot with this +change it can lead to improper results writing or reading from these +partitions. We can't tell if users will update bootloader to recent +version, so let's drop current layout. + +1. https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/commit/81e7251252aefe1a6b829ed05f3586320cb45372 + +Signed-off-by: Tomasz Maciej Nowak +--- + .../dts/marvell/armada-3720-espressobin.dts | 18 +----------------- + 1 file changed, 1 insertion(+), 17 deletions(-) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -123,25 +123,9 @@ + + flash@0 { + reg = <0>; +- compatible = "winbond,w25q32dw", "jedec,spi-flash"; ++ compatible = "jedec,spi-nor"; + spi-max-frequency = <104000000>; + m25p,fast-read; +- +- partitions { +- compatible = "fixed-partitions"; +- #address-cells = <1>; +- #size-cells = <1>; +- +- partition@0 { +- label = "uboot"; +- reg = <0 0x180000>; +- }; +- +- partition@180000 { +- label = "ubootenv"; +- reg = <0x180000 0x10000>; +- }; +- }; + }; + }; + diff --git a/target/linux/mvebu/patches-4.14/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch b/target/linux/mvebu/patches-4.14/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch new file mode 100644 index 0000000000..d0103bba19 --- /dev/null +++ b/target/linux/mvebu/patches-4.14/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch @@ -0,0 +1,26 @@ +From 6ea9a1ee9367fb35acff1c08a0dc4213ff4687a0 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Tue, 9 Apr 2019 15:53:42 +0200 +Subject: [PATCH] arm64: dts: marvell: armada-3720-espressobin: add ports + phandle + +Instead of referencing the whole mdio node, add ports phandle to adjust +port labels in dts for different hardware iterations of ESPRESSObin +boards. + +Signed-off-by: Tomasz Maciej Nowak +--- + arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -153,7 +153,7 @@ + + dsa,member = <0 0>; + +- ports { ++ ports: ports { + #address-cells = <1>; + #size-cells = <0>; + diff --git a/target/linux/mvebu/patches-4.19/002-add_powertables.patch b/target/linux/mvebu/patches-4.19/002-add_powertables.patch new file mode 100644 index 0000000000..c2fb748d5d --- /dev/null +++ b/target/linux/mvebu/patches-4.19/002-add_powertables.patch @@ -0,0 +1,770 @@ +--- a/arch/arm/boot/dts/armada-385-linksys.dtsi ++++ b/arch/arm/boot/dts/armada-385-linksys.dtsi +@@ -212,11 +212,19 @@ + &pcie1 { + /* Marvell 88W8864, 5GHz-only */ + status = "okay"; ++ ++ mwlwifi { ++ marvell,2ghz = <0>; ++ }; + }; + + &pcie2 { + /* Marvell 88W8864, 2GHz-only */ + status = "okay"; ++ ++ mwlwifi { ++ marvell,5ghz = <0>; ++ }; + }; + + &pinctrl { +--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts +@@ -142,3 +142,205 @@ + }; + }; + }; ++ ++&pcie1 { ++ mwlwifi { ++ marvell,chainmask = <2 2>; ++ marvell,powertable { ++ AU = ++ <36 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <40 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <44 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <48 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <100 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <104 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <108 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <112 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <116 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <120 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <124 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <128 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <132 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <136 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <140 0 0x17 0x17 0x17 0x17 0x17 0x17 0x17 0x15 0x17 0x17 0x17 0x14 0x17 0x17 0x17 0x14 0 0xf>, ++ <149 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x1a 0x1a 0x17 0x14 0 0xf>, ++ <153 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x1a 0x1a 0x17 0x14 0 0xf>, ++ <157 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x1a 0x1a 0x17 0x14 0 0xf>, ++ <161 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x1a 0x1a 0x17 0x14 0 0xf>, ++ <165 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x1a 0x1a 0x17 0x14 0 0xf>; ++ CA = ++ <36 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0 0xf>, ++ <40 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0 0xf>, ++ <44 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0 0xf>, ++ <48 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x1a 0x1a 0x18 0x17 0x19 0x19 0x17 0x15 0x18 0x18 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <153 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <157 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <161 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <165 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>; ++ CN = ++ <36 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <40 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <44 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <48 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <100 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <149 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x11 0x11 0x11 0x11 0 0xf>, ++ <153 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0 0xf>, ++ <157 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0 0xf>, ++ <161 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0 0xf>, ++ <165 0 0x15 0x15 0x15 0x15 0x16 0x16 0x16 0x15 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0 0xf>; ++ ETSI = ++ <36 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <40 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <44 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <48 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <100 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>, ++ <149 0 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0 0xf>; ++ FCC = ++ <36 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <40 0 0x19 0x19 0x18 0x17 0x19 0x19 0x17 0x15 0x17 0x17 0x17 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <44 0 0x19 0x19 0x18 0x17 0x19 0x19 0x17 0x15 0x17 0x17 0x17 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <48 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x17 0x17 0x17 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x1a 0x1a 0x18 0x17 0x19 0x19 0x17 0x15 0x18 0x18 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <153 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <157 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <161 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>, ++ <165 0 0x1a 0x1a 0x18 0x17 0x1a 0x1a 0x17 0x15 0x1a 0x1a 0x17 0x14 0x15 0x15 0x15 0x14 0 0xf>; ++ }; ++ }; ++}; ++ ++&pcie2 { ++ mwlwifi { ++ marvell,chainmask = <2 2>; ++ marvell,powertable { ++ AU = ++ <1 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>; ++ CA = ++ <1 0 0x19 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x10 0x10 0x10 0x10 0x00 0x00 0x00 0x00 0 0xf>, ++ <2 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <3 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <4 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <5 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <6 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <7 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <8 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <9 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <10 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x00 0x00 0x00 0x00 0 0xf>, ++ <11 0 0x19 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x00 0x00 0x00 0x00 0 0xf>; ++ CN = ++ <1 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <14 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>; ++ ETSI = ++ <1 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0x0 0x0 0x0 0x0 0 0xf>; ++ FCC = ++ <1 0 0x19 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x1a 0x19 0x18 0x17 0x19 0x19 0x17 0x16 0x14 0x14 0x14 0x14 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x19 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x0 0x0 0x0 0x0 0 0xf>; ++ }; ++ }; ++}; +--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts +@@ -142,3 +142,205 @@ + }; + }; + }; ++ ++&pcie1 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ AU = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <104 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <108 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <112 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <116 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <120 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <124 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <128 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <132 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <136 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <140 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <149 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <153 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <157 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <161 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <165 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>; ++ CA = ++ <36 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <40 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <44 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <48 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <165 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>; ++ CN = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <104 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <108 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <112 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <116 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <120 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <124 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <128 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <132 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <136 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <140 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <149 0 0x14 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <165 0 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>; ++ ETSI = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <104 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <108 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <112 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <116 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <120 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <124 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <128 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <132 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <136 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <140 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <149 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>; ++ FCC = ++ <36 0 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0 0xf>, ++ <40 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <44 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <48 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <165 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>; ++ }; ++ }; ++}; ++ ++&pcie2 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ AU = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ CA = ++ <1 0 0x17 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0xe 0xe 0xe 0xe 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x17 0x12 0x12 0x12 0x13 0x13 0x13 0x13 0xf 0xf 0xf 0xf 0x0 0x0 0x0 0x0 0 0xf>; ++ CN = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <14 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ ETSI = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ FCC = ++ <1 0 0x17 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0xe 0xe 0xe 0xe 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x17 0x12 0x12 0x12 0x13 0x13 0x13 0x13 0xf 0xf 0xf 0xf 0x0 0x0 0x0 0x0 0 0xf>; ++ }; ++ }; ++}; +--- a/arch/arm/boot/dts/armada-385-linksys-shelby.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-shelby.dts +@@ -142,3 +142,205 @@ + }; + }; + }; ++ ++&pcie1 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ AU = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <104 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <108 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <112 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <116 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <120 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <124 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <128 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <132 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <136 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <140 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <149 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <153 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <157 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <161 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>, ++ <165 0 0x19 0x19 0x19 0x17 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0x19 0x19 0x16 0x15 0 0xf>; ++ CA = ++ <36 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <40 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <44 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <48 0 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <165 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>; ++ CN = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <104 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <108 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <112 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <116 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <120 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <124 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <128 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <132 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <136 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <140 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <149 0 0x14 0x14 0x14 0x14 0x13 0x13 0x13 0x13 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>, ++ <165 0 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x13 0x14 0x14 0x14 0x14 0x10 0x10 0x10 0x10 0 0xf>; ++ ETSI = ++ <36 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <40 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <44 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <48 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <52 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <56 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <60 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <64 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <100 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <104 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <108 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <112 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <116 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <120 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <124 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <128 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <132 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <136 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <140 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>, ++ <149 0 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0xe 0 0xf>; ++ FCC = ++ <36 0 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0 0xf>, ++ <40 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <44 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <48 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0xf 0xf 0xf 0xf 0 0xf>, ++ <52 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <56 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <60 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <64 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <100 0 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <104 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x12 0x12 0x12 0x12 0x10 0x10 0x10 0x10 0 0xf>, ++ <108 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <112 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <116 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <120 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <124 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <128 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <132 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <136 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <140 0 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0 0xf>, ++ <149 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <153 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <157 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <161 0 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>, ++ <165 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0 0xf>; ++ }; ++ }; ++}; ++ ++&pcie2 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ AU = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ CA = ++ <1 0 0x17 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0xe 0xe 0xe 0xe 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x17 0x12 0x12 0x12 0x13 0x13 0x13 0x13 0xf 0xf 0xf 0xf 0x0 0x0 0x0 0x0 0 0xf>; ++ CN = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <14 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ ETSI = ++ <1 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0x0 0x0 0x0 0x0 0 0xf>; ++ FCC = ++ <1 0 0x17 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0xe 0xe 0xe 0xe 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x18 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x11 0x11 0x11 0x11 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x17 0x12 0x12 0x12 0x13 0x13 0x13 0x13 0xf 0xf 0xf 0xf 0x0 0x0 0x0 0x0 0 0xf>; ++ }; ++ }; ++}; +--- a/arch/arm/boot/dts/armada-385-linksys-rango.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts +@@ -157,6 +157,18 @@ + }; + }; + ++&pcie1 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ }; ++}; ++ ++&pcie2 { ++ mwlwifi { ++ marvell,chainmask = <4 4>; ++ }; ++}; ++ + &sdhci { + pinctrl-names = "default"; + pinctrl-0 = <&sdhci_pins>; +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -272,12 +272,100 @@ + pcie@2,0 { + /* Port 0, Lane 1 */ + status = "okay"; ++ ++ mwlwifi { ++ marvell,5ghz = <0>; ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ FCC = ++ <1 0 0x17 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0xf 0xf 0xf 0xf 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0x17 0x16 0x16 0x16 0x16 0x16 0x16 0x14 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0x17 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x10 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0 0xf>; ++ ++ ETSI = ++ <1 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <2 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <3 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <4 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <5 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <6 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <7 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <8 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <9 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <10 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <11 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <12 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>, ++ <13 0 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0xb 0x0 0x0 0x0 0x0 0 0xf>; ++ }; ++ }; + }; + + /* Second mini-PCIe port */ + pcie@3,0 { + /* Port 0, Lane 3 */ + status = "okay"; ++ ++ mwlwifi { ++ marvell,2ghz = <0>; ++ marvell,chainmask = <4 4>; ++ marvell,powertable { ++ FCC = ++ <36 0 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <40 0 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <44 0 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <48 0 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0 0xf>, ++ <52 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0 0xf>, ++ <56 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0 0xf>, ++ <60 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0 0xf>, ++ <64 0 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0 0xf>, ++ <100 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <104 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <108 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <112 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <116 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <120 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <124 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <128 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <132 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <136 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <140 0 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0 0xf>, ++ <149 0 0x16 0x16 0x16 0x16 0x14 0x14 0x14 0x14 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0 0xf>, ++ <153 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0 0xf>, ++ <157 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0 0xf>, ++ <161 0 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0 0xf>, ++ <165 0 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x16 0x15 0x15 0x15 0x15 0x14 0x14 0x14 0x14 0 0xf>; ++ ++ ETSI = ++ <36 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <40 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <44 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <48 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <52 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <56 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <60 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <64 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <100 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <104 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <108 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <112 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <116 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <120 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <124 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <128 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <132 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <136 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <140 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>, ++ <149 0 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xc 0xd 0xd 0xd 0xd 0xc 0xc 0xc 0xc 0 0xf>; ++ }; ++ }; + }; + }; + diff --git a/target/linux/mvebu/patches-4.19/003-add_switch_nodes.patch b/target/linux/mvebu/patches-4.19/003-add_switch_nodes.patch new file mode 100644 index 0000000000..b208638916 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/003-add_switch_nodes.patch @@ -0,0 +1,40 @@ +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -257,6 +257,16 @@ + }; + }; + }; ++ ++ mvsw61xx { ++ compatible = "marvell,88e6172"; ++ status = "okay"; ++ reg = <0x10>; ++ ++ mii-bus = <&mdio>; ++ cpu-port-0 = <5>; ++ cpu-port-1 = <6>; ++ }; + }; + + &pciec { +--- a/arch/arm/boot/dts/armada-385-linksys.dtsi ++++ b/arch/arm/boot/dts/armada-385-linksys.dtsi +@@ -82,6 +82,18 @@ + linux,default-trigger = "disk-activity"; + }; + }; ++ ++ mvsw61xx { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "marvell,88e6176"; ++ status = "okay"; ++ reg = <0x10>; ++ ++ mii-bus = <&mdio>; ++ cpu-port-0 = <5>; ++ cpu-port-1 = <6>; ++ }; + }; + + &ahci0 { diff --git a/target/linux/mvebu/patches-4.19/004-add_sata_disk_activity_trigger.patch b/target/linux/mvebu/patches-4.19/004-add_sata_disk_activity_trigger.patch new file mode 100644 index 0000000000..2cb8f25490 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/004-add_sata_disk_activity_trigger.patch @@ -0,0 +1,39 @@ +From 172230195068703b78ad5733a09492f5d6814c09 Mon Sep 17 00:00:00 2001 +From: Ansuel Smith +Date: Tue, 28 Feb 2017 14:15:50 +0100 +Subject: [PATCH] ARM: dts: armada: Add default trigger for sata led + +In others board we have the sata led set to function +with the sata led trigger by default. +This patch makes the same for these board that have sata +led but get disabled by not associating it to any trigger. + +Signed-off-by: Ansuel Smith +Acked-by: Jason Cooper +Signed-off-by: Gregory CLEMENT +--- + arch/arm/boot/dts/armada-385-linksys-caiman.dts | 1 + + arch/arm/boot/dts/armada-385-linksys-cobra.dts | 1 + + arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 1 + + 3 files changed, 3 insertions(+) + +--- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts +@@ -68,6 +68,7 @@ + + sata { + label = "caiman:white:sata"; ++ linux,default-trigger = "disk-activity"; + }; + }; + +--- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts ++++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts +@@ -68,6 +68,7 @@ + + sata { + label = "cobra:white:sata"; ++ linux,default-trigger = "disk-activity"; + }; + }; + diff --git a/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch b/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch new file mode 100644 index 0000000000..dfe13bae7b --- /dev/null +++ b/target/linux/mvebu/patches-4.19/005-linksys_hardcode_nand_ecc_settings.patch @@ -0,0 +1,17 @@ +Newer Linksys boards might come with a Winbond W29N02GV which can be +configured in different ways. Make sure we configure it the same way +as the older chips so everything keeps working. + +Signed-off-by: Imre Kaloz + +--- a/arch/arm/boot/dts/armada-385-linksys.dtsi ++++ b/arch/arm/boot/dts/armada-385-linksys.dtsi +@@ -160,6 +160,8 @@ + reg = <0>; + label = "pxa3xx_nand-0"; + nand-rb = <0>; ++ nand-ecc-strength = <4>; ++ nand-ecc-step-size = <512>; + marvell,nand-keep-config; + nand-on-flash-bbt; + }; diff --git a/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch new file mode 100644 index 0000000000..6a84b1397b --- /dev/null +++ b/target/linux/mvebu/patches-4.19/006-mvebu-Mangle-bootloader-s-kernel-arguments.patch @@ -0,0 +1,201 @@ +From 71270226b14733a4b1f2cde58ea9265caa50b38d Mon Sep 17 00:00:00 2001 +From: Adrian Panella +Date: Thu, 9 Mar 2017 09:37:17 +0100 +Subject: [PATCH 67/69] generic: Mangle bootloader's kernel arguments + +The command-line arguments provided by the boot loader will be +appended to a new device tree property: bootloader-args. +If there is a property "append-rootblock" in DT under /chosen +and a root= option in bootloaders command line it will be parsed +and added to DT bootargs with the form: XX. +Only command line ATAG will be processed, the rest of the ATAGs +sent by bootloader will be ignored. +This is usefull in dual boot systems, to get the current root partition +without afecting the rest of the system. + +Signed-off-by: Adrian Panella + +This patch has been modified to be mvebu specific. The original patch +did not pass the bootloader cmdline on if no append-rootblock stanza +was found, resulting in blank cmdline and failure to boot. + +Signed-off-by: Michael Gray +--- + arch/arm/Kconfig | 11 +++++ + arch/arm/boot/compressed/atags_to_fdt.c | 72 ++++++++++++++++++++++++++++++++- + init/main.c | 16 ++++++++ + 3 files changed, 98 insertions(+), 1 deletion(-) + +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -1925,6 +1925,17 @@ config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEN + The command-line arguments provided by the boot loader will be + appended to the the device tree bootargs property. + ++config ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE ++ bool "Append rootblock parsing bootloader's kernel arguments" ++ help ++ The command-line arguments provided by the boot loader will be ++ appended to a new device tree property: bootloader-args. ++ If there is a property "append-rootblock" in DT under /chosen ++ and a root= option in bootloaders command line it will be parsed ++ and added to DT bootargs with the form: XX. ++ Only command line ATAG will be processed, the rest of the ATAGs ++ sent by bootloader will be ignored. ++ + endchoice + + config CMDLINE +--- a/arch/arm/boot/compressed/atags_to_fdt.c ++++ b/arch/arm/boot/compressed/atags_to_fdt.c +@@ -4,6 +4,8 @@ + + #if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND) + #define do_extend_cmdline 1 ++#elif defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) ++#define do_extend_cmdline 1 + #else + #define do_extend_cmdline 0 + #endif +@@ -67,6 +69,65 @@ static uint32_t get_cell_size(const void + return cell_size; + } + ++#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) ++ ++static char *append_rootblock(char *dest, const char *str, int len, void *fdt) ++{ ++ char *ptr, *end; ++ char *root="root="; ++ int i, l; ++ const char *rootblock; ++ ++ //ARM doesn't have __HAVE_ARCH_STRSTR, so search manually ++ ptr = str - 1; ++ ++ do { ++ //first find an 'r' at the begining or after a space ++ do { ++ ptr++; ++ ptr = strchr(ptr, 'r'); ++ if(!ptr) return dest; ++ ++ } while (ptr != str && *(ptr-1) != ' '); ++ ++ //then check for the rest ++ for(i = 1; i <= 4; i++) ++ if(*(ptr+i) != *(root+i)) break; ++ ++ } while (i != 5); ++ ++ end = strchr(ptr, ' '); ++ end = end ? (end - 1) : (strchr(ptr, 0) - 1); ++ ++ //find partition number (assumes format root=/dev/mtdXX | /dev/mtdblockXX | yy:XX ) ++ for( i = 0; end >= ptr && *end >= '0' && *end <= '9'; end--, i++); ++ ptr = end + 1; ++ ++ /* if append-rootblock property is set use it to append to command line */ ++ rootblock = getprop(fdt, "/chosen", "append-rootblock", &l); ++ if(rootblock != NULL) { ++ if(*dest != ' ') { ++ *dest = ' '; ++ dest++; ++ len++; ++ } ++ if (len + l + i <= COMMAND_LINE_SIZE) { ++ memcpy(dest, rootblock, l); ++ dest += l - 1; ++ memcpy(dest, ptr, i); ++ dest += i; ++ } ++ } else { ++ len = strlen(str); ++ if (len + 1 < COMMAND_LINE_SIZE) { ++ memcpy(dest, str, len); ++ dest += len; ++ } ++ } ++ return dest; ++} ++#endif ++ + static void merge_fdt_bootargs(void *fdt, const char *fdt_cmdline) + { + char cmdline[COMMAND_LINE_SIZE]; +@@ -86,12 +147,21 @@ static void merge_fdt_bootargs(void *fdt + + /* and append the ATAG_CMDLINE */ + if (fdt_cmdline) { ++ ++#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) ++ //save original bootloader args ++ //and append ubi.mtd with root partition number to current cmdline ++ setprop_string(fdt, "/chosen", "bootloader-args", fdt_cmdline); ++ ptr = append_rootblock(ptr, fdt_cmdline, len, fdt); ++ ++#else + len = strlen(fdt_cmdline); + if (ptr - cmdline + len + 2 < COMMAND_LINE_SIZE) { + *ptr++ = ' '; + memcpy(ptr, fdt_cmdline, len); + ptr += len; + } ++#endif + } + *ptr = '\0'; + +@@ -148,7 +218,9 @@ int atags_to_fdt(void *atag_list, void * + else + setprop_string(fdt, "/chosen", "bootargs", + atag->u.cmdline.cmdline); +- } else if (atag->hdr.tag == ATAG_MEM) { ++ } ++#ifndef CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE ++ else if (atag->hdr.tag == ATAG_MEM) { + if (memcount >= sizeof(mem_reg_property)/4) + continue; + if (!atag->u.mem.size) +@@ -187,6 +259,10 @@ int atags_to_fdt(void *atag_list, void * + setprop(fdt, "/memory", "reg", mem_reg_property, + 4 * memcount * memsize); + } ++#else ++ ++ } ++#endif + + return fdt_pack(fdt); + } +--- a/init/main.c ++++ b/init/main.c +@@ -102,6 +102,10 @@ + #define CREATE_TRACE_POINTS + #include + ++#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) ++#include ++#endif ++ + static int kernel_init(void *); + + extern void init_IRQ(void); +@@ -592,6 +596,18 @@ asmlinkage __visible void __init start_k + page_alloc_init(); + + pr_notice("Kernel command line: %s\n", boot_command_line); ++ ++#if defined(CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_MANGLE) ++ //Show bootloader's original command line for reference ++ if(of_chosen) { ++ const char *prop = of_get_property(of_chosen, "bootloader-args", NULL); ++ if(prop) ++ pr_notice("Bootloader command line (ignored): %s\n", prop); ++ else ++ pr_notice("Bootloader command line not present\n"); ++ } ++#endif ++ + /* parameters may set static keys */ + jump_label_init(); + parse_early_param(); diff --git a/target/linux/mvebu/patches-4.19/100-find_active_root.patch b/target/linux/mvebu/patches-4.19/100-find_active_root.patch new file mode 100644 index 0000000000..f52a5108b8 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/100-find_active_root.patch @@ -0,0 +1,60 @@ +The WRT1900AC among other Linksys routers uses a dual-firmware layout. +Dynamically rename the active partition to "ubi". + +Signed-off-by: Imre Kaloz + +--- a/drivers/mtd/ofpart.c ++++ b/drivers/mtd/ofpart.c +@@ -25,6 +25,8 @@ static bool node_has_compatible(struct d + return of_get_property(pp, "compatible", NULL); + } + ++static int mangled_rootblock; ++ + static int parse_fixed_partitions(struct mtd_info *master, + const struct mtd_partition **pparts, + struct mtd_part_parser_data *data) +@@ -33,6 +35,7 @@ static int parse_fixed_partitions(struct + struct device_node *mtd_node; + struct device_node *ofpart_node; + const char *partname; ++ const char *owrtpart = "ubi"; + struct device_node *pp; + int nr_parts, i, ret = 0; + bool dedicated = true; +@@ -110,9 +113,13 @@ static int parse_fixed_partitions(struct + parts[i].size = of_read_number(reg + a_cells, s_cells); + parts[i].of_node = pp; + +- partname = of_get_property(pp, "label", &len); +- if (!partname) +- partname = of_get_property(pp, "name", &len); ++ if (mangled_rootblock && (i == mangled_rootblock)) { ++ partname = owrtpart; ++ } else { ++ partname = of_get_property(pp, "label", &len); ++ if (!partname) ++ partname = of_get_property(pp, "name", &len); ++ } + parts[i].name = partname; + + if (of_get_property(pp, "read-only", &len)) +@@ -219,6 +226,18 @@ static int __init ofpart_parser_init(voi + return 0; + } + ++static int __init active_root(char *str) ++{ ++ get_option(&str, &mangled_rootblock); ++ ++ if (!mangled_rootblock) ++ return 1; ++ ++ return 1; ++} ++ ++__setup("mangled_rootblock=", active_root); ++ + static void __exit ofpart_parser_exit(void) + { + deregister_mtd_parser(&ofpart_parser); diff --git a/target/linux/mvebu/patches-4.19/102-revert_i2c_delay.patch b/target/linux/mvebu/patches-4.19/102-revert_i2c_delay.patch new file mode 100644 index 0000000000..930c0f9494 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/102-revert_i2c_delay.patch @@ -0,0 +1,15 @@ +--- a/arch/arm/boot/dts/armada-xp.dtsi ++++ b/arch/arm/boot/dts/armada-xp.dtsi +@@ -237,12 +237,10 @@ + }; + + &i2c0 { +- compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; + reg = <0x11000 0x100>; + }; + + &i2c1 { +- compatible = "marvell,mv78230-i2c", "marvell,mv64xxx-i2c"; + reg = <0x11100 0x100>; + }; + diff --git a/target/linux/mvebu/patches-4.19/205-armada-385-rd-mtd-partitions.patch b/target/linux/mvebu/patches-4.19/205-armada-385-rd-mtd-partitions.patch new file mode 100644 index 0000000000..31bd53b1f3 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/205-armada-385-rd-mtd-partitions.patch @@ -0,0 +1,19 @@ +--- a/arch/arm/boot/dts/armada-388-rd.dts ++++ b/arch/arm/boot/dts/armada-388-rd.dts +@@ -103,6 +103,16 @@ + compatible = "st,m25p128", "jedec,spi-nor"; + reg = <0>; /* Chip select 0 */ + spi-max-frequency = <108000000>; ++ ++ partition@0 { ++ label = "uboot"; ++ reg = <0 0x400000>; ++ }; ++ ++ partition@1 { ++ label = "firmware"; ++ reg = <0x400000 0xc00000>; ++ }; + }; + }; + diff --git a/target/linux/mvebu/patches-4.19/206-ARM-mvebu-385-ap-Add-partitions.patch b/target/linux/mvebu/patches-4.19/206-ARM-mvebu-385-ap-Add-partitions.patch new file mode 100644 index 0000000000..2057e31c7e --- /dev/null +++ b/target/linux/mvebu/patches-4.19/206-ARM-mvebu-385-ap-Add-partitions.patch @@ -0,0 +1,35 @@ +From 9861f93a59142a3131870df2521eb2deb73026d7 Mon Sep 17 00:00:00 2001 +From: Maxime Ripard +Date: Tue, 13 Jan 2015 11:14:09 +0100 +Subject: [PATCH 2/2] ARM: mvebu: 385-ap: Add partitions + +Signed-off-by: Maxime Ripard +--- + arch/arm/boot/dts/armada-385-db-ap.dts | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +--- a/arch/arm/boot/dts/armada-385-db-ap.dts ++++ b/arch/arm/boot/dts/armada-385-db-ap.dts +@@ -218,19 +218,19 @@ + #size-cells = <1>; + + partition@0 { +- label = "U-Boot"; ++ label = "u-boot"; + reg = <0x00000000 0x00800000>; + read-only; + }; + + partition@800000 { +- label = "uImage"; ++ label = "kernel"; + reg = <0x00800000 0x00400000>; + read-only; + }; + + partition@c00000 { +- label = "Root"; ++ label = "ubi"; + reg = <0x00c00000 0x3f400000>; + }; + }; diff --git a/target/linux/mvebu/patches-4.19/210-clearfog_switch_node.patch b/target/linux/mvebu/patches-4.19/210-clearfog_switch_node.patch new file mode 100644 index 0000000000..f9677a82f2 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/210-clearfog_switch_node.patch @@ -0,0 +1,21 @@ +--- a/arch/arm/boot/dts/armada-388-clearfog.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog.dts +@@ -88,6 +88,18 @@ + }; + }; + ++ mvsw61xx { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ compatible = "marvell,88e6176"; ++ status = "okay"; ++ reg = <0x4>; ++ is-indirect; ++ ++ mii-bus = <&mdio>; ++ cpu-port-0 = <5>; ++ }; ++ + gpio-keys { + compatible = "gpio-keys"; + pinctrl-0 = <&rear_button_pins>; diff --git a/target/linux/mvebu/patches-4.19/220-disable-untested-dsa-boards.patch b/target/linux/mvebu/patches-4.19/220-disable-untested-dsa-boards.patch new file mode 100644 index 0000000000..9cc7a113f6 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/220-disable-untested-dsa-boards.patch @@ -0,0 +1,30 @@ +--- a/arch/arm/boot/dts/armada-385-linksys.dtsi ++++ b/arch/arm/boot/dts/armada-385-linksys.dtsi +@@ -171,6 +171,7 @@ + status = "okay"; + + switch@0 { ++ status = "disabled"; + compatible = "marvell,mv88e6085"; + #address-cells = <1>; + #size-cells = <0>; +--- a/arch/arm/boot/dts/armada-388-clearfog.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog.dts +@@ -161,6 +161,7 @@ + status = "okay"; + + switch@4 { ++ status = "disabled"; + compatible = "marvell,mv88e6085"; + #address-cells = <1>; + #size-cells = <0>; +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -413,6 +413,7 @@ + status = "okay"; + + switch@0 { ++ status = "disabled"; + compatible = "marvell,mv88e6085"; + #address-cells = <1>; + #size-cells = <0>; diff --git a/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch b/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch new file mode 100644 index 0000000000..935c8fe093 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/230-armada-xp-linksys-mamba-broken-idle.patch @@ -0,0 +1,10 @@ +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -543,3 +543,7 @@ + }; + }; + }; ++ ++&coherencyfab { ++ broken-idle; ++}; diff --git a/target/linux/mvebu/patches-4.19/300-mvneta-tx-queue-workaround.patch b/target/linux/mvebu/patches-4.19/300-mvneta-tx-queue-workaround.patch new file mode 100644 index 0000000000..c27b5d9478 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/300-mvneta-tx-queue-workaround.patch @@ -0,0 +1,35 @@ +The hardware queue scheduling is apparently configured with fixed +priorities, which creates a nasty fairness issue where traffic from one +CPU can starve traffic from all other CPUs. + +Work around this issue by forcing all tx packets to go through one CPU, +until this issue is fixed properly. + +Signed-off-by: Felix Fietkau +--- +--- a/drivers/net/ethernet/marvell/mvneta.c ++++ b/drivers/net/ethernet/marvell/mvneta.c +@@ -4257,6 +4257,15 @@ static int mvneta_ethtool_set_eee(struct + return phylink_ethtool_set_eee(pp->phylink, eee); + } + ++static u16 mvneta_select_queue(struct net_device *dev, struct sk_buff *skb, ++ struct net_device *sb_dev, ++ select_queue_fallback_t fallback) ++{ ++ /* XXX: hardware queue scheduling is broken, ++ * use only one queue until it is fixed */ ++ return 0; ++} ++ + static const struct net_device_ops mvneta_netdev_ops = { + .ndo_open = mvneta_open, + .ndo_stop = mvneta_stop, +@@ -4267,6 +4276,7 @@ static const struct net_device_ops mvnet + .ndo_fix_features = mvneta_fix_features, + .ndo_get_stats64 = mvneta_get_stats64, + .ndo_do_ioctl = mvneta_ioctl, ++ .ndo_select_queue = mvneta_select_queue, + }; + + static const struct ethtool_ops mvneta_eth_tool_ops = { diff --git a/target/linux/mvebu/patches-4.19/400-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch b/target/linux/mvebu/patches-4.19/400-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch new file mode 100644 index 0000000000..29f36be460 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/400-cpuidle-mvebu-indicate-failure-to-enter-deeper-sleep.patch @@ -0,0 +1,40 @@ +From c28b2d367da8a471482e6a4aa8337ab6369a80c2 Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Sat, 3 Oct 2015 09:13:05 +0100 +Subject: cpuidle: mvebu: indicate failure to enter deeper sleep states + +The cpuidle ->enter method expects the return value to be the sleep +state we entered. Returning negative numbers or other codes is not +permissible since coupled CPU idle was merged. + +At least some of the mvebu_v7_cpu_suspend() implementations return the +value from cpu_suspend(), which returns zero if the CPU vectors back +into the kernel via cpu_resume() (the success case), or the non-zero +return value of the suspend actor, or one (failure cases). + +We do not want to be returning the failure case value back to CPU idle +as that indicates that we successfully entered one of the deeper idle +states. Always return zero instead, indicating that we slept for the +shortest amount of time. + +Signed-off-by: Russell King +--- + drivers/cpuidle/cpuidle-mvebu-v7.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/drivers/cpuidle/cpuidle-mvebu-v7.c ++++ b/drivers/cpuidle/cpuidle-mvebu-v7.c +@@ -39,8 +39,12 @@ static int mvebu_v7_enter_idle(struct cp + ret = mvebu_v7_cpu_suspend(deepidle); + cpu_pm_exit(); + ++ /* ++ * If we failed to enter the desired state, indicate that we ++ * slept lightly. ++ */ + if (ret) +- return ret; ++ return 0; + + return index; + } diff --git a/target/linux/mvebu/patches-4.19/401-pci-mvebu-time-out-reset-on-link-up.patch b/target/linux/mvebu/patches-4.19/401-pci-mvebu-time-out-reset-on-link-up.patch new file mode 100644 index 0000000000..2bbb647153 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/401-pci-mvebu-time-out-reset-on-link-up.patch @@ -0,0 +1,60 @@ +From 287b9df160b6159f8d385424904f8bac501280c1 Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Sat, 9 Jul 2016 10:58:16 +0100 +Subject: pci: mvebu: time out reset on link up + +If the port reports that the link is up while we are resetting, there's +little point in waiting for the full duration. + +Signed-off-by: Russell King +--- + drivers/pci/controller/pci-mvebu.c | 20 ++++++++++++++------ + 1 file changed, 14 insertions(+), 6 deletions(-) + +--- a/drivers/pci/controller/pci-mvebu.c ++++ b/drivers/pci/controller/pci-mvebu.c +@@ -1112,6 +1112,7 @@ static int mvebu_pcie_powerup(struct mve + + if (port->reset_gpio) { + u32 reset_udelay = PCI_PM_D3COLD_WAIT * 1000; ++ unsigned int i; + + of_property_read_u32(port->dn, "reset-delay-us", + &reset_udelay); +@@ -1119,7 +1120,13 @@ static int mvebu_pcie_powerup(struct mve + udelay(100); + + gpiod_set_value_cansleep(port->reset_gpio, 0); +- msleep(reset_udelay / 1000); ++ for (i = 0; i < reset_udelay; i += 1000) { ++ if (mvebu_pcie_link_up(port)) ++ break; ++ msleep(1); ++ } ++ ++ printk("%s: reset completed in %dus\n", port->name, i); + } + + return 0; +@@ -1283,15 +1290,16 @@ static int mvebu_pcie_probe(struct platf + if (!child) + continue; + +- ret = mvebu_pcie_powerup(port); +- if (ret < 0) +- continue; +- + port->base = mvebu_pcie_map_registers(pdev, child, port); + if (IS_ERR(port->base)) { + dev_err(dev, "%s: cannot map registers\n", port->name); + port->base = NULL; +- mvebu_pcie_powerdown(port); ++ continue; ++ } ++ ++ ret = mvebu_pcie_powerup(port); ++ if (ret < 0) { ++ port->base = NULL; + continue; + } + diff --git a/target/linux/mvebu/patches-4.19/402-net-phylink-only-call-mac_config-during-resolve-when.patch b/target/linux/mvebu/patches-4.19/402-net-phylink-only-call-mac_config-during-resolve-when.patch new file mode 100644 index 0000000000..611999baea --- /dev/null +++ b/target/linux/mvebu/patches-4.19/402-net-phylink-only-call-mac_config-during-resolve-when.patch @@ -0,0 +1,44 @@ +From 6f3ea4e5b1f0867ec217f6101fcb89783ed905d7 Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Sat, 9 Feb 2019 18:23:26 +0000 +Subject: [PATCH] net: phylink: only call mac_config() during resolve + when link is up + +There's little point calling mac_config() when the link is down. + +Signed-off-by: Russell King +--- + drivers/net/phy/phylink.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/drivers/net/phy/phylink.c ++++ b/drivers/net/phy/phylink.c +@@ -337,6 +337,13 @@ static void phylink_mac_config(struct ph + pl->ops->mac_config(pl->netdev, pl->link_an_mode, state); + } + ++static void phylink_mac_config_up(struct phylink *pl, ++ const struct phylink_link_state *state) ++{ ++ if (state->link) ++ phylink_mac_config(pl, state); ++} ++ + static void phylink_mac_an_restart(struct phylink *pl) + { + if (pl->link_config.an_enabled && +@@ -440,12 +447,12 @@ static void phylink_resolve(struct work_ + case MLO_AN_PHY: + link_state = pl->phy_state; + phylink_resolve_flow(pl, &link_state); +- phylink_mac_config(pl, &link_state); ++ phylink_mac_config_up(pl, &link_state); + break; + + case MLO_AN_FIXED: + phylink_get_fixed_state(pl, &link_state); +- phylink_mac_config(pl, &link_state); ++ phylink_mac_config_up(pl, &link_state); + break; + + case MLO_AN_INBAND: diff --git a/target/linux/mvebu/patches-4.19/403-net-phylink-ensure-inband-AN-works-correctly.patch b/target/linux/mvebu/patches-4.19/403-net-phylink-ensure-inband-AN-works-correctly.patch new file mode 100644 index 0000000000..a0cdf838b2 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/403-net-phylink-ensure-inband-AN-works-correctly.patch @@ -0,0 +1,59 @@ +From 72f973f292b3eaaf451ebcd3253900d41f4ef24a Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Fri, 25 Jan 2019 17:42:51 +0000 +Subject: [PATCH] net: phylink: ensure inband AN works correctly + +Do not update the link interface mode while the link is down to avoid +spurious link interface changes. + +Always call mac_config if we have a PHY to propagate the pause mode +settings to the MAC. + +Signed-off-by: Russell King +--- + drivers/net/phy/phylink.c | 37 +++++++++++++++---------------------- + 1 file changed, 15 insertions(+), 22 deletions(-) + +--- a/drivers/net/phy/phylink.c ++++ b/drivers/net/phy/phylink.c +@@ -457,28 +457,21 @@ static void phylink_resolve(struct work_ + + case MLO_AN_INBAND: + phylink_get_mac_state(pl, &link_state); +- if (pl->phydev) { +- bool changed = false; + +- link_state.link = link_state.link && +- pl->phy_state.link; ++ /* If we have a phy, the "up" state is the union of ++ * both the PHY and the MAC */ ++ if (pl->phydev) ++ link_state.link &= pl->phy_state.link; + +- if (pl->phy_state.interface != +- link_state.interface) { +- link_state.interface = pl->phy_state.interface; +- changed = true; +- } ++ /* Only update if the PHY link is up */ ++ if (pl->phydev && pl->phy_state.link) { ++ link_state.interface = pl->phy_state.interface; + +- /* Propagate the flow control from the PHY +- * to the MAC. Also propagate the interface +- * if changed. +- */ +- if (pl->phy_state.link || changed) { +- link_state.pause |= pl->phy_state.pause; +- phylink_resolve_flow(pl, &link_state); +- +- phylink_mac_config(pl, &link_state); +- } ++ /* If we have a PHY, we need to update with ++ * the pause mode bits. */ ++ link_state.pause |= pl->phy_state.pause; ++ phylink_resolve_flow(pl, &link_state); ++ phylink_mac_config(pl, &link_state); + } + break; + } diff --git a/target/linux/mvebu/patches-4.19/404-sfp-provide-netdev-sfp_bus-and-use-for-start-stop.patch b/target/linux/mvebu/patches-4.19/404-sfp-provide-netdev-sfp_bus-and-use-for-start-stop.patch new file mode 100644 index 0000000000..e174ad0084 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/404-sfp-provide-netdev-sfp_bus-and-use-for-start-stop.patch @@ -0,0 +1,39 @@ +From 0068a89747e7c1d9a0bbb7282a34382a4274638a Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Fri, 14 Apr 2017 16:41:55 +0100 +Subject: [PATCH] sfp: provide netdev sfp_bus and use for start/stop + +Add a netdev sfp_bus pointer for propagating the phylink start/stop +actions to the SFP cage: the SFP cage may not be directly connected to +phylink, but may be the other side of a fixed PHY, and SFP needs to +know when the netdev is brought up or taken down. + +Signed-off-by: Russell King +--- + drivers/net/phy/phylink.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/drivers/net/phy/phylink.c ++++ b/drivers/net/phy/phylink.c +@@ -947,8 +947,8 @@ void phylink_start(struct phylink *pl) + + if (pl->link_an_mode == MLO_AN_FIXED && !IS_ERR(pl->link_gpio)) + mod_timer(&pl->link_poll, jiffies + HZ); +- if (pl->sfp_bus) +- sfp_upstream_start(pl->sfp_bus); ++ if (pl->netdev->sfp_bus) ++ sfp_upstream_start(pl->netdev->sfp_bus); + if (pl->phydev) + phy_start(pl->phydev); + } +@@ -969,8 +969,8 @@ void phylink_stop(struct phylink *pl) + + if (pl->phydev) + phy_stop(pl->phydev); +- if (pl->sfp_bus) +- sfp_upstream_stop(pl->sfp_bus); ++ if (pl->netdev->sfp_bus) ++ sfp_upstream_stop(pl->netdev->sfp_bus); + if (pl->link_an_mode == MLO_AN_FIXED && !IS_ERR(pl->link_gpio)) + del_timer_sync(&pl->link_poll); + diff --git a/target/linux/mvebu/patches-4.19/405-net-phy-marvell10g-add-SFP-support.patch b/target/linux/mvebu/patches-4.19/405-net-phy-marvell10g-add-SFP-support.patch new file mode 100644 index 0000000000..9624b6cd81 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/405-net-phy-marvell10g-add-SFP-support.patch @@ -0,0 +1,155 @@ +From 5f3ac54810055fec0cc667bb04c16f783830abff Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Fri, 14 Apr 2017 14:21:25 +0100 +Subject: [PATCH] net: phy: marvell10g: add SFP+ support + +Add support for SFP+ cages to the Marvell 10G PHY driver. This is +slightly complicated by the way phylib works in that we need to use +a multi-step process to attach the SFP bus, and we also need to track +the phylink state machine to know when the module's transmit disable +signal should change state. + +With appropriate DT changes, this allows the SFP+ canges on the +Macchiatobin platform to be functional. + +Signed-off-by: Russell King +--- + drivers/net/phy/marvell10g.c | 80 ++++++++++++++++++++++++++++++++++++ + 1 file changed, 80 insertions(+) + +--- a/drivers/net/phy/marvell10g.c ++++ b/drivers/net/phy/marvell10g.c +@@ -25,6 +25,8 @@ + #include + #include + #include ++#include ++#include + + enum { + MV_PMA_BOOT = 0xc050, +@@ -56,6 +58,11 @@ enum { + }; + + struct mv3310_priv { ++ struct fwnode_handle *sfp_fwnode; ++ struct sfp_bus *sfp_bus; ++ enum phy_state state; ++ bool running; ++ + struct device *hwmon_dev; + char *hwmon_name; + }; +@@ -219,6 +226,27 @@ static int mv3310_hwmon_probe(struct phy + } + #endif + ++static int mv3310_sfp_insert(void *upstream, const struct sfp_eeprom_id *id) ++{ ++ struct phy_device *phydev = upstream; ++ struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev); ++ __ETHTOOL_DECLARE_LINK_MODE_MASK(support) = { 0, }; ++ phy_interface_t iface; ++ ++ sfp_parse_support(priv->sfp_bus, id, support); ++ iface = sfp_select_interface(priv->sfp_bus, id, support); ++ ++ if (iface != PHY_INTERFACE_MODE_10GKR) { ++ dev_err(&phydev->mdio.dev, "incompatible SFP module inserted\n"); ++ return -EINVAL; ++ } ++ return 0; ++} ++ ++static const struct sfp_upstream_ops mv3310_sfp_ops = { ++ .module_insert = mv3310_sfp_insert, ++}; ++ + static int mv3310_probe(struct phy_device *phydev) + { + struct mv3310_priv *priv; +@@ -249,9 +277,30 @@ static int mv3310_probe(struct phy_devic + if (ret) + return ret; + ++ if (phydev->mdio.dev.fwnode) { ++ struct fwnode_reference_args ref; ++ int ret; ++ ++ ret = fwnode_property_get_reference_args(phydev->mdio.dev.fwnode, ++ "sfp", NULL, 0, 0, ++ &ref); ++ if (ret == 0) ++ priv->sfp_fwnode = ref.fwnode; ++ } ++ + return 0; + } + ++static void mv3310_remove(struct phy_device *phydev) ++{ ++ struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev); ++ ++ if (priv->sfp_bus) ++ sfp_unregister_upstream(priv->sfp_bus); ++ ++ fwnode_handle_put(priv->sfp_fwnode); ++} ++ + static int mv3310_suspend(struct phy_device *phydev) + { + return 0; +@@ -262,8 +311,29 @@ static int mv3310_resume(struct phy_devi + return mv3310_hwmon_config(phydev, true); + } + ++static void mv3310_link_change_notify(struct phy_device *phydev) ++{ ++ struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev); ++ enum phy_state state = phydev->state; ++ bool running; ++ ++ if (priv->sfp_bus && priv->state != state) { ++ priv->state = state; ++ ++ running = state >= PHY_UP && state < PHY_HALTED; ++ if (priv->running != running) { ++ priv->running = running; ++ if (running) ++ sfp_upstream_start(priv->sfp_bus); ++ else ++ sfp_upstream_stop(priv->sfp_bus); ++ } ++ } ++} ++ + static int mv3310_config_init(struct phy_device *phydev) + { ++ struct mv3310_priv *priv = dev_get_drvdata(&phydev->mdio.dev); + __ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, }; + u32 mask; + int val; +@@ -357,6 +427,14 @@ static int mv3310_config_init(struct phy + phydev->supported &= mask; + phydev->advertising &= phydev->supported; + ++ /* Would be nice to do this in the probe function, but unfortunately, ++ * phylib doesn't have phydev->attached_dev set there. ++ */ ++ if (priv->sfp_fwnode && !priv->sfp_bus) ++ priv->sfp_bus = sfp_register_upstream(priv->sfp_fwnode, ++ phydev->attached_dev, ++ phydev, &mv3310_sfp_ops); ++ + return 0; + } + +@@ -566,6 +644,8 @@ static struct phy_driver mv3310_drivers[ + .config_aneg = mv3310_config_aneg, + .aneg_done = mv3310_aneg_done, + .read_status = mv3310_read_status, ++ .remove = mv3310_remove, ++ .link_change_notify = mv3310_link_change_notify, + }, + }; + diff --git a/target/linux/mvebu/patches-4.19/406-sfp-add-sfp-compatible.patch b/target/linux/mvebu/patches-4.19/406-sfp-add-sfp-compatible.patch new file mode 100644 index 0000000000..f800e0a49c --- /dev/null +++ b/target/linux/mvebu/patches-4.19/406-sfp-add-sfp-compatible.patch @@ -0,0 +1,24 @@ +From 7e8bf5227f87601d8d74948bcae8846d2bdd6995 Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Fri, 14 Apr 2017 20:17:13 +0100 +Subject: [PATCH] sfp: add sfp+ compatible + +Add a compatible for SFP+ cages. SFP+ cages are backwards compatible, +but the ethernet device behind them may not support the slower speeds +of SFP modules. + +Signed-off-by: Russell King +--- + drivers/net/phy/sfp.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -229,6 +229,7 @@ static const struct sff_data sfp_data = + static const struct of_device_id sfp_of_match[] = { + { .compatible = "sff,sff", .data = &sff_data, }, + { .compatible = "sff,sfp", .data = &sfp_data, }, ++ { .compatible = "sff,sfp+", .data = &sfp_data, }, + { }, + }; + MODULE_DEVICE_TABLE(of, sfp_of_match); diff --git a/target/linux/mvebu/patches-4.19/407-sfp-display-SFP-module-information.patch b/target/linux/mvebu/patches-4.19/407-sfp-display-SFP-module-information.patch new file mode 100644 index 0000000000..b78c6d8e3c --- /dev/null +++ b/target/linux/mvebu/patches-4.19/407-sfp-display-SFP-module-information.patch @@ -0,0 +1,297 @@ +From 4ce55fb01c473bf1ad2048f8b4db62dca392e6d2 Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Sun, 13 Sep 2015 01:06:31 +0100 +Subject: [PATCH] sfp: display SFP module information + +Signed-off-by: Russell King +--- + drivers/net/phy/sfp.c | 261 +++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 258 insertions(+), 3 deletions(-) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -1131,6 +1131,184 @@ static void sfp_hwmon_remove(struct sfp + } + #endif + ++static const char *sfp_link_len(char *buf, size_t size, unsigned int length, ++ unsigned int multiplier) ++{ ++ if (length == 0) ++ return "unsupported/unspecified"; ++ ++ if (length == 255) { ++ *buf++ = '>'; ++ size -= 1; ++ length -= 1; ++ } ++ ++ length *= multiplier; ++ ++ if (length >= 1000) ++ snprintf(buf, size, "%u.%0*ukm", ++ length / 1000, ++ multiplier > 100 ? 1 : ++ multiplier > 10 ? 2 : 3, ++ length % 1000); ++ else ++ snprintf(buf, size, "%um", length); ++ ++ return buf; ++} ++ ++struct bitfield { ++ unsigned int mask; ++ unsigned int val; ++ const char *str; ++}; ++ ++static const struct bitfield sfp_options[] = { ++ { ++ .mask = SFP_OPTIONS_HIGH_POWER_LEVEL, ++ .val = SFP_OPTIONS_HIGH_POWER_LEVEL, ++ .str = "hpl", ++ }, { ++ .mask = SFP_OPTIONS_PAGING_A2, ++ .val = SFP_OPTIONS_PAGING_A2, ++ .str = "paginga2", ++ }, { ++ .mask = SFP_OPTIONS_RETIMER, ++ .val = SFP_OPTIONS_RETIMER, ++ .str = "retimer", ++ }, { ++ .mask = SFP_OPTIONS_COOLED_XCVR, ++ .val = SFP_OPTIONS_COOLED_XCVR, ++ .str = "cooled", ++ }, { ++ .mask = SFP_OPTIONS_POWER_DECL, ++ .val = SFP_OPTIONS_POWER_DECL, ++ .str = "powerdecl", ++ }, { ++ .mask = SFP_OPTIONS_RX_LINEAR_OUT, ++ .val = SFP_OPTIONS_RX_LINEAR_OUT, ++ .str = "rxlinear", ++ }, { ++ .mask = SFP_OPTIONS_RX_DECISION_THRESH, ++ .val = SFP_OPTIONS_RX_DECISION_THRESH, ++ .str = "rxthresh", ++ }, { ++ .mask = SFP_OPTIONS_TUNABLE_TX, ++ .val = SFP_OPTIONS_TUNABLE_TX, ++ .str = "tunabletx", ++ }, { ++ .mask = SFP_OPTIONS_RATE_SELECT, ++ .val = SFP_OPTIONS_RATE_SELECT, ++ .str = "ratesel", ++ }, { ++ .mask = SFP_OPTIONS_TX_DISABLE, ++ .val = SFP_OPTIONS_TX_DISABLE, ++ .str = "txdisable", ++ }, { ++ .mask = SFP_OPTIONS_TX_FAULT, ++ .val = SFP_OPTIONS_TX_FAULT, ++ .str = "txfault", ++ }, { ++ .mask = SFP_OPTIONS_LOS_INVERTED, ++ .val = SFP_OPTIONS_LOS_INVERTED, ++ .str = "los-", ++ }, { ++ .mask = SFP_OPTIONS_LOS_NORMAL, ++ .val = SFP_OPTIONS_LOS_NORMAL, ++ .str = "los+", ++ }, { } ++}; ++ ++static const struct bitfield diagmon[] = { ++ { ++ .mask = SFP_DIAGMON_DDM, ++ .val = SFP_DIAGMON_DDM, ++ .str = "ddm", ++ }, { ++ .mask = SFP_DIAGMON_INT_CAL, ++ .val = SFP_DIAGMON_INT_CAL, ++ .str = "intcal", ++ }, { ++ .mask = SFP_DIAGMON_EXT_CAL, ++ .val = SFP_DIAGMON_EXT_CAL, ++ .str = "extcal", ++ }, { ++ .mask = SFP_DIAGMON_RXPWR_AVG, ++ .val = SFP_DIAGMON_RXPWR_AVG, ++ .str = "rxpwravg", ++ }, { } ++}; ++ ++static const char *sfp_bitfield(char *out, size_t outsz, const struct bitfield *bits, unsigned int val) ++{ ++ char *p = out; ++ int n; ++ ++ *p = '\0'; ++ while (bits->mask) { ++ if ((val & bits->mask) == bits->val) { ++ n = snprintf(p, outsz, "%s%s", ++ out != p ? ", " : "", ++ bits->str); ++ if (n == outsz) ++ break; ++ p += n; ++ outsz -= n; ++ } ++ bits++; ++ } ++ ++ return out; ++} ++ ++static const char *sfp_connector(unsigned int connector) ++{ ++ switch (connector) { ++ case SFP_CONNECTOR_UNSPEC: ++ return "unknown/unspecified"; ++ case SFP_CONNECTOR_SC: ++ return "SC"; ++ case SFP_CONNECTOR_FIBERJACK: ++ return "Fiberjack"; ++ case SFP_CONNECTOR_LC: ++ return "LC"; ++ case SFP_CONNECTOR_MT_RJ: ++ return "MT-RJ"; ++ case SFP_CONNECTOR_MU: ++ return "MU"; ++ case SFP_CONNECTOR_SG: ++ return "SG"; ++ case SFP_CONNECTOR_OPTICAL_PIGTAIL: ++ return "Optical pigtail"; ++ case SFP_CONNECTOR_HSSDC_II: ++ return "HSSDC II"; ++ case SFP_CONNECTOR_COPPER_PIGTAIL: ++ return "Copper pigtail"; ++ default: ++ return "unknown"; ++ } ++} ++ ++static const char *sfp_encoding(unsigned int encoding) ++{ ++ switch (encoding) { ++ case SFP_ENCODING_UNSPEC: ++ return "unspecified"; ++ case SFP_ENCODING_8472_64B66B: ++ return "64b66b"; ++ case SFP_ENCODING_8B10B: ++ return "8b10b"; ++ case SFP_ENCODING_4B5B: ++ return "4b5b"; ++ case SFP_ENCODING_NRZ: ++ return "NRZ"; ++ case SFP_ENCODING_8472_MANCHESTER: ++ return "MANCHESTER"; ++ default: ++ return "unknown"; ++ } ++} ++ + /* Helpers */ + static void sfp_module_tx_disable(struct sfp *sfp) + { +@@ -1375,6 +1553,8 @@ static int sfp_sm_mod_probe(struct sfp * + { + /* SFP module inserted - read I2C data */ + struct sfp_eeprom_id id; ++ char date[9]; ++ char options[80]; + bool cotsworks; + u8 check; + int ret; +@@ -1431,12 +1611,87 @@ static int sfp_sm_mod_probe(struct sfp * + + sfp->id = id; + +- dev_info(sfp->dev, "module %.*s %.*s rev %.*s sn %.*s dc %.*s\n", ++ date[0] = sfp->id.ext.datecode[4]; ++ date[1] = sfp->id.ext.datecode[5]; ++ date[2] = '-'; ++ date[3] = sfp->id.ext.datecode[2]; ++ date[4] = sfp->id.ext.datecode[3]; ++ date[5] = '-'; ++ date[6] = sfp->id.ext.datecode[0]; ++ date[7] = sfp->id.ext.datecode[1]; ++ date[8] = '\0'; ++ ++ dev_info(sfp->dev, "module %.*s %.*s rev %.*s sn %.*s dc %s\n", + (int)sizeof(id.base.vendor_name), id.base.vendor_name, + (int)sizeof(id.base.vendor_pn), id.base.vendor_pn, + (int)sizeof(id.base.vendor_rev), id.base.vendor_rev, +- (int)sizeof(id.ext.vendor_sn), id.ext.vendor_sn, +- (int)sizeof(id.ext.datecode), id.ext.datecode); ++ (int)sizeof(id.ext.vendor_sn), id.ext.vendor_sn, date); ++ dev_info(sfp->dev, " %s connector, encoding %s, nominal bitrate %u.%uGbps +%u%% -%u%%\n", ++ sfp_connector(sfp->id.base.connector), ++ sfp_encoding(sfp->id.base.encoding), ++ sfp->id.base.br_nominal / 10, ++ sfp->id.base.br_nominal % 10, ++ sfp->id.ext.br_max, sfp->id.ext.br_min); ++ dev_info(sfp->dev, " 1000BaseSX%c 1000BaseLX%c 1000BaseCX%c 1000BaseT%c 100BaseLX%c 100BaseFX%c BaseBX10%c BasePX%c\n", ++ sfp->id.base.e1000_base_sx ? '+' : '-', ++ sfp->id.base.e1000_base_lx ? '+' : '-', ++ sfp->id.base.e1000_base_cx ? '+' : '-', ++ sfp->id.base.e1000_base_t ? '+' : '-', ++ sfp->id.base.e100_base_lx ? '+' : '-', ++ sfp->id.base.e100_base_fx ? '+' : '-', ++ sfp->id.base.e_base_bx10 ? '+' : '-', ++ sfp->id.base.e_base_px ? '+' : '-'); ++ dev_info(sfp->dev, " 10GBaseSR%c 10GBaseLR%c 10GBaseLRM%c 10GBaseER%c\n", ++ sfp->id.base.e10g_base_sr ? '+' : '-', ++ sfp->id.base.e10g_base_lr ? '+' : '-', ++ sfp->id.base.e10g_base_lrm ? '+' : '-', ++ sfp->id.base.e10g_base_er ? '+' : '-'); ++ ++ if (!sfp->id.base.sfp_ct_passive && !sfp->id.base.sfp_ct_active && ++ !sfp->id.base.e1000_base_t) { ++ char len_9um[16], len_om[16]; ++ ++ dev_info(sfp->dev, " Wavelength %unm, fiber lengths:\n", ++ be16_to_cpup(&sfp->id.base.optical_wavelength)); ++ ++ if (sfp->id.base.link_len[0] == 255) ++ strcpy(len_9um, ">254km"); ++ else if (sfp->id.base.link_len[1] && sfp->id.base.link_len[1] != 255) ++ sprintf(len_9um, "%um", ++ sfp->id.base.link_len[1] * 100); ++ else if (sfp->id.base.link_len[0]) ++ sprintf(len_9um, "%ukm", sfp->id.base.link_len[0]); ++ else if (sfp->id.base.link_len[1] == 255) ++ strcpy(len_9um, ">25.4km"); ++ else ++ strcpy(len_9um, "unsupported"); ++ ++ dev_info(sfp->dev, " 9µm SM : %s\n", len_9um); ++ dev_info(sfp->dev, " 62.5µm MM OM1: %s\n", ++ sfp_link_len(len_om, sizeof(len_om), ++ sfp->id.base.link_len[3], 10)); ++ dev_info(sfp->dev, " 50µm MM OM2: %s\n", ++ sfp_link_len(len_om, sizeof(len_om), ++ sfp->id.base.link_len[2], 10)); ++ dev_info(sfp->dev, " 50µm MM OM3: %s\n", ++ sfp_link_len(len_om, sizeof(len_om), ++ sfp->id.base.link_len[5], 10)); ++ dev_info(sfp->dev, " 50µm MM OM4: %s\n", ++ sfp_link_len(len_om, sizeof(len_om), ++ sfp->id.base.link_len[4], 10)); ++ } else { ++ char len[16]; ++ dev_info(sfp->dev, " Copper length: %s\n", ++ sfp_link_len(len, sizeof(len), ++ sfp->id.base.link_len[4], 1)); ++ } ++ ++ dev_info(sfp->dev, " Options: %s\n", ++ sfp_bitfield(options, sizeof(options), sfp_options, ++ be16_to_cpu(sfp->id.ext.options))); ++ dev_info(sfp->dev, " Diagnostics: %s\n", ++ sfp_bitfield(options, sizeof(options), diagmon, ++ sfp->id.ext.diagmon)); + + /* Check whether we support this module */ + if (!sfp->type->module_supported(&sfp->id)) { diff --git a/target/linux/mvebu/patches-4.19/408-sfp-more-cotsworks-fixes.patch b/target/linux/mvebu/patches-4.19/408-sfp-more-cotsworks-fixes.patch new file mode 100644 index 0000000000..f9f7aba2bc --- /dev/null +++ b/target/linux/mvebu/patches-4.19/408-sfp-more-cotsworks-fixes.patch @@ -0,0 +1,44 @@ +From e26af2726067ff260b77485df6af8375b82bfb1d Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Sat, 23 Dec 2017 12:22:58 +0000 +Subject: [PATCH] sfp: more cotsworks fixes + +Cotsworks also gets the date code wrong. + +Signed-off-by: Russell King +--- + drivers/net/phy/sfp.c | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -1570,9 +1570,9 @@ static int sfp_sm_mod_probe(struct sfp * + return -EAGAIN; + } + +- /* Cotsworks do not seem to update the checksums when they +- * do the final programming with the final module part number, +- * serial number and date code. ++ /* Cotsworks do not seem to update the checksums when they update the ++ * module part number, serial number and date code. They also format ++ * the date code incorrectly. + */ + cotsworks = !memcmp(id.base.vendor_name, "COTSWORKS ", 16); + +@@ -1611,11 +1611,12 @@ static int sfp_sm_mod_probe(struct sfp * + + sfp->id = id; + +- date[0] = sfp->id.ext.datecode[4]; +- date[1] = sfp->id.ext.datecode[5]; ++ /* Cotsworks also gets the date code wrong. */ ++ date[0] = sfp->id.ext.datecode[4 - 2 * cotsworks]; ++ date[1] = sfp->id.ext.datecode[5 - 2 * cotsworks]; + date[2] = '-'; +- date[3] = sfp->id.ext.datecode[2]; +- date[4] = sfp->id.ext.datecode[3]; ++ date[3] = sfp->id.ext.datecode[2 + 2 * cotsworks]; ++ date[4] = sfp->id.ext.datecode[3 + 2 * cotsworks]; + date[5] = '-'; + date[6] = sfp->id.ext.datecode[0]; + date[7] = sfp->id.ext.datecode[1]; diff --git a/target/linux/mvebu/patches-4.19/412-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch b/target/linux/mvebu/patches-4.19/412-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch new file mode 100644 index 0000000000..dd2bef7f63 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/412-ARM-dts-armada388-clearfog-emmc-on-clearfog-base.patch @@ -0,0 +1,87 @@ +From 8137da20701c776ad3481115305a5e8e410871ba Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Tue, 29 Nov 2016 10:15:45 +0000 +Subject: ARM: dts: armada388-clearfog: emmc on clearfog base + +Signed-off-by: Russell King +--- + arch/arm/boot/dts/armada-388-clearfog-base.dts | 1 + + .../dts/armada-38x-solidrun-microsom-emmc.dtsi | 62 ++++++++++++++++++++++ + 2 files changed, 63 insertions(+) + create mode 100644 arch/arm/boot/dts/armada-38x-solidrun-microsom-emmc.dtsi + +--- a/arch/arm/boot/dts/armada-388-clearfog-base.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog-base.dts +@@ -7,6 +7,7 @@ + + /dts-v1/; + #include "armada-388-clearfog.dtsi" ++#include "armada-38x-solidrun-microsom-emmc.dtsi" + + / { + model = "SolidRun Clearfog Base A1"; +--- /dev/null ++++ b/arch/arm/boot/dts/armada-38x-solidrun-microsom-emmc.dtsi +@@ -0,0 +1,62 @@ ++/* ++ * Device Tree file for SolidRun Armada 38x Microsom add-on for eMMC ++ * ++ * Copyright (C) 2015 Russell King ++ * ++ * This board is in development; the contents of this file work with ++ * the A1 rev 2.0 of the board, which does not represent final ++ * production board. Things will change, don't expect this file to ++ * remain compatible info the future. ++ * ++ * This file is dual-licensed: you can use it either under the terms ++ * of the GPL or the X11 license, at your option. Note that this dual ++ * licensing only applies to this file, and not this project as a ++ * whole. ++ * ++ * a) This file is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * version 2 as published by the Free Software Foundation. ++ * ++ * This file is distributed in the hope that it will be useful ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * Or, alternatively ++ * ++ * b) Permission is hereby granted, free of charge, to any person ++ * obtaining a copy of this software and associated documentation ++ * files (the "Software"), to deal in the Software without ++ * restriction, including without limitation the rights to use ++ * copy, modify, merge, publish, distribute, sublicense, and/or ++ * sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following ++ * conditions: ++ * ++ * The above copyright notice and this permission notice shall be ++ * included in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ++ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ++ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ */ ++/ { ++ soc { ++ internal-regs { ++ sdhci@d8000 { ++ bus-width = <4>; ++ no-1-8-v; ++ non-removable; ++ pinctrl-0 = <µsom_sdhci_pins>; ++ pinctrl-names = "default"; ++ status = "okay"; ++ wp-inverted; ++ }; ++ }; ++ }; ++}; diff --git a/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch b/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch new file mode 100644 index 0000000000..d64bd8084e --- /dev/null +++ b/target/linux/mvebu/patches-4.19/415-ARM-dts-armada388-clearfog-document-MPP-usage.patch @@ -0,0 +1,124 @@ +From 09a0122c74ec076e08512f1b00b7ccb8a450282f Mon Sep 17 00:00:00 2001 +From: Russell King +Date: Tue, 29 Nov 2016 10:15:43 +0000 +Subject: ARM: dts: armada388-clearfog: document MPP usage + +Signed-off-by: Russell King +--- + arch/arm/boot/dts/armada-388-clearfog-base.dts | 51 ++++++++++++++++++++++++++ + arch/arm/boot/dts/armada-388-clearfog.dts | 50 +++++++++++++++++++++++++ + 2 files changed, 101 insertions(+) + +--- a/arch/arm/boot/dts/armada-388-clearfog-base.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog-base.dts +@@ -67,3 +67,54 @@ + marvell,function = "gpio"; + }; + }; ++ ++/* ++MPP ++18: pu gpio pca9655 int ++19: gpio phy reset ++20: pu gpio sd0 detect ++21: sd0:cmd ++22: pd gpio mikro int ++23: ++ ++24: ua1:rxd mikro rx ++25: ua1:txd mikro tx ++26: pu i2c1:sck ++27: pu i2c1:sda ++28: sd0:clk ++29: pd gpio mikro rst ++30: ++31: ++ ++32: ++33: ++34: ++35: ++36: ++37: sd0:d3 ++38: sd0:d0 ++39: sd0:d1 ++ ++40: sd0:d2 ++41: ++42: ++43: spi1:cs2 mikro cs ++44: gpio rear button sw3 ++45: ref:clk_out0 phy#0 clock ++46: ref:clk_out1 phy#1 clock ++47: ++ ++48: gpio J18 spare gpio ++49: gpio U10 I2C_IRQ(GNSS) ++50: gpio board id? ++51: ++52: ++53: ++54: gpio mikro pwm ++55: ++ ++56: pu spi1:mosi mikro mosi ++57: pd spi1:sck mikro sck ++58: spi1:miso mikro miso ++59: ++*/ +--- a/arch/arm/boot/dts/armada-388-clearfog.dts ++++ b/arch/arm/boot/dts/armada-388-clearfog.dts +@@ -249,3 +249,53 @@ + */ + pinctrl-0 = <&spi1_pins &clearfog_spi1_cs_pins &mikro_spi_pins>; + }; ++/* +++#define A38x_CUSTOMER_BOARD_1_MPP16_23 0x00400011 ++MPP18: gpio ? (pca9655 int?) ++MPP19: gpio ? (clkreq?) ++MPP20: gpio ? (sd0 detect) ++MPP21: sd0:cmd x sd0 ++MPP22: gpio x mikro int ++MPP23: gpio x switch irq +++#define A38x_CUSTOMER_BOARD_1_MPP24_31 0x22043333 ++MPP24: ua1:rxd x mikro rx ++MPP25: ua1:txd x mikro tx ++MPP26: i2c1:sck x mikro sck ++MPP27: i2c1:sda x mikro sda ++MPP28: sd0:clk x sd0 ++MPP29: gpio x mikro rst ++MPP30: ge1:txd2 ? (config) ++MPP31: ge1:txd3 ? (config) +++#define A38x_CUSTOMER_BOARD_1_MPP32_39 0x44400002 ++MPP32: ge1:txctl ? (unused) ++MPP33: gpio ? (pic_com0) ++MPP34: gpio x rear button (pic_com1) ++MPP35: gpio ? (pic_com2) ++MPP36: gpio ? (unused) ++MPP37: sd0:d3 x sd0 ++MPP38: sd0:d0 x sd0 ++MPP39: sd0:d1 x sd0 +++#define A38x_CUSTOMER_BOARD_1_MPP40_47 0x41144004 ++MPP40: sd0:d2 x sd0 ++MPP41: gpio x switch reset ++MPP42: gpio ? sw1-1 ++MPP43: spi1:cs2 x mikro cs ++MPP44: sata3:prsnt ? (unused) ++MPP45: ref:clk_out0 ? ++MPP46: ref:clk_out1 x switch clk ++MPP47: 4 ? (unused) +++#define A38x_CUSTOMER_BOARD_1_MPP48_55 0x40333333 ++MPP48: tdm:pclk ++MPP49: tdm:fsync ++MPP50: tdm:drx ++MPP51: tdm:dtx ++MPP52: tdm:int ++MPP53: tdm:rst ++MPP54: gpio ? (pwm) ++MPP55: spi1:cs1 x slic +++#define A38x_CUSTOMER_BOARD_1_MPP56_63 0x00004444 ++MPP56: spi1:mosi x mikro mosi ++MPP57: spi1:sck x mikro sck ++MPP58: spi1:miso x mikro miso ++MPP59: spi1:cs0 x w25q32 ++*/ diff --git a/target/linux/mvebu/patches-4.19/450-reprobe_sfp_phy.patch b/target/linux/mvebu/patches-4.19/450-reprobe_sfp_phy.patch new file mode 100644 index 0000000000..bec8b4c1e6 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/450-reprobe_sfp_phy.patch @@ -0,0 +1,94 @@ +From 28baa5e2635285b178326b301f534ed95c65dd01 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski +Date: Thu, 29 Sep 2016 11:44:39 +0200 +Subject: [PATCH] sfp: retry phy probe if unsuccessful + +Some phys seem to take longer than 50 ms to come out of reset, so retry +until we find a phy. + +Signed-off-by: Jonas Gorski +--- + drivers/net/phy/sfp.c | 38 +++++++++++++++++++++++++------------- + 1 file changed, 25 insertions(+), 13 deletions(-) + +--- a/drivers/net/phy/sfp.c ++++ b/drivers/net/phy/sfp.c +@@ -1373,7 +1373,7 @@ static void sfp_sm_phy_detach(struct sfp + sfp->mod_phy = NULL; + } + +-static void sfp_sm_probe_phy(struct sfp *sfp) ++static int sfp_sm_probe_phy(struct sfp *sfp) + { + struct phy_device *phy; + int err; +@@ -1383,11 +1383,11 @@ static void sfp_sm_probe_phy(struct sfp + phy = mdiobus_scan(sfp->i2c_mii, SFP_PHY_ADDR); + if (phy == ERR_PTR(-ENODEV)) { + dev_info(sfp->dev, "no PHY detected\n"); +- return; ++ return -EAGAIN; + } + if (IS_ERR(phy)) { + dev_err(sfp->dev, "mdiobus scan returned %ld\n", PTR_ERR(phy)); +- return; ++ return PTR_ERR(phy); + } + + err = sfp_add_phy(sfp->sfp_bus, phy); +@@ -1395,11 +1395,13 @@ static void sfp_sm_probe_phy(struct sfp + phy_device_remove(phy); + phy_device_free(phy); + dev_err(sfp->dev, "sfp_add_phy failed: %d\n", err); +- return; ++ return err; + } + + sfp->mod_phy = phy; + phy_start(phy); ++ ++ return 0; + } + + static void sfp_sm_link_up(struct sfp *sfp) +@@ -1463,14 +1465,9 @@ static void sfp_sm_fault(struct sfp *sfp + + static void sfp_sm_mod_init(struct sfp *sfp) + { +- sfp_module_tx_enable(sfp); ++ int ret = 0; + +- /* Wait t_init before indicating that the link is up, provided the +- * current state indicates no TX_FAULT. If TX_FAULT clears before +- * this time, that's fine too. +- */ +- sfp_sm_next(sfp, SFP_S_INIT, T_INIT_JIFFIES); +- sfp->sm_retries = 5; ++ sfp_module_tx_enable(sfp); + + /* Setting the serdes link mode is guesswork: there's no + * field in the EEPROM which indicates what mode should +@@ -1484,7 +1481,22 @@ static void sfp_sm_mod_init(struct sfp * + if (sfp->id.base.e1000_base_t || + sfp->id.base.e100_base_lx || + sfp->id.base.e100_base_fx) +- sfp_sm_probe_phy(sfp); ++ ret = sfp_sm_probe_phy(sfp); ++ ++ if (!ret) { ++ /* Wait t_init before indicating that the link is up, provided ++ * the current state indicates no TX_FAULT. If TX_FAULT clears ++ * this time, that's fine too. ++ */ ++ sfp_sm_next(sfp, SFP_S_INIT, T_INIT_JIFFIES); ++ sfp->sm_retries = 5; ++ return; ++ } ++ ++ if (ret == -EAGAIN) ++ sfp_sm_set_timer(sfp, T_PROBE_RETRY); ++ else ++ sfp_sm_next(sfp, SFP_S_TX_DISABLE, 0); + } + + static int sfp_sm_mod_hpower(struct sfp *sfp) diff --git a/target/linux/mvebu/patches-4.19/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch b/target/linux/mvebu/patches-4.19/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch new file mode 100644 index 0000000000..880b0d9241 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/513-arm64-dts-marvell-armada37xx-Add-emmc-sdio-pinctrl-d.patch @@ -0,0 +1,40 @@ +From eefe328439642101774f0f5c4ea0dc6ba1cfb687 Mon Sep 17 00:00:00 2001 +From: Ding Tao +Date: Fri, 26 Oct 2018 11:50:27 +0000 +Subject: [PATCH] arm64: dts: marvell: armada37xx: Add emmc/sdio pinctrl + definition + +Add emmc/sdio pinctrl definition for marvell armada37xx SoCs. + +Signed-off-by: Ding Tao +Signed-off-by: Gregory CLEMENT +--- + arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi ++++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +@@ -221,6 +221,11 @@ + groups = "uart2"; + function = "uart"; + }; ++ ++ mmc_pins: mmc-pins { ++ groups = "emmc_nb"; ++ function = "emmc"; ++ }; + }; + + nb_pm: syscon@14000 { +@@ -253,6 +258,11 @@ + function = "mii"; + }; + ++ sdio_pins: sdio-pins { ++ groups = "sdio_sb"; ++ function = "sdio"; ++ }; ++ + }; + + eth0: ethernet@30000 { diff --git a/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch b/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch new file mode 100644 index 0000000000..77af3d1219 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/514-arm64-dts-marvell-armada-37xx-Enable-emmc-on-espress.patch @@ -0,0 +1,49 @@ +From 43ebc7c1b3ed8198b9acf3019eca16e722f7331c Mon Sep 17 00:00:00 2001 +From: Ding Tao +Date: Fri, 26 Oct 2018 11:50:28 +0000 +Subject: [PATCH] arm64: dts: marvell: armada-37xx: Enable emmc on espressobin + +The ESPRESSObin board has a emmc interface available on U11: declare it +and let the bootloader enable it if the emmc is present. + +[gregory.clement@bootlin.com: disable the emmc by default] +Signed-off-by: Ding Tao +Signed-off-by: Gregory CLEMENT +--- + .../dts/marvell/armada-3720-espressobin.dts | 22 +++++++++++++++++++ + 1 file changed, 22 insertions(+) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -60,9 +60,31 @@ + cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>; + marvell,pad-type = "sd"; + vqmmc-supply = <&vcc_sd_reg1>; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio_pins>; + status = "okay"; + }; + ++/* U11 */ ++&sdhci0 { ++ non-removable; ++ bus-width = <8>; ++ mmc-ddr-1_8v; ++ mmc-hs400-1_8v; ++ marvell,xenon-emmc; ++ marvell,xenon-tun-count = <9>; ++ marvell,pad-type = "fixed-1-8v"; ++ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc_pins>; ++/* ++ * This eMMC is not populated on all boards, so disable it by ++ * default and let the bootloader enable it, if it is present ++ */ ++ status = "disabled"; ++}; ++ + &spi0 { + status = "okay"; + diff --git a/target/linux/mvebu/patches-4.19/520-arm64-dts-marvell-armada37xx-Add-eth0-alias.patch b/target/linux/mvebu/patches-4.19/520-arm64-dts-marvell-armada37xx-Add-eth0-alias.patch new file mode 100644 index 0000000000..e989f59d5c --- /dev/null +++ b/target/linux/mvebu/patches-4.19/520-arm64-dts-marvell-armada37xx-Add-eth0-alias.patch @@ -0,0 +1,20 @@ +From be893f672e340b56ca60f2f6c32fdd713a5852f5 Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich +Date: Tue, 4 Jul 2017 19:25:28 -0600 +Subject: arm64: dts: marvell: armada37xx: Add eth0 alias + +Signed-off-by: Kevin Mihelich +--- + arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi ++++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +@@ -18,6 +18,7 @@ + #size-cells = <2>; + + aliases { ++ ethernet0 = ð0; + serial0 = &uart0; + serial1 = &uart1; + }; diff --git a/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch b/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch new file mode 100644 index 0000000000..0f39b2a3c2 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/521-arm64-dts-armada-3720-espressobin-correct-spi-node.patch @@ -0,0 +1,58 @@ +From 3217cdfe8a3eae76fafbebbe407be5985a7fd4c2 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Mon, 31 Dec 2018 14:18:50 +0100 +Subject: [PATCH] arm64: dts: armada-3720-espressobin: correct spi node + +The manufacturer of this board, ships it with various SPI NOR chips and +increments U-Boot bootloader version along the time. There is no way to +tell which is placed on the board since no revision bump takes place. +This creates two issues. + +The first, cosmetic. Since the SPI chip may differ, there's message on +boot stating that kernel expected w25q32dw and found different one. To +correct this, remove optional device-specific compatible string. Being +here lets replace bogus "spi-flash" string with proper one. + +The second is linked to partitions layout, it changed after commit [1] +in Marvells downstream U-Boot fork, shifting environment location to the +end of boot device. Since the new boards can have U-Boot with this +change it can lead to improper results writing or reading from these +partitions. We can't tell if users will update bootloader to recent +version, so let's drop current layout. + +1. https://github.com/MarvellEmbeddedProcessors/u-boot-marvell/commit/81e7251252aefe1a6b829ed05f3586320cb45372 + +Signed-off-by: Tomasz Maciej Nowak +--- + .../dts/marvell/armada-3720-espressobin.dts | 18 +----------------- + 1 file changed, 1 insertion(+), 17 deletions(-) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -90,25 +90,9 @@ + + flash@0 { + reg = <0>; +- compatible = "winbond,w25q32dw", "jedec,spi-flash"; ++ compatible = "jedec,spi-nor"; + spi-max-frequency = <104000000>; + m25p,fast-read; +- +- partitions { +- compatible = "fixed-partitions"; +- #address-cells = <1>; +- #size-cells = <1>; +- +- partition@0 { +- label = "uboot"; +- reg = <0 0x180000>; +- }; +- +- partition@180000 { +- label = "ubootenv"; +- reg = <0x180000 0x10000>; +- }; +- }; + }; + }; + diff --git a/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch b/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch new file mode 100644 index 0000000000..cea0d1db44 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/522-arm64-dts-marvell-armada-3720-espressobin-add-ports-.patch @@ -0,0 +1,26 @@ +From 6ea9a1ee9367fb35acff1c08a0dc4213ff4687a0 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Tue, 9 Apr 2019 15:53:42 +0200 +Subject: [PATCH] arm64: dts: marvell: armada-3720-espressobin: add ports + phandle + +Instead of referencing the whole mdio node, add ports phandle to adjust +port labels in dts for different hardware iterations of ESPRESSObin +boards. + +Signed-off-by: Tomasz Maciej Nowak +--- + arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -132,7 +132,7 @@ + + dsa,member = <0 0>; + +- ports { ++ ports: ports { + #address-cells = <1>; + #size-cells = <0>; + diff --git a/target/linux/mvebu/patches-4.19/523-Revert-PCI-aardvark-Convert-to-use-pci_host_probe.patch b/target/linux/mvebu/patches-4.19/523-Revert-PCI-aardvark-Convert-to-use-pci_host_probe.patch new file mode 100644 index 0000000000..3fd561db3a --- /dev/null +++ b/target/linux/mvebu/patches-4.19/523-Revert-PCI-aardvark-Convert-to-use-pci_host_probe.patch @@ -0,0 +1,44 @@ +From 5e79c0c381eb085a2aa2da175eedea1950f07520 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Tue, 30 Apr 2019 15:37:34 +0200 +Subject: [PATCH] Revert "PCI: aardvark: Convert to use pci_host_probe()" + +This reverts commit c8e144f8ab00e6c4a070a932ef9c57db09aa41cf. +--- + drivers/pci/controller/pci-aardvark.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +--- a/drivers/pci/controller/pci-aardvark.c ++++ b/drivers/pci/controller/pci-aardvark.c +@@ -843,6 +843,7 @@ static int advk_pcie_probe(struct platfo + struct device *dev = &pdev->dev; + struct advk_pcie *pcie; + struct resource *res; ++ struct pci_bus *bus, *child; + struct pci_host_bridge *bridge; + int ret, irq; + +@@ -896,13 +897,22 @@ static int advk_pcie_probe(struct platfo + bridge->map_irq = of_irq_parse_and_map_pci; + bridge->swizzle_irq = pci_common_swizzle; + +- ret = pci_host_probe(bridge); ++ ret = pci_scan_root_bus_bridge(bridge); + if (ret < 0) { + advk_pcie_remove_msi_irq_domain(pcie); + advk_pcie_remove_irq_domain(pcie); + return ret; + } + ++ bus = bridge->bus; ++ ++ pci_bus_size_bridges(bus); ++ pci_bus_assign_resources(bus); ++ ++ list_for_each_entry(child, &bus->children, node) ++ pcie_bus_configure_settings(child); ++ ++ pci_bus_add_devices(bus); + return 0; + } + diff --git a/target/linux/mvebu/patches-4.19/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch b/target/linux/mvebu/patches-4.19/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch new file mode 100644 index 0000000000..204d6e2aec --- /dev/null +++ b/target/linux/mvebu/patches-4.19/524-PCI-aardvark-set-host-and-device-to-the-same-MAX-payload-size.patch @@ -0,0 +1,138 @@ +From patchwork Thu Sep 28 12:58:34 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2, + 3/7] PCI: aardvark: set host and device to the same MAX payload size +X-Patchwork-Submitter: Thomas Petazzoni +X-Patchwork-Id: 819587 +Message-Id: <20170928125838.11887-4-thomas.petazzoni@free-electrons.com> +To: Bjorn Helgaas , linux-pci@vger.kernel.org +Cc: Jason Cooper , Andrew Lunn , + Sebastian Hesselbarth , Gregory Clement + , + Nadav Haklai , Hanna Hawa , + Yehuda Yitschak , + linux-arm-kernel@lists.infradead.org, Antoine Tenart + , =?utf-8?q?Miqu=C3=A8l_Raynal?= + , Victor Gu , + Thomas Petazzoni +Date: Thu, 28 Sep 2017 14:58:34 +0200 +From: Thomas Petazzoni +List-Id: + +From: Victor Gu + +Since the Aardvark does not implement a PCIe root bus, the Linux PCIe +subsystem will not align the MAX payload size between the host and the +device. This patch ensures that the host and device have the same MAX +payload size, fixing a number of problems with various PCIe devices. + +This is part of fixing bug +https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was +reported as the user to be important to get a Intel 7260 mini-PCIe +WiFi card working. + +Fixes: Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver") +Signed-off-by: Victor Gu +Reviewed-by: Evan Wang +Reviewed-by: Nadav Haklai +[Thomas: tweak commit log.] +Signed-off-by: Thomas Petazzoni +--- + drivers/pci/controller/pci-aardvark.c | 60 ++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 59 insertions(+), 1 deletion(-) + +--- a/drivers/pci/controller/pci-aardvark.c ++++ b/drivers/pci/controller/pci-aardvark.c +@@ -29,9 +29,11 @@ + #define PCIE_CORE_DEV_CTRL_STATS_REG 0xc8 + #define PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE (0 << 4) + #define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT 5 ++#define PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ 0x2 + #define PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE (0 << 11) + #define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT 12 + #define PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ 0x2 ++#define PCIE_CORE_MPS_UNIT_BYTE 128 + #define PCIE_CORE_LINK_CTRL_STAT_REG 0xd0 + #define PCIE_CORE_LINK_L0S_ENTRY BIT(0) + #define PCIE_CORE_LINK_TRAINING BIT(5) +@@ -253,7 +255,8 @@ static void advk_pcie_setup_hw(struct ad + + /* Set PCIe Device Control and Status 1 PF0 register */ + reg = PCIE_CORE_DEV_CTRL_STATS_RELAX_ORDER_DISABLE | +- (7 << PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) | ++ (PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ << ++ PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT) | + PCIE_CORE_DEV_CTRL_STATS_SNOOP_DISABLE | + (PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SZ << + PCIE_CORE_DEV_CTRL_STATS_MAX_RD_REQ_SIZE_SHIFT); +@@ -838,6 +841,58 @@ out_release_res: + return err; + } + ++static int advk_pcie_find_smpss(struct pci_dev *dev, void *data) ++{ ++ u8 *smpss = data; ++ ++ if (!dev) ++ return 0; ++ ++ if (!pci_is_pcie(dev)) ++ return 0; ++ ++ if (*smpss > dev->pcie_mpss) ++ *smpss = dev->pcie_mpss; ++ ++ return 0; ++} ++ ++static int advk_pcie_bus_configure_mps(struct pci_dev *dev, void *data) ++{ ++ int mps; ++ ++ if (!dev) ++ return 0; ++ ++ if (!pci_is_pcie(dev)) ++ return 0; ++ ++ mps = PCIE_CORE_MPS_UNIT_BYTE << *(u8 *)data; ++ pcie_set_mps(dev, mps); ++ ++ return 0; ++} ++ ++static void advk_pcie_configure_mps(struct pci_bus *bus, struct advk_pcie *pcie) ++{ ++ u8 smpss = PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ; ++ u32 reg; ++ ++ /* Find the minimal supported MAX payload size */ ++ advk_pcie_find_smpss(bus->self, &smpss); ++ pci_walk_bus(bus, advk_pcie_find_smpss, &smpss); ++ ++ /* Configure RC MAX payload size */ ++ reg = advk_readl(pcie, PCIE_CORE_DEV_CTRL_STATS_REG); ++ reg &= ~PCI_EXP_DEVCTL_PAYLOAD; ++ reg |= smpss << PCIE_CORE_DEV_CTRL_STATS_MAX_PAYLOAD_SZ_SHIFT; ++ advk_writel(pcie, reg, PCIE_CORE_DEV_CTRL_STATS_REG); ++ ++ /* Configure device MAX payload size */ ++ advk_pcie_bus_configure_mps(bus->self, &smpss); ++ pci_walk_bus(bus, advk_pcie_bus_configure_mps, &smpss); ++} ++ + static int advk_pcie_probe(struct platform_device *pdev) + { + struct device *dev = &pdev->dev; +@@ -912,6 +967,9 @@ static int advk_pcie_probe(struct platfo + list_for_each_entry(child, &bus->children, node) + pcie_bus_configure_settings(child); + ++ /* Configure the MAX pay load size */ ++ advk_pcie_configure_mps(bus, pcie); ++ + pci_bus_add_devices(bus); + return 0; + } diff --git a/target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch b/target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch new file mode 100644 index 0000000000..b6fcec81f8 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/526-PCI-aardvark-disable-LOS-state-by-default.patch @@ -0,0 +1,55 @@ +From patchwork Thu Sep 28 12:58:36 2017 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Subject: [v2,5/7] PCI: aardvark: disable LOS state by default +X-Patchwork-Submitter: Thomas Petazzoni +X-Patchwork-Id: 819590 +Message-Id: <20170928125838.11887-6-thomas.petazzoni@free-electrons.com> +To: Bjorn Helgaas , linux-pci@vger.kernel.org +Cc: Jason Cooper , Andrew Lunn , + Sebastian Hesselbarth , Gregory Clement + , + Nadav Haklai , Hanna Hawa , + Yehuda Yitschak , + linux-arm-kernel@lists.infradead.org, Antoine Tenart + , =?utf-8?q?Miqu=C3=A8l_Raynal?= + , Victor Gu , + Thomas Petazzoni +Date: Thu, 28 Sep 2017 14:58:36 +0200 +From: Thomas Petazzoni +List-Id: + +From: Victor Gu + +Some PCIe devices do not support LOS, and will cause timeouts if the +root complex forces the LOS state. This patch disables the LOS state +by default. + +This is part of fixing bug +https://bugzilla.kernel.org/show_bug.cgi?id=196339, this commit was +reported as the user to be important to get a Intel 7260 mini-PCIe +WiFi card working. + +Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver") +Signed-off-by: Victor Gu +Reviewed-by: Evan Wang +Reviewed-by: Nadav Haklai +[Thomas: tweak commit log.] +Signed-off-by: Thomas Petazzoni +--- + drivers/pci/controller/pci-aardvark.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/pci/controller/pci-aardvark.c ++++ b/drivers/pci/controller/pci-aardvark.c +@@ -324,8 +324,7 @@ static void advk_pcie_setup_hw(struct ad + + advk_pcie_wait_for_link(pcie); + +- reg = PCIE_CORE_LINK_L0S_ENTRY | +- (1 << PCIE_CORE_LINK_WIDTH_SHIFT); ++ reg = (1 << PCIE_CORE_LINK_WIDTH_SHIFT); + advk_writel(pcie, reg, PCIE_CORE_LINK_CTRL_STAT_REG); + + reg = advk_readl(pcie, PCIE_CORE_CMD_STATUS_REG); diff --git a/target/linux/mvebu/patches-4.19/527-PCI-aardvark-allow-to-specify-link-capability.patch b/target/linux/mvebu/patches-4.19/527-PCI-aardvark-allow-to-specify-link-capability.patch new file mode 100644 index 0000000000..0ac3476147 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/527-PCI-aardvark-allow-to-specify-link-capability.patch @@ -0,0 +1,43 @@ +From f70b629e488cc3f2a325ac35476f4f7ae502c5d0 Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Thu, 14 Jun 2018 14:24:40 +0200 +Subject: [PATCH 1/2] PCI: aardvark: allow to specify link capability + +Use DT of_pci_get_max_link_speed() facility to allow specifying link +capability. If none or unspecified value is given it falls back to gen2, +which is default for Armada 3700 SoC. + +Signed-off-by: Tomasz Maciej Nowak +--- + drivers/pci/controller/pci-aardvark.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +--- a/drivers/pci/controller/pci-aardvark.c ++++ b/drivers/pci/controller/pci-aardvark.c +@@ -233,6 +233,8 @@ static int advk_pcie_wait_for_link(struc + + static void advk_pcie_setup_hw(struct advk_pcie *pcie) + { ++ struct device *dev = &pcie->pdev->dev; ++ struct device_node *node = dev->of_node; + u32 reg; + + /* Set to Direct mode */ +@@ -267,10 +269,15 @@ static void advk_pcie_setup_hw(struct ad + PCIE_CORE_CTRL2_TD_ENABLE; + advk_writel(pcie, reg, PCIE_CORE_CTRL2_REG); + +- /* Set GEN2 */ ++ /* Set GEN */ + reg = advk_readl(pcie, PCIE_CORE_CTRL0_REG); + reg &= ~PCIE_GEN_SEL_MSK; +- reg |= SPEED_GEN_2; ++ if (of_pci_get_max_link_speed(node) == 1) ++ reg |= SPEED_GEN_1; ++ else if (of_pci_get_max_link_speed(node) == 3) ++ reg |= SPEED_GEN_3; ++ else ++ reg |= SPEED_GEN_2; + advk_writel(pcie, reg, PCIE_CORE_CTRL0_REG); + + /* Set lane X1 */ diff --git a/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch b/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch new file mode 100644 index 0000000000..88080d64ca --- /dev/null +++ b/target/linux/mvebu/patches-4.19/528-arm64-dts-armada-3720-espressobin-set-max-link-to-ge.patch @@ -0,0 +1,73 @@ +From 33f8fdcedb01680427328d710594facef7a0092c Mon Sep 17 00:00:00 2001 +From: Tomasz Maciej Nowak +Date: Thu, 14 Jun 2018 14:40:26 +0200 +Subject: [PATCH 2/2] arm64: dts: armada-3720-espressobin: set max link to gen1 + +Since the beginning there's been an issue with initializing the Atheros +based MiniPCIe wireless cards. Here's an example of kerenel log: + + OF: PCI: host bridge /soc/pcie@d0070000 ranges: + OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000 + OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000 + advk-pcie d0070000.pcie: link up + advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00 + pci_bus 0000:00: root bus resource [bus 00-ff] + pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff] + pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address [0xe9000000-0xe900ffff]) + pci 0000:00:00.0: BAR 0: assigned [mem0xe8000000-0xe801ffff 64bit] + pci 0000:00:00.0: BAR 6: assigned [mem0xe8020000-0xe802ffff pref] + [...] + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x44 + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 + ath9k 0000:00:00.0: enabling device (0000 -> 0002) + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x3c + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0xc + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x40 + ath9k 0000:00:00.0: request_irq failed + advk-pcie d0070000.pcie: Posted PIO Response Status: CA,0xe00 @ 0x4 + ath9k: probe of 0000:00:00.0 failed with error -22 + +The same happens for ath5k cards, while ath10k card didn't appear at +all (not detected): + + OF: PCI: host bridge /soc/pcie@d0070000 ranges: + OF: PCI: MEM 0xe8000000..0xe8ffffff -> 0xe8000000 + OF: PCI: IO 0xe9000000..0xe900ffff -> 0xe9000000 + advk-pcie d0070000.pcie: link never came up + advk-pcie d0070000.pcie: PCI host bridge to bus 0000:00 + pci_bus 0000:00: root bus resource [bus 00-ff] + pci_bus 0000:00: root bus resource [mem0xe8000000-0xe8ffffff] + pci_bus 0000:00: root bus resource [io 0x0000-0xffff](bus address [0xe9000000-0xe900ffff]) + advk-pcie d0070000.pcie: config read/write timed out + +Following the issue on esppressobin.net forum [1] the workaround seems +to be limiting the speed of PCIe bridge to 1st generation. This fixed +the initialisation of all tested Atheros wireless cards. +The patch in the forum thread swaped registers which would limit speed +for all Armada 3700 based boards. The approach in this patch, in +conjunction with "PCI: aardvark: allow to specify link capability" patch +is less invasive, it only touches the affected board. + +For the record, the iwlwifi and mt76 cards were not affected by this +issue. + +1. http://espressobin.net/forums/topic/which-pcie-wlan-cards-are-supported + +Signed-off-by: Tomasz Maciej Nowak +--- + arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts ++++ b/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dts +@@ -46,6 +46,8 @@ + /* J9 */ + &pcie0 { + status = "okay"; ++ ++ max-link-speed = <1>; + }; + + /* J6 */ diff --git a/target/linux/mvebu/profiles/000-Default.mk b/target/linux/mvebu/profiles/000-Default.mk deleted file mode 100755 index 8690dd8da5..0000000000 --- a/target/linux/mvebu/profiles/000-Default.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 2015 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/Default - NAME:=Default Profile (all drivers) - PACKAGES:= kmod-mwlwifi wpad-basic swconfig mkf2fs e2fsprogs \ - mwlwifi-firmware-88w8864 mwlwifi-firmware-88w8964 -endef - -define Profile/Default/Description - Default package set compatible with most boards. -endef - -$(eval $(call Profile,Default)) diff --git a/target/linux/oxnas/patches-4.14/999-libata-hacks.patch b/target/linux/oxnas/patches-4.14/999-libata-hacks.patch index 382a16329a..29132befb5 100755 --- a/target/linux/oxnas/patches-4.14/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-4.14/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ /* XXX: Tag 0 is used for drivers with legacy EH as some -@@ -5128,6 +5136,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -5131,6 +5139,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -5173,6 +5184,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -5176,6 +5187,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); diff --git a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch index 1857656241..c04e2db661 100755 --- a/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch +++ b/target/linux/ramips/patches-4.14/0032-USB-dwc2-add-device_reset.patch @@ -18,7 +18,7 @@ Signed-off-by: John Crispin #include #include -@@ -5206,6 +5207,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso +@@ -5215,6 +5216,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso retval = -ENOMEM; diff --git a/target/linux/x86/64/config-4.9 b/target/linux/x86/64/config-4.9 index 97e1abab64..019df57d2c 100755 --- a/target/linux/x86/64/config-4.9 +++ b/target/linux/x86/64/config-4.9 @@ -232,7 +232,7 @@ CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LPC_ICH=y CONFIG_LPC_SCH=y CONFIG_MAILBOX=y -# CONFIG_MAXSMP is not set +CONFIG_MAXSMP=y CONFIG_MEMORY_BALLOON=y # CONFIG_MEMORY_HOTPLUG is not set CONFIG_MFD_CORE=y @@ -250,7 +250,7 @@ CONFIG_MODULES_USE_ELF_RELA=y # CONFIG_MPSC is not set CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_NET_FLOW_LIMIT=y -CONFIG_NR_CPUS=8 +CONFIG_NR_CPUS=128 # CONFIG_NUMA is not set CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_PADATA=y