commit 7443de517a0544c722d0286d17ce5b1af1fb3570 Author: bolvan Date: Mon Feb 15 16:34:45 2016 +0300 first commit diff --git a/changes.txt b/changes.txt new file mode 100644 index 0000000..dca8114 --- /dev/null +++ b/changes.txt @@ -0,0 +1,24 @@ +v1 + +Initial release + +v2 + +nfqws : command line options change. now using standard getopt. +nfqws : added options for window size changing and "Host:" case change +ISP support : tested on mns.ru and beeline (corbina) +init scripts : rewritten init scripts for simple choise of ISP +create_ipset : now using 'ipset restore', it works much faster +readme : updated. now using UTF-8 charset. + +v3 + +tpws : added transparent proxy (supports TPROXY and DNAT). + can help when ISP tracks whole HTTP session, not only the beginning +ipset : added zapret-hosts-user.txt which contain user defined host names to be resolved + and added to zapret ip list +ISP support : dom.ru support via TPROXY/DNAT +ISP support : successfully tested sknt.ru on 'domru' configuration + other configs will probably also work, but cannot test +compile : openwrt compile howto + diff --git a/compile/build_howto_openwrt.txt b/compile/build_howto_openwrt.txt new file mode 100644 index 0000000..94c856c --- /dev/null +++ b/compile/build_howto_openwrt.txt @@ -0,0 +1,38 @@ +How to compile native programs for use in openwrt +------------------------------------------------- + +1) + + cd ~ + + + git clone git://git.openwrt.org/15.05/openwrt.git + + git clone git://git.openwrt.org/14.07/openwrt.git + + git clone git://git.openwrt.org/openwrt.git + + cd openwrt + +2) ./scripts/feeds update -a + ./scripts/feeds install -a + +3) + + copy compile/openwrt/* to ~/openwrt + + copy tpws to ~/openwrt/package/zapret/tpws + + copy nfq to ~/openwrt/package/zapret/nfq + +4) make menuconfig + + +5) make toolchain/compile + +6) make package/tpws/compile + make package/nfqws/compile + +7) find bin -name tpws*.ipk + diff --git a/compile/openwrt/package/zapret/nfqws/Makefile b/compile/openwrt/package/zapret/nfqws/Makefile new file mode 100644 index 0000000..5e9bcc1 --- /dev/null +++ b/compile/openwrt/package/zapret/nfqws/Makefile @@ -0,0 +1,34 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=nfqws +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/nfqws + SECTION:=net + CATEGORY:=Network + TITLE:=nfqws + SUBMENU:=Zapret + DEPENDS:=+libnetfilter-queue +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./nfq/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/nfqws/install + $(INSTALL_DIR) $(1)/opt/zapret/nfq + $(INSTALL_BIN) $(PKG_BUILD_DIR)/nfqws $(1)/opt/zapret/nfq +endef + +$(eval $(call BuildPackage,nfqws)) + + diff --git a/compile/openwrt/package/zapret/nfqws/readme.txt b/compile/openwrt/package/zapret/nfqws/readme.txt new file mode 100644 index 0000000..daf8b84 --- /dev/null +++ b/compile/openwrt/package/zapret/nfqws/readme.txt @@ -0,0 +1 @@ +Copy "nfq" folder here ! diff --git a/compile/openwrt/package/zapret/tpws/Makefile b/compile/openwrt/package/zapret/tpws/Makefile new file mode 100644 index 0000000..c3a111c --- /dev/null +++ b/compile/openwrt/package/zapret/tpws/Makefile @@ -0,0 +1,32 @@ +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=tpws +PKG_RELEASE:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/tpws + SECTION:=net + CATEGORY:=Network + TITLE:=tpws + SUBMENU:=Zapret +endef + +define Build/Prepare + mkdir -p $(PKG_BUILD_DIR) + $(CP) ./tpws/* $(PKG_BUILD_DIR)/ +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) +endef + +define Package/tpws/install + $(INSTALL_DIR) $(1)/opt/zapret/tpws + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tpws $(1)/opt/zapret/tpws +endef + +$(eval $(call BuildPackage,tpws)) + diff --git a/compile/openwrt/package/zapret/tpws/readme.txt b/compile/openwrt/package/zapret/tpws/readme.txt new file mode 100644 index 0000000..18fa3ed --- /dev/null +++ b/compile/openwrt/package/zapret/tpws/readme.txt @@ -0,0 +1 @@ +Copy "tpws" folder here ! diff --git a/init.d/debian7/zapret b/init.d/debian7/zapret new file mode 100755 index 0000000..7f44651 --- /dev/null +++ b/init.d/debian7/zapret @@ -0,0 +1,95 @@ +#!/bin/sh + +# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. +ISP=mns +#ISP=beeline +#ISP=domru + +# CHOSE NETWORK INTERFACE BEHIND NAT +SLAVE_ETH=eth0 + + +IPSET_CR=/opt/zapret/ipset/create_ipset.sh +NAME=zapret +DESC=anti-zapret + +QNUM=200 +TPPORT=1188 +ROUTE_TABLE_NUM=100 +NFQWS=/opt/zapret/nfq/nfqws +TPWS=/opt/zapret/tpws/tpws +TPWS_USER=tpws + +PIDFILE=/var/run/$NAME.pid + +set -e + +case "$1" in + start) + echo "Creating ipset" + ($IPSET_CR) + + echo "Adding iptables rule" + case "${ISP}" in + mns) + iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null || + iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass + DAEMON=$NFQWS + DAEMON_OPTS="--qnum=$QNUM --wsize=4" + ;; + beeline) + iptables -t mangle -C POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null || + iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass + DAEMON=$NFQWS + DAEMON_OPTS="--qnum=$QNUM --hostcase" + ;; + domru) + adduser --disabled-login --no-create-home --system --quiet $TPWS_USER + sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=1 + iptables -t nat -C PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT 2>/dev/null || + iptables -t nat -I PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + iptables -t nat -C OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT 2>/dev/null || + iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + DAEMON=$TPWS + DAEMON_OPTS="--port=$TPPORT --hostcase --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1" + ;; + esac + + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE --background --make-pidfile \ + --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + stop) + echo "Deleting iptables rule" + + case "${ISP}" in + mns) + iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass + DAEMON=$NFQWS + ;; + beeline) + iptables -t mangle -D POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass + DAEMON=$NFQWS + ;; + domru) + sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=0 + iptables -t nat -D PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + iptables -t nat -D OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + DAEMON=$TPWS + ;; + esac + + echo -n "Stopping $DESC: " + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/init.d/openwrt/99-zapret b/init.d/openwrt/99-zapret new file mode 100644 index 0000000..9bd757b --- /dev/null +++ b/init.d/openwrt/99-zapret @@ -0,0 +1,35 @@ +# copy it to /etc/hotplug.d/firewall/99-zapret + +# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. +# if your ISP not in list then comment all lines +ISP=domru + +TPPORT=1188 +TPWS_USER=daemon + +case "$ACTION" in + add) + case "$ISP" in + domru) + case "$INTERFACE" in + wan) + # BLOCK SPOOFED DNS FROM DOMRU + iptables -t raw -C PREROUTING -i $DEVICE -p udp --sport 53 -m string --hex-string "|5cfff164|" --algo bm -j DROP --from 40 --to 300 || + iptables -t raw -I PREROUTING -i $DEVICE -p udp --sport 53 -m string --hex-string "|5cfff164|" --algo bm -j DROP --from 40 --to 300 + iptables -t raw -C PREROUTING -i $DEVICE -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000064|" --algo bm -j DROP --from 40 --to 300 || + iptables -t raw -I PREROUTING -i $DEVICE -p udp --sport 53 -m string --hex-string "|2a022698a00000000000000000000064|" --algo bm -j DROP --from 40 --to 300 + # DNAT for local traffic + iptables -t nat -C OUTPUT -p tcp --dport 80 -o $DEVICE -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT || + iptables -t nat -I OUTPUT -p tcp --dport 80 -o $DEVICE -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + ;; + + lan) + # DNAT for pass-thru traffic + sysctl -w net.ipv4.conf.$DEVICE.route_localnet=1 + iptables -t nat -C prerouting_lan_rule -p tcp --dport 80 -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT || + iptables -t nat -I prerouting_lan_rule -p tcp --dport 80 -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + ;; + esac + ;; + esac +esac diff --git a/init.d/openwrt/firewall.user.beeline b/init.d/openwrt/firewall.user.beeline new file mode 100644 index 0000000..6ef273e --- /dev/null +++ b/init.d/openwrt/firewall.user.beeline @@ -0,0 +1,5 @@ +# put it to /etc/firewall.user + +# for BEELINE ISP +iptables -t mangle -D POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass diff --git a/init.d/openwrt/firewall.user.mns b/init.d/openwrt/firewall.user.mns new file mode 100644 index 0000000..8101d12 --- /dev/null +++ b/init.d/openwrt/firewall.user.mns @@ -0,0 +1,5 @@ +# put it to /etc/firewall.user + +# for MNS ISP +iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null +iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass diff --git a/init.d/openwrt/zapret b/init.d/openwrt/zapret new file mode 100755 index 0000000..1172985 --- /dev/null +++ b/init.d/openwrt/zapret @@ -0,0 +1,53 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006-2011 OpenWrt.org + +# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. +#ISP=mns +#ISP=beeline +ISP=domru + +# !!!!! in openwrt you need to add firewall rules manually to /etc/firewall.user or /etc/hotplug.d/firewall/99-zapret + +QNUM=200 +TPPORT=1188 +ROUTE_TABLE_NUM=100 +NFQWS=/opt/zapret/nfq/nfqws +TPWS=/opt/zapret/tpws/tpws +IPSET_CR=/opt/zapret/ipset/create_ipset.sh +TPWS_USER=daemon + +# start betfore firewall - we need ipset populated +START=18 + +get_daemon() { + case "${ISP}" in + mns) + DAEMON_OPTS="--qnum=$QNUM --wsize=4" + DAEMON=$NFQWS + ;; + beeline) + DAEMON_OPTS="--qnum=$QNUM --hostcase" + DAEMON=$NFQWS + ;; + domru) + DAEMON_OPTS="--port=$TPPORT --hostcase --split-http-req=host --bind-addr=127.0.0.1 --user=$TPWS_USER" + DAEMON=$TPWS + ;; + esac +} + + +start() { + echo "Creating ipset" + ($IPSET_CR) + + get_daemon + echo "Starting $DAEMON" + service_start $DAEMON --daemon $DAEMON_OPTS +} + +stop() { + get_daemon + service_stop $DAEMON +} + diff --git a/init.d/ubuntu12/zapret.conf b/init.d/ubuntu12/zapret.conf new file mode 100644 index 0000000..f0efa2b --- /dev/null +++ b/init.d/ubuntu12/zapret.conf @@ -0,0 +1,77 @@ +description "boinc" + +start on runlevel [2345] +stop on runlevel [!2345] + +# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. +env ISP=mns +#env ISP=beeline +#env ISP=domru + +# CHOSE NETWORK INTERFACE BEHIND NAT +env SLAVE_ETH=eth1 + + +env QNUM=200 +env TPPORT=1188 +env ROUTE_TABLE_NUM=100 +env NFQWS=/opt/zapret/nfq/nfqws +env TPWS=/opt/zapret/tpws/tpws +env TPWS_USER=tpws + +pre-start script + /opt/zapret/ipset/create_ipset.sh + + case "${ISP}" in + mns) + iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass || + iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass + ;; + beeline) + iptables -t mangle -C POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass || + iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass + ;; + domru) + adduser --disabled-login --no-create-home --system --quiet $TPWS_USER + sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=1 + iptables -t nat -C PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT || + iptables -t nat -I PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + iptables -t nat -C OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT || + iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + ;; + esac +end script + +script + case "${ISP}" in + mns) + NFEXE=$NFQWS + NFARG="--qnum $QNUM --wsize=4" + ;; + beeline) + NFEXE=$NFQWS + NFARG="--qnum $QNUM --hostcase" + ;; + domru) + NFEXE=$TPWS + NFARG="--port=$TPPORT --hostcase --split-http-req=host --user=$TPWS_USER --bind-addr=127.0.0.1" + ;; + esac + $NFEXE $NFARG +end script + +pre-stop script + case "${ISP}" in + mns) + iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass + ;; + beeline) + iptables -t mangle -D POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num $QNUM --queue-bypass + ;; + domru) + sysctl -w net.ipv4.conf.$SLAVE_ETH.route_localnet=0 + iptables -t nat -D PREROUTING -p tcp --dport 80 -i $SLAVE_ETH -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + iptables -t nat -D OUTPUT -p tcp --dport 80 -m owner ! --uid-owner $TPWS_USER -m set --match-set zapret dst -j DNAT --to 127.0.0.1:$TPPORT + ;; + esac +end script diff --git a/ipset/create_ipset.sh b/ipset/create_ipset.sh new file mode 100755 index 0000000..c309930 --- /dev/null +++ b/ipset/create_ipset.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# create ipset from resolved ip's + +SCRIPT=$(readlink -f $0) +EXEDIR=$(dirname $SCRIPT) + +. "$EXEDIR/def.sh" + +TEMPIPSET=/tmp/ipset.$ZIPSET.tmp + +ipset flush $ZIPSET || ipset create $ZIPSET hash:ip + +for f in "$ZIPLIST" "$ZIPLIST_USER" +do + [ -f $TEMPIPSET ] && rm -f $TEMPIPSET + [ -n "$f" ] && { + echo Adding $f + sort $f | uniq | while read ip; + do + echo add $ZIPSET $ip >>$TEMPIPSET + done + ipset -! restore <$TEMPIPSET 2>&1 + rm -f $TEMPIPSET + } +done diff --git a/ipset/def.sh b/ipset/def.sh new file mode 100755 index 0000000..b90f2b0 --- /dev/null +++ b/ipset/def.sh @@ -0,0 +1,4 @@ +ZIPLIST=$EXEDIR/zapret-ip.txt +ZIPLIST_USER=$EXEDIR/zapret-ip-user.txt +ZIPSET=zapret +ZUSERLIST=$EXEDIR/zapret-hosts-user.txt diff --git a/ipset/get_reestr.sh b/ipset/get_reestr.sh new file mode 100755 index 0000000..6dd73c5 --- /dev/null +++ b/ipset/get_reestr.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# get rublacklist and resolve it + +SCRIPT=$(readlink -f $0) +EXEDIR=$(dirname $SCRIPT) + +. "$EXEDIR/def.sh" + +ZREESTR=/tmp/zapret.txt +ZDIG=/tmp/zapret-dig.txt +ZIPLISTTMP=/tmp/zapret-ip.txt +ZURL=http://reestr.rublacklist.net/api/current + +$EXEDIR/get_user.sh + +curl --fail --max-time 60 --max-filesize 10485760 "$ZURL" >$ZREESTR && { + dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ') + if test $dlsize -lt 204800; then + echo list file is too small. can be bad. + exit 2 + fi + sed -i 's/\\n/\r\n/g' $ZREESTR + sed -nre 's/^[^;]*;([^;|\\]{4,250})\;.*/\1/p' $ZREESTR | sort | uniq >$ZDIG + rm -f $ZREESTR + echo digging started ... + dig A +short +time=8 +tries=2 -f $ZDIG | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' >$ZIPLISTTMP || { + rm -f $ZDIG + exit 1 + } + rm -f $ZDIG $ZIPLIST + sort $ZIPLISTTMP | uniq >$ZIPLIST + rm -f $ZIPLISTTMP + "$EXEDIR/create_ipset.sh" +} diff --git a/ipset/get_user.sh b/ipset/get_user.sh new file mode 100755 index 0000000..afd8fe6 --- /dev/null +++ b/ipset/get_user.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# resolve user host list + +SCRIPT=$(readlink -f $0) +EXEDIR=$(dirname $SCRIPT) + +. "$EXEDIR/def.sh" + +[ -f $ZUSERLIST ] && { + dig A +short +time=8 +tries=2 -f $ZUSERLIST | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' | sort | uniq >$ZIPLIST_USER +} diff --git a/ipset/zapret-hosts-user.txt b/ipset/zapret-hosts-user.txt new file mode 100644 index 0000000..90cc0da --- /dev/null +++ b/ipset/zapret-hosts-user.txt @@ -0,0 +1,5 @@ +st.kinozal.tv +s.kinozal.tv +static.rutracker.org +static2.rutracker.org +bt.rutracker.org diff --git a/ipset/zapret-ip-user.txt b/ipset/zapret-ip-user.txt new file mode 100644 index 0000000..62a7537 --- /dev/null +++ b/ipset/zapret-ip-user.txt @@ -0,0 +1,5 @@ +195.60.77.222 +195.82.146.120 +195.82.146.216 +195.82.146.52 +93.114.40.103 diff --git a/ipset/zapret-ip.txt b/ipset/zapret-ip.txt new file mode 100644 index 0000000..d44d7b3 --- /dev/null +++ b/ipset/zapret-ip.txt @@ -0,0 +1,7397 @@ +1.1.1.1 +101.1.29.236 +103.11.213.69 +103.11.213.71 +103.11.40.2 +103.15.233.21 +103.21.58.156 +103.21.59.149 +103.224.182.231 +103.224.212.239 +103.227.169.1 +103.232.215.132 +103.232.215.133 +103.234.108.10 +103.234.109.10 +103.234.110.10 +103.234.111.10 +103.240.151.25 +103.244.44.13 +103.246.17.198 +103.249.70.208 +103.25.199.215 +103.254.144.114 +103.3.61.79 +103.30.240.245 +103.31.228.191 +103.5.45.112 +103.9.171.7 +104.130.7.89 +104.131.188.208 +104.143.12.122 +104.143.12.126 +104.152.168.21 +104.152.168.9 +104.16.100.25 +104.16.101.35 +104.16.102.35 +104.16.103.28 +104.16.104.28 +104.16.105.35 +104.16.105.39 +104.16.106.35 +104.16.106.39 +104.16.109.36 +104.16.109.37 +104.16.109.39 +104.16.110.36 +104.16.110.37 +104.16.110.39 +104.16.111.39 +104.16.111.53 +104.16.112.150 +104.16.112.39 +104.16.112.53 +104.16.113.150 +104.16.113.35 +104.16.113.39 +104.16.113.52 +104.16.114.150 +104.16.114.35 +104.16.114.39 +104.16.114.52 +104.16.115.150 +104.16.115.26 +104.16.115.28 +104.16.115.37 +104.16.116.150 +104.16.116.26 +104.16.116.28 +104.16.116.37 +104.16.117.110 +104.16.117.26 +104.16.117.39 +104.16.118.110 +104.16.118.26 +104.16.118.39 +104.16.119.110 +104.16.119.35 +104.16.119.38 +104.16.120.110 +104.16.120.35 +104.16.120.38 +104.16.121.110 +104.16.121.39 +104.16.122.39 +104.16.123.36 +104.16.124.36 +104.16.125.177 +104.16.125.252 +104.16.125.26 +104.16.126.177 +104.16.126.252 +104.16.126.26 +104.16.127.177 +104.16.127.252 +104.16.127.60 +104.16.2.31 +104.16.26.8 +104.16.26.96 +104.16.27.8 +104.16.27.96 +104.16.28.96 +104.16.29.96 +104.16.3.31 +104.16.30.96 +104.16.32.178 +104.16.32.253 +104.16.32.3 +104.16.32.61 +104.16.33.178 +104.16.33.253 +104.16.33.3 +104.16.33.56 +104.16.34.56 +104.16.35.35 +104.16.35.38 +104.16.35.40 +104.16.35.67 +104.16.36.28 +104.16.36.35 +104.16.36.38 +104.16.36.40 +104.16.36.67 +104.16.37.28 +104.16.37.35 +104.16.37.67 +104.16.38.35 +104.16.38.6 +104.16.38.67 +104.16.39.6 +104.16.39.67 +104.16.4.253 +104.16.43.33 +104.16.44.23 +104.16.44.33 +104.16.45.23 +104.16.45.33 +104.16.45.36 +104.16.45.56 +104.16.46.14 +104.16.46.33 +104.16.46.36 +104.16.46.56 +104.16.47.14 +104.16.47.185 +104.16.47.33 +104.16.47.37 +104.16.48.185 +104.16.48.22 +104.16.48.33 +104.16.48.37 +104.16.49.185 +104.16.49.22 +104.16.49.34 +104.16.5.253 +104.16.50.185 +104.16.50.34 +104.16.50.7 +104.16.51.185 +104.16.51.40 +104.16.51.7 +104.16.52.40 +104.16.53.34 +104.16.54.34 +104.16.54.5 +104.16.55.36 +104.16.55.5 +104.16.56.36 +104.16.59.158 +104.16.59.183 +104.16.6.15 +104.16.6.5 +104.16.60.158 +104.16.60.183 +104.16.61.158 +104.16.61.183 +104.16.62.158 +104.16.62.183 +104.16.63.158 +104.16.63.183 +104.16.65.36 +104.16.66.171 +104.16.66.36 +104.16.67.171 +104.16.67.25 +104.16.67.37 +104.16.67.39 +104.16.67.62 +104.16.68.171 +104.16.68.25 +104.16.68.37 +104.16.68.39 +104.16.68.62 +104.16.69.171 +104.16.69.36 +104.16.7.15 +104.16.7.5 +104.16.70.171 +104.16.70.36 +104.16.71.26 +104.16.72.26 +104.16.73.28 +104.16.73.34 +104.16.73.40 +104.16.74.28 +104.16.74.34 +104.16.74.40 +104.16.75.40 +104.16.76.40 +104.16.77.130 +104.16.77.34 +104.16.77.39 +104.16.78.130 +104.16.78.149 +104.16.78.34 +104.16.78.39 +104.16.79.130 +104.16.79.149 +104.16.79.36 +104.16.80.130 +104.16.80.149 +104.16.80.36 +104.16.81.130 +104.16.81.149 +104.16.81.27 +104.16.81.29 +104.16.81.34 +104.16.81.36 +104.16.81.55 +104.16.82.149 +104.16.82.27 +104.16.82.29 +104.16.82.34 +104.16.82.36 +104.16.82.55 +104.16.83.26 +104.16.84.113 +104.16.84.26 +104.16.85.113 +104.16.86.113 +104.16.87.113 +104.16.87.34 +104.16.87.35 +104.16.87.64 +104.16.88.113 +104.16.88.34 +104.16.88.35 +104.16.88.64 +104.16.89.158 +104.16.89.35 +104.16.90.158 +104.16.90.35 +104.16.91.158 +104.16.91.36 +104.16.92.150 +104.16.92.158 +104.16.92.36 +104.16.93.150 +104.16.93.158 +104.16.94.150 +104.16.95.150 +104.16.95.39 +104.16.95.52 +104.16.96.150 +104.16.96.39 +104.16.96.52 +104.16.97.29 +104.16.97.34 +104.16.98.29 +104.16.98.34 +104.16.99.25 +104.168.143.169 +104.168.162.101 +104.18.32.119 +104.18.32.201 +104.18.32.227 +104.18.32.55 +104.18.32.79 +104.18.33.119 +104.18.33.201 +104.18.33.227 +104.18.33.55 +104.18.33.79 +104.18.34.120 +104.18.34.142 +104.18.34.166 +104.18.34.199 +104.18.34.215 +104.18.34.220 +104.18.34.240 +104.18.35.120 +104.18.35.142 +104.18.35.166 +104.18.35.199 +104.18.35.215 +104.18.35.220 +104.18.35.240 +104.18.36.103 +104.18.36.121 +104.18.36.192 +104.18.36.212 +104.18.36.247 +104.18.36.254 +104.18.36.34 +104.18.36.82 +104.18.36.9 +104.18.36.98 +104.18.37.103 +104.18.37.121 +104.18.37.192 +104.18.37.212 +104.18.37.247 +104.18.37.254 +104.18.37.34 +104.18.37.82 +104.18.37.9 +104.18.37.98 +104.18.38.180 +104.18.38.190 +104.18.38.223 +104.18.38.24 +104.18.38.4 +104.18.38.74 +104.18.39.180 +104.18.39.190 +104.18.39.223 +104.18.39.24 +104.18.39.4 +104.18.39.74 +104.18.40.107 +104.18.40.155 +104.18.40.162 +104.18.40.232 +104.18.40.252 +104.18.40.38 +104.18.40.52 +104.18.40.55 +104.18.40.81 +104.18.41.107 +104.18.41.155 +104.18.41.162 +104.18.41.232 +104.18.41.252 +104.18.41.38 +104.18.41.52 +104.18.41.55 +104.18.41.81 +104.18.42.112 +104.18.42.132 +104.18.42.15 +104.18.42.17 +104.18.42.171 +104.18.42.186 +104.18.42.230 +104.18.42.232 +104.18.42.81 +104.18.43.112 +104.18.43.132 +104.18.43.15 +104.18.43.17 +104.18.43.171 +104.18.43.186 +104.18.43.230 +104.18.43.232 +104.18.43.81 +104.18.44.143 +104.18.44.178 +104.18.44.186 +104.18.44.51 +104.18.44.79 +104.18.45.143 +104.18.45.178 +104.18.45.186 +104.18.45.51 +104.18.45.79 +104.18.46.121 +104.18.46.124 +104.18.46.147 +104.18.46.175 +104.18.46.235 +104.18.46.254 +104.18.46.8 +104.18.46.81 +104.18.47.121 +104.18.47.124 +104.18.47.147 +104.18.47.175 +104.18.47.235 +104.18.47.254 +104.18.47.8 +104.18.47.81 +104.18.48.101 +104.18.48.106 +104.18.48.112 +104.18.48.130 +104.18.48.142 +104.18.48.185 +104.18.48.186 +104.18.48.58 +104.18.48.68 +104.18.48.87 +104.18.49.101 +104.18.49.106 +104.18.49.112 +104.18.49.130 +104.18.49.142 +104.18.49.185 +104.18.49.186 +104.18.49.58 +104.18.49.68 +104.18.49.87 +104.18.50.127 +104.18.50.2 +104.18.50.202 +104.18.50.203 +104.18.50.225 +104.18.50.226 +104.18.50.247 +104.18.50.27 +104.18.50.42 +104.18.50.60 +104.18.51.127 +104.18.51.2 +104.18.51.202 +104.18.51.203 +104.18.51.225 +104.18.51.226 +104.18.51.247 +104.18.51.27 +104.18.51.42 +104.18.51.60 +104.18.52.12 +104.18.52.18 +104.18.52.184 +104.18.52.196 +104.18.52.201 +104.18.52.21 +104.18.52.249 +104.18.52.29 +104.18.52.38 +104.18.52.55 +104.18.53.12 +104.18.53.18 +104.18.53.184 +104.18.53.196 +104.18.53.201 +104.18.53.21 +104.18.53.249 +104.18.53.29 +104.18.53.38 +104.18.53.55 +104.18.54.138 +104.18.54.178 +104.18.54.181 +104.18.54.221 +104.18.54.233 +104.18.54.251 +104.18.54.47 +104.18.54.65 +104.18.54.72 +104.18.54.83 +104.18.55.138 +104.18.55.178 +104.18.55.181 +104.18.55.221 +104.18.55.233 +104.18.55.251 +104.18.55.47 +104.18.55.65 +104.18.55.72 +104.18.55.83 +104.18.56.146 +104.18.56.187 +104.18.56.202 +104.18.56.231 +104.18.56.28 +104.18.56.38 +104.18.56.46 +104.18.56.67 +104.18.56.76 +104.18.56.80 +104.18.57.146 +104.18.57.187 +104.18.57.202 +104.18.57.231 +104.18.57.28 +104.18.57.38 +104.18.57.46 +104.18.57.67 +104.18.57.76 +104.18.57.80 +104.18.58.101 +104.18.58.12 +104.18.58.148 +104.18.58.155 +104.18.58.168 +104.18.58.188 +104.18.58.223 +104.18.58.96 +104.18.58.98 +104.18.59.101 +104.18.59.12 +104.18.59.148 +104.18.59.155 +104.18.59.168 +104.18.59.188 +104.18.59.223 +104.18.59.96 +104.18.59.98 +104.18.60.110 +104.18.60.118 +104.18.60.174 +104.18.60.238 +104.18.61.110 +104.18.61.118 +104.18.61.174 +104.18.61.238 +104.18.62.1 +104.18.62.115 +104.18.62.128 +104.18.62.149 +104.18.62.159 +104.18.62.16 +104.18.62.172 +104.18.62.179 +104.18.62.196 +104.18.62.209 +104.18.62.22 +104.18.62.237 +104.18.62.56 +104.18.62.81 +104.18.63.1 +104.18.63.115 +104.18.63.128 +104.18.63.149 +104.18.63.159 +104.18.63.16 +104.18.63.172 +104.18.63.179 +104.18.63.196 +104.18.63.209 +104.18.63.22 +104.18.63.237 +104.18.63.56 +104.18.63.81 +104.20.0.47 +104.20.1.47 +104.20.12.25 +104.20.13.25 +104.20.13.90 +104.20.13.92 +104.20.14.90 +104.20.14.92 +104.20.18.199 +104.20.19.186 +104.20.19.199 +104.20.20.186 +104.20.21.89 +104.20.22.14 +104.20.22.83 +104.20.23.14 +104.20.23.83 +104.20.26.3 +104.20.27.3 +104.20.28.50 +104.20.28.53 +104.20.29.50 +104.20.29.53 +104.20.30.13 +104.20.30.53 +104.20.31.114 +104.20.31.13 +104.20.31.53 +104.20.35.28 +104.20.36.28 +104.20.37.114 +104.20.37.25 +104.20.38.25 +104.20.4.46 +104.20.44.88 +104.20.45.20 +104.20.45.88 +104.20.46.20 +104.20.48.122 +104.20.49.122 +104.20.5.46 +104.20.51.96 +104.20.52.96 +104.20.53.195 +104.20.54.195 +104.20.55.216 +104.20.56.216 +104.20.59.117 +104.20.59.184 +104.20.59.22 +104.20.60.10 +104.20.60.184 +104.20.60.22 +104.20.61.10 +104.20.64.14 +104.20.65.14 +104.20.65.164 +104.20.66.164 +104.20.66.8 +104.20.67.68 +104.20.67.8 +104.20.68.68 +104.20.7.156 +104.20.70.117 +104.20.72.162 +104.20.72.182 +104.20.73.128 +104.20.73.162 +104.20.73.182 +104.20.74.128 +104.20.74.5 +104.20.75.5 +104.20.75.99 +104.20.76.99 +104.20.77.200 +104.20.79.209 +104.20.8.156 +104.20.8.71 +104.20.80.209 +104.20.80.8 +104.20.81.8 +104.20.82.196 +104.20.83.196 +104.20.83.200 +104.20.84.61 +104.20.85.61 +104.20.89.81 +104.20.9.71 +104.20.90.81 +104.20.92.188 +104.20.92.89 +104.20.93.188 +104.223.9.22 +104.23.128.57 +104.23.131.77 +104.23.131.83 +104.23.132.56 +104.23.132.77 +104.23.132.83 +104.234.208.82 +104.236.174.159 +104.236.8.90 +104.238.119.102 +104.239.220.27 +104.24.10.32 +104.24.10.70 +104.24.10.80 +104.24.100.122 +104.24.100.143 +104.24.100.60 +104.24.100.84 +104.24.101.122 +104.24.101.143 +104.24.101.60 +104.24.101.84 +104.24.102.112 +104.24.102.14 +104.24.102.171 +104.24.102.195 +104.24.102.251 +104.24.102.29 +104.24.102.90 +104.24.103.112 +104.24.103.14 +104.24.103.171 +104.24.103.195 +104.24.103.251 +104.24.103.29 +104.24.103.90 +104.24.104.104 +104.24.104.105 +104.24.104.181 +104.24.104.190 +104.24.104.196 +104.24.104.197 +104.24.104.54 +104.24.105.104 +104.24.105.105 +104.24.105.181 +104.24.105.190 +104.24.105.196 +104.24.105.197 +104.24.105.54 +104.24.106.137 +104.24.106.156 +104.24.106.200 +104.24.106.207 +104.24.106.218 +104.24.106.222 +104.24.106.53 +104.24.107.137 +104.24.107.156 +104.24.107.200 +104.24.107.207 +104.24.107.218 +104.24.107.222 +104.24.107.53 +104.24.108.120 +104.24.108.138 +104.24.108.21 +104.24.108.210 +104.24.108.221 +104.24.108.248 +104.24.108.25 +104.24.108.68 +104.24.109.120 +104.24.109.138 +104.24.109.21 +104.24.109.210 +104.24.109.221 +104.24.109.248 +104.24.109.25 +104.24.109.68 +104.24.11.32 +104.24.11.70 +104.24.11.80 +104.24.110.11 +104.24.110.123 +104.24.110.202 +104.24.110.219 +104.24.110.32 +104.24.110.34 +104.24.110.36 +104.24.110.56 +104.24.111.11 +104.24.111.123 +104.24.111.202 +104.24.111.219 +104.24.111.32 +104.24.111.34 +104.24.111.36 +104.24.111.56 +104.24.112.115 +104.24.112.152 +104.24.112.187 +104.24.112.204 +104.24.112.214 +104.24.112.23 +104.24.112.232 +104.24.112.25 +104.24.112.97 +104.24.113.115 +104.24.113.152 +104.24.113.187 +104.24.113.204 +104.24.113.214 +104.24.113.23 +104.24.113.232 +104.24.113.25 +104.24.113.97 +104.24.114.112 +104.24.114.15 +104.24.114.218 +104.24.114.243 +104.24.114.26 +104.24.114.42 +104.24.114.66 +104.24.114.78 +104.24.115.112 +104.24.115.15 +104.24.115.218 +104.24.115.243 +104.24.115.26 +104.24.115.42 +104.24.115.66 +104.24.115.78 +104.24.116.1 +104.24.116.141 +104.24.116.144 +104.24.116.151 +104.24.116.183 +104.24.116.26 +104.24.117.1 +104.24.117.141 +104.24.117.144 +104.24.117.151 +104.24.117.183 +104.24.117.26 +104.24.118.125 +104.24.118.136 +104.24.118.137 +104.24.118.221 +104.24.118.27 +104.24.118.67 +104.24.118.87 +104.24.119.125 +104.24.119.136 +104.24.119.137 +104.24.119.221 +104.24.119.27 +104.24.119.67 +104.24.119.87 +104.24.12.26 +104.24.12.50 +104.24.120.231 +104.24.120.240 +104.24.120.28 +104.24.120.88 +104.24.121.231 +104.24.121.240 +104.24.121.28 +104.24.121.88 +104.24.122.101 +104.24.122.124 +104.24.122.125 +104.24.123.101 +104.24.123.124 +104.24.123.125 +104.24.124.12 +104.24.124.142 +104.24.124.153 +104.24.124.176 +104.24.124.202 +104.24.124.213 +104.24.124.243 +104.24.124.56 +104.24.124.59 +104.24.124.67 +104.24.125.12 +104.24.125.142 +104.24.125.153 +104.24.125.176 +104.24.125.202 +104.24.125.213 +104.24.125.243 +104.24.125.56 +104.24.125.59 +104.24.125.67 +104.24.126.159 +104.24.126.194 +104.24.126.221 +104.24.126.228 +104.24.126.241 +104.24.126.249 +104.24.126.3 +104.24.126.70 +104.24.127.159 +104.24.127.194 +104.24.127.221 +104.24.127.228 +104.24.127.241 +104.24.127.249 +104.24.127.3 +104.24.127.70 +104.24.13.26 +104.24.13.50 +104.24.14.3 +104.24.15.3 +104.24.16.12 +104.24.16.28 +104.24.16.37 +104.24.16.58 +104.24.17.12 +104.24.17.28 +104.24.17.37 +104.24.17.58 +104.24.20.45 +104.24.20.48 +104.24.21.45 +104.24.21.48 +104.24.22.44 +104.24.23.44 +104.24.24.58 +104.24.25.58 +104.24.4.44 +104.24.5.44 +104.24.6.49 +104.24.7.49 +104.24.8.11 +104.24.8.6 +104.24.9.11 +104.24.9.6 +104.24.96.243 +104.24.96.26 +104.24.96.39 +104.24.96.45 +104.24.96.64 +104.24.96.86 +104.24.97.243 +104.24.97.26 +104.24.97.39 +104.24.97.45 +104.24.97.64 +104.24.97.86 +104.24.98.124 +104.24.98.125 +104.24.98.13 +104.24.98.146 +104.24.98.220 +104.24.98.36 +104.24.98.40 +104.24.98.52 +104.24.98.66 +104.24.98.8 +104.24.99.124 +104.24.99.125 +104.24.99.13 +104.24.99.146 +104.24.99.220 +104.24.99.36 +104.24.99.40 +104.24.99.52 +104.24.99.66 +104.24.99.8 +104.243.43.106 +104.245.33.83 +104.245.34.39 +104.25.108.21 +104.25.108.35 +104.25.109.21 +104.25.109.35 +104.25.116.13 +104.25.117.13 +104.25.118.23 +104.25.119.23 +104.25.140.26 +104.25.141.26 +104.25.148.15 +104.25.149.15 +104.25.152.14 +104.25.152.27 +104.25.153.14 +104.25.153.27 +104.25.154.23 +104.25.154.6 +104.25.155.23 +104.25.155.6 +104.25.158.31 +104.25.159.31 +104.25.160.11 +104.25.161.11 +104.25.168.33 +104.25.169.33 +104.25.18.10 +104.25.186.27 +104.25.187.27 +104.25.188.35 +104.25.189.35 +104.25.19.10 +104.25.196.9 +104.25.197.9 +104.25.2.35 +104.25.20.35 +104.25.202.9 +104.25.203.9 +104.25.21.35 +104.25.216.22 +104.25.217.22 +104.25.220.15 +104.25.220.19 +104.25.220.28 +104.25.221.15 +104.25.221.19 +104.25.221.28 +104.25.222.23 +104.25.223.23 +104.25.224.5 +104.25.225.5 +104.25.238.14 +104.25.238.4 +104.25.238.7 +104.25.239.14 +104.25.239.4 +104.25.239.7 +104.25.242.10 +104.25.242.4 +104.25.243.10 +104.25.243.4 +104.25.244.26 +104.25.245.26 +104.25.246.12 +104.25.246.27 +104.25.247.12 +104.25.247.27 +104.25.248.13 +104.25.249.13 +104.25.254.4 +104.25.255.4 +104.25.3.35 +104.25.34.7 +104.25.35.7 +104.25.38.4 +104.25.39.4 +104.25.42.23 +104.25.43.23 +104.25.48.18 +104.25.48.28 +104.25.49.18 +104.25.49.28 +104.25.50.34 +104.25.51.34 +104.25.52.29 +104.25.53.29 +104.25.6.32 +104.25.62.34 +104.25.63.34 +104.25.64.14 +104.25.65.14 +104.25.68.12 +104.25.68.4 +104.25.69.12 +104.25.69.4 +104.25.7.32 +104.25.74.4 +104.25.75.4 +104.25.78.10 +104.25.78.18 +104.25.79.10 +104.25.79.18 +104.25.8.14 +104.25.88.7 +104.25.89.7 +104.25.9.14 +104.25.94.14 +104.25.95.14 +104.27.128.191 +104.27.128.238 +104.27.128.245 +104.27.128.63 +104.27.129.191 +104.27.129.238 +104.27.129.245 +104.27.129.63 +104.27.130.115 +104.27.130.12 +104.27.130.198 +104.27.130.222 +104.27.130.240 +104.27.130.249 +104.27.130.46 +104.27.130.65 +104.27.130.81 +104.27.131.115 +104.27.131.12 +104.27.131.198 +104.27.131.222 +104.27.131.240 +104.27.131.249 +104.27.131.46 +104.27.131.65 +104.27.131.81 +104.27.132.141 +104.27.132.144 +104.27.132.18 +104.27.132.184 +104.27.132.187 +104.27.132.59 +104.27.132.61 +104.27.133.141 +104.27.133.144 +104.27.133.18 +104.27.133.184 +104.27.133.187 +104.27.133.59 +104.27.133.61 +104.27.134.114 +104.27.134.125 +104.27.134.128 +104.27.134.139 +104.27.134.156 +104.27.134.161 +104.27.134.21 +104.27.134.214 +104.27.134.40 +104.27.134.91 +104.27.135.114 +104.27.135.125 +104.27.135.128 +104.27.135.139 +104.27.135.156 +104.27.135.161 +104.27.135.21 +104.27.135.214 +104.27.135.40 +104.27.135.91 +104.27.136.156 +104.27.136.16 +104.27.136.165 +104.27.136.51 +104.27.136.53 +104.27.137.156 +104.27.137.16 +104.27.137.165 +104.27.137.51 +104.27.137.53 +104.27.138.119 +104.27.138.146 +104.27.138.157 +104.27.138.17 +104.27.138.184 +104.27.138.214 +104.27.138.254 +104.27.138.27 +104.27.138.6 +104.27.139.119 +104.27.139.146 +104.27.139.157 +104.27.139.17 +104.27.139.184 +104.27.139.214 +104.27.139.254 +104.27.139.27 +104.27.139.6 +104.27.140.117 +104.27.140.122 +104.27.140.16 +104.27.140.36 +104.27.140.64 +104.27.140.86 +104.27.141.117 +104.27.141.122 +104.27.141.16 +104.27.141.36 +104.27.141.64 +104.27.141.86 +104.27.142.124 +104.27.142.148 +104.27.142.2 +104.27.142.204 +104.27.143.124 +104.27.143.148 +104.27.143.2 +104.27.143.204 +104.27.144.124 +104.27.144.132 +104.27.144.160 +104.27.144.185 +104.27.144.19 +104.27.144.200 +104.27.144.209 +104.27.144.219 +104.27.144.239 +104.27.144.26 +104.27.144.57 +104.27.145.124 +104.27.145.132 +104.27.145.160 +104.27.145.185 +104.27.145.19 +104.27.145.200 +104.27.145.209 +104.27.145.219 +104.27.145.239 +104.27.145.26 +104.27.145.57 +104.27.146.174 +104.27.146.22 +104.27.146.33 +104.27.146.35 +104.27.146.49 +104.27.147.174 +104.27.147.22 +104.27.147.33 +104.27.147.35 +104.27.147.49 +104.27.148.103 +104.27.148.118 +104.27.148.127 +104.27.148.15 +104.27.148.162 +104.27.148.175 +104.27.148.185 +104.27.148.215 +104.27.148.239 +104.27.148.244 +104.27.149.103 +104.27.149.118 +104.27.149.127 +104.27.149.15 +104.27.149.162 +104.27.149.175 +104.27.149.185 +104.27.149.215 +104.27.149.239 +104.27.149.244 +104.27.150.113 +104.27.150.117 +104.27.150.152 +104.27.150.202 +104.27.150.236 +104.27.150.48 +104.27.150.49 +104.27.150.67 +104.27.150.68 +104.27.150.97 +104.27.150.99 +104.27.151.113 +104.27.151.117 +104.27.151.152 +104.27.151.202 +104.27.151.236 +104.27.151.48 +104.27.151.49 +104.27.151.67 +104.27.151.68 +104.27.151.97 +104.27.151.99 +104.27.152.124 +104.27.152.206 +104.27.152.222 +104.27.152.226 +104.27.152.77 +104.27.152.80 +104.27.152.96 +104.27.153.124 +104.27.153.206 +104.27.153.222 +104.27.153.226 +104.27.153.77 +104.27.153.80 +104.27.153.96 +104.27.154.186 +104.27.154.217 +104.27.154.4 +104.27.154.51 +104.27.154.58 +104.27.155.186 +104.27.155.217 +104.27.155.4 +104.27.155.51 +104.27.155.58 +104.27.156.122 +104.27.156.131 +104.27.156.204 +104.27.156.21 +104.27.156.234 +104.27.156.44 +104.27.156.71 +104.27.156.90 +104.27.157.122 +104.27.157.131 +104.27.157.204 +104.27.157.21 +104.27.157.234 +104.27.157.44 +104.27.157.71 +104.27.157.90 +104.27.158.108 +104.27.158.146 +104.27.158.215 +104.27.158.76 +104.27.158.97 +104.27.159.108 +104.27.159.146 +104.27.159.215 +104.27.159.76 +104.27.159.97 +104.27.160.119 +104.27.160.123 +104.27.160.151 +104.27.160.197 +104.27.160.205 +104.27.160.78 +104.27.161.119 +104.27.161.123 +104.27.161.151 +104.27.161.197 +104.27.161.205 +104.27.161.78 +104.27.162.115 +104.27.162.117 +104.27.162.137 +104.27.162.19 +104.27.162.204 +104.27.162.208 +104.27.162.226 +104.27.162.38 +104.27.162.7 +104.27.163.115 +104.27.163.117 +104.27.163.137 +104.27.163.19 +104.27.163.204 +104.27.163.208 +104.27.163.226 +104.27.163.38 +104.27.163.7 +104.27.164.115 +104.27.164.126 +104.27.164.144 +104.27.164.156 +104.27.164.198 +104.27.164.206 +104.27.165.115 +104.27.165.126 +104.27.165.144 +104.27.165.156 +104.27.165.198 +104.27.165.206 +104.27.166.118 +104.27.166.128 +104.27.166.150 +104.27.166.222 +104.27.166.24 +104.27.166.44 +104.27.166.83 +104.27.167.118 +104.27.167.128 +104.27.167.150 +104.27.167.222 +104.27.167.24 +104.27.167.44 +104.27.167.83 +104.27.168.105 +104.27.168.132 +104.27.168.18 +104.27.168.225 +104.27.168.254 +104.27.168.35 +104.27.168.39 +104.27.168.6 +104.27.169.105 +104.27.169.132 +104.27.169.18 +104.27.169.225 +104.27.169.254 +104.27.169.35 +104.27.169.39 +104.27.169.6 +104.27.170.128 +104.27.170.185 +104.27.170.205 +104.27.170.216 +104.27.170.249 +104.27.170.36 +104.27.170.39 +104.27.171.128 +104.27.171.185 +104.27.171.205 +104.27.171.216 +104.27.171.249 +104.27.171.36 +104.27.171.39 +104.27.172.125 +104.27.172.130 +104.27.172.151 +104.27.172.156 +104.27.172.179 +104.27.172.209 +104.27.172.236 +104.27.172.245 +104.27.172.45 +104.27.172.48 +104.27.172.6 +104.27.173.125 +104.27.173.130 +104.27.173.151 +104.27.173.156 +104.27.173.179 +104.27.173.209 +104.27.173.236 +104.27.173.245 +104.27.173.45 +104.27.173.48 +104.27.173.6 +104.27.174.153 +104.27.174.160 +104.27.174.164 +104.27.174.166 +104.27.174.185 +104.27.174.228 +104.27.174.25 +104.27.174.31 +104.27.174.67 +104.27.174.90 +104.27.175.153 +104.27.175.160 +104.27.175.164 +104.27.175.166 +104.27.175.185 +104.27.175.228 +104.27.175.25 +104.27.175.31 +104.27.175.67 +104.27.175.90 +104.27.176.184 +104.27.176.218 +104.27.176.27 +104.27.176.84 +104.27.177.184 +104.27.177.218 +104.27.177.27 +104.27.177.84 +104.27.178.137 +104.27.178.179 +104.27.178.186 +104.27.178.197 +104.27.178.233 +104.27.178.34 +104.27.178.58 +104.27.179.137 +104.27.179.179 +104.27.179.186 +104.27.179.197 +104.27.179.233 +104.27.179.34 +104.27.179.58 +104.27.180.107 +104.27.180.147 +104.27.180.159 +104.27.180.182 +104.27.180.190 +104.27.180.20 +104.27.180.3 +104.27.180.33 +104.27.180.38 +104.27.181.107 +104.27.181.147 +104.27.181.159 +104.27.181.182 +104.27.181.190 +104.27.181.20 +104.27.181.3 +104.27.181.33 +104.27.181.38 +104.27.182.155 +104.27.182.157 +104.27.182.172 +104.27.182.183 +104.27.182.226 +104.27.182.227 +104.27.182.229 +104.27.182.233 +104.27.182.243 +104.27.182.37 +104.27.182.78 +104.27.182.96 +104.27.183.155 +104.27.183.157 +104.27.183.172 +104.27.183.183 +104.27.183.226 +104.27.183.227 +104.27.183.229 +104.27.183.233 +104.27.183.243 +104.27.183.37 +104.27.183.78 +104.27.183.96 +104.27.184.239 +104.27.184.4 +104.27.184.82 +104.27.184.87 +104.27.185.239 +104.27.185.4 +104.27.185.82 +104.27.185.87 +104.27.186.150 +104.27.186.241 +104.27.186.39 +104.27.186.40 +104.27.186.49 +104.27.186.68 +104.27.186.70 +104.27.186.98 +104.27.187.150 +104.27.187.241 +104.27.187.39 +104.27.187.40 +104.27.187.49 +104.27.187.68 +104.27.187.70 +104.27.187.98 +104.27.188.10 +104.27.188.105 +104.27.188.11 +104.27.188.114 +104.27.188.169 +104.27.188.247 +104.27.188.33 +104.27.188.70 +104.27.188.72 +104.27.188.74 +104.27.189.10 +104.27.189.105 +104.27.189.11 +104.27.189.114 +104.27.189.169 +104.27.189.247 +104.27.189.33 +104.27.189.70 +104.27.189.72 +104.27.189.74 +104.27.190.111 +104.27.190.142 +104.27.190.15 +104.27.190.170 +104.27.190.179 +104.27.190.226 +104.27.190.250 +104.27.190.46 +104.27.190.54 +104.27.190.56 +104.27.190.57 +104.27.191.111 +104.27.191.142 +104.27.191.15 +104.27.191.170 +104.27.191.179 +104.27.191.226 +104.27.191.250 +104.27.191.46 +104.27.191.54 +104.27.191.56 +104.27.191.57 +104.28.0.102 +104.28.0.115 +104.28.0.121 +104.28.0.138 +104.28.0.14 +104.28.0.141 +104.28.0.164 +104.28.0.168 +104.28.0.170 +104.28.0.236 +104.28.0.27 +104.28.0.28 +104.28.0.30 +104.28.0.32 +104.28.0.37 +104.28.0.48 +104.28.0.64 +104.28.0.7 +104.28.0.70 +104.28.0.74 +104.28.0.77 +104.28.0.8 +104.28.0.81 +104.28.0.83 +104.28.0.84 +104.28.0.87 +104.28.0.89 +104.28.0.92 +104.28.0.99 +104.28.1.102 +104.28.1.115 +104.28.1.121 +104.28.1.138 +104.28.1.14 +104.28.1.141 +104.28.1.164 +104.28.1.168 +104.28.1.170 +104.28.1.236 +104.28.1.27 +104.28.1.28 +104.28.1.30 +104.28.1.32 +104.28.1.37 +104.28.1.48 +104.28.1.64 +104.28.1.7 +104.28.1.70 +104.28.1.74 +104.28.1.77 +104.28.1.8 +104.28.1.81 +104.28.1.83 +104.28.1.84 +104.28.1.87 +104.28.1.89 +104.28.1.92 +104.28.1.99 +104.28.10.107 +104.28.10.108 +104.28.10.109 +104.28.10.110 +104.28.10.116 +104.28.10.117 +104.28.10.12 +104.28.10.122 +104.28.10.124 +104.28.10.159 +104.28.10.165 +104.28.10.169 +104.28.10.17 +104.28.10.175 +104.28.10.2 +104.28.10.27 +104.28.10.3 +104.28.10.32 +104.28.10.4 +104.28.10.47 +104.28.10.48 +104.28.10.5 +104.28.10.53 +104.28.10.55 +104.28.10.57 +104.28.10.63 +104.28.10.64 +104.28.10.65 +104.28.10.70 +104.28.10.71 +104.28.10.78 +104.28.10.84 +104.28.10.85 +104.28.10.88 +104.28.10.89 +104.28.10.9 +104.28.10.92 +104.28.10.94 +104.28.11.107 +104.28.11.108 +104.28.11.109 +104.28.11.110 +104.28.11.116 +104.28.11.117 +104.28.11.12 +104.28.11.122 +104.28.11.124 +104.28.11.159 +104.28.11.165 +104.28.11.169 +104.28.11.17 +104.28.11.175 +104.28.11.2 +104.28.11.27 +104.28.11.3 +104.28.11.32 +104.28.11.4 +104.28.11.47 +104.28.11.48 +104.28.11.5 +104.28.11.53 +104.28.11.55 +104.28.11.57 +104.28.11.63 +104.28.11.64 +104.28.11.65 +104.28.11.70 +104.28.11.71 +104.28.11.78 +104.28.11.84 +104.28.11.85 +104.28.11.88 +104.28.11.89 +104.28.11.9 +104.28.11.92 +104.28.11.94 +104.28.12.100 +104.28.12.105 +104.28.12.108 +104.28.12.110 +104.28.12.112 +104.28.12.117 +104.28.12.12 +104.28.12.124 +104.28.12.135 +104.28.12.15 +104.28.12.18 +104.28.12.185 +104.28.12.189 +104.28.12.25 +104.28.12.27 +104.28.12.3 +104.28.12.34 +104.28.12.37 +104.28.12.39 +104.28.12.48 +104.28.12.52 +104.28.12.54 +104.28.12.59 +104.28.12.60 +104.28.12.69 +104.28.12.76 +104.28.12.8 +104.28.12.87 +104.28.12.94 +104.28.12.95 +104.28.12.99 +104.28.13.100 +104.28.13.105 +104.28.13.108 +104.28.13.110 +104.28.13.112 +104.28.13.117 +104.28.13.12 +104.28.13.124 +104.28.13.135 +104.28.13.15 +104.28.13.18 +104.28.13.185 +104.28.13.189 +104.28.13.25 +104.28.13.27 +104.28.13.3 +104.28.13.34 +104.28.13.37 +104.28.13.39 +104.28.13.48 +104.28.13.52 +104.28.13.54 +104.28.13.59 +104.28.13.60 +104.28.13.69 +104.28.13.76 +104.28.13.8 +104.28.13.87 +104.28.13.94 +104.28.13.95 +104.28.13.99 +104.28.14.112 +104.28.14.12 +104.28.14.122 +104.28.14.124 +104.28.14.147 +104.28.14.196 +104.28.14.214 +104.28.14.22 +104.28.14.3 +104.28.14.42 +104.28.14.43 +104.28.14.44 +104.28.14.5 +104.28.14.50 +104.28.14.68 +104.28.14.69 +104.28.14.76 +104.28.14.78 +104.28.14.82 +104.28.14.92 +104.28.14.95 +104.28.14.98 +104.28.15.112 +104.28.15.12 +104.28.15.122 +104.28.15.124 +104.28.15.147 +104.28.15.196 +104.28.15.214 +104.28.15.22 +104.28.15.3 +104.28.15.42 +104.28.15.43 +104.28.15.44 +104.28.15.5 +104.28.15.50 +104.28.15.68 +104.28.15.69 +104.28.15.76 +104.28.15.78 +104.28.15.82 +104.28.15.92 +104.28.15.95 +104.28.15.98 +104.28.16.10 +104.28.16.104 +104.28.16.113 +104.28.16.115 +104.28.16.125 +104.28.16.134 +104.28.16.166 +104.28.16.175 +104.28.16.23 +104.28.16.32 +104.28.16.39 +104.28.16.42 +104.28.16.5 +104.28.16.61 +104.28.16.66 +104.28.16.7 +104.28.16.70 +104.28.16.71 +104.28.16.73 +104.28.16.74 +104.28.16.82 +104.28.16.89 +104.28.16.93 +104.28.16.99 +104.28.17.10 +104.28.17.104 +104.28.17.113 +104.28.17.115 +104.28.17.125 +104.28.17.134 +104.28.17.166 +104.28.17.175 +104.28.17.23 +104.28.17.32 +104.28.17.39 +104.28.17.42 +104.28.17.5 +104.28.17.61 +104.28.17.66 +104.28.17.7 +104.28.17.70 +104.28.17.71 +104.28.17.73 +104.28.17.74 +104.28.17.82 +104.28.17.89 +104.28.17.93 +104.28.17.99 +104.28.18.117 +104.28.18.118 +104.28.18.123 +104.28.18.183 +104.28.18.187 +104.28.18.189 +104.28.18.22 +104.28.18.25 +104.28.18.29 +104.28.18.31 +104.28.18.40 +104.28.18.42 +104.28.18.46 +104.28.18.48 +104.28.18.55 +104.28.18.59 +104.28.18.6 +104.28.18.60 +104.28.18.61 +104.28.18.74 +104.28.18.76 +104.28.18.81 +104.28.18.84 +104.28.18.90 +104.28.18.95 +104.28.18.98 +104.28.19.117 +104.28.19.118 +104.28.19.123 +104.28.19.183 +104.28.19.187 +104.28.19.189 +104.28.19.22 +104.28.19.25 +104.28.19.29 +104.28.19.31 +104.28.19.40 +104.28.19.42 +104.28.19.46 +104.28.19.48 +104.28.19.55 +104.28.19.59 +104.28.19.6 +104.28.19.60 +104.28.19.61 +104.28.19.74 +104.28.19.76 +104.28.19.81 +104.28.19.84 +104.28.19.90 +104.28.19.95 +104.28.19.98 +104.28.2.106 +104.28.2.110 +104.28.2.112 +104.28.2.121 +104.28.2.122 +104.28.2.123 +104.28.2.125 +104.28.2.15 +104.28.2.184 +104.28.2.2 +104.28.2.21 +104.28.2.23 +104.28.2.24 +104.28.2.247 +104.28.2.30 +104.28.2.38 +104.28.2.47 +104.28.2.48 +104.28.2.55 +104.28.2.57 +104.28.2.58 +104.28.2.63 +104.28.2.64 +104.28.2.65 +104.28.2.69 +104.28.2.7 +104.28.2.72 +104.28.2.89 +104.28.2.92 +104.28.2.93 +104.28.2.95 +104.28.2.98 +104.28.20.105 +104.28.20.118 +104.28.20.13 +104.28.20.158 +104.28.20.208 +104.28.20.210 +104.28.20.242 +104.28.20.29 +104.28.20.33 +104.28.20.34 +104.28.20.36 +104.28.20.37 +104.28.20.38 +104.28.20.4 +104.28.20.40 +104.28.20.46 +104.28.20.48 +104.28.20.61 +104.28.20.72 +104.28.20.76 +104.28.20.77 +104.28.20.78 +104.28.20.79 +104.28.20.8 +104.28.20.87 +104.28.20.95 +104.28.20.96 +104.28.20.97 +104.28.21.105 +104.28.21.118 +104.28.21.13 +104.28.21.158 +104.28.21.208 +104.28.21.210 +104.28.21.242 +104.28.21.29 +104.28.21.33 +104.28.21.34 +104.28.21.36 +104.28.21.37 +104.28.21.38 +104.28.21.4 +104.28.21.40 +104.28.21.46 +104.28.21.48 +104.28.21.61 +104.28.21.72 +104.28.21.76 +104.28.21.77 +104.28.21.78 +104.28.21.79 +104.28.21.8 +104.28.21.87 +104.28.21.95 +104.28.21.96 +104.28.21.97 +104.28.22.104 +104.28.22.109 +104.28.22.114 +104.28.22.119 +104.28.22.126 +104.28.22.13 +104.28.22.165 +104.28.22.174 +104.28.22.218 +104.28.22.230 +104.28.22.28 +104.28.22.29 +104.28.22.33 +104.28.22.44 +104.28.22.49 +104.28.22.50 +104.28.22.52 +104.28.22.6 +104.28.22.62 +104.28.22.70 +104.28.22.75 +104.28.22.78 +104.28.22.79 +104.28.22.93 +104.28.22.94 +104.28.23.104 +104.28.23.109 +104.28.23.114 +104.28.23.119 +104.28.23.126 +104.28.23.13 +104.28.23.165 +104.28.23.174 +104.28.23.218 +104.28.23.230 +104.28.23.28 +104.28.23.29 +104.28.23.33 +104.28.23.44 +104.28.23.49 +104.28.23.50 +104.28.23.52 +104.28.23.6 +104.28.23.62 +104.28.23.70 +104.28.23.75 +104.28.23.78 +104.28.23.79 +104.28.23.93 +104.28.23.94 +104.28.24.118 +104.28.24.12 +104.28.24.123 +104.28.24.125 +104.28.24.137 +104.28.24.14 +104.28.24.16 +104.28.24.17 +104.28.24.214 +104.28.24.232 +104.28.24.248 +104.28.24.26 +104.28.24.32 +104.28.24.34 +104.28.24.38 +104.28.24.4 +104.28.24.41 +104.28.24.42 +104.28.24.47 +104.28.24.50 +104.28.24.54 +104.28.24.65 +104.28.24.67 +104.28.24.70 +104.28.24.77 +104.28.24.79 +104.28.24.80 +104.28.24.83 +104.28.25.118 +104.28.25.12 +104.28.25.123 +104.28.25.125 +104.28.25.137 +104.28.25.14 +104.28.25.16 +104.28.25.17 +104.28.25.214 +104.28.25.232 +104.28.25.248 +104.28.25.26 +104.28.25.32 +104.28.25.34 +104.28.25.38 +104.28.25.4 +104.28.25.41 +104.28.25.42 +104.28.25.47 +104.28.25.50 +104.28.25.54 +104.28.25.65 +104.28.25.67 +104.28.25.70 +104.28.25.77 +104.28.25.79 +104.28.25.80 +104.28.25.83 +104.28.26.10 +104.28.26.102 +104.28.26.103 +104.28.26.108 +104.28.26.113 +104.28.26.120 +104.28.26.13 +104.28.26.15 +104.28.26.164 +104.28.26.167 +104.28.26.175 +104.28.26.19 +104.28.26.20 +104.28.26.208 +104.28.26.226 +104.28.26.242 +104.28.26.245 +104.28.26.249 +104.28.26.253 +104.28.26.26 +104.28.26.29 +104.28.26.31 +104.28.26.38 +104.28.26.40 +104.28.26.6 +104.28.26.77 +104.28.26.83 +104.28.26.87 +104.28.26.95 +104.28.26.99 +104.28.27.10 +104.28.27.102 +104.28.27.103 +104.28.27.108 +104.28.27.113 +104.28.27.120 +104.28.27.13 +104.28.27.15 +104.28.27.164 +104.28.27.167 +104.28.27.175 +104.28.27.19 +104.28.27.20 +104.28.27.208 +104.28.27.226 +104.28.27.242 +104.28.27.245 +104.28.27.249 +104.28.27.253 +104.28.27.26 +104.28.27.29 +104.28.27.31 +104.28.27.38 +104.28.27.40 +104.28.27.6 +104.28.27.77 +104.28.27.83 +104.28.27.87 +104.28.27.95 +104.28.27.99 +104.28.28.100 +104.28.28.109 +104.28.28.11 +104.28.28.111 +104.28.28.12 +104.28.28.123 +104.28.28.13 +104.28.28.193 +104.28.28.198 +104.28.28.205 +104.28.28.213 +104.28.28.22 +104.28.28.25 +104.28.28.251 +104.28.28.35 +104.28.28.37 +104.28.28.43 +104.28.28.44 +104.28.28.47 +104.28.28.49 +104.28.28.50 +104.28.28.66 +104.28.28.70 +104.28.28.71 +104.28.28.77 +104.28.28.91 +104.28.28.99 +104.28.29.100 +104.28.29.109 +104.28.29.11 +104.28.29.111 +104.28.29.12 +104.28.29.123 +104.28.29.13 +104.28.29.193 +104.28.29.198 +104.28.29.205 +104.28.29.213 +104.28.29.22 +104.28.29.25 +104.28.29.251 +104.28.29.35 +104.28.29.37 +104.28.29.43 +104.28.29.44 +104.28.29.47 +104.28.29.49 +104.28.29.50 +104.28.29.66 +104.28.29.70 +104.28.29.71 +104.28.29.77 +104.28.29.91 +104.28.29.99 +104.28.3.106 +104.28.3.110 +104.28.3.112 +104.28.3.121 +104.28.3.122 +104.28.3.123 +104.28.3.125 +104.28.3.15 +104.28.3.184 +104.28.3.2 +104.28.3.21 +104.28.3.23 +104.28.3.24 +104.28.3.247 +104.28.3.30 +104.28.3.38 +104.28.3.47 +104.28.3.48 +104.28.3.55 +104.28.3.57 +104.28.3.58 +104.28.3.63 +104.28.3.64 +104.28.3.65 +104.28.3.69 +104.28.3.7 +104.28.3.72 +104.28.3.89 +104.28.3.92 +104.28.3.93 +104.28.3.95 +104.28.3.98 +104.28.30.101 +104.28.30.104 +104.28.30.106 +104.28.30.116 +104.28.30.117 +104.28.30.120 +104.28.30.121 +104.28.30.14 +104.28.30.157 +104.28.30.17 +104.28.30.185 +104.28.30.198 +104.28.30.207 +104.28.30.209 +104.28.30.21 +104.28.30.212 +104.28.30.24 +104.28.30.242 +104.28.30.251 +104.28.30.27 +104.28.30.29 +104.28.30.35 +104.28.30.37 +104.28.30.38 +104.28.30.4 +104.28.30.44 +104.28.30.49 +104.28.30.51 +104.28.30.64 +104.28.30.65 +104.28.30.70 +104.28.30.72 +104.28.30.79 +104.28.30.8 +104.28.30.80 +104.28.30.81 +104.28.30.88 +104.28.30.90 +104.28.30.93 +104.28.31.101 +104.28.31.104 +104.28.31.106 +104.28.31.116 +104.28.31.117 +104.28.31.120 +104.28.31.121 +104.28.31.14 +104.28.31.157 +104.28.31.17 +104.28.31.185 +104.28.31.198 +104.28.31.207 +104.28.31.209 +104.28.31.21 +104.28.31.212 +104.28.31.24 +104.28.31.242 +104.28.31.251 +104.28.31.27 +104.28.31.29 +104.28.31.35 +104.28.31.37 +104.28.31.38 +104.28.31.4 +104.28.31.44 +104.28.31.49 +104.28.31.51 +104.28.31.64 +104.28.31.65 +104.28.31.70 +104.28.31.72 +104.28.31.79 +104.28.31.8 +104.28.31.80 +104.28.31.81 +104.28.31.88 +104.28.31.90 +104.28.31.93 +104.28.4.102 +104.28.4.11 +104.28.4.112 +104.28.4.116 +104.28.4.123 +104.28.4.130 +104.28.4.143 +104.28.4.18 +104.28.4.180 +104.28.4.184 +104.28.4.206 +104.28.4.22 +104.28.4.243 +104.28.4.27 +104.28.4.28 +104.28.4.31 +104.28.4.33 +104.28.4.34 +104.28.4.38 +104.28.4.39 +104.28.4.44 +104.28.4.50 +104.28.4.57 +104.28.4.60 +104.28.4.61 +104.28.4.67 +104.28.4.70 +104.28.4.80 +104.28.4.81 +104.28.4.88 +104.28.4.91 +104.28.4.92 +104.28.4.93 +104.28.5.102 +104.28.5.11 +104.28.5.112 +104.28.5.116 +104.28.5.123 +104.28.5.130 +104.28.5.143 +104.28.5.18 +104.28.5.180 +104.28.5.184 +104.28.5.206 +104.28.5.22 +104.28.5.243 +104.28.5.27 +104.28.5.28 +104.28.5.31 +104.28.5.33 +104.28.5.34 +104.28.5.38 +104.28.5.39 +104.28.5.44 +104.28.5.50 +104.28.5.57 +104.28.5.60 +104.28.5.61 +104.28.5.67 +104.28.5.70 +104.28.5.80 +104.28.5.81 +104.28.5.88 +104.28.5.91 +104.28.5.92 +104.28.5.93 +104.28.6.105 +104.28.6.107 +104.28.6.128 +104.28.6.17 +104.28.6.176 +104.28.6.179 +104.28.6.19 +104.28.6.190 +104.28.6.212 +104.28.6.22 +104.28.6.233 +104.28.6.26 +104.28.6.35 +104.28.6.36 +104.28.6.40 +104.28.6.46 +104.28.6.53 +104.28.6.56 +104.28.6.58 +104.28.6.63 +104.28.6.65 +104.28.6.67 +104.28.6.70 +104.28.6.81 +104.28.6.89 +104.28.6.9 +104.28.6.90 +104.28.6.91 +104.28.6.93 +104.28.6.98 +104.28.6.99 +104.28.7.105 +104.28.7.107 +104.28.7.128 +104.28.7.17 +104.28.7.176 +104.28.7.179 +104.28.7.19 +104.28.7.190 +104.28.7.212 +104.28.7.22 +104.28.7.233 +104.28.7.26 +104.28.7.35 +104.28.7.36 +104.28.7.40 +104.28.7.46 +104.28.7.53 +104.28.7.56 +104.28.7.58 +104.28.7.63 +104.28.7.65 +104.28.7.67 +104.28.7.70 +104.28.7.81 +104.28.7.89 +104.28.7.9 +104.28.7.90 +104.28.7.91 +104.28.7.93 +104.28.7.98 +104.28.7.99 +104.28.8.104 +104.28.8.110 +104.28.8.111 +104.28.8.118 +104.28.8.120 +104.28.8.150 +104.28.8.154 +104.28.8.167 +104.28.8.17 +104.28.8.190 +104.28.8.2 +104.28.8.23 +104.28.8.233 +104.28.8.32 +104.28.8.40 +104.28.8.41 +104.28.8.46 +104.28.8.47 +104.28.8.49 +104.28.8.5 +104.28.8.50 +104.28.8.52 +104.28.8.57 +104.28.8.64 +104.28.8.68 +104.28.8.73 +104.28.8.75 +104.28.8.79 +104.28.8.82 +104.28.8.85 +104.28.8.87 +104.28.8.89 +104.28.8.92 +104.28.8.96 +104.28.8.99 +104.28.9.104 +104.28.9.110 +104.28.9.111 +104.28.9.118 +104.28.9.120 +104.28.9.150 +104.28.9.154 +104.28.9.167 +104.28.9.17 +104.28.9.190 +104.28.9.2 +104.28.9.23 +104.28.9.233 +104.28.9.32 +104.28.9.40 +104.28.9.41 +104.28.9.46 +104.28.9.47 +104.28.9.49 +104.28.9.5 +104.28.9.50 +104.28.9.52 +104.28.9.57 +104.28.9.64 +104.28.9.68 +104.28.9.73 +104.28.9.75 +104.28.9.79 +104.28.9.82 +104.28.9.85 +104.28.9.87 +104.28.9.89 +104.28.9.92 +104.28.9.96 +104.28.9.99 +104.31.218.5 +104.31.219.5 +104.31.234.2 +104.31.235.2 +104.31.250.4 +104.31.251.4 +104.31.64.159 +104.31.64.181 +104.31.64.184 +104.31.64.19 +104.31.64.248 +104.31.65.159 +104.31.65.181 +104.31.65.184 +104.31.65.19 +104.31.65.248 +104.31.66.1 +104.31.66.125 +104.31.66.159 +104.31.66.181 +104.31.66.232 +104.31.66.249 +104.31.66.55 +104.31.67.1 +104.31.67.125 +104.31.67.159 +104.31.67.181 +104.31.67.232 +104.31.67.249 +104.31.67.55 +104.31.68.110 +104.31.68.135 +104.31.68.152 +104.31.68.55 +104.31.68.72 +104.31.69.110 +104.31.69.135 +104.31.69.152 +104.31.69.55 +104.31.69.72 +104.31.70.110 +104.31.70.113 +104.31.70.135 +104.31.70.159 +104.31.70.178 +104.31.70.233 +104.31.70.250 +104.31.70.47 +104.31.71.110 +104.31.71.113 +104.31.71.135 +104.31.71.159 +104.31.71.178 +104.31.71.233 +104.31.71.250 +104.31.71.47 +104.31.72.104 +104.31.72.155 +104.31.72.219 +104.31.72.229 +104.31.72.230 +104.31.72.236 +104.31.72.78 +104.31.73.104 +104.31.73.155 +104.31.73.219 +104.31.73.229 +104.31.73.230 +104.31.73.236 +104.31.73.78 +104.31.74.130 +104.31.74.146 +104.31.74.163 +104.31.74.183 +104.31.74.206 +104.31.74.218 +104.31.74.29 +104.31.74.33 +104.31.74.72 +104.31.75.130 +104.31.75.146 +104.31.75.163 +104.31.75.183 +104.31.75.206 +104.31.75.218 +104.31.75.29 +104.31.75.33 +104.31.75.72 +104.31.76.143 +104.31.76.16 +104.31.76.56 +104.31.77.143 +104.31.77.16 +104.31.77.56 +104.31.78.157 +104.31.78.204 +104.31.78.221 +104.31.78.230 +104.31.78.3 +104.31.78.53 +104.31.79.157 +104.31.79.204 +104.31.79.221 +104.31.79.230 +104.31.79.3 +104.31.79.53 +104.31.80.114 +104.31.80.128 +104.31.80.133 +104.31.80.165 +104.31.80.181 +104.31.80.187 +104.31.80.203 +104.31.80.217 +104.31.80.226 +104.31.80.236 +104.31.80.34 +104.31.80.91 +104.31.81.114 +104.31.81.128 +104.31.81.133 +104.31.81.165 +104.31.81.181 +104.31.81.187 +104.31.81.203 +104.31.81.217 +104.31.81.226 +104.31.81.236 +104.31.81.34 +104.31.81.91 +104.31.82.144 +104.31.82.177 +104.31.82.195 +104.31.82.21 +104.31.82.218 +104.31.82.219 +104.31.82.233 +104.31.83.144 +104.31.83.177 +104.31.83.195 +104.31.83.21 +104.31.83.218 +104.31.83.219 +104.31.83.233 +104.31.84.103 +104.31.84.147 +104.31.84.17 +104.31.84.245 +104.31.84.55 +104.31.84.71 +104.31.84.77 +104.31.84.85 +104.31.84.86 +104.31.84.88 +104.31.85.103 +104.31.85.147 +104.31.85.17 +104.31.85.245 +104.31.85.55 +104.31.85.71 +104.31.85.77 +104.31.85.85 +104.31.85.86 +104.31.85.88 +104.31.86.137 +104.31.86.144 +104.31.86.145 +104.31.86.15 +104.31.86.197 +104.31.86.33 +104.31.86.57 +104.31.86.95 +104.31.87.137 +104.31.87.144 +104.31.87.145 +104.31.87.15 +104.31.87.197 +104.31.87.33 +104.31.87.57 +104.31.87.95 +104.31.88.174 +104.31.88.195 +104.31.88.200 +104.31.88.227 +104.31.88.229 +104.31.88.30 +104.31.88.83 +104.31.89.174 +104.31.89.195 +104.31.89.200 +104.31.89.227 +104.31.89.229 +104.31.89.30 +104.31.89.83 +104.31.90.117 +104.31.90.118 +104.31.90.152 +104.31.90.167 +104.31.90.186 +104.31.90.2 +104.31.90.223 +104.31.90.32 +104.31.90.34 +104.31.90.69 +104.31.90.95 +104.31.91.117 +104.31.91.118 +104.31.91.152 +104.31.91.167 +104.31.91.186 +104.31.91.2 +104.31.91.223 +104.31.91.32 +104.31.91.34 +104.31.91.69 +104.31.91.95 +104.31.92.100 +104.31.92.118 +104.31.92.21 +104.31.92.222 +104.31.92.226 +104.31.93.100 +104.31.93.118 +104.31.93.21 +104.31.93.222 +104.31.93.226 +104.31.94.101 +104.31.94.152 +104.31.94.164 +104.31.94.231 +104.31.94.51 +104.31.94.94 +104.31.95.101 +104.31.95.152 +104.31.95.164 +104.31.95.231 +104.31.95.51 +104.31.95.94 +104.37.35.66 +106.187.40.98 +107.150.35.6 +107.154.119.1 +107.154.119.6 +107.155.83.178 +107.161.179.162 +107.170.202.205 +107.178.244.221 +107.180.0.253 +107.180.25.1 +107.180.41.70 +107.180.50.178 +107.180.50.219 +107.180.6.205 +107.181.174.174 +107.182.165.158 +107.182.169.109 +107.182.169.18 +107.182.169.19 +107.182.170.6 +107.22.132.143 +107.22.177.171 +107.22.210.57 +107.22.228.147 +107.6.27.148 +108.161.135.114 +108.161.139.25 +108.161.140.101 +108.161.140.52 +108.161.189.232 +108.162.192.198 +108.162.193.198 +108.162.194.101 +108.162.194.147 +108.162.194.238 +108.162.195.101 +108.162.195.147 +108.162.195.238 +108.162.200.244 +108.162.200.70 +108.162.201.28 +108.162.202.28 +108.162.205.227 +108.162.205.45 +108.162.206.227 +108.162.206.45 +108.162.207.169 +108.163.198.2 +108.167.140.114 +108.168.207.129 +108.168.213.10 +108.170.50.194 +108.171.204.5 +108.178.48.234 +108.179.232.82 +108.179.235.107 +108.179.235.11 +108.186.21.134 +108.59.2.217 +108.59.9.10 +108.61.151.130 +108.61.189.253 +108.61.196.125 +108.61.24.5 +109.120.149.133 +109.123.113.112 +109.123.126.46 +109.123.78.75 +109.169.13.244 +109.169.26.74 +109.195.19.54 +109.200.0.101 +109.200.203.212 +109.200.26.10 +109.202.112.162 +109.202.113.181 +109.202.114.116 +109.202.114.71 +109.202.115.196 +109.202.115.205 +109.202.115.216 +109.202.115.218 +109.203.104.126 +109.203.104.30 +109.203.104.66 +109.203.111.135 +109.203.113.209 +109.203.113.226 +109.203.113.227 +109.203.113.44 +109.203.121.16 +109.205.64.10 +109.205.94.15 +109.205.94.19 +109.205.94.25 +109.205.94.28 +109.205.94.29 +109.205.94.30 +109.205.94.33 +109.205.94.36 +109.205.94.37 +109.205.94.39 +109.205.94.45 +109.205.94.47 +109.205.94.54 +109.205.94.60 +109.206.166.84 +109.206.166.85 +109.206.166.86 +109.206.167.101 +109.206.167.171 +109.206.167.234 +109.206.167.30 +109.206.167.34 +109.206.167.45 +109.206.171.142 +109.206.177.3 +109.206.177.91 +109.206.180.209 +109.206.181.10 +109.206.181.11 +109.206.181.12 +109.206.181.13 +109.206.181.14 +109.206.181.35 +109.206.181.9 +109.206.186.254 +109.206.188.22 +109.206.189.216 +109.206.189.249 +109.206.189.45 +109.206.190.34 +109.206.190.35 +109.207.200.202 +109.224.245.12 +109.224.245.14 +109.224.245.16 +109.234.109.20 +109.234.109.21 +109.234.32.193 +109.234.32.252 +109.235.149.151 +109.235.149.40 +109.236.83.72 +109.236.85.156 +109.236.85.159 +109.236.85.177 +109.236.85.178 +109.236.93.253 +109.236.94.157 +109.236.94.251 +109.237.134.28 +109.251.21.2 +109.69.58.58 +109.69.58.77 +109.72.82.130 +109.73.111.71 +109.73.238.252 +109.73.64.36 +109.73.78.188 +109.73.78.189 +109.74.198.240 +109.74.202.90 +109.75.167.175 +109.75.167.241 +109.75.167.243 +109.75.167.3 +109.75.167.92 +109.75.167.98 +109.75.169.158 +109.75.169.159 +109.86.115.141 +109.86.118.129 +109.86.92.39 +110.172.244.45 +110.34.163.82 +110.5.116.218 +110.92.25.69 +110.92.25.88 +111.221.108.96 +111.90.133.152 +112.175.243.11 +113.10.158.62 +113.10.166.235 +115.236.19.46 +117.28.255.16 +118.139.165.158 +119.147.25.63 +119.243.96.46 +119.254.17.36 +119.254.17.37 +119.254.17.73 +119.31.232.190 +119.31.232.200 +119.81.230.242 +119.90.54.230 +12.111.59.46 +12.206.244.145 +122.102.18.78 +122.102.18.88 +122.102.18.92 +122.218.59.91 +122.219.139.236 +123.126.98.146 +123.126.98.147 +123.126.98.148 +123.126.98.149 +123.126.98.150 +123.126.98.151 +123.254.111.184 +124.217.255.228 +125.100.44.212 +125.6.146.14 +125.6.190.4 +125.6.190.6 +128.199.156.213 +128.199.182.172 +128.199.51.248 +128.199.52.251 +128.199.61.56 +128.199.62.17 +128.204.207.49 +128.65.209.82 +128.65.210.130 +129.121.176.163 +129.121.229.118 +129.121.31.72 +129.232.161.138 +130.0.232.49 +130.117.78.77 +131.72.136.66 +131.72.136.72 +131.72.136.88 +131.72.139.177 +131.72.139.178 +131.72.139.211 +133.18.5.54 +133.242.11.142 +133.242.224.66 +133.242.23.96 +133.242.55.52 +134.213.145.197 +134.213.151.113 +134.213.151.64 +134.213.161.247 +134.213.162.173 +134.213.31.45 +134.213.63.30 +134.249.179.22 +134.25.4.140 +136.243.111.8 +136.243.121.74 +136.243.204.62 +136.243.224.58 +136.243.24.70 +136.243.253.129 +136.243.70.73 +138.91.0.30 +139.162.212.112 +14.141.112.70 +14.177.227.239 +141.0.173.172 +141.0.173.57 +141.0.174.34 +141.0.174.35 +141.0.174.36 +141.0.174.37 +141.0.174.38 +141.0.174.40 +141.0.174.41 +141.0.174.42 +141.0.174.43 +141.0.174.44 +141.101.112.153 +141.101.112.190 +141.101.113.153 +141.101.118.102 +141.101.118.103 +141.101.118.152 +141.101.118.153 +141.101.118.188 +141.101.118.189 +141.101.118.190 +141.101.118.191 +141.101.118.194 +141.101.118.195 +141.101.118.26 +141.101.118.27 +141.101.118.38 +141.101.118.39 +141.101.118.50 +141.101.118.51 +141.101.118.54 +141.101.118.55 +141.101.118.8 +141.101.118.9 +141.101.121.189 +141.101.121.190 +141.101.123.203 +141.101.124.169 +141.101.127.243 +141.101.127.69 +141.138.130.12 +141.138.130.91 +141.138.211.93 +141.8.224.239 +141.8.225.244 +141.8.225.63 +141.8.226.19 +141.8.230.20 +142.4.21.83 +142.4.212.101 +142.54.181.227 +143.95.247.91 +143.95.249.40 +143.95.251.90 +143.95.33.24 +143.95.38.40 +143.95.39.131 +143.95.96.208 +144.76.119.200 +144.76.154.199 +144.76.175.139 +144.76.185.245 +144.76.19.42 +144.76.235.59 +144.76.55.83 +144.76.69.239 +144.76.71.2 +144.76.76.29 +144.76.82.168 +144.76.92.200 +144.76.99.221 +146.0.75.172 +146.120.162.119 +146.120.162.121 +146.120.162.123 +146.120.162.124 +146.185.141.87 +146.185.145.85 +146.185.164.49 +146.185.173.251 +146.185.18.206 +146.185.239.29 +146.185.253.208 +146.185.253.218 +146.185.31.114 +146.255.36.1 +146.255.39.1 +146.255.46.1 +146.255.47.216 +148.251.113.33 +148.251.115.189 +148.251.140.111 +148.251.140.112 +148.251.154.166 +148.251.154.68 +148.251.155.235 +148.251.175.180 +148.251.20.15 +148.251.20.17 +148.251.251.130 +148.251.45.170 +148.251.65.110 +148.251.67.240 +148.251.8.17 +148.251.88.245 +148.251.91.196 +148.62.4.172 +149.126.77.104 +149.14.88.118 +149.202.118.180 +149.202.152.193 +149.202.17.160 +149.202.17.161 +149.202.251.58 +149.202.44.254 +149.202.60.242 +149.202.84.204 +149.202.9.179 +149.202.99.105 +149.202.99.106 +149.202.99.107 +149.202.99.108 +149.202.99.109 +149.202.99.110 +149.202.99.111 +149.202.99.208 +149.202.99.209 +149.202.99.210 +149.202.99.211 +149.202.99.212 +149.202.99.213 +149.202.99.214 +149.202.99.215 +149.202.99.232 +149.202.99.233 +149.210.139.24 +149.210.147.245 +149.210.193.80 +149.255.62.16 +149.62.172.72 +149.7.192.200 +149.7.192.221 +149.7.192.230 +149.91.84.3 +149.91.84.9 +151.236.7.251 +151.248.123.200 +151.248.4.117 +151.248.6.104 +151.249.89.239 +151.249.91.112 +151.249.91.124 +151.249.91.212 +151.249.91.215 +151.249.91.217 +151.249.91.218 +151.249.91.221 +151.249.91.222 +151.249.91.254 +151.249.91.35 +151.252.0.27 +151.252.1.18 +151.80.221.38 +151.80.42.125 +151.80.69.101 +151.80.96.75 +153.121.34.86 +153.122.22.137 +153.122.30.161 +153.122.30.221 +153.122.35.199 +153.122.35.47 +153.122.40.119 +153.122.46.15 +153.122.52.81 +153.122.98.190 +153.150.14.83 +153.232.231.38 +153.92.127.170 +155.94.65.142 +157.7.184.17 +157.7.188.164 +157.7.199.38 +158.69.100.131 +158.69.100.137 +158.69.114.155 +158.69.162.65 +158.69.24.76 +158.69.24.81 +158.69.25.99 +158.85.209.161 +158.85.220.21 +159.100.177.51 +159.148.168.97 +159.148.168.98 +159.148.92.106 +159.174.57.21 +159.203.100.210 +159.224.160.128 +159.253.0.105 +159.253.0.45 +159.253.0.80 +159.253.148.74 +159.253.219.15 +159.253.23.98 +159.8.95.7 +160.153.16.17 +160.16.107.42 +160.16.118.158 +160.78.48.152 +161.202.38.82 +162.13.155.229 +162.13.209.154 +162.13.219.204 +162.13.33.35 +162.13.61.23 +162.13.82.235 +162.144.115.230 +162.144.4.73 +162.144.52.81 +162.144.6.146 +162.159.240.39 +162.159.241.233 +162.159.241.33 +162.159.242.233 +162.159.242.33 +162.159.242.74 +162.159.243.74 +162.159.244.118 +162.159.245.118 +162.159.247.153 +162.159.248.114 +162.159.248.153 +162.159.248.174 +162.159.249.114 +162.159.249.174 +162.209.127.101 +162.209.67.105 +162.210.102.213 +162.210.48.52 +162.216.5.229 +162.217.145.66 +162.218.93.27 +162.219.26.43 +162.220.165.27 +162.220.6.2 +162.222.226.194 +162.243.133.63 +162.243.198.17 +162.243.221.214 +162.243.7.223 +162.243.97.71 +162.244.34.104 +162.244.34.159 +162.244.34.160 +162.244.34.162 +162.244.34.163 +162.244.34.189 +162.244.35.190 +162.244.35.4 +162.247.14.137 +162.247.14.187 +162.247.14.82 +162.247.152.111 +162.247.152.91 +162.247.152.96 +162.251.108.162 +162.251.108.8 +162.251.109.92 +162.251.110.53 +162.251.110.58 +162.251.110.99 +162.251.111.75 +162.252.158.74 +162.253.124.40 +162.253.126.144 +162.253.133.85 +162.255.85.38 +163.172.10.152 +163.172.13.56 +164.132.11.245 +164.132.11.246 +164.138.28.115 +166.62.10.58 +166.62.101.203 +166.62.13.1 +166.62.28.93 +166.62.28.95 +166.78.179.38 +167.114.0.112 +167.114.2.64 +167.114.203.162 +167.114.24.13 +167.114.24.19 +167.114.24.28 +167.114.24.57 +167.114.29.195 +167.114.3.250 +167.114.67.200 +167.88.116.131 +168.144.202.9 +168.144.67.90 +168.144.82.64 +168.144.97.155 +171.25.204.26 +172.99.89.194 +172.99.89.202 +173.192.139.27 +173.192.153.142 +173.192.64.150 +173.192.82.4 +173.192.98.92 +173.193.105.241 +173.193.106.12 +173.193.106.14 +173.193.143.66 +173.193.28.220 +173.194.219.132 +173.194.220.121 +173.194.220.197 +173.194.71.136 +173.194.71.190 +173.194.71.197 +173.194.71.91 +173.194.71.93 +173.201.223.1 +173.201.242.1 +173.214.190.21 +173.214.251.84 +173.224.123.123 +173.225.184.227 +173.236.182.128 +173.236.182.143 +173.236.186.159 +173.236.80.235 +173.243.125.174 +173.245.60.152 +173.245.60.154 +173.245.60.163 +173.245.61.152 +173.245.61.154 +173.245.61.163 +173.254.21.204 +173.254.28.104 +173.254.28.117 +173.254.28.173 +173.254.28.57 +173.45.173.211 +173.45.80.218 +173.8.167.186 +174.121.181.42 +174.127.110.239 +174.137.187.69 +174.137.187.89 +174.139.28.51 +174.142.113.206 +174.142.88.204 +174.35.71.109 +174.35.78.244 +174.35.78.248 +174.36.118.202 +174.36.239.110 +174.36.246.48 +174.36.51.119 +174.36.51.213 +174.36.69.76 +175.45.20.34 +176.103.51.245 +176.111.58.86 +176.111.63.170 +176.227.201.42 +176.227.213.18 +176.227.213.19 +176.31.133.79 +176.31.136.100 +176.31.145.72 +176.31.145.74 +176.31.179.191 +176.31.220.53 +176.31.25.159 +176.31.36.144 +176.31.36.146 +176.31.78.211 +176.31.83.15 +176.31.97.13 +176.56.231.107 +176.58.100.180 +176.58.104.136 +176.58.122.165 +176.58.122.71 +176.74.216.77 +176.9.36.108 +176.9.42.237 +176.9.62.200 +176.9.7.237 +176.9.91.52 +176.9.99.20 +176.99.11.212 +176.99.11.67 +177.135.166.57 +177.85.98.24 +178.124.131.170 +178.132.72.112 +178.132.72.125 +178.151.105.177 +178.159.243.59 +178.159.243.91 +178.159.244.161 +178.162.193.85 +178.162.194.147 +178.162.196.173 +178.162.201.98 +178.162.221.141 +178.162.221.191 +178.17.170.113 +178.17.170.155 +178.172.181.59 +178.172.236.64 +178.20.153.110 +178.20.153.37 +178.20.153.66 +178.20.153.7 +178.20.153.72 +178.20.153.80 +178.20.154.180 +178.20.155.130 +178.20.155.131 +178.20.157.159 +178.20.157.161 +178.208.80.62 +178.208.80.89 +178.208.81.125 +178.208.82.227 +178.208.84.13 +178.208.89.108 +178.208.91.140 +178.21.23.135 +178.21.23.192 +178.21.23.224 +178.210.173.10 +178.218.210.162 +178.238.138.33 +178.238.238.185 +178.238.92.161 +178.248.235.25 +178.251.24.168 +178.254.62.75 +178.32.140.194 +178.32.152.214 +178.32.173.109 +178.32.206.225 +178.32.211.238 +178.32.211.243 +178.32.53.63 +178.32.89.249 +178.32.89.251 +178.33.155.52 +178.33.180.47 +178.33.188.134 +178.33.192.164 +178.33.192.165 +178.33.192.166 +178.33.36.3 +178.33.37.225 +178.62.108.105 +178.62.136.222 +178.62.143.201 +178.62.148.251 +178.62.161.201 +178.62.164.10 +178.62.173.227 +178.62.180.244 +178.62.195.246 +178.62.198.67 +178.62.201.84 +178.62.205.77 +178.62.216.57 +178.62.219.13 +178.62.227.158 +178.62.230.10 +178.62.241.24 +178.62.250.70 +178.62.253.29 +178.62.255.132 +178.62.49.148 +178.62.5.160 +178.62.86.130 +178.63.48.16 +178.63.9.45 +178.63.9.8 +178.73.195.74 +178.73.237.60 +178.73.242.138 +178.73.242.140 +178.73.243.144 +178.73.245.139 +178.79.135.224 +178.79.140.30 +178.79.181.80 +178.79.213.102 +179.43.134.93 +179.43.143.44 +179.43.146.106 +179.43.147.122 +179.43.151.246 +179.43.151.252 +179.43.153.153 +179.48.248.96 +179.99.200.39 +180.131.50.88 +181.114.240.47 +181.174.167.13 +181.174.167.251 +181.193.2.70 +181.193.45.67 +181.215.236.206 +181.224.135.104 +181.224.136.154 +181.224.139.201 +181.224.147.231 +181.224.147.251 +181.224.147.33 +182.16.245.124 +182.171.247.135 +182.50.129.22 +184.106.122.14 +184.106.22.27 +184.107.154.236 +184.107.254.50 +184.107.76.30 +184.154.240.48 +184.154.52.138 +184.168.192.57 +184.168.204.1 +184.168.221.12 +184.168.221.15 +184.168.221.2 +184.168.221.20 +184.168.221.27 +184.168.221.4 +184.168.221.41 +184.168.221.43 +184.168.221.45 +184.168.221.64 +184.168.221.7 +184.168.221.75 +184.168.221.77 +184.168.221.96 +184.168.232.1 +184.168.47.225 +184.168.72.186 +184.170.131.183 +184.170.252.36 +184.171.251.122 +184.172.128.36 +184.173.119.34 +184.173.170.34 +184.24.204.87 +184.27.207.62 +184.86.49.251 +184.95.38.200 +185.10.208.81 +185.10.57.20 +185.10.57.21 +185.10.57.22 +185.10.57.23 +185.10.57.7 +185.100.85.150 +185.104.208.3 +185.104.45.32 +185.104.45.41 +185.106.122.58 +185.11.240.196 +185.117.164.5 +185.117.73.247 +185.12.249.235 +185.13.226.248 +185.14.29.163 +185.14.29.240 +185.14.29.47 +185.14.29.70 +185.14.30.172 +185.14.30.210 +185.14.30.211 +185.14.30.216 +185.14.30.228 +185.14.30.252 +185.14.30.85 +185.14.31.114 +185.14.31.184 +185.14.31.195 +185.16.42.140 +185.16.42.153 +185.16.78.129 +185.17.144.227 +185.17.182.212 +185.18.248.210 +185.18.52.145 +185.18.52.185 +185.18.52.21 +185.18.52.43 +185.18.52.54 +185.18.53.165 +185.18.53.166 +185.18.53.168 +185.18.53.206 +185.18.53.21 +185.18.53.234 +185.18.53.9 +185.18.54.124 +185.2.101.52 +185.2.136.76 +185.20.100.239 +185.20.100.247 +185.20.100.249 +185.20.100.33 +185.21.132.36 +185.22.65.100 +185.24.99.87 +185.25.116.64 +185.25.119.138 +185.25.48.23 +185.26.230.129 +185.26.97.193 +185.26.97.230 +185.27.133.17 +185.27.134.144 +185.27.142.44 +185.27.237.70 +185.27.57.15 +185.28.189.215 +185.28.190.229 +185.28.20.164 +185.28.72.100 +185.28.72.159 +185.28.72.164 +185.28.72.166 +185.28.72.17 +185.28.72.206 +185.28.72.64 +185.28.72.69 +185.28.72.90 +185.31.208.127 +185.31.208.129 +185.31.208.203 +185.31.208.206 +185.31.208.74 +185.31.208.86 +185.31.208.95 +185.31.209.104 +185.31.209.167 +185.31.209.168 +185.31.209.180 +185.31.209.184 +185.31.209.203 +185.31.209.206 +185.31.209.50 +185.31.209.60 +185.31.209.91 +185.31.220.140 +185.31.220.141 +185.31.220.142 +185.31.220.143 +185.31.222.129 +185.31.222.134 +185.31.222.176 +185.31.222.181 +185.31.222.182 +185.31.222.183 +185.31.222.192 +185.31.222.194 +185.31.222.195 +185.31.222.205 +185.31.222.240 +185.31.222.245 +185.31.93.71 +185.31.93.72 +185.34.216.245 +185.36.100.24 +185.36.237.71 +185.36.252.88 +185.38.184.249 +185.38.185.87 +185.43.220.12 +185.43.220.164 +185.43.220.170 +185.43.220.19 +185.43.220.21 +185.43.220.214 +185.43.220.219 +185.43.220.22 +185.43.220.28 +185.43.220.48 +185.43.220.51 +185.43.220.54 +185.43.220.9 +185.43.221.130 +185.43.221.162 +185.43.222.123 +185.43.222.126 +185.43.222.146 +185.43.222.156 +185.43.222.158 +185.43.223.132 +185.43.223.140 +185.45.193.153 +185.48.56.41 +185.49.68.154 +185.51.244.225 +185.52.0.158 +185.52.3.230 +185.53.131.72 +185.53.169.131 +185.53.170.32 +185.53.177.10 +185.53.177.20 +185.53.177.7 +185.53.177.8 +185.53.177.9 +185.53.178.11 +185.53.178.9 +185.53.8.65 +185.56.234.2 +185.56.28.237 +185.56.31.149 +185.57.253.133 +185.59.100.43 +185.59.103.9 +185.6.176.13 +185.6.176.35 +185.61.149.222 +185.62.36.30 +185.63.147.19 +185.66.10.58 +185.66.10.59 +185.66.10.67 +185.66.10.68 +185.66.140.190 +185.66.250.222 +185.67.0.198 +185.68.16.189 +185.68.16.199 +185.68.16.201 +185.68.16.46 +185.68.9.10 +185.72.177.89 +185.72.178.142 +185.72.178.160 +185.72.178.55 +185.72.244.152 +185.72.244.98 +185.72.246.78 +185.73.221.26 +185.74.252.148 +185.74.252.176 +185.74.255.67 +185.82.200.84 +185.82.217.149 +185.82.217.80 +185.83.218.211 +185.86.78.20 +185.87.51.102 +185.9.101.1 +185.9.101.15 +185.9.101.166 +185.9.101.34 +185.9.101.67 +185.9.101.76 +185.9.101.9 +185.92.222.81 +185.92.247.232 +185.96.176.240 +185.98.6.158 +185.98.6.166 +185.98.6.169 +185.98.6.186 +186.177.86.157 +186.190.245.13 +186.2.161.96 +186.2.162.17 +186.2.162.66 +186.2.162.77 +186.2.163.102 +186.2.163.27 +186.2.163.38 +186.2.163.60 +186.2.163.93 +186.2.166.17 +186.2.168.158 +186.2.168.94 +186.5.161.101 +186.5.161.20 +186.5.161.200 +186.5.161.225 +186.5.161.228 +188.117.62.2 +188.121.54.128 +188.121.55.1 +188.121.59.128 +188.138.10.173 +188.138.10.179 +188.138.122.22 +188.138.125.211 +188.138.125.217 +188.138.125.218 +188.138.25.101 +188.138.34.135 +188.138.68.244 +188.138.71.1 +188.138.71.11 +188.138.71.13 +188.138.71.164 +188.138.71.166 +188.138.71.17 +188.138.71.170 +188.138.71.172 +188.138.71.175 +188.138.71.176 +188.138.71.178 +188.138.71.182 +188.138.71.183 +188.138.71.19 +188.138.71.21 +188.138.71.23 +188.138.71.27 +188.138.71.3 +188.138.71.30 +188.138.71.7 +188.138.72.75 +188.165.119.166 +188.165.132.127 +188.165.134.247 +188.165.137.2 +188.165.173.56 +188.165.178.41 +188.165.178.46 +188.165.178.47 +188.165.2.102 +188.165.227.27 +188.165.238.85 +188.165.248.126 +188.165.255.66 +188.165.26.101 +188.165.28.156 +188.166.109.128 +188.166.114.181 +188.166.117.214 +188.166.127.240 +188.166.16.175 +188.166.2.171 +188.166.2.79 +188.166.3.105 +188.166.37.112 +188.166.56.224 +188.166.73.100 +188.166.73.158 +188.166.73.235 +188.166.79.186 +188.172.206.137 +188.191.144.70 +188.191.144.73 +188.226.144.109 +188.226.144.199 +188.226.150.188 +188.226.155.220 +188.226.156.91 +188.226.161.6 +188.226.170.84 +188.226.171.112 +188.226.188.177 +188.226.197.132 +188.226.207.157 +188.226.208.67 +188.226.210.171 +188.226.235.18 +188.227.168.146 +188.227.168.151 +188.227.168.154 +188.227.184.18 +188.227.184.19 +188.231.182.237 +188.240.51.132 +188.247.109.170 +188.40.132.132 +188.40.185.77 +188.42.243.10 +188.42.243.32 +188.43.72.8 +188.43.73.90 +188.43.75.105 +188.43.75.73 +188.43.75.81 +188.43.75.83 +188.43.75.88 +188.65.113.126 +188.65.114.122 +188.65.36.35 +188.92.41.44 +188.92.78.155 +188.92.78.232 +188.92.78.233 +188.92.78.234 +188.92.78.235 +188.92.78.236 +188.92.78.243 +188.95.154.135 +188.95.154.136 +190.0.226.209 +190.10.68.189 +190.10.8.111 +190.105.192.8 +190.105.193.36 +190.105.193.41 +190.105.194.15 +190.105.194.2 +190.105.194.30 +190.105.194.32 +190.105.194.4 +190.105.194.45 +190.105.194.47 +190.105.194.57 +190.105.194.58 +190.115.19.42 +190.115.22.18 +190.115.22.215 +190.115.22.8 +190.115.24.82 +190.115.26.42 +190.115.26.94 +190.121.210.133 +190.121.210.136 +190.121.210.16 +190.121.210.17 +190.121.210.24 +190.121.210.30 +190.121.210.34 +190.121.210.39 +190.121.210.44 +190.121.210.46 +190.121.210.57 +190.121.210.6 +190.121.210.66 +190.121.210.7 +190.123.35.151 +190.123.41.10 +190.123.46.86 +190.124.251.35 +190.124.251.40 +190.14.38.114 +190.171.28.154 +190.171.28.155 +190.242.30.107 +190.242.30.113 +190.242.30.131 +190.242.30.63 +190.4.88.120 +190.4.88.136 +190.4.88.151 +190.4.88.173 +190.4.88.91 +190.4.89.244 +190.4.90.37 +190.4.93.5 +190.4.93.9 +190.7.198.91 +190.93.240.203 +190.93.243.189 +190.93.244.199 +190.93.244.214 +190.93.245.199 +190.93.245.214 +190.93.246.190 +190.93.247.190 +190.93.248.194 +190.93.248.60 +190.93.249.194 +190.93.249.60 +190.93.250.89 +190.93.251.89 +190.97.163.195 +190.97.166.195 +190.97.166.222 +191.101.21.107 +191.233.80.62 +192.0.78.14 +192.0.79.32 +192.0.79.33 +192.102.6.103 +192.102.6.54 +192.102.6.89 +192.102.7.171 +192.121.125.134 +192.121.136.206 +192.121.169.240 +192.124.249.10 +192.124.249.12 +192.124.249.4 +192.124.249.6 +192.133.142.141 +192.154.99.66 +192.155.89.253 +192.163.212.77 +192.163.225.4 +192.163.239.118 +192.163.252.55 +192.169.82.86 +192.170.156.101 +192.176.26.217 +192.176.27.131 +192.184.12.220 +192.184.13.152 +192.184.13.153 +192.184.8.140 +192.184.8.147 +192.184.8.237 +192.184.8.250 +192.185.101.235 +192.185.101.75 +192.185.105.198 +192.185.119.216 +192.185.138.187 +192.185.169.6 +192.185.225.29 +192.185.226.160 +192.185.235.51 +192.185.241.148 +192.185.39.238 +192.185.5.148 +192.185.5.35 +192.185.78.24 +192.185.88.30 +192.185.89.86 +192.185.92.68 +192.185.92.77 +192.185.92.89 +192.186.223.4 +192.186.225.102 +192.186.252.182 +192.186.253.69 +192.186.254.200 +192.187.108.173 +192.188.242.125 +192.200.207.15 +192.200.207.20 +192.229.182.61 +192.229.182.76 +192.230.104.20 +192.230.104.39 +192.230.65.6 +192.230.69.135 +192.230.77.12 +192.230.78.101 +192.230.78.102 +192.230.78.104 +192.230.78.107 +192.230.78.109 +192.230.78.112 +192.230.78.12 +192.230.78.132 +192.230.78.134 +192.230.78.150 +192.230.78.164 +192.230.78.173 +192.230.78.209 +192.230.78.21 +192.230.78.241 +192.230.78.3 +192.230.78.52 +192.230.78.67 +192.230.78.98 +192.230.87.254 +192.230.87.28 +192.232.218.128 +192.232.219.67 +192.237.142.220 +192.240.185.140 +192.241.194.176 +192.243.124.136 +192.249.114.133 +192.249.76.235 +192.252.219.210 +192.254.170.90 +192.254.183.220 +192.254.232.75 +192.254.235.42 +192.254.251.129 +192.3.88.197 +192.31.187.112 +192.36.23.240 +192.64.119.137 +192.64.119.206 +192.64.119.42 +192.69.210.244 +192.81.223.98 +192.95.32.151 +192.95.38.132 +192.99.11.6 +192.99.165.233 +192.99.174.127 +192.99.2.11 +192.99.200.56 +192.99.222.22 +192.99.225.68 +192.99.3.66 +192.99.46.137 +192.99.47.157 +192.99.9.183 +193.0.61.251 +193.0.61.38 +193.105.200.138 +193.105.200.141 +193.105.200.167 +193.105.200.173 +193.105.200.192 +193.105.200.198 +193.105.200.233 +193.105.200.240 +193.105.200.247 +193.105.200.34 +193.105.200.81 +193.105.213.100 +193.105.213.168 +193.105.213.183 +193.105.213.191 +193.105.213.193 +193.105.213.194 +193.105.213.198 +193.105.213.240 +193.105.213.27 +193.105.240.120 +193.105.240.133 +193.105.240.14 +193.105.240.171 +193.105.240.20 +193.105.240.48 +193.105.240.52 +193.105.240.58 +193.105.240.68 +193.105.240.94 +193.106.248.155 +193.107.128.169 +193.109.240.10 +193.111.141.118 +193.111.141.154 +193.111.156.48 +193.111.156.7 +193.150.56.59 +193.151.107.217 +193.151.90.22 +193.161.87.169 +193.161.87.200 +193.169.188.81 +193.169.206.129 +193.169.206.135 +193.169.206.144 +193.169.206.147 +193.169.206.176 +193.169.206.179 +193.169.206.227 +193.169.240.89 +193.17.46.89 +193.178.144.130 +193.178.147.110 +193.178.147.228 +193.182.112.118 +193.183.186.240 +193.189.117.251 +193.19.243.2 +193.200.124.117 +193.200.173.17 +193.200.173.80 +193.200.255.17 +193.200.255.30 +193.201.225.38 +193.201.227.55 +193.203.48.38 +193.227.240.131 +193.23.181.132 +193.238.152.181 +193.238.152.252 +193.238.152.27 +193.238.153.16 +193.239.68.38 +193.24.220.155 +193.25.220.110 +193.25.220.113 +193.29.200.159 +193.33.139.131 +193.34.151.20 +193.41.218.13 +193.46.236.37 +193.47.141.108 +193.9.28.18 +194.0.131.28 +194.0.200.10 +194.0.200.13 +194.0.200.15 +194.0.200.6 +194.0.88.90 +194.103.11.3 +194.103.137.182 +194.103.138.203 +194.103.222.125 +194.103.33.1 +194.103.33.3 +194.103.9.3 +194.109.192.173 +194.127.139.135 +194.132.111.175 +194.14.85.219 +194.145.208.53 +194.150.169.131 +194.158.206.250 +194.187.96.38 +194.187.97.131 +194.187.97.172 +194.187.97.173 +194.187.97.74 +194.246.78.103 +194.247.26.60 +194.247.27.60 +194.247.30.79 +194.247.31.168 +194.28.132.112 +194.28.132.143 +194.28.133.92 +194.28.174.66 +194.28.84.139 +194.28.84.247 +194.28.84.4 +194.28.85.171 +194.28.85.210 +194.28.86.116 +194.28.86.168 +194.28.86.202 +194.28.86.22 +194.28.86.66 +194.28.87.127 +194.54.81.190 +194.54.89.232 +194.58.56.10 +194.58.56.100 +194.58.56.101 +194.58.56.106 +194.58.56.110 +194.58.56.113 +194.58.56.114 +194.58.56.116 +194.58.56.117 +194.58.56.118 +194.58.56.119 +194.58.56.12 +194.58.56.124 +194.58.56.127 +194.58.56.13 +194.58.56.134 +194.58.56.14 +194.58.56.143 +194.58.56.147 +194.58.56.149 +194.58.56.15 +194.58.56.150 +194.58.56.151 +194.58.56.154 +194.58.56.156 +194.58.56.157 +194.58.56.159 +194.58.56.16 +194.58.56.160 +194.58.56.167 +194.58.56.171 +194.58.56.177 +194.58.56.18 +194.58.56.181 +194.58.56.182 +194.58.56.187 +194.58.56.191 +194.58.56.193 +194.58.56.196 +194.58.56.198 +194.58.56.199 +194.58.56.20 +194.58.56.200 +194.58.56.201 +194.58.56.204 +194.58.56.206 +194.58.56.208 +194.58.56.211 +194.58.56.215 +194.58.56.216 +194.58.56.217 +194.58.56.220 +194.58.56.222 +194.58.56.225 +194.58.56.227 +194.58.56.228 +194.58.56.230 +194.58.56.236 +194.58.56.240 +194.58.56.241 +194.58.56.242 +194.58.56.245 +194.58.56.251 +194.58.56.253 +194.58.56.27 +194.58.56.30 +194.58.56.31 +194.58.56.32 +194.58.56.33 +194.58.56.34 +194.58.56.35 +194.58.56.36 +194.58.56.4 +194.58.56.40 +194.58.56.41 +194.58.56.44 +194.58.56.45 +194.58.56.49 +194.58.56.52 +194.58.56.54 +194.58.56.55 +194.58.56.57 +194.58.56.6 +194.58.56.60 +194.58.56.61 +194.58.56.65 +194.58.56.70 +194.58.56.71 +194.58.56.74 +194.58.56.75 +194.58.56.76 +194.58.56.80 +194.58.56.82 +194.58.56.86 +194.58.56.88 +194.58.56.89 +194.58.56.9 +194.58.56.90 +194.58.56.92 +194.58.56.93 +194.58.56.97 +194.58.56.99 +194.79.29.198 +194.79.63.15 +194.8.253.18 +194.88.219.188 +195.10.192.79 +195.10.245.103 +195.128.17.147 +195.13.189.138 +195.135.197.133 +195.138.241.105 +195.138.68.91 +195.140.139.39 +195.140.253.222 +195.149.222.152 +195.154.167.97 +195.154.177.137 +195.154.217.234 +195.154.233.155 +195.154.252.50 +195.154.38.175 +195.154.50.4 +195.154.57.129 +195.154.65.231 +195.158.19.28 +195.170.168.6 +195.191.24.221 +195.191.25.234 +195.20.13.151 +195.20.13.155 +195.20.40.74 +195.20.41.237 +195.20.46.155 +195.20.53.229 +195.20.55.65 +195.206.238.150 +195.210.46.114 +195.210.46.29 +195.211.152.117 +195.214.216.139 +195.22.101.67 +195.222.15.88 +195.226.127.94 +195.226.129.13 +195.226.218.231 +195.234.132.250 +195.234.98.32 +195.234.99.108 +195.242.161.228 +195.244.208.158 +195.244.208.185 +195.244.57.214 +195.245.112.14 +195.245.112.24 +195.245.112.61 +195.245.112.84 +195.245.81.5 +195.248.190.128 +195.248.234.120 +195.248.235.237 +195.3.144.235 +195.3.144.93 +195.42.102.12 +195.42.102.96 +195.43.82.133 +195.43.82.157 +195.43.82.183 +195.43.82.185 +195.43.82.186 +195.43.82.206 +195.43.82.249 +195.43.82.98 +195.43.83.113 +195.43.83.147 +195.43.83.190 +195.43.83.212 +195.43.83.26 +195.43.83.29 +195.43.83.57 +195.43.83.91 +195.5.179.90 +195.55.105.229 +195.60.70.18 +195.64.185.10 +195.64.185.9 +195.69.186.163 +195.72.134.116 +195.72.134.135 +195.72.134.75 +195.72.135.135 +195.72.135.55 +195.72.135.96 +195.82.146.214 +195.93.238.197 +195.93.238.25 +195.95.205.130 +196.14.118.99 +196.14.127.55 +196.26.120.18 +196.26.120.75 +196.33.13.128 +196.36.224.155 +196.38.93.154 +196.40.11.17 +196.40.69.110 +197.242.78.219 +197.81.199.11 +197.81.213.49 +197.96.211.144 +198.1.105.4 +198.1.97.143 +198.105.208.168 +198.105.209.216 +198.105.214.221 +198.135.249.125 +198.135.249.127 +198.135.249.158 +198.136.54.115 +198.136.54.91 +198.144.120.155 +198.144.121.209 +198.144.121.78 +198.144.150.241 +198.144.21.169 +198.147.22.161 +198.15.73.2 +198.15.89.13 +198.154.221.22 +198.16.74.58 +198.162.228.12 +198.167.239.44 +198.199.126.24 +198.199.127.142 +198.20.108.28 +198.205.112.68 +198.205.112.70 +198.206.15.148 +198.211.120.179 +198.211.120.38 +198.23.251.219 +198.245.55.136 +198.251.80.49 +198.252.99.27 +198.27.114.249 +198.27.127.190 +198.37.114.156 +198.37.52.54 +198.37.52.55 +198.38.83.71 +198.41.136.15 +198.41.137.15 +198.41.140.4 +198.41.141.4 +198.41.184.246 +198.41.185.230 +198.41.186.230 +198.41.186.37 +198.41.186.43 +198.41.187.37 +198.41.187.43 +198.41.188.33 +198.41.188.46 +198.41.189.33 +198.41.189.46 +198.41.191.245 +198.41.202.170 +198.41.203.170 +198.41.204.125 +198.41.205.125 +198.41.206.220 +198.41.207.220 +198.41.249.38 +198.41.252.108 +198.44.66.58 +198.46.81.166 +198.50.169.242 +198.50.193.57 +198.50.193.58 +198.50.193.59 +198.50.193.62 +198.50.198.160 +198.50.229.101 +198.57.151.250 +198.57.151.34 +198.57.196.176 +198.57.245.201 +198.58.93.28 +198.58.94.90 +198.7.57.124 +199.103.61.42 +199.115.116.207 +199.116.177.193 +199.116.177.252 +199.167.132.138 +199.184.144.3 +199.188.200.96 +199.189.106.252 +199.195.146.130 +199.233.253.209 +199.48.206.162 +199.48.207.10 +199.48.207.25 +199.48.254.240 +199.59.161.178 +199.59.162.146 +199.59.166.109 +199.7.108.208 +199.79.62.21 +199.80.59.45 +199.80.60.13 +199.80.60.14 +199.80.60.24 +199.80.61.78 +199.83.128.150 +199.83.130.104 +199.88.59.38 +2.17.233.158 +2.17.234.207 +2.19.183.156 +2.20.27.99 +200.124.130.165 +200.124.131.140 +200.124.131.33 +200.124.131.34 +200.124.131.45 +200.124.131.46 +200.124.137.236 +200.124.137.50 +200.124.145.247 +200.124.146.140 +200.124.146.159 +200.124.146.164 +200.124.146.169 +200.124.146.174 +200.124.146.184 +200.124.146.189 +200.124.146.194 +200.124.146.199 +200.124.146.204 +200.124.146.209 +200.124.146.243 +200.124.146.247 +200.124.147.166 +200.124.149.210 +200.124.149.249 +200.124.149.253 +200.124.154.233 +200.124.154.74 +200.147.100.28 +200.147.36.16 +200.26.205.86 +200.46.109.123 +200.63.41.130 +200.63.41.9 +200.63.45.82 +200.63.46.34 +200.74.240.211 +202.181.97.59 +202.181.97.89 +202.216.24.217 +202.248.110.184 +202.6.244.143 +202.6.244.162 +202.6.244.170 +202.6.246.29 +202.60.70.133 +203.142.193.85 +203.142.222.18 +203.22.83.204 +203.233.205.102 +203.233.205.202 +203.233.205.24 +203.242.210.150 +203.3.76.145 +203.3.76.24 +203.88.172.149 +204.101.132.102 +204.12.193.122 +204.12.198.44 +204.155.146.130 +204.155.147.210 +204.155.149.187 +204.155.154.13 +204.155.154.253 +204.155.154.254 +204.187.13.40 +204.246.48.227 +204.45.55.56 +204.45.58.26 +204.61.223.125 +204.93.163.87 +204.93.61.114 +205.144.171.31 +205.144.171.40 +205.173.255.210 +205.178.146.236 +205.186.147.175 +205.186.187.215 +205.196.120.6 +205.196.120.8 +205.204.78.115 +205.204.93.178 +205.234.132.246 +205.234.136.2 +205.234.223.127 +206.108.50.20 +206.108.55.187 +206.130.112.105 +206.161.121.30 +206.188.192.123 +206.188.192.127 +206.188.192.249 +206.188.192.38 +206.188.193.141 +206.188.193.144 +206.188.193.157 +206.188.193.166 +206.188.193.89 +206.190.133.52 +206.190.152.182 +206.54.160.163 +206.54.164.135 +206.54.164.137 +206.54.164.93 +206.54.166.41 +206.54.166.80 +206.54.166.81 +206.54.169.177 +206.54.169.179 +206.54.169.181 +206.54.169.214 +206.54.171.193 +206.54.171.198 +206.54.171.201 +206.54.171.204 +206.54.171.206 +206.54.171.213 +206.54.171.217 +206.54.171.229 +206.54.171.239 +206.54.175.110 +206.54.175.111 +206.54.175.178 +206.54.175.179 +206.54.175.184 +206.54.175.185 +206.54.175.218 +206.54.175.219 +206.54.175.68 +206.54.175.69 +206.54.175.74 +206.54.175.75 +206.72.194.249 +207.210.208.210 +207.210.85.146 +207.226.164.178 +207.226.164.185 +207.241.224.2 +207.244.72.198 +207.58.132.123 +208.0.228.203 +208.101.34.156 +208.112.112.126 +208.113.154.47 +208.113.160.3 +208.113.174.3 +208.113.210.221 +208.113.212.80 +208.113.222.32 +208.43.97.206 +208.48.81.134 +208.64.123.248 +208.64.125.157 +208.71.107.170 +208.73.207.205 +208.75.151.18 +208.79.235.208 +208.82.120.48 +208.82.121.203 +208.91.197.104 +208.91.197.108 +208.91.197.241 +208.91.198.61 +208.91.198.67 +208.91.198.74 +208.91.199.120 +208.92.218.173 +208.93.0.190 +208.94.234.182 +208.94.234.245 +208.96.18.237 +208.96.18.238 +208.97.136.28 +208.97.149.2 +208.97.152.46 +208.97.176.133 +208.99.206.58 +209.114.36.198 +209.123.181.1 +209.123.52.55 +209.124.66.5 +209.126.107.225 +209.126.113.35 +209.126.70.201 +209.133.209.245 +209.140.30.185 +209.141.35.207 +209.141.37.111 +209.141.45.251 +209.15.208.77 +209.15.213.39 +209.15.218.242 +209.15.247.20 +209.15.247.27 +209.15.247.46 +209.15.247.57 +209.159.148.10 +209.159.152.42 +209.161.36.21 +209.188.25.102 +209.202.252.22 +209.202.252.50 +209.208.109.165 +209.208.63.153 +209.212.158.120 +209.237.150.20 +209.237.226.93 +209.239.162.222 +209.239.162.43 +209.239.175.94 +209.44.124.2 +209.48.192.171 +209.54.113.252 +209.59.128.51 +209.59.173.97 +209.61.160.217 +209.61.160.67 +209.61.196.9 +209.86.60.20 +209.86.60.21 +209.95.34.50 +209.95.39.162 +209.95.43.82 +209.95.44.120 +209.99.40.219 +209.99.40.220 +209.99.40.221 +209.99.40.222 +209.99.40.223 +209.99.40.225 +209.99.40.226 +209.99.40.227 +210.129.120.40 +210.129.120.43 +210.129.120.44 +210.129.120.46 +210.147.145.242 +210.188.214.27 +210.224.185.197 +210.5.55.122 +210.56.60.209 +210.73.208.135 +211.13.196.131 +211.13.196.135 +211.13.196.140 +211.13.196.162 +211.22.125.51 +212.109.220.252 +212.126.44.241 +212.129.0.116 +212.129.54.2 +212.129.57.236 +212.188.185.226 +212.188.185.234 +212.188.185.240 +212.22.225.203 +212.22.228.182 +212.224.112.187 +212.224.112.33 +212.224.113.141 +212.224.113.239 +212.224.113.244 +212.224.113.96 +212.224.118.132 +212.227.202.174 +212.227.6.31 +212.23.57.138 +212.26.135.68 +212.27.63.159 +212.30.14.91 +212.35.67.3 +212.40.42.154 +212.42.119.3 +212.47.251.61 +212.53.167.119 +212.56.157.185 +212.56.158.9 +212.56.159.134 +212.71.244.40 +212.78.241.150 +212.78.65.230 +212.83.140.159 +212.83.146.93 +212.83.147.44 +212.83.151.120 +212.83.162.25 +212.83.165.12 +212.83.189.98 +212.83.57.217 +212.97.132.135 +212.97.133.238 +212.97.134.30 +213.109.129.149 +213.128.138.236 +213.133.164.98 +213.136.72.169 +213.136.78.23 +213.136.83.96 +213.136.84.204 +213.152.182.12 +213.155.21.72 +213.174.129.181 +213.174.129.184 +213.174.129.185 +213.174.130.199 +213.174.130.224 +213.174.132.188 +213.174.132.87 +213.174.133.180 +213.174.151.115 +213.174.156.65 +213.174.156.66 +213.174.158.204 +213.174.158.244 +213.174.158.246 +213.174.159.87 +213.175.192.201 +213.175.197.58 +213.175.204.54 +213.175.204.8 +213.175.214.61 +213.175.215.110 +213.175.219.177 +213.179.207.240 +213.185.179.218 +213.186.33.151 +213.186.33.3 +213.186.33.40 +213.186.33.50 +213.190.55.34 +213.202.218.199 +213.202.218.201 +213.202.218.215 +213.202.218.216 +213.202.218.217 +213.207.93.169 +213.217.185.42 +213.229.102.101 +213.229.68.21 +213.239.217.107 +213.239.249.24 +213.239.249.25 +213.239.249.26 +213.246.110.110 +213.249.64.247 +213.5.176.109 +213.5.178.144 +213.5.179.161 +213.52.146.24 +213.52.252.1 +213.52.252.113 +213.52.252.132 +213.52.252.134 +213.52.252.154 +213.52.252.172 +213.52.252.173 +213.52.252.196 +213.52.252.2 +213.52.252.241 +213.52.252.244 +213.52.253.245 +213.52.253.41 +213.52.254.2 +213.86.83.29 +216.105.82.73 +216.105.90.26 +216.108.234.35 +216.12.205.4 +216.137.63.115 +216.137.63.116 +216.137.63.166 +216.137.63.177 +216.137.63.197 +216.137.63.254 +216.137.63.66 +216.137.63.98 +216.154.222.182 +216.158.234.146 +216.17.105.207 +216.17.107.155 +216.17.111.116 +216.172.52.204 +216.172.52.60 +216.172.52.61 +216.172.57.31 +216.177.150.106 +216.18.164.43 +216.189.159.75 +216.194.169.100 +216.224.164.33 +216.246.98.36 +216.38.52.193 +216.47.75.159 +216.70.104.252 +217.115.114.96 +217.116.232.201 +217.116.232.203 +217.116.232.208 +217.116.232.213 +217.116.232.226 +217.116.232.250 +217.12.199.92 +217.12.200.135 +217.12.201.107 +217.12.201.160 +217.12.201.45 +217.12.201.53 +217.12.201.56 +217.12.201.7 +217.12.202.41 +217.12.203.129 +217.12.203.151 +217.12.203.227 +217.12.204.163 +217.12.204.245 +217.12.204.88 +217.12.206.35 +217.12.206.98 +217.12.208.18 +217.12.208.21 +217.12.208.241 +217.12.209.103 +217.12.209.112 +217.12.209.142 +217.12.209.148 +217.12.210.65 +217.12.214.193 +217.12.214.63 +217.12.215.206 +217.12.218.242 +217.12.221.64 +217.146.69.19 +217.146.69.5 +217.146.69.7 +217.146.70.220 +217.146.71.128 +217.146.74.177 +217.146.75.49 +217.160.125.26 +217.160.130.239 +217.160.209.199 +217.168.164.132 +217.168.164.9 +217.168.165.140 +217.168.165.142 +217.168.165.144 +217.168.166.100 +217.168.166.151 +217.168.170.143 +217.168.173.241 +217.172.190.222 +217.174.250.32 +217.19.248.132 +217.195.115.146 +217.195.124.248 +217.197.83.197 +217.199.169.73 +217.199.187.70 +217.20.175.202 +217.21.139.40 +217.23.11.61 +217.23.2.236 +217.26.52.21 +217.26.52.35 +217.26.55.112 +217.26.63.20 +217.27.51.52 +217.31.57.235 +217.70.180.132 +217.70.180.134 +217.70.186.107 +217.70.186.109 +217.70.186.112 +217.72.249.116 +217.72.249.119 +217.77.219.217 +217.77.222.159 +217.78.14.21 +217.79.190.159 +218.219.134.18 +219.120.4.58 +219.90.118.78 +220.110.167.228 +222.151.239.210 +23.101.24.27 +23.21.150.152 +23.21.215.37 +23.22.144.83 +23.227.167.31 +23.227.38.112 +23.227.38.113 +23.227.38.114 +23.227.38.115 +23.229.154.166 +23.229.196.0 +23.229.220.9 +23.239.210.162 +23.239.25.117 +23.239.6.9 +23.244.65.182 +23.244.65.183 +23.246.221.70 +23.253.63.39 +23.29.115.34 +23.60.19.112 +23.61.220.175 +23.61.237.179 +27.102.207.210 +31.131.1.70 +31.131.21.74 +31.131.28.46 +31.132.3.44 +31.132.3.45 +31.148.219.155 +31.148.219.179 +31.148.219.183 +31.148.219.232 +31.148.219.45 +31.148.219.7 +31.15.12.22 +31.170.165.211 +31.192.112.104 +31.192.116.182 +31.192.116.24 +31.192.117.132 +31.193.195.224 +31.204.154.149 +31.22.4.37 +31.22.4.43 +31.22.4.76 +31.22.4.80 +31.22.7.245 +31.220.2.200 +31.220.31.35 +31.220.44.60 +31.222.171.171 +31.222.175.132 +31.222.176.14 +31.222.48.70 +31.222.48.84 +31.24.224.57 +31.24.224.58 +31.24.224.60 +31.24.224.61 +31.24.224.63 +31.24.224.64 +31.28.162.8 +31.28.167.233 +31.3.239.34 +31.3.242.234 +31.3.242.235 +31.3.255.51 +31.3.255.53 +31.41.216.99 +31.7.5.125 +31.7.5.64 +37.0.26.194 +37.1.192.88 +37.1.199.146 +37.1.200.105 +37.1.200.129 +37.1.200.181 +37.1.200.43 +37.1.201.3 +37.1.201.40 +37.1.201.43 +37.1.201.69 +37.1.202.24 +37.1.202.91 +37.1.203.121 +37.1.203.189 +37.1.203.194 +37.1.203.215 +37.1.203.235 +37.1.203.88 +37.1.204.119 +37.1.204.120 +37.1.204.146 +37.1.204.214 +37.1.204.84 +37.1.205.13 +37.1.205.143 +37.1.205.147 +37.1.205.2 +37.1.205.243 +37.1.205.6 +37.1.205.83 +37.1.206.11 +37.1.206.113 +37.1.206.14 +37.1.206.230 +37.1.207.121 +37.1.207.214 +37.1.207.27 +37.1.210.166 +37.1.211.106 +37.114.75.86 +37.114.79.206 +37.114.79.207 +37.123.115.29 +37.139.14.222 +37.139.23.43 +37.139.23.60 +37.139.28.143 +37.139.29.235 +37.139.30.251 +37.139.52.15 +37.139.59.167 +37.139.9.232 +37.140.192.224 +37.148.207.1 +37.153.102.203 +37.153.102.206 +37.157.254.236 +37.157.254.237 +37.157.255.12 +37.187.103.18 +37.187.172.228 +37.187.174.158 +37.187.25.24 +37.187.252.2 +37.187.73.71 +37.187.75.188 +37.187.83.72 +37.187.84.118 +37.220.20.194 +37.220.22.122 +37.220.4.154 +37.220.91.155 +37.221.165.164 +37.221.165.208 +37.221.165.209 +37.228.88.132 +37.235.55.161 +37.247.48.165 +37.25.92.84 +37.252.3.66 +37.46.125.168 +37.46.125.236 +37.46.127.212 +37.46.194.148 +37.48.103.131 +37.48.106.8 +37.48.108.138 +37.48.108.155 +37.48.113.103 +37.48.113.209 +37.48.115.152 +37.48.120.102 +37.48.120.117 +37.48.121.73 +37.48.122.109 +37.48.122.157 +37.48.127.134 +37.48.127.16 +37.48.244.134 +37.48.67.112 +37.48.68.133 +37.48.68.147 +37.48.71.196 +37.48.72.145 +37.48.78.207 +37.48.78.45 +37.48.78.62 +37.48.79.122 +37.48.80.156 +37.48.86.145 +37.48.86.53 +37.48.87.132 +37.48.89.28 +37.48.89.30 +37.48.89.31 +37.48.94.113 +37.48.94.22 +37.58.49.105 +37.58.58.111 +37.58.72.236 +37.58.85.194 +37.59.1.189 +37.59.128.192 +37.59.128.194 +37.59.130.248 +37.59.133.163 +37.59.134.134 +37.59.136.146 +37.59.144.64 +37.59.182.184 +37.59.198.37 +37.59.198.38 +37.59.21.135 +37.59.26.94 +37.59.34.124 +37.59.36.191 +37.59.4.187 +37.59.5.210 +37.59.51.168 +37.59.71.55 +37.60.241.240 +37.75.153.144 +38.118.195.49 +38.84.132.130 +38.84.132.138 +38.84.132.153 +38.98.219.70 +4.53.82.215 +40.114.225.247 +41.21.128.70 +41.76.116.219 +41.76.116.220 +42.120.158.78 +43.225.54.170 +43.250.12.43 +45.125.66.163 +45.32.234.222 +45.32.95.24 +45.33.31.54 +45.34.140.206 +45.34.140.220 +45.34.140.230 +45.35.66.100 +45.35.66.102 +45.35.66.103 +45.55.147.146 +45.56.92.111 +45.56.96.16 +45.63.51.111 +45.64.129.233 +45.79.97.253 +46.101.13.111 +46.101.135.155 +46.101.140.38 +46.101.154.169 +46.101.162.18 +46.101.180.103 +46.101.195.11 +46.101.207.238 +46.101.211.156 +46.101.211.177 +46.101.247.221 +46.101.37.205 +46.101.39.14 +46.101.56.184 +46.101.61.171 +46.101.94.142 +46.102.240.205 +46.105.157.235 +46.105.198.142 +46.105.229.133 +46.148.16.146 +46.148.17.146 +46.148.17.19 +46.148.17.34 +46.148.17.35 +46.148.17.37 +46.148.18.27 +46.148.20.11 +46.148.26.51 +46.148.26.58 +46.148.26.68 +46.148.26.72 +46.148.26.79 +46.16.191.209 +46.16.191.210 +46.16.191.214 +46.16.191.215 +46.16.240.237 +46.163.88.12 +46.163.88.2 +46.163.88.4 +46.165.196.73 +46.165.201.28 +46.165.204.112 +46.165.206.137 +46.165.207.29 +46.165.208.234 +46.165.210.243 +46.165.210.250 +46.165.211.154 +46.165.211.155 +46.165.216.134 +46.165.219.115 +46.165.222.105 +46.165.222.208 +46.165.222.56 +46.165.228.154 +46.165.231.174 +46.165.234.11 +46.165.236.220 +46.165.252.144 +46.165.252.176 +46.165.252.201 +46.165.252.57 +46.165.253.83 +46.166.130.52 +46.166.168.108 +46.166.168.111 +46.166.168.74 +46.166.172.117 +46.166.181.36 +46.166.187.232 +46.166.189.98 +46.17.40.88 +46.17.41.116 +46.17.47.83 +46.17.47.90 +46.17.89.58 +46.18.112.39 +46.182.27.39 +46.183.150.102 +46.183.150.132 +46.183.150.19 +46.183.150.204 +46.183.150.28 +46.183.150.61 +46.183.9.250 +46.19.139.196 +46.19.140.26 +46.19.141.36 +46.19.141.37 +46.19.141.42 +46.20.7.176 +46.22.130.47 +46.229.162.124 +46.229.162.128 +46.229.162.139 +46.229.163.151 +46.229.165.132 +46.229.165.133 +46.229.165.134 +46.229.165.136 +46.229.165.138 +46.229.165.139 +46.229.165.140 +46.229.165.141 +46.229.165.142 +46.229.165.155 +46.229.173.196 +46.229.174.7 +46.23.72.9 +46.232.206.23 +46.232.206.8 +46.243.0.2 +46.246.124.98 +46.246.45.107 +46.249.47.188 +46.249.51.133 +46.249.51.143 +46.249.52.202 +46.249.55.123 +46.249.55.136 +46.249.55.188 +46.252.196.1 +46.252.206.1 +46.28.108.109 +46.28.203.195 +46.28.204.189 +46.28.204.27 +46.28.205.168 +46.28.205.98 +46.28.206.140 +46.28.207.109 +46.28.207.26 +46.28.207.27 +46.28.64.212 +46.28.68.229 +46.28.69.180 +46.28.70.239 +46.30.211.201 +46.30.212.118 +46.30.212.13 +46.30.212.154 +46.30.212.166 +46.30.212.181 +46.30.212.193 +46.30.212.200 +46.30.42.75 +46.30.44.236 +46.31.240.52 +46.31.240.53 +46.32.233.206 +46.36.216.150 +46.36.219.204 +46.36.37.106 +46.4.114.176 +46.4.15.19 +46.4.177.42 +46.4.239.73 +46.4.34.81 +46.4.90.38 +46.4.96.4 +47.88.18.146 +47.89.24.234 +49.129.31.187 +49.212.180.171 +49.212.180.33 +49.212.207.100 +49.212.207.96 +49.212.34.195 +49.212.65.170 +49.50.243.118 +49.50.250.67 +5.10.69.238 +5.101.103.122 +5.101.106.50 +5.135.118.193 +5.135.118.195 +5.135.129.209 +5.135.179.225 +5.135.225.35 +5.135.225.36 +5.135.36.35 +5.149.248.193 +5.149.248.198 +5.149.248.66 +5.149.249.139 +5.149.249.194 +5.150.254.109 +5.150.254.81 +5.150.254.88 +5.152.213.163 +5.152.213.164 +5.153.10.100 +5.153.10.102 +5.153.76.109 +5.172.159.234 +5.175.185.200 +5.178.68.100 +5.178.68.70 +5.178.68.73 +5.178.68.88 +5.179.1.161 +5.187.0.106 +5.187.0.96 +5.187.1.216 +5.187.1.230 +5.187.1.78 +5.187.2.118 +5.187.3.56 +5.187.3.72 +5.187.3.73 +5.187.4.195 +5.187.4.200 +5.187.4.219 +5.187.4.38 +5.187.5.114 +5.187.5.115 +5.187.5.185 +5.187.6.105 +5.187.7.244 +5.189.141.39 +5.189.143.64 +5.189.153.50 +5.189.155.192 +5.189.156.211 +5.189.161.74 +5.196.141.215 +5.196.212.17 +5.196.221.62 +5.196.29.187 +5.196.83.72 +5.196.89.102 +5.199.141.201 +5.2.139.149 +5.22.149.135 +5.226.176.16 +5.226.177.117 +5.226.177.27 +5.230.145.6 +5.230.147.161 +5.230.147.19 +5.254.105.29 +5.254.113.102 +5.254.118.60 +5.254.118.87 +5.255.82.100 +5.255.93.251 +5.34.180.38 +5.34.181.21 +5.34.181.3 +5.34.183.88 +5.35.172.142 +5.39.10.93 +5.39.24.154 +5.39.34.156 +5.39.49.242 +5.39.63.21 +5.39.70.27 +5.44.216.45 +5.44.217.130 +5.44.217.134 +5.44.217.140 +5.44.217.158 +5.44.217.166 +5.44.217.235 +5.44.217.248 +5.44.218.115 +5.44.218.149 +5.44.218.8 +5.45.118.183 +5.45.121.223 +5.45.126.82 +5.45.64.114 +5.45.64.120 +5.45.64.158 +5.45.64.163 +5.45.64.175 +5.45.64.248 +5.45.64.64 +5.45.65.166 +5.45.65.198 +5.45.65.203 +5.45.65.57 +5.45.65.68 +5.45.65.87 +5.45.65.89 +5.45.66.111 +5.45.66.124 +5.45.66.135 +5.45.66.149 +5.45.66.233 +5.45.66.37 +5.45.66.67 +5.45.66.83 +5.45.67.133 +5.45.67.69 +5.45.68.112 +5.45.68.151 +5.45.68.163 +5.45.68.175 +5.45.68.208 +5.45.69.116 +5.45.69.131 +5.45.69.175 +5.45.69.243 +5.45.70.106 +5.45.70.124 +5.45.70.159 +5.45.70.205 +5.45.70.93 +5.45.71.126 +5.45.71.128 +5.45.71.207 +5.45.71.23 +5.45.71.39 +5.45.71.53 +5.45.72.13 +5.45.72.144 +5.45.72.157 +5.45.72.53 +5.45.72.63 +5.45.72.75 +5.45.72.78 +5.45.72.9 +5.45.73.12 +5.45.73.128 +5.45.73.21 +5.45.73.37 +5.45.73.41 +5.45.73.56 +5.45.74.12 +5.45.74.135 +5.45.74.30 +5.45.74.84 +5.45.75.15 +5.45.75.186 +5.45.75.206 +5.45.75.215 +5.45.75.238 +5.45.75.43 +5.45.75.50 +5.45.76.172 +5.45.76.73 +5.45.76.86 +5.45.77.18 +5.45.77.208 +5.45.77.36 +5.45.77.43 +5.45.77.46 +5.45.77.69 +5.45.77.71 +5.45.77.77 +5.45.77.92 +5.45.78.211 +5.45.78.213 +5.45.78.216 +5.45.78.39 +5.45.78.65 +5.45.78.97 +5.45.79.145 +5.45.79.89 +5.45.80.18 +5.61.33.106 +5.61.38.10 +5.61.45.147 +5.62.88.3 +5.62.88.4 +5.62.88.41 +5.62.88.5 +5.62.88.7 +5.62.89.20 +5.62.89.30 +5.62.89.32 +5.62.89.33 +5.62.89.35 +5.62.89.37 +5.62.89.38 +5.62.89.40 +5.62.89.41 +5.62.89.46 +5.62.89.47 +5.62.89.48 +5.62.89.49 +5.62.89.58 +5.62.89.59 +5.62.89.60 +5.62.89.7 +5.62.90.5 +5.77.42.171 +5.77.45.97 +5.79.66.83 +5.79.67.135 +5.79.67.146 +5.79.68.199 +5.79.69.195 +5.79.70.205 +5.79.75.202 +5.79.75.234 +5.79.76.69 +5.79.79.7 +5.79.80.67 +5.79.83.10 +5.79.83.66 +5.79.85.101 +5.79.85.102 +5.79.85.203 +5.79.86.158 +5.79.86.4 +5.79.87.112 +5.79.87.140 +5.79.87.144 +5.79.87.164 +5.79.87.24 +5.79.97.196 +5.79.97.198 +5.79.97.237 +5.9.105.230 +5.9.115.214 +5.9.141.180 +5.9.156.181 +5.9.184.136 +5.9.184.145 +5.9.50.216 +5.9.87.245 +50.118.112.2 +50.118.127.241 +50.118.39.146 +50.118.58.2 +50.118.88.6 +50.21.184.199 +50.22.106.10 +50.22.11.33 +50.22.111.175 +50.23.149.224 +50.23.32.42 +50.23.32.43 +50.23.32.44 +50.23.32.45 +50.28.39.215 +50.28.44.220 +50.28.84.119 +50.30.45.29 +50.31.160.220 +50.31.162.101 +50.56.179.68 +50.6.22.2 +50.62.134.64 +50.62.160.240 +50.62.224.1 +50.62.23.75 +50.62.245.1 +50.63.202.19 +50.63.202.21 +50.63.202.24 +50.63.202.31 +50.63.202.48 +50.63.202.59 +50.63.202.85 +50.63.202.90 +50.63.39.1 +50.63.44.1 +50.63.46.54 +50.63.75.1 +50.7.134.115 +50.7.143.75 +50.7.60.66 +50.7.7.140 +50.87.122.217 +50.87.149.57 +50.87.150.231 +50.87.239.251 +50.87.248.91 +50.97.113.146 +50.97.113.152 +50.97.117.126 +51.254.0.196 +51.254.144.169 +51.254.154.67 +51.254.16.134 +51.254.175.197 +51.254.198.153 +51.254.238.75 +51.254.240.11 +51.254.245.101 +51.254.252.178 +51.254.55.193 +51.254.55.195 +51.254.55.198 +51.254.58.126 +51.254.72.100 +51.255.101.178 +51.255.140.248 +51.255.145.161 +51.255.145.164 +51.255.2.128 +51.255.212.116 +51.255.25.1 +51.255.33.20 +51.255.33.200 +51.255.33.201 +51.255.35.28 +51.255.43.101 +51.255.49.218 +51.255.59.103 +51.255.66.226 +52.0.182.227 +52.0.7.30 +52.0.96.24 +52.10.135.180 +52.10.204.165 +52.16.137.51 +52.17.1.137 +52.17.190.213 +52.17.191.195 +52.17.96.76 +52.20.141.35 +52.22.49.109 +52.29.226.158 +52.29.35.141 +52.29.53.159 +52.3.154.92 +52.33.251.112 +52.36.106.136 +52.36.51.94 +52.48.147.240 +52.49.147.133 +52.5.195.250 +52.64.93.124 +52.71.117.99 +52.71.213.243 +52.72.26.162 +52.8.57.95 +54.148.86.218 +54.149.80.102 +54.152.166.25 +54.164.37.38 +54.165.13.226 +54.166.104.214 +54.167.73.151 +54.171.55.186 +54.174.84.29 +54.175.241.148 +54.187.130.44 +54.187.40.54 +54.191.118.141 +54.191.45.214 +54.195.220.46 +54.204.19.24 +54.208.99.166 +54.215.161.227 +54.217.75.243 +54.225.183.40 +54.228.180.156 +54.228.244.64 +54.229.246.73 +54.230.228.101 +54.230.228.144 +54.230.228.15 +54.230.228.164 +54.230.228.193 +54.230.228.195 +54.230.228.199 +54.230.228.202 +54.230.228.210 +54.230.228.237 +54.230.228.250 +54.230.228.28 +54.230.228.61 +54.230.228.73 +54.230.228.75 +54.230.228.81 +54.231.17.148 +54.231.49.106 +54.231.82.105 +54.231.82.49 +54.235.147.62 +54.235.187.231 +54.235.94.193 +54.236.111.234 +54.239.164.10 +54.239.164.124 +54.239.164.157 +54.239.164.159 +54.239.164.170 +54.239.164.202 +54.239.164.215 +54.239.164.77 +54.242.170.99 +54.243.148.41 +54.243.173.42 +54.243.253.180 +54.246.185.83 +54.248.247.54 +54.68.213.39 +54.72.130.67 +54.72.140.43 +54.72.9.115 +54.72.9.51 +54.76.130.143 +54.76.68.144 +54.77.181.109 +54.77.65.248 +54.84.219.225 +54.85.28.33 +54.86.94.204 +54.88.155.189 +54.93.164.142 +58.64.190.149 +58.64.200.67 +58.64.204.41 +58.64.205.171 +58.80.21.130 +58.80.21.137 +59.106.13.11 +59.106.13.93 +59.106.18.132 +59.106.18.133 +59.106.18.136 +59.106.18.137 +59.147.234.18 +59.188.255.82 +61.115.122.106 +61.194.239.84 +62.113.208.61 +62.116.24.23 +62.118.255.3 +62.122.137.67 +62.128.58.174 +62.149.1.165 +62.149.12.62 +62.149.13.2 +62.149.140.36 +62.149.15.227 +62.149.24.152 +62.149.24.226 +62.149.24.233 +62.149.24.66 +62.149.24.77 +62.149.26.120 +62.149.26.83 +62.149.7.230 +62.152.62.114 +62.205.157.90 +62.210.101.119 +62.210.107.204 +62.210.108.242 +62.210.110.98 +62.210.114.138 +62.210.140.214 +62.210.170.114 +62.210.24.228 +62.210.244.235 +62.210.38.175 +62.210.58.247 +62.210.78.163 +62.212.73.140 +62.212.85.67 +62.212.93.52 +62.4.22.10 +62.73.132.148 +62.73.132.149 +62.73.58.178 +62.75.167.115 +62.75.195.249 +62.75.207.141 +62.75.207.142 +62.75.207.151 +62.75.207.152 +62.75.207.166 +62.75.217.145 +62.75.237.252 +62.75.237.254 +62.77.79.174 +63.141.226.92 +63.141.254.98 +63.143.59.26 +63.147.64.10 +63.232.206.198 +63.247.82.210 +64.111.197.114 +64.111.26.19 +64.131.71.85 +64.136.20.39 +64.14.68.156 +64.141.114.112 +64.15.205.100 +64.15.66.150 +64.17.153.33 +64.18.81.226 +64.185.234.203 +64.185.235.178 +64.20.35.130 +64.20.40.66 +64.20.40.67 +64.20.57.130 +64.210.140.1 +64.210.67.68 +64.211.66.231 +64.233.161.197 +64.233.164.121 +64.233.164.197 +64.233.165.197 +64.233.165.198 +64.250.230.138 +64.31.42.236 +64.34.89.155 +64.34.89.167 +64.40.103.106 +64.40.103.107 +64.40.118.7 +64.40.118.8 +64.40.118.9 +64.49.234.90 +64.6.100.183 +64.6.109.46 +64.6.96.77 +64.70.19.202 +64.70.19.34 +64.74.101.66 +64.79.99.143 +64.85.166.17 +64.90.56.19 +64.91.254.60 +65.19.157.232 +65.208.56.130 +65.210.45.250 +65.243.102.251 +65.254.250.114 +65.49.3.6 +65.49.8.111 +65.60.12.110 +65.75.138.110 +65.98.0.182 +66.116.104.210 +66.116.104.213 +66.116.109.11 +66.116.178.16 +66.117.47.215 +66.128.59.108 +66.147.240.170 +66.147.240.179 +66.147.244.175 +66.147.244.53 +66.147.244.63 +66.147.244.92 +66.150.203.30 +66.181.23.23 +66.209.95.157 +66.212.225.89 +66.212.227.176 +66.212.230.55 +66.212.230.63 +66.212.232.132 +66.212.232.143 +66.212.239.244 +66.212.242.129 +66.212.242.131 +66.212.244.20 +66.212.244.52 +66.212.244.81 +66.212.244.91 +66.212.252.102 +66.212.252.85 +66.212.253.170 +66.218.72.112 +66.220.4.139 +66.221.122.112 +66.221.161.53 +66.221.17.108 +66.221.176.50 +66.221.18.108 +66.221.20.108 +66.221.23.108 +66.221.33.108 +66.221.34.108 +66.221.35.108 +66.221.39.108 +66.221.44.108 +66.221.49.108 +66.221.57.108 +66.240.213.92 +66.254.103.185 +66.254.104.61 +66.29.193.83 +66.29.193.94 +66.33.210.218 +66.43.51.251 +66.45.248.246 +66.45.249.246 +66.59.64.115 +66.59.65.4 +66.59.71.114 +66.6.41.21 +66.6.42.21 +66.6.43.21 +66.6.44.4 +66.96.147.109 +66.96.147.114 +66.96.147.116 +66.96.147.207 +66.96.147.66 +66.96.149.1 +66.96.149.16 +66.96.149.32 +67.192.35.130 +67.192.35.133 +67.196.13.208 +67.196.222.228 +67.196.85.118 +67.196.85.119 +67.20.108.207 +67.20.86.48 +67.20.90.185 +67.202.114.133 +67.202.114.134 +67.207.199.164 +67.211.103.195 +67.211.103.227 +67.212.79.190 +67.212.93.226 +67.212.93.236 +67.212.93.237 +67.212.93.238 +67.215.241.100 +67.222.151.62 +67.222.44.28 +67.222.59.85 +67.223.102.79 +67.225.154.215 +67.227.166.189 +67.228.116.48 +67.228.122.178 +67.228.19.216 +67.228.205.169 +67.229.64.51 +67.23.166.155 +67.23.226.12 +67.23.226.169 +67.23.96.12 +67.43.230.36 +67.43.233.210 +67.43.233.211 +67.43.233.212 +68.142.154.125 +68.169.73.82 +68.169.85.113 +68.169.85.77 +68.169.86.96 +68.169.86.98 +68.171.215.13 +68.171.221.25 +68.178.254.120 +68.178.254.198 +68.178.254.8 +68.232.35.229 +68.232.35.241 +69.1.130.136 +69.10.33.178 +69.13.144.236 +69.160.61.197 +69.163.144.183 +69.165.95.222 +69.165.95.242 +69.167.136.196 +69.167.138.108 +69.167.177.168 +69.172.199.50 +69.172.200.130 +69.172.200.132 +69.172.200.26 +69.172.201.143 +69.172.201.191 +69.172.201.193 +69.172.201.202 +69.172.201.208 +69.172.201.217 +69.172.201.247 +69.172.201.4 +69.172.201.68 +69.174.244.50 +69.175.41.204 +69.175.93.179 +69.195.124.170 +69.195.124.202 +69.195.124.69 +69.195.124.84 +69.197.18.180 +69.197.18.184 +69.197.21.235 +69.26.170.8 +69.27.174.10 +69.39.236.225 +69.4.232.80 +69.4.238.214 +69.4.238.215 +69.46.24.166 +69.46.27.114 +69.50.216.243 +69.6.214.132 +69.64.147.242 +69.64.147.243 +69.64.61.133 +69.64.73.104 +69.65.3.162 +69.89.31.183 +69.90.66.180 +70.32.91.27 +70.86.161.234 +72.167.131.160 +72.167.56.41 +72.18.201.205 +72.249.145.17 +72.252.33.150 +72.44.80.57 +72.44.89.73 +72.44.95.225 +72.47.228.182 +72.47.244.101 +72.52.129.201 +72.52.4.91 +72.55.159.73 +72.8.167.249 +72.9.157.159 +74.117.176.231 +74.117.176.233 +74.117.180.170 +74.117.180.188 +74.117.180.192 +74.117.180.240 +74.117.221.144 +74.125.196.132 +74.125.205.136 +74.125.205.190 +74.125.205.197 +74.125.205.91 +74.125.205.93 +74.125.226.74 +74.125.226.75 +74.125.226.76 +74.125.29.132 +74.201.154.208 +74.201.155.96 +74.208.108.171 +74.208.143.81 +74.208.168.114 +74.208.174.33 +74.208.19.145 +74.208.224.225 +74.208.242.164 +74.209.215.5 +74.217.234.92 +74.220.199.6 +74.220.207.114 +74.220.207.177 +74.220.207.187 +74.220.207.95 +74.220.215.245 +74.220.215.81 +74.220.219.73 +74.50.105.114 +74.53.161.98 +74.63.79.118 +74.86.8.12 +74.91.23.98 +74.91.241.209 +74.91.254.193 +75.101.141.236 +75.102.22.138 +75.102.22.139 +75.102.22.140 +75.102.22.145 +75.102.22.151 +75.102.22.153 +75.102.22.155 +75.102.22.179 +75.102.22.180 +75.102.22.181 +75.102.22.203 +75.102.22.51 +75.119.221.121 +75.126.102.241 +75.126.217.38 +75.126.52.34 +75.126.85.210 +75.127.114.52 +75.98.175.92 +76.163.23.216 +76.164.196.132 +76.73.3.194 +76.73.4.90 +76.73.88.10 +76.73.88.26 +76.74.255.61 +77.120.100.238 +77.120.102.26 +77.120.102.90 +77.120.102.93 +77.120.104.32 +77.120.104.63 +77.120.105.226 +77.120.106.17 +77.120.108.134 +77.120.110.175 +77.120.115.184 +77.120.120.131 +77.120.121.21 +77.120.121.55 +77.120.122.117 +77.120.126.5 +77.120.97.93 +77.123.131.99 +77.123.137.85 +77.232.68.129 +77.235.17.138 +77.235.50.64 +77.238.30.68 +77.238.31.68 +77.247.178.172 +77.247.179.187 +77.55.21.55 +77.66.18.137 +77.66.18.139 +77.66.18.82 +77.66.18.85 +77.66.54.66 +77.66.57.11 +77.72.129.68 +77.72.131.232 +77.72.133.188 +77.79.81.11 +77.81.242.142 +77.81.245.179 +77.87.177.24 +77.87.180.150 +77.87.180.152 +77.87.180.154 +77.87.180.174 +77.87.181.29 +77.87.181.41 +77.87.181.72 +77.87.181.76 +77.87.181.86 +77.87.181.89 +77.87.181.91 +77.87.192.158 +77.87.194.18 +77.87.195.9 +77.87.198.66 +77.87.198.94 +77.90.192.201 +77.90.192.216 +77.92.73.102 +78.108.179.142 +78.108.179.29 +78.108.179.55 +78.108.180.83 +78.108.181.76 +78.108.182.123 +78.108.182.148 +78.108.182.55 +78.108.183.121 +78.108.183.161 +78.108.183.46 +78.108.183.52 +78.108.184.14 +78.108.184.21 +78.108.185.62 +78.109.29.56 +78.110.163.123 +78.110.18.147 +78.110.18.154 +78.110.18.155 +78.110.18.33 +78.110.20.86 +78.110.21.150 +78.110.25.3 +78.110.26.39 +78.129.158.137 +78.129.196.188 +78.129.232.174 +78.133.105.109 +78.133.105.36 +78.133.105.49 +78.133.105.56 +78.133.105.70 +78.133.105.82 +78.133.105.90 +78.133.105.98 +78.136.36.112 +78.137.116.68 +78.138.97.35 +78.140.131.178 +78.140.137.41 +78.140.138.80 +78.140.139.67 +78.140.139.69 +78.140.140.216 +78.140.141.120 +78.140.141.121 +78.140.141.84 +78.140.141.85 +78.140.141.87 +78.140.142.82 +78.140.142.88 +78.140.144.181 +78.140.148.14 +78.140.148.144 +78.140.148.145 +78.140.148.15 +78.140.148.16 +78.140.148.17 +78.140.148.18 +78.140.148.19 +78.140.148.232 +78.140.148.233 +78.140.148.234 +78.140.148.235 +78.140.148.236 +78.140.148.237 +78.140.148.244 +78.140.148.245 +78.140.148.246 +78.140.148.247 +78.140.148.26 +78.140.148.27 +78.140.148.30 +78.140.148.31 +78.140.149.101 +78.140.149.102 +78.140.149.114 +78.140.149.115 +78.140.149.116 +78.140.149.117 +78.140.149.118 +78.140.149.119 +78.140.149.120 +78.140.149.121 +78.140.153.222 +78.140.153.5 +78.140.166.83 +78.140.172.144 +78.140.173.87 +78.140.175.238 +78.140.175.78 +78.140.175.79 +78.140.175.96 +78.140.176.124 +78.140.176.187 +78.140.176.188 +78.140.184.56 +78.140.184.8 +78.140.185.145 +78.140.185.197 +78.140.191.184 +78.142.47.55 +78.152.169.60 +78.24.210.187 +78.24.210.22 +78.24.210.3 +78.24.212.1 +78.26.145.135 +78.46.106.88 +78.46.145.155 +78.46.22.91 +78.46.229.106 +78.46.87.213 +78.47.111.72 +78.47.117.39 +78.47.201.122 +78.47.203.54 +78.47.99.231 +79.124.31.189 +79.133.53.22 +79.137.227.200 +79.142.75.141 +79.143.186.117 +79.98.24.3 +8.12.146.50 +8.17.115.202 +8.17.115.203 +8.21.39.73 +8.247.17.178 +8.247.9.178 +8.5.1.31 +8.5.1.32 +8.5.1.41 +8.5.1.51 +80.232.175.163 +80.237.186.187 +80.237.216.228 +80.240.131.28 +80.240.138.214 +80.240.140.13 +80.240.143.62 +80.243.162.175 +80.243.184.149 +80.243.186.114 +80.243.186.116 +80.243.186.123 +80.243.190.12 +80.244.191.9 +80.248.30.34 +80.252.241.101 +80.65.250.129 +80.65.251.140 +80.65.251.142 +80.69.77.156 +80.70.72.8 +80.82.64.191 +80.82.64.193 +80.82.64.23 +80.82.64.79 +80.82.70.137 +80.82.79.11 +80.84.56.45 +80.85.109.229 +80.85.110.161 +80.85.64.132 +80.85.64.141 +80.85.64.151 +80.85.64.152 +80.85.64.176 +80.85.64.211 +80.85.64.231 +80.86.89.154 +80.86.92.105 +80.87.205.181 +80.87.205.182 +80.87.205.183 +80.87.205.184 +80.87.205.185 +80.87.205.186 +80.87.205.53 +80.87.205.59 +80.87.205.64 +80.87.205.66 +80.87.205.67 +80.87.207.51 +80.90.224.211 +80.91.191.225 +80.91.37.212 +80.92.113.68 +80.92.177.3 +81.0.75.81 +81.149.161.84 +81.169.145.119 +81.169.145.149 +81.169.145.161 +81.169.145.175 +81.169.145.84 +81.17.19.227 +81.177.135.61 +81.19.147.253 +81.2.216.224 +81.2.233.198 +81.2.234.91 +81.2.235.147 +81.2.244.129 +81.201.137.153 +81.27.85.16 +81.4.111.158 +81.88.161.140 +81.88.166.212 +81.88.166.229 +81.88.170.186 +81.88.170.35 +81.88.170.55 +81.88.172.40 +81.93.89.248 +81.94.195.50 +81.94.208.101 +81.94.208.76 +81.94.208.88 +81.94.208.91 +81.94.208.95 +81.95.180.4 +81.95.96.153 +82.118.16.65 +82.118.17.204 +82.118.17.232 +82.118.18.183 +82.118.19.25 +82.118.19.35 +82.118.19.98 +82.118.21.126 +82.145.241.24 +82.145.34.196 +82.165.246.201 +82.165.38.18 +82.165.66.244 +82.165.70.66 +82.165.93.58 +82.192.65.21 +82.192.65.50 +82.192.70.11 +82.192.70.187 +82.192.74.139 +82.192.80.194 +82.192.84.217 +82.197.130.217 +82.197.130.52 +82.200.204.231 +82.221.102.217 +82.221.103.32 +82.221.103.52 +82.221.129.16 +82.221.129.19 +82.221.136.4 +82.71.205.8 +82.94.201.66 +82.94.218.179 +82.94.228.252 +82.94.249.234 +82.96.40.180 +82.98.136.118 +83.125.22.161 +83.125.22.163 +83.125.22.185 +83.138.166.180 +83.139.0.11 +83.143.188.193 +83.149.124.211 +83.149.99.135 +83.168.226.230 +83.222.14.207 +83.222.232.158 +83.65.141.40 +83.65.45.148 +83.98.167.90 +84.17.131.177 +84.19.171.182 +84.19.173.198 +84.19.173.205 +84.20.200.102 +84.20.200.204 +84.20.200.60 +84.20.200.65 +84.20.200.9 +84.246.137.180 +84.246.137.205 +84.33.193.139 +85.10.195.230 +85.114.135.24 +85.115.132.219 +85.119.122.90 +85.159.56.226 +85.17.112.175 +85.17.124.152 +85.17.127.148 +85.17.15.186 +85.17.15.187 +85.17.15.189 +85.17.163.40 +85.17.190.158 +85.17.190.234 +85.17.190.242 +85.17.194.61 +85.17.207.75 +85.17.222.144 +85.17.227.67 +85.17.248.174 +85.17.249.246 +85.17.30.113 +85.17.30.85 +85.204.229.110 +85.204.74.100 +85.214.193.107 +85.222.234.11 +85.230.217.170 +85.25.107.199 +85.25.13.98 +85.25.149.40 +85.25.154.134 +85.25.155.194 +85.25.177.21 +85.25.20.46 +85.25.202.14 +85.25.235.117 +85.25.246.210 +85.25.248.57 +85.25.252.232 +85.25.253.26 +85.25.255.179 +85.25.27.243 +85.25.41.164 +85.25.41.165 +85.25.41.169 +85.25.41.173 +85.25.41.175 +85.25.41.179 +85.25.41.181 +85.25.41.184 +85.25.41.185 +85.25.41.186 +85.25.41.188 +85.25.41.190 +85.25.41.191 +85.25.41.196 +85.25.41.197 +85.25.41.201 +85.25.41.205 +85.25.41.207 +85.25.41.208 +85.25.41.211 +85.25.41.213 +85.25.41.216 +85.25.41.218 +85.25.41.219 +85.25.41.220 +85.25.41.224 +85.25.41.228 +85.25.41.229 +85.25.84.181 +85.25.99.50 +85.254.48.66 +85.31.101.152 +86.106.93.230 +86.39.203.219 +87.106.115.232 +87.106.248.76 +87.118.118.69 +87.118.90.191 +87.229.108.96 +87.230.82.104 +87.230.83.23 +87.230.97.130 +87.233.149.186 +87.236.199.153 +87.239.187.242 +87.245.198.136 +87.245.198.168 +87.245.198.170 +87.245.198.171 +87.248.207.253 +87.248.207.254 +87.250.153.87 +87.252.211.5 +87.252.211.6 +87.252.216.23 +87.252.216.43 +87.252.217.132 +87.252.217.133 +87.252.217.168 +87.252.217.8 +87.76.27.58 +87.98.179.108 +87.98.185.7 +87.98.233.135 +87.98.239.40 +88.150.172.200 +88.150.185.42 +88.150.185.70 +88.150.186.210 +88.150.186.212 +88.150.186.219 +88.150.186.220 +88.150.189.198 +88.150.200.78 +88.150.215.151 +88.150.223.226 +88.150.223.229 +88.150.233.131 +88.150.233.133 +88.150.233.139 +88.150.247.19 +88.150.247.21 +88.151.116.21 +88.198.14.69 +88.198.168.10 +88.198.168.14 +88.198.176.205 +88.198.213.162 +88.198.230.201 +88.198.54.30 +88.198.60.81 +88.198.76.198 +88.198.95.99 +88.202.228.92 +88.204.161.114 +88.204.166.11 +88.208.0.108 +88.208.0.235 +88.208.0.26 +88.208.1.45 +88.208.12.99 +88.208.16.150 +88.208.18.225 +88.208.18.229 +88.208.18.233 +88.208.18.236 +88.208.18.237 +88.208.18.238 +88.208.18.30 +88.208.18.31 +88.208.2.204 +88.208.23.245 +88.208.252.202 +88.208.252.213 +88.208.28.130 +88.208.28.218 +88.208.28.57 +88.208.29.112 +88.208.29.163 +88.208.29.172 +88.208.29.174 +88.208.29.189 +88.208.29.24 +88.208.29.244 +88.208.29.25 +88.208.29.66 +88.208.3.10 +88.208.32.180 +88.208.32.53 +88.208.33.65 +88.208.36.128 +88.208.36.156 +88.208.36.2 +88.208.36.232 +88.208.36.37 +88.208.36.4 +88.208.36.5 +88.208.36.6 +88.208.36.84 +88.208.36.9 +88.208.37.120 +88.208.37.80 +88.208.38.107 +88.208.38.49 +88.208.38.50 +88.208.38.58 +88.208.38.6 +88.208.38.60 +88.208.38.61 +88.208.38.68 +88.208.38.70 +88.208.38.71 +88.208.38.92 +88.208.39.201 +88.208.5.177 +88.208.5.232 +88.208.5.233 +88.208.5.234 +88.208.5.235 +88.208.5.236 +88.208.5.237 +88.208.5.253 +88.208.6.112 +88.208.6.213 +88.208.6.71 +88.208.6.76 +88.208.60.247 +88.208.60.97 +88.208.61.199 +88.208.61.202 +88.208.61.204 +88.208.7.14 +88.208.7.150 +88.208.7.153 +88.208.7.17 +88.208.7.172 +88.208.7.191 +88.208.7.210 +88.208.7.70 +88.208.7.71 +88.214.193.202 +88.214.195.35 +88.214.196.32 +88.214.196.42 +88.214.200.203 +88.214.204.130 +88.214.232.52 +88.214.232.55 +88.214.233.152 +88.214.234.17 +88.80.185.83 +88.80.28.60 +88.80.28.8 +88.81.149.206 +88.81.149.209 +88.81.149.223 +88.81.149.238 +88.81.154.22 +88.81.154.25 +88.81.155.145 +88.81.155.243 +88.81.155.244 +88.81.155.245 +88.81.155.246 +88.81.155.247 +88.81.155.248 +88.81.157.252 +88.85.73.179 +88.85.73.213 +88.85.79.2 +88.85.79.20 +88.85.79.43 +88.85.79.8 +88.85.87.246 +88.85.87.248 +88.85.90.20 +89.101.253.218 +89.111.57.45 +89.111.60.232 +89.111.60.83 +89.111.60.84 +89.111.60.85 +89.111.60.88 +89.151.126.19 +89.161.226.112 +89.163.142.136 +89.163.146.122 +89.163.157.42 +89.163.157.44 +89.184.69.108 +89.184.72.107 +89.184.74.149 +89.184.75.100 +89.184.76.112 +89.184.76.249 +89.184.82.233 +89.184.83.244 +89.184.83.46 +89.188.98.38 +89.200.170.73 +89.218.81.166 +89.248.164.48 +89.248.166.164 +89.248.166.165 +89.248.166.21 +89.248.168.135 +89.248.169.70 +89.248.170.184 +89.248.172.100 +89.248.172.104 +89.248.174.26 +89.254.142.35 +89.33.0.45 +89.46.102.10 +89.46.102.17 +90.156.201.102 +90.156.201.36 +90.156.201.50 +90.156.201.75 +91.102.161.13 +91.103.138.51 +91.105.200.55 +91.109.248.1 +91.109.248.239 +91.109.248.240 +91.109.248.241 +91.109.248.242 +91.109.248.243 +91.109.248.71 +91.121.183.151 +91.121.35.157 +91.121.38.43 +91.121.41.241 +91.142.162.22 +91.149.162.248 +91.186.19.117 +91.186.25.98 +91.192.116.152 +91.194.250.141 +91.194.251.76 +91.194.251.99 +91.195.118.62 +91.197.131.149 +91.197.131.74 +91.197.230.186 +91.198.36.14 +91.199.56.79 +91.200.40.36 +91.200.40.94 +91.200.48.220 +91.201.202.123 +91.201.212.90 +91.201.214.209 +91.201.215.208 +91.202.63.17 +91.202.63.33 +91.202.63.64 +91.202.63.67 +91.203.144.4 +91.203.147.183 +91.203.4.129 +91.203.4.30 +91.205.6.156 +91.205.96.126 +91.205.97.212 +91.205.97.213 +91.206.200.104 +91.206.31.234 +91.208.144.194 +91.208.154.151 +91.208.99.12 +91.209.77.20 +91.209.77.23 +91.210.172.129 +91.210.172.131 +91.210.172.133 +91.210.172.139 +91.211.98.160 +91.211.98.161 +91.211.98.20 +91.211.98.22 +91.211.98.78 +91.213.175.136 +91.213.175.182 +91.214.209.7 +91.215.152.96 +91.215.153.187 +91.215.153.67 +91.215.153.82 +91.215.153.84 +91.215.154.149 +91.215.155.136 +91.215.155.160 +91.216.163.183 +91.216.220.11 +91.216.220.12 +91.216.220.13 +91.216.220.16 +91.216.220.17 +91.216.220.21 +91.216.220.23 +91.216.220.4 +91.216.34.13 +91.217.91.126 +91.217.91.17 +91.218.212.195 +91.218.212.224 +91.219.29.101 +91.219.29.14 +91.219.29.38 +91.219.29.51 +91.219.30.222 +91.222.136.35 +91.222.137.14 +91.222.139.26 +91.222.60.120 +91.223.123.15 +91.223.123.184 +91.223.123.241 +91.223.123.243 +91.223.123.42 +91.223.123.84 +91.223.216.48 +91.223.223.144 +91.223.77.31 +91.223.77.65 +91.223.88.240 +91.224.140.193 +91.224.141.197 +91.224.160.123 +91.224.160.135 +91.224.160.167 +91.224.160.88 +91.224.161.126 +91.224.161.196 +91.226.126.213 +91.226.126.218 +91.226.126.219 +91.226.126.245 +91.226.127.10 +91.226.127.15 +91.226.127.236 +91.226.127.29 +91.226.127.46 +91.226.127.51 +91.226.127.7 +91.226.212.141 +91.226.212.167 +91.226.213.141 +91.226.32.48 +91.226.33.20 +91.226.33.37 +91.228.146.13 +91.228.152.219 +91.228.153.10 +91.228.154.150 +91.228.154.189 +91.228.154.208 +91.228.154.236 +91.228.7.251 +91.228.7.252 +91.228.7.253 +91.229.78.57 +91.230.121.110 +91.230.121.115 +91.230.121.56 +91.230.246.15 +91.230.246.2 +91.231.84.234 +91.231.86.19 +91.231.86.216 +91.231.98.112 +91.231.98.44 +91.234.146.10 +91.234.146.208 +91.234.32.16 +91.234.33.224 +91.235.143.152 +91.236.136.136 +91.236.213.70 +91.237.250.110 +91.237.250.49 +91.237.66.110 +91.238.193.16 +91.239.232.209 +91.239.232.7 +91.239.233.15 +91.243.75.105 +91.243.75.113 +91.250.97.20 +92.222.219.165 +92.222.6.14 +92.243.16.143 +92.243.31.108 +92.246.22.143 +92.45.49.60 +92.48.118.2 +92.48.78.58 +92.52.69.16 +92.60.184.72 +92.60.52.80 +92.61.153.74 +93.115.203.68 +93.115.82.7 +93.115.84.251 +93.115.84.252 +93.115.95.14 +93.125.31.162 +93.125.99.15 +93.125.99.19 +93.125.99.65 +93.127.196.222 +93.157.49.94 +93.158.200.45 +93.158.201.169 +93.158.201.171 +93.158.209.8 +93.158.209.9 +93.158.210.27 +93.158.210.29 +93.158.211.130 +93.158.211.204 +93.158.211.206 +93.158.223.15 +93.158.223.20 +93.158.223.21 +93.170.104.197 +93.170.104.84 +93.170.134.210 +93.170.137.16 +93.170.253.184 +93.170.253.217 +93.170.253.231 +93.170.27.230 +93.170.27.238 +93.170.27.51 +93.170.76.203 +93.170.79.101 +93.170.92.115 +93.170.92.175 +93.170.92.196 +93.170.92.47 +93.170.92.48 +93.170.92.53 +93.171.216.111 +93.171.216.89 +93.171.217.187 +93.171.217.22 +93.174.88.189 +93.174.89.3 +93.174.89.4 +93.174.93.226 +93.174.94.161 +93.174.94.162 +93.174.94.166 +93.175.230.135 +93.179.68.101 +93.186.192.139 +93.186.251.90 +93.187.121.4 +93.187.200.213 +93.190.140.132 +93.190.140.63 +93.190.142.151 +93.190.143.12 +93.190.41.22 +93.190.42.106 +93.190.43.211 +93.190.44.101 +93.190.45.1 +93.190.45.19 +93.190.45.241 +93.190.46.242 +93.190.47.119 +93.191.198.28 +93.84.112.94 +93.93.131.159 +93.93.80.133 +93.93.80.134 +93.93.86.131 +93.93.86.134 +93.93.86.136 +93.93.86.141 +93.93.86.165 +93.95.98.75 +94.100.21.187 +94.102.48.34 +94.102.48.35 +94.102.49.76 +94.102.51.22 +94.102.52.211 +94.102.60.254 +94.102.63.20 +94.125.58.243 +94.125.59.1 +94.125.59.100 +94.125.59.115 +94.125.59.119 +94.125.59.25 +94.125.59.59 +94.125.59.62 +94.125.59.72 +94.125.59.85 +94.125.59.92 +94.125.61.68 +94.125.62.81 +94.126.69.171 +94.136.40.100 +94.136.44.49 +94.136.44.50 +94.154.238.22 +94.158.46.130 +94.198.241.111 +94.20.21.37 +94.20.21.54 +94.228.215.242 +94.228.215.243 +94.228.218.15 +94.23.1.23 +94.23.145.94 +94.23.147.154 +94.23.150.148 +94.23.156.176 +94.23.164.102 +94.23.165.65 +94.23.172.27 +94.23.206.205 +94.23.216.72 +94.23.220.123 +94.23.23.82 +94.23.234.82 +94.23.252.185 +94.23.27.167 +94.23.27.45 +94.23.4.28 +94.23.50.208 +94.23.6.194 +94.23.70.211 +94.23.90.147 +94.23.95.224 +94.231.109.88 +94.236.107.12 +94.236.107.13 +94.242.198.166 +94.242.203.110 +94.242.203.111 +94.242.219.146 +94.242.219.156 +94.242.219.4 +94.242.221.121 +94.242.221.205 +94.242.222.185 +94.242.227.61 +94.242.228.167 +94.242.231.222 +94.242.232.76 +94.242.240.79 +94.242.240.86 +94.242.246.27 +94.242.246.28 +94.242.254.102 +94.244.1.169 +94.249.147.76 +94.249.189.8 +94.75.194.82 +94.75.205.100 +94.75.217.99 +94.75.237.1 +94.75.237.3 +94.75.239.205 +94.76.206.144 +94.76.210.184 +94.76.213.163 +94.76.233.131 +95.131.186.101 +95.131.186.116 +95.131.186.32 +95.131.190.22 +95.131.190.31 +95.131.232.66 +95.131.233.131 +95.131.233.133 +95.131.233.153 +95.131.233.245 +95.131.233.75 +95.131.233.85 +95.131.236.123 +95.131.236.82 +95.131.239.107 +95.131.239.108 +95.138.134.18 +95.138.179.78 +95.138.183.157 +95.142.152.194 +95.142.155.16 +95.142.159.170 +95.142.30.20 +95.142.30.37 +95.154.216.111 +95.154.216.112 +95.154.216.115 +95.163.66.157 +95.169.184.72 +95.169.184.80 +95.169.190.76 +95.169.190.91 +95.169.191.26 +95.175.32.98 +95.175.43.103 +95.175.98.173 +95.211.0.89 +95.211.100.205 +95.211.101.3 +95.211.113.169 +95.211.121.163 +95.211.123.56 +95.211.13.68 +95.211.13.69 +95.211.13.70 +95.211.135.140 +95.211.142.201 +95.211.142.206 +95.211.148.9 +95.211.15.162 +95.211.152.231 +95.211.162.105 +95.211.162.28 +95.211.162.72 +95.211.163.118 +95.211.173.71 +95.211.184.169 +95.211.184.212 +95.211.186.157 +95.211.186.185 +95.211.188.193 +95.211.188.194 +95.211.188.215 +95.211.189.102 +95.211.189.122 +95.211.189.87 +95.211.192.175 +95.211.192.229 +95.211.193.38 +95.211.195.132 +95.211.195.170 +95.211.198.10 +95.211.199.142 +95.211.205.11 +95.211.205.53 +95.211.205.55 +95.211.205.8 +95.211.206.76 +95.211.206.97 +95.211.207.39 +95.211.210.164 +95.211.212.151 +95.211.214.112 +95.211.226.133 +95.211.226.155 +95.211.228.74 +95.211.230.115 +95.211.234.16 +95.211.241.230 +95.211.27.175 +95.211.27.176 +95.211.38.8 +95.211.46.49 +95.211.68.247 +95.211.81.27 +95.211.81.30 +95.213.184.116 +95.213.194.54 +95.213.199.168 +95.215.226.201 +95.215.44.152 +95.215.46.50 +95.57.120.56 +95.67.45.122 +95.85.1.121 +95.85.31.50 +95.85.34.102 +95.85.58.127 +95.85.8.191 +95.86.135.10 +96.0.159.131 +96.31.89.247 +96.43.131.82 +96.45.82.116 +96.45.82.120 +96.45.82.151 +96.45.82.179 +96.45.82.218 +96.45.83.116 +96.45.83.207 +96.45.83.237 +96.45.83.252 +96.45.83.28 +96.45.83.37 +96.47.228.19 +96.6.13.222 +96.9.8.59 +96.95.131.33 +97.74.144.112 +97.74.85.65 +97.74.89.168 +98.115.217.225 +98.124.243.33 +98.124.243.43 +98.124.243.49 +98.124.245.24 +98.126.107.213 +98.126.177.111 +98.126.24.130 +98.126.24.179 +98.158.140.104 +98.158.174.7 diff --git a/iptables.txt b/iptables.txt new file mode 100644 index 0000000..3d59b39 --- /dev/null +++ b/iptables.txt @@ -0,0 +1,33 @@ +For window size changing : + +iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass + +For outgoing data manipulation ("Host:" case changing) : + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:5 -j NFQUEUE --queue-num 200 --queue-bypass + + +For TPROXY : + +sysctl -w net.ipv4.ip_forward=1 +iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE + +ip -f inet rule add fwmark 1 lookup 100 +ip -f inet route add local default dev lo table 100 +# prevent loop +iptables -t filter -I INPUT -p tcp --dport 1188 -j REJECT +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j MARK --set-mark 1 +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 1188 + +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -m set --match-set zapret dst -j MARK --set-mark 1 +iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -m mark --mark 0x1/0x1 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 1188 + +For DNAT : + +# run tpws as user "tpws". its required to avoid loops. +sysctl -w net.ipv4.conf.eth1.route_localnet=1 +iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to 127.0.0.1:1188 +iptables -t nat -I OUTPUT -p tcp --dport 80 -m owner ! --uid-owner tpws -j DNAT --to 127.0.0.1:1188 diff --git a/nfq/Makefile b/nfq/Makefile new file mode 100644 index 0000000..37b1994 --- /dev/null +++ b/nfq/Makefile @@ -0,0 +1,13 @@ +CFLAGS=-Wall +LIBS=-lnetfilter_queue -lnfnetlink + +all: nfqws + +nfqws: nfqws.o + $(CC) $(CFLAGS) -o "$@" $< $(LIBS) + +nfqws.o: nfqws.c + $(CC) $(CFLAGS) -c $< + +clean: + rm -f *.o nfqws diff --git a/nfq/nfqws.c b/nfq/nfqws.c new file mode 100644 index 0000000..1f3bbd5 --- /dev/null +++ b/nfq/nfqws.c @@ -0,0 +1,374 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* for NF_ACCEPT */ +#include +#include +#include +#include + +bool proto_check_ipv4(unsigned char *data,int len) +{ + return len && (data[0] & 0xF0)==0x40 && + len>=((data[0] & 0x0F)<<2); +} +void proto_skip_ipv4(unsigned char **data,int *len) +{ + int l; + l = (**data & 0x0F)<<2; + *data += l; + *len -= l; +} +bool proto_check_tcp(unsigned char *data,int len) +{ + return len>=((data[12] & 0xF0)>>2); +} +void proto_skip_tcp(unsigned char **data,int *len) +{ + int l; + l = ((*data)[12] & 0xF0)>>2; + *data += l; + *len -= l; +} + +unsigned char *find_bin(unsigned char *data,int len,const void *blk,int blk_len) +{ + while (len>=blk_len) + { + if (!memcmp(data,blk,blk_len)) + return data; + data++; + len--; + } + return NULL; +} + +static inline bool tcp_synack_segment( const struct tcphdr *tcphdr ) +{ + /* check for set bits in TCP hdr */ + return tcphdr->urg == 0 && + tcphdr->ack == 1 && + tcphdr->psh == 0 && + tcphdr->rst == 0 && + tcphdr->syn == 1 && + tcphdr->fin == 0; +} + +uint16_t checksum(const void *buff, int len, in_addr_t src_addr, in_addr_t dest_addr) +{ + const uint16_t *buf=buff; + uint16_t *ip_src=(void *)&src_addr, *ip_dst=(void *)&dest_addr; + uint32_t sum; + int length=len; + + // Calculate the sum + sum = 0; + while (len > 1) + { + sum += *buf++; + if (sum & 0x80000000) + sum = (sum & 0xFFFF) + (sum >> 16); + len -= 2; + } + if ( len & 1 ) + // Add the padding if the packet lenght is odd + sum += *((uint8_t *)buf); + // Add the pseudo-header + sum += *(ip_src++); + sum += *ip_src; + sum += *(ip_dst++); + sum += *ip_dst; + sum += htons(IPPROTO_TCP); + sum += htons(length); + // Add the carries + while (sum >> 16) + sum = (sum & 0xFFFF) + (sum >> 16); + + // Return the one's complement of sum + return (uint16_t)(~sum); +} +void tcp_fix_checksum(struct tcphdr *tcp,int len, in_addr_t src_addr, in_addr_t dest_addr) +{ + tcp->check = 0; + tcp->check = checksum(tcp,len,src_addr,dest_addr); +} + +void tcp_rewrite_winsize(struct tcphdr *tcp,uint16_t winsize) +{ + unsigned int winsize_old; +/* + unsigned char scale_factor=1; + int optlen = (tcp->doff << 2); + unsigned char *opt = (unsigned char*)(tcp+1); + + optlen = optlen>sizeof(struct tcphdr) ? optlen-sizeof(struct tcphdr) : 0; + printf("optslen=%d\n",optlen); + while (optlen) + { + switch(*opt) + { + case 0: break; // end of option list; + case 1: opt++; optlen--; break; // noop + default: + if (optlen<2 || optlen=3) + { + scale_factor=opt[2]; + printf("Found scale factor %u\n",opt[2]); + //opt[2]=0; + } + optlen-=opt[1]; + opt+=opt[1]; + } + } +*/ + winsize_old = htons(tcp->window); // << scale_factor; + tcp->window = htons(winsize); + printf("Window size change %u => %u\n",winsize_old,winsize); +} + +struct cbdata_s +{ + int wsize; + int qnum; + bool hostcase; +}; + +// ret: false - not modified, true - modified +bool processPacketData(unsigned char *data,int len,const struct cbdata_s *cbdata) +{ + struct iphdr *iphdr = NULL; + struct tcphdr *tcphdr = NULL; + unsigned char *p; + int len_tcp; + bool bRet = false; + + if (proto_check_ipv4(data,len)) + { + iphdr = (struct iphdr *) data; + proto_skip_ipv4(&data,&len); + if (iphdr->protocol==6 && proto_check_tcp(data,len)) + { + tcphdr = (struct tcphdr *) data; + len_tcp = len; + proto_skip_tcp(&data,&len); + //printf("got TCP packet. payload_len=%d\n",len); + if (cbdata->wsize && tcp_synack_segment(tcphdr)) + { + tcp_rewrite_winsize(tcphdr,(uint16_t)cbdata->wsize); + bRet = true; + } + if (cbdata->hostcase && (p = find_bin(data,len,"\r\nHost: ",8))) + { + printf("modifying Host: => host:\n"); + p[2]='h'; // "Host:" => "host:" + bRet = true; + } + if (bRet) tcp_fix_checksum(tcphdr,len_tcp,iphdr->saddr,iphdr->daddr); + } + } + return bRet; +} + + +static int cb(struct nfq_q_handle *qh, struct nfgenmsg *nfmsg, + struct nfq_data *nfa, void *cookie) +{ + int id,len; + struct nfqnl_msg_packet_hdr *ph; + unsigned char *data; + const struct cbdata_s *cbdata = (struct cbdata_s*)cookie; + + ph = nfq_get_msg_packet_hdr(nfa); + id = ph ? ntohl(ph->packet_id) : 0; + + len = nfq_get_payload(nfa, &data); + printf("packet: id=%d len=%d\n",id,len); + if (len >= 0) + { + if (processPacketData(data, len, cbdata)) + return nfq_set_verdict(qh, id, NF_ACCEPT, len, data); + } + + return nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL); +} + +bool droproot(uid_t uid, gid_t gid) +{ + if (uid) + { + if (setgid(gid)) + { + perror("setgid: "); + return false; + } + if (setuid(uid)) + { + perror("setuid: "); + return false; + } + } + return true; +} + +void exithelp() +{ + printf(" --qnum=\n --wsize=\t; set window size. 0 = do not modify\n --hostcase\t\t; change Host: => host:\n --daemon\t\t; daemonize\n"); + exit(1); +} + +int main(int argc, char **argv) +{ + struct nfq_handle *h; + struct nfq_q_handle *qh; + int fd; + int rv; + char buf[4096] __attribute__ ((aligned)); + struct cbdata_s cbdata; + int option_index=0; + int v; + bool daemon=false; + uid_t uid=0; + gid_t gid; + + memset(&cbdata,0,sizeof(cbdata)); + const struct option long_options[] = { + {"qnum",required_argument,0,0}, // optidx=0 + {"daemon",no_argument,0,0}, // optidx=1 + {"wsize",required_argument,0,0}, // optidx=2 + {"hostcase",no_argument,0,0}, // optidx=3 + {"user",required_argument,0,0}, // optidx=4 + {NULL,0,NULL,0} + }; + if (argc<2) exithelp(); + while ((v=getopt_long_only(argc,argv,"",long_options,&option_index))!=-1) + { + if (v) exithelp(); + switch(option_index) + { + case 0: /* qnum */ + cbdata.qnum=atoi(optarg); + if (cbdata.qnum<0 || cbdata.qnum>65535) + { + fprintf(stdout,"bad qnum\n"); + exit(1); + } + break; + case 1: /* daemon */ + daemon = true; + break; + case 2: /* wsize */ + cbdata.wsize=atoi(optarg); + if (cbdata.wsize<0 || cbdata.wsize>65535) + { + fprintf(stdout,"bad qnum\n"); + exit(1); + } + break; + case 3: /* hostcase */ + cbdata.hostcase = true; + break; + case 4: /* user */ + { + struct passwd *pwd = getpwnam(optarg); + if (!pwd) + { + fprintf(stderr,"non-existent username supplied\n"); + exit(1); + } + uid = pwd->pw_uid; + gid = pwd->pw_gid; + break; + } + } + } + + if (daemon) + { + int pid; + + pid = fork(); + if (pid == -1) + return -1; + else if (pid != 0) + return 0; + if (setsid() == -1) + return -1; + if (chdir ("/") == -1) + return -1; + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); + /* redirect fd's 0,1,2 to /dev/null */ + open ("/dev/null", O_RDWR); + /* stdin */ + dup(0); + /* stdout */ + dup(0); + /* stderror */ + } + + printf("opening library handle\n"); + h = nfq_open(); + if (!h) { + fprintf(stderr, "error during nfq_open()\n"); + exit(1); + } + + printf("unbinding existing nf_queue handler for AF_INET (if any)\n"); + if (nfq_unbind_pf(h, AF_INET) < 0) { + fprintf(stderr, "error during nfq_unbind_pf()\n"); + exit(1); + } + + printf("binding nfnetlink_queue as nf_queue handler for AF_INET\n"); + if (nfq_bind_pf(h, AF_INET) < 0) { + fprintf(stderr, "error during nfq_bind_pf()\n"); + exit(1); + } + + printf("binding this socket to queue '%u'\n", cbdata.qnum); + qh = nfq_create_queue(h, cbdata.qnum, &cb, &cbdata); + if (!qh) { + fprintf(stderr, "error during nfq_create_queue()\n"); + exit(1); + } + + printf("setting copy_packet mode\n"); + if (nfq_set_mode(qh, NFQNL_COPY_PACKET, 0xffff) < 0) { + fprintf(stderr, "can't set packet_copy mode\n"); + exit(1); + } + + fd = nfq_fd(h); + + if (droproot(uid,gid)) + { + while ((rv = recv(fd, buf, sizeof(buf), 0)) && rv >= 0) + { + int r=nfq_handle_packet(h, buf, rv); + if (r) fprintf(stderr,"nfq_handle_packet error %d\n",r); + } + } + + printf("unbinding from queue 0\n"); + nfq_destroy_queue(qh); + +#ifdef INSANE + /* normally, applications SHOULD NOT issue this command, since + * it detaches other programs/sockets from AF_INET, too ! */ + printf("unbinding from AF_INET\n"); + nfq_unbind_pf(h, AF_INET); +#endif + + printf("closing library handle\n"); + nfq_close(h); + + exit(0); +} diff --git a/nfq/nfqws.o b/nfq/nfqws.o new file mode 100644 index 0000000..b2a3396 Binary files /dev/null and b/nfq/nfqws.o differ diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..d8089a2 --- /dev/null +++ b/readme.txt @@ -0,0 +1,169 @@ +zapret v.3 + +Для чего это надо +----------------- + +Обойти блокировки веб сайтов http. + +Как это работает +---------------- + +У провайдеров в DPI бывают бреши. Они случаются от того, что правила DPI пишут для +обычных пользовательских программ, опуская все возможные случаи, допустимые по стандартам. +Это делается для простоты и скорости. Нет смысла ловить хакеров, которых 0.01%, +ведь все равно эти блокировки обходятся довольно просто даже обычными пользователями. + +Некоторые DPI не могут распознать http запрос, если он разделен на TCP сегменты. +Например, запрос вида "GET / HTTP/1.1\r\nHost: kinozal.tv......" +мы посылаем 2 частями : сначала идет "GET ", затем "/ HTTP/1.1\r\nHost: kinozal.tv.....". +Как заставить систему разбивать запрос на 2 части ? Подменить поле tcp window size +на первом входящем TCP пакете с SYN,ACK. Тогда клиент подумает, что сервер установил +для него маленький window size и первый сегмент с данными отошлет не более указанной длины. +В следующем пакете мы не будем менять ничего, поэтому клиент это поймет так, +что сервер увеличил window size, и все пойдет как обычно. + +Другие DPI спотыкаются, когда заголовок "Host:" пишется в другом регистре : например, "host:". + +Как это реализовать на практике в системе linux +----------------------------------------------- + +Перехватить пакет с SYN,ACK не представляет никакой сложности средствами iptables. +Однако, возможности редактирования пакетов в iptables сильно ограничены. +Просто так поменять window size стандартными модулями нельзя. +Для этого мы воспользуемся средством NFQUEUE. Это средство позволяет +передавать пакеты на обработку процессам, работающим в user mode. +Процесс, приняв пакет, может его изменить, что нам и нужно. + +iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -j NFQUEUE --queue-num 200 --queue-bypass + +Будет отдавать нужные нам пакеты процессу, слушающему на очереди с номером 200. +Он подменит window size. PREROUTING поймает как пакеты, адресованные самому хосту, +так и маршрутизируемые пакеты. То есть решение одинаково работает как на клиенте, +так и на роутере. На роутере на базе PC или на базе OpenWRT. +В принципе этого достаточно. +Однако, при таком воздействии на TCP будет небольшая задержка при установлении соединения. +От 0.5 до 1.5 сек. +Чтобы не трогать хосты, которые не блокируются провайдером, можно сделать такой ход. +Создать список заблоченых доменов или скачать его с rublacklist. +Заресолвить все домены в ipv4 адреса. Загнать их в ipset с именем "zapret". +Добавить в правило : + +iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass + +Такии образом воздействие будет производиться только на ip адреса, относящиеся к заблокированным сайтам. +Список можно обновлять через cron раз в несколько дней. +Если обновлять через rublacklist, то это займет довольно долго. Более часа. Но ресурсов +этот процесс не отнимает, так что никаких проблем это не вызовет, особенно, если система +работает постоянно. + +Если DPI не обходится через разделение запроса на сегменты, то иногда срабатывает изменение +"Host:" на "host:". В этом случае нам может не понадобится замена window size, поэтому цепочка +PREROUTING нам не нужна. Вместо нее вешаемся на исходящие пакеты в цепочке POSTROUTING : + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -j NFQUEUE --queue-num 200 --queue-bypass + +В этом случае так же возможны дополнительные моменты. DPI может ловить только первый http запрос, игнорируя +последующие запросы в keep-alive сессии. Тогда можем уменьшить нагрузку на проц, отказавшись от процессинга ненужных пакетов. + +iptables -t mangle -I POSTROUTING -p tcp --dport 80 -m set --match-set zapret dst -m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:5 -j NFQUEUE --queue-num 200 --queue-bypass + +Случается так, что провайдер мониторит всю HTTP сессию с keep-alive запросами. В этом случае +недостаточно ограничивать TCP window при установлении соединения. Необходимо посылать отдельными +TCP сегментами каждый новый запрос. Эта задача решается через полное проксирование трафика через +transparent proxy (TPROXY или DNAT). TPROXY не работает с соединениями, исходящими с локальной системы, +так что это решение применимо только на роутере. DNAT работает и с локальными соединениеми, +но имеется опасность входа в бесконечную рекурсию, поэтому демон запускается под отдельным пользователем, +и для этого пользователя отключается DNAT через "-m owner". Полное проксирование требует больше ресурсов +процессора, чем манипуляция с исходящими пакетами без реконструкции TCP соединения. + + +nfqws +----- + +Эта программа и есть модификатор пакетов и обработчик очереди NFQUEUE. +Она берет следующие параметры : + --qnum=200 ; номер очереди + --wsize=4 ; менять tcp window size на указанный размер + --hostcase ; менять регистр заголовка "Host:" + --daemon ; демонизировать прогу + +tpws +----- + +tpws - это transparent proxy. + --bind-addr ; на каком адресе слушать + --port= ; на каком порту слушать + --split-http-req=method|host ; способ разделения http запросов на сегменты : около метода (GET,POST) или около заголовка Host + --hostcase ; change Host: => host: + --daemon ; daemonize + +Провайдеры +---------- + +mns.ru : нужна замена window size на 4 +beeline (corbina) : нужна замена регистра "Host:" на протяжении всей http сессии +dom.ru : нужно проксирование HTTP сессий через tpws с заменой регистра "Host:" и разделение TCP сегментов на хедере "Host:". + Ахтунг ! Домру блокирует все поддомены заблоченого домена. IP адреса всевозможных поддоменов узнать невозможно из реестра + блокировок, поэтому если вдруг на каком-то сайте вылезает блокировочный баннер, то идите в консоль firefox, вкладка network. + Загружайте сайт и смотрите куда идет редирект. Потом вносите домен в zapret-hosts-user.txt. Например, на kinozal.tv имеются + 2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами. + +Пример установки на debian 7 +---------------------------- + +Установить пакеты : + apt-get update + apt-get install libnetfilter-queue-dev ipset curl +Скопировать директорию "zapret" в /opt. +Собрать nfqws : + cd /opt/zapret/nfq + make +Собрать tpws : + cd /opt/zapret/tpws + make +Скопировать /opt/zapret/init.d/debian7/zapret в /etc/init.d. +В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. +Там же выбрать параметр SLAVE_ETH, соответствующий названию внутреннего сетевого интерфейса. +Включить автостарт : chkconfig zapret on +(опционально) Вручную первый раз получить новый список ip адресов : /opt/zapret/ipset/get_reestr.sh +Зашедулить задание обновления листа : + crontab -e + Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. +Запустить службу : service zapret start +Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru. +Если не работает, то остановить службу zapret, добавить правило в iptables вручную, +запустить nfqws в терминале под рутом с нужными параметрами. +Пытаться подключаться к заблоченым сайтам, смотреть вывод программы. +Если нет никакой реакции, значит скорее всего указан неверный номер очереди или ip назначения нет в ipset. +Если реакция есть, но блокировка не обходится, значит параметры обхода подобраные неверно, или это средство +не работает в вашем случае на вашем провайдере. +Никто и не говорил, что это будет работать везде. +Попробуйте снять дамп в wireshark или "tcpdump -vvv -X host ", посмотрите действительно ли первый +сегмент TCP уходит коротким и меняется ли регистр "Host:". + +Что делать с openwrt +-------------------- + +Установить дополнительные пакеты : +opkg update +opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptables-mod-ipopt ipset curl bind-tools + +Самая главная трудность - скомпилировать программы на C. +Это можно сделать средствами кросс-компиляции на любой традиционной linux системе. +Читайте compile/build_howto_openwrt.txt. +Ваша задача - получить ipk файлы для tpws и nfqws. +Скопировать директорию "zapret" в /opt на роутер. +Установить ipk. Для этого сначала копируем на роутер ipk в /tmp, потом opkg install /tmp/*.ipk. +Смотрим, что появились исполняемые файлы /opt/zapret/tpws/tpws, /opt/zapret/nfq/nfqws. +Скопировать /opt/zapret/init.d/zapret в /etc/init.d. +В /etc/init.d/zapret выбрать пераметр "ISP". В зависимости от него будут применены нужные правила. +/etc/init.d/zapret enable +/etc/init.d/zapret start +В зависимости от вашего провайдера либо внести нужные записи в /etc/firewall.user, либо +скопировать 99-zapret в /etc/hotplug.d/firewall (сначала нужно mkdir /etc/hotplug.d/firewall). +В /etc/hotplug.d/firewall/99-zapret выбрать нужного провайдера. +/etc/init.d/firewall restart +Посмотреть через iptables -L или через luci вкладку "firewall" появились ли нужные правила. +Зашедулить задание обновления листа : + crontab -e + Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. diff --git a/tpws/Makefile b/tpws/Makefile new file mode 100644 index 0000000..0d5ef60 --- /dev/null +++ b/tpws/Makefile @@ -0,0 +1,14 @@ +CC = gcc +CFLAGS = +LIBS = +SRC_FILES = *.c + +all: tpws + +tpws: $(SRC_FILES) + $(CC) $(CFLAGS) -o $@ $^ $(LIBS) + +clean: + rm -f tpws *.o + +.PHONY: clean diff --git a/tpws/tpws.c b/tpws/tpws.c new file mode 100644 index 0000000..1cfe900 --- /dev/null +++ b/tpws/tpws.c @@ -0,0 +1,597 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "tpws.h" +#include "tpws_conn.h" + +enum splithttpreq {split_none=0,split_method,split_host}; + +struct params_s +{ + char bindaddr[64]; + uid_t uid; + gid_t gid; + uint16_t port; + bool daemon; + bool hostcase,methodcase; + enum splithttpreq split_http_req; + int maxconn; +}; + +struct params_s params; + +unsigned char *find_bin(void *data,ssize_t len,const void *blk,ssize_t blk_len) +{ + while (len>=blk_len) + { + if (!memcmp(data,blk,blk_len)) + return data; + data=(char*)data+1; + len--; + } + return NULL; +} + +ssize_t send_with_flush(int sockfd, const void *buf, size_t len, int flags) +{ + int flag,err; + ssize_t wr; + + flag=1; + setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); + wr=send(sockfd,buf,len,flags); + err=errno; + flag=0; + setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *) &flag, sizeof(int)); + errno=err; + return wr; +} + +void close_tcp_conn(tproxy_conn_t *conn, struct tailhead *conn_list, + struct tailhead *close_list){ + conn->state = CONN_CLOSED; + TAILQ_REMOVE(conn_list, conn, conn_ptrs); + TAILQ_INSERT_TAIL(close_list, conn, conn_ptrs); +} + +static const char *http_split_methods[]={"GET /","POST /","HEAD /","OPTIONS /",NULL}; +static const char *http_split_host[]={"\r\nHost: ",NULL}; + +bool handle_epollin(tproxy_conn_t *conn,int *data_transferred){ + int numbytes; + int fd_in, fd_out; + bool bOutgoing; + ssize_t rd=0,wr=0; + + //Easy way to determin which socket is ready for reading + //TODO: Optimize. This one allows me quick lookup for conn, but + //I need to make a system call to determin which socket + numbytes=0; + if(ioctl(conn->local_fd, FIONREAD, &numbytes) != -1 + && numbytes > 0){ + fd_in = conn->local_fd; + fd_out = conn->remote_fd; + bOutgoing = true; + } else { + fd_in = conn->remote_fd; + fd_out = conn->local_fd; + numbytes=0; + ioctl(fd_in, FIONREAD, &numbytes); + bOutgoing = false; + } + + if (numbytes) + { + if (bOutgoing) + { + char buf[8192],*p; + ssize_t l,split_pos=0; + const char **split_array,**split_item; + + rd = recv(fd_in,buf,sizeof(buf),MSG_DONTWAIT); + if (rd>0) + { + switch (params.split_http_req) + { + case split_method: + split_array = http_split_methods; + break; + case split_host: + split_array = http_split_host; + break; + default: + split_array = NULL; + } + if (split_array) + { + for(split_item=split_array;*split_item;split_item++) + { + l = strlen(*split_item); + if (p=find_bin(buf,rd,*split_item,l)) + { + split_pos = p-buf; + printf("Found split item '%s' at pos %d\n",*split_item,split_pos); + split_pos += l-1; + } + } + } + if (params.hostcase) + { + if (p=find_bin(buf,rd,"\r\nHost: ",8)) + { + printf("Changing 'Host:' => 'host:' at pos %d\n",p-buf); + p[2]='h'; + } + } + if (params.methodcase) + { + for(split_item=http_split_methods;*split_item;split_item++) + { + l = strlen(*split_item); + if (p=find_bin(buf,rd,*split_item,l)) + { + printf("Changing '%s' case\n",*split_item); + *p += 'a'-'A'; + break; + } + } + } + if (split_pos) + { + wr=send_with_flush(fd_out,buf,split_pos,0); + if (wr>=0) + wr=send(fd_out,buf+split_pos,rd-split_pos,0); + } + else + { + wr=send(fd_out,buf,rd,0); + } + } + } + else + { + // *** we are not interested in incoming traffic + // splice it without processing + + //printf("splicing numbytes=%d\n",numbytes); + rd = numbytes = splice(fd_in, NULL, conn->splice_pipe[1], NULL, + SPLICE_LEN, SPLICE_F_MOVE | SPLICE_F_NONBLOCK); + //printf("spliced rd=%d\n",rd); + if (rd>0) + { + wr = splice(conn->splice_pipe[0], NULL, fd_out, NULL, + rd, SPLICE_F_MOVE); + } + //printf("splice rd=%d wr=%d\n",rd,wr); + } + } + if (data_transferred) *data_transferred = rd<0 ? 0 : rd; + return rd!=-1 && wr!=-1; +} + +void remove_closed_connections(struct tailhead *close_list){ + tproxy_conn_t *conn = NULL; + + while(close_list->tqh_first != NULL){ + conn = (tproxy_conn_t*) close_list->tqh_first; + TAILQ_REMOVE(close_list, close_list->tqh_first, conn_ptrs); + + int rd=0; + while(handle_epollin(conn,&rd) && rd); + + printf("Socket %d and %d closed, connection removed\n", + conn->local_fd, conn->remote_fd); + free_conn(conn); + } +} + +int event_loop(int listen_fd){ + int retval = 0, num_events = 0; + int tmp_fd = 0; //Used to temporarily hold the accepted file descriptor + tproxy_conn_t *conn = NULL; + int efd, i; + struct epoll_event ev, events[MAX_EPOLL_EVENTS]; + struct tailhead conn_list, close_list; + uint8_t check_close = 0; + int conncount = 0; + + //Initialize queue (remember that TAILQ_HEAD just defines the struct) + TAILQ_INIT(&conn_list); + TAILQ_INIT(&close_list); + + if((efd = epoll_create(1)) == -1){ + perror("epoll_create"); + return -1; + } + + //Start monitoring listen socket + memset(&ev, 0, sizeof(ev)); + ev.events = EPOLLIN; + //There is only one listen socket, and I want to use ptr in order to have + //easy access to the connections. So if ptr is NULL that means an event on + //listen socket. + ev.data.ptr = NULL; + if(epoll_ctl(efd, EPOLL_CTL_ADD, listen_fd, &ev) == -1){ + perror("epoll_ctl (listen socket)"); + return -1; + } + + while(1){ + if((num_events = epoll_wait(efd, events, MAX_EPOLL_EVENTS, -1)) == -1){ + perror("epoll_wait"); + retval = -1; + break; + } + + for(i=0; i=params.maxconn) + { + close(tmp_fd); + fprintf(stderr, "Too much connections : %d\n",conncount); + } + else if((conn = add_tcp_connection(efd, &conn_list, tmp_fd, params.port)) == NULL) + { + close(tmp_fd); + fprintf(stderr, "Failed to add connection\n"); + } + else + { + conncount++; + printf("Connections : %d\n",conncount); + } + } else { + conn = (tproxy_conn_t*) events[i].data.ptr; + + //Only applies to remote_fd, connection attempt has + //succeeded/failed + if(events[i].events & EPOLLOUT){ + if(check_connection_attempt(conn, efd) == -1){ + fprintf(stderr, "Connection attempt failed for %d\n", + conn->remote_fd); + check_close = 1; + close_tcp_conn(conn, &conn_list, &close_list); + conncount--; + } + continue; + } else if(conn->state != CONN_CLOSED && + (events[i].events & EPOLLRDHUP || + events[i].events & EPOLLHUP || + events[i].events & EPOLLERR)){ + check_close = 1; + close_tcp_conn(conn, &conn_list, &close_list); + conncount--; + continue; + } + + //Since I use an event cache, earlier events might cause for + //example this connection to be closed. No need to process fd if + //that is the case + if(conn->state == CONN_CLOSED){ + continue; + } + + if (!handle_epollin(conn,NULL)){ + close_tcp_conn(conn, &conn_list, &close_list); + conncount--; + check_close = 1; + } + } + } + + //Remove connections + if(check_close) + remove_closed_connections(&close_list); + + check_close = 0; + } + + //Add cleanup + return retval; +} + +int8_t block_sigpipe(){ + sigset_t sigset; + memset(&sigset, 0, sizeof(sigset)); + + //Get the old sigset, add SIGPIPE and update sigset + if(sigprocmask(SIG_BLOCK, NULL, &sigset) == -1){ + perror("sigprocmask (get)"); + return -1; + } + + if(sigaddset(&sigset, SIGPIPE) == -1){ + perror("sigaddset"); + return -1; + } + + if(sigprocmask(SIG_BLOCK, &sigset, NULL) == -1){ + perror("sigprocmask (set)"); + return -1; + } + + return 0; +} + +void exithelp() +{ + printf(" --bind-addr=|\n --port=\n --maxconn=\n --split-http-req=method|host\n --hostcase\t\t; change Host: => host:\n --methodcase\t\t; change GET => gET, POST=>pOST, ...\n --daemon\t\t; daemonize\n --user=\t; drop root privs\n"); + exit(1); +} + +void parse_params(int argc, char *argv[]) +{ + int option_index=0; + int v,i; + + memset(¶ms,0,sizeof(params)); + params.maxconn = DEFAULT_MAX_CONN; + + const struct option long_options[] = { + {"help",no_argument,0,0},// optidx=0 + {"h",no_argument,0,0},// optidx=1 + {"bind-addr",required_argument,0,0},// optidx=2 + {"port",required_argument,0,0},// optidx=3 + {"daemon",no_argument,0,0},// optidx=4 + {"user",required_argument,0,0},// optidx=5 + {"maxconn",required_argument,0,0},// optidx=6 + {"hostcase",no_argument,0,0},// optidx=7 + {"methodcase",no_argument,0,0},// optidx=8 + {"split-http-req",required_argument,0,0},// optidx=9 + {NULL,0,NULL,0} + }; + while ((v=getopt_long_only(argc,argv,"",long_options,&option_index))!=-1) + { + if (v) exithelp(); + switch(option_index) + { + case 0: + case 1: + exithelp(); + break; + case 2: /* bind-addr */ + strncpy(params.bindaddr,optarg,sizeof(params.bindaddr)); + params.bindaddr[sizeof(params.bindaddr)-1] = 0; + break; + case 3: /* qnum */ + i=atoi(optarg); + if (i<=0 || i>65535) + { + fprintf(stderr,"bad port number\n"); + exit(1); + } + params.port=(uint16_t)i; + break; + case 4: /* daemon */ + params.daemon = true; + break; + case 5: /* user */ + { + struct passwd *pwd = getpwnam(optarg); + if (!pwd) + { + fprintf(stderr,"non-existent username supplied\n"); + exit(1); + } + params.uid = pwd->pw_uid; + params.gid = pwd->pw_gid; + break; + } + case 6: /* maxconn */ + params.maxconn=atoi(optarg); + if (params.maxconn<=0) + { + fprintf(stderr,"bad maxconn\n"); + exit(1); + } + break; + case 7: /* hostcase */ + params.hostcase = true; + break; + case 8: /* methodcase */ + params.methodcase = true; + break; + case 9: /* split-http-req */ + if (!strcmp(optarg,"method")) + params.split_http_req = split_method; + else if (!strcmp(optarg,"host")) + params.split_http_req = split_host; + else + { + fprintf(stderr,"Invalid argument for split-http-req\n"); + exit(1); + } + break; + } + } + if (!params.port) + { + fprintf(stderr,"Need port number\n"); + exit(1); + } +} + +void daemonize() +{ + int pid; + + pid = fork(); + if (pid == -1) + { + perror("fork: "); + exit(2); + } + else if (pid != 0) + exit(0); + + if (setsid() == -1) + exit(2); + if (chdir ("/") == -1) + exit(2); + close(STDIN_FILENO); + close(STDOUT_FILENO); + close(STDERR_FILENO); + /* redirect fd's 0,1,2 to /dev/null */ + open ("/dev/null", O_RDWR); + /* stdin */ + dup(0); + /* stdout */ + dup(0); + /* stderror */ +} + +bool droproot() +{ + if (params.uid) + { + if (setgid(params.gid)) + { + perror("setgid: "); + return false; + } + if (setuid(params.uid)) + { + perror("setuid: "); + return false; + } + } + return true; +} + +int main(int argc, char *argv[]){ + int listen_fd = 0; + int yes = 1, retval = 0; + int r; + struct sockaddr_storage salisten; + socklen_t salisten_len; + int ipv6_only; + + parse_params(argc,argv); + + memset(&salisten,0,sizeof(salisten)); + if (*params.bindaddr) + { + if (inet_pton(AF_INET,params.bindaddr, &((struct sockaddr_in*)&salisten)->sin_addr)) + { + salisten.ss_family = AF_INET; + ((struct sockaddr_in*)&salisten)->sin_port = htons(params.port); + salisten_len = sizeof(struct sockaddr_in); + } + else if (inet_pton(AF_INET6,params.bindaddr, &((struct sockaddr_in6*)&salisten)->sin6_addr)) + { + salisten.ss_family = AF_INET6; + ((struct sockaddr_in6*)&salisten)->sin6_port = htons(params.port); + salisten_len = sizeof(struct sockaddr_in6); + ipv6_only=1; + } + else + { + printf("bad bind addr\n"); + exit(1); + } + } + else + { + salisten.ss_family = AF_INET6; + ((struct sockaddr_in6*)&salisten)->sin6_port = htons(params.port); + salisten_len = sizeof(struct sockaddr_in6); + ipv6_only=0; + // leave sin6_addr zero + } + + if (params.daemon) daemonize(); + + if((listen_fd = socket(salisten.ss_family, SOCK_STREAM, 0)) == -1){ + perror("socket: "); + exit(EXIT_FAILURE); + } + + if ((salisten.ss_family==AF_INET6) && setsockopt(listen_fd, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6_only, sizeof(ipv6_only)) == -1) + { + perror("setsockopt (IPV6_ONLY): "); + close(listen_fd); + exit(EXIT_FAILURE); + } + + if(setsockopt(listen_fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) == -1) + { + perror("setsockopt (SO_REUSEADDR): "); + close(listen_fd); + exit(EXIT_FAILURE); + } + + //Mark that this socket can be used for transparent proxying + //This allows the socket to accept connections for non-local IPs + if(setsockopt(listen_fd, SOL_IP, IP_TRANSPARENT, &yes, sizeof(yes)) == -1) + { + perror("setsockopt (IP_TRANSPARENT): "); + close(listen_fd); + exit(EXIT_FAILURE); + } + + if (!droproot()) + { + close(listen_fd); + exit(EXIT_FAILURE); + } + + if(bind(listen_fd, (struct sockaddr *)&salisten, salisten_len) == -1){ + perror("bind: "); + close(listen_fd); + exit(EXIT_FAILURE); + } + + if(listen(listen_fd, BACKLOG) == -1){ + perror("listen: "); + close(listen_fd); + exit(EXIT_FAILURE); + } + + //splice() causes the process to receive the SIGPIPE-signal if one part (for + //example a socket) is closed during splice(). I would rather have splice() + //fail and return -1, so blocking SIGPIPE. + if(block_sigpipe() == -1){ + fprintf(stderr, "Could not block SIGPIPE signal\n"); + close(listen_fd); + exit(EXIT_FAILURE); + } + + fprintf(stderr, "Will listen to port %d\n", params.port); + + retval = event_loop(listen_fd); + close(listen_fd); + + fprintf(stderr, "Will exit\n"); + + if(retval < 0) + exit(EXIT_FAILURE); + else + exit(EXIT_SUCCESS); + +} diff --git a/tpws/tpws.h b/tpws/tpws.h new file mode 100644 index 0000000..19ed0e9 --- /dev/null +++ b/tpws/tpws.h @@ -0,0 +1,37 @@ +#ifndef TPROXY_EXAMPLE_H +#define TPROXY_EXAMPLE_H + +#include +#include + +#define BACKLOG 10 +#define MAX_EPOLL_EVENTS BACKLOG +#define IP_TRANSPARENT 19 //So that application compiles on OpenWRT +#define SPLICE_LEN 65536 +#define DEFAULT_MAX_CONN 512 + +//Three different states of a connection +enum{ + CONN_AVAILABLE=0, + CONN_CLOSED, +}; +typedef uint8_t conn_state_t; + +struct tproxy_conn{ + int local_fd; //Connection to host on local network + int remote_fd; //Connection to remote host + int splice_pipe[2]; //Have pipes per connection for now. Multiplexing + //different connections onto pipes is tricky, for + //example when flushing pipe after one connection has + //failed. + conn_state_t state; + + //Create the struct which contains ptrs to next/prev element + TAILQ_ENTRY(tproxy_conn) conn_ptrs; +}; +typedef struct tproxy_conn tproxy_conn_t; + +//Define the struct tailhead (code in sys/queue.h is quite intuitive) +//Use tail queue for efficient delete +TAILQ_HEAD(tailhead, tproxy_conn); +#endif diff --git a/tpws/tpws_conn.c b/tpws/tpws_conn.c new file mode 100644 index 0000000..4f861f4 --- /dev/null +++ b/tpws/tpws_conn.c @@ -0,0 +1,285 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "linux/netfilter_ipv4.h" +#include + +#include "tpws_conn.h" + +#ifndef IP6T_SO_ORIGINAL_DST + #define IP6T_SO_ORIGINAL_DST 80 +#endif + +int linger(int sock_fd) +{ + struct linger ling={1,5}; + return setsockopt(sock_fd,SOL_SOCKET,SO_LINGER,&ling,sizeof(ling)); +} + +bool ismapped(const struct sockaddr_in6 *sa) +{ + // ::ffff:1.2.3.4 + return !memcmp(sa->sin6_addr.s6_addr,"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff",12); +} +bool mappedcmp(const struct sockaddr_in *sa1,const struct sockaddr_in6 *sa2) +{ + return ismapped(sa2) && !memcmp(sa2->sin6_addr.s6_addr+12,&sa1->sin_addr.s_addr,4); +} +bool sacmp(const struct sockaddr *sa1,const struct sockaddr *sa2) +{ + return sa1->sa_family==AF_INET && sa2->sa_family==AF_INET && !memcmp(&((struct sockaddr_in*)sa1)->sin_addr,&((struct sockaddr_in*)sa2)->sin_addr,sizeof(struct in_addr)) || + sa1->sa_family==AF_INET6 && sa2->sa_family==AF_INET6 && !memcmp(&((struct sockaddr_in6*)sa1)->sin6_addr,&((struct sockaddr_in6*)sa2)->sin6_addr,sizeof(struct in6_addr)) || + sa1->sa_family==AF_INET && sa2->sa_family==AF_INET6 && mappedcmp((struct sockaddr_in*)sa1,(struct sockaddr_in6*)sa2) || + sa1->sa_family==AF_INET6 && sa2->sa_family==AF_INET && mappedcmp((struct sockaddr_in*)sa2,(struct sockaddr_in6*)sa1); +} +uint16_t saport(const struct sockaddr *sa) +{ + return htons(sa->sa_family==AF_INET ? ((struct sockaddr_in*)sa)->sin_port : + sa->sa_family==AF_INET6 ? ((struct sockaddr_in6*)sa)->sin6_port : 0); +} +// -1 = error, 0 = not local, 1 = local +int check_local_ip(const struct sockaddr *saddr) +{ + struct ifaddrs *addrs,*a; + + if (getifaddrs(&addrs)<0) return -1; + a = addrs; + + while (a) + { + if (a->ifa_addr && sacmp(a->ifa_addr,saddr)) + { + freeifaddrs(addrs); + return 1; + } + a = a->ifa_next; + } + + freeifaddrs(addrs); + return 0; +} + +//Createas a socket and initiates the connection to the host specified by +//remote_addr. +//Returns 0 if something fails, >0 on success (socket fd). +static int connect_remote(struct sockaddr_storage *remote_addr){ + int remote_fd = 0, yes = 1; + + //Use NONBLOCK to avoid slow connects affecting the performance of other + //connections + if((remote_fd = socket(remote_addr->ss_family, SOCK_STREAM | + SOCK_NONBLOCK, 0)) < 0){ + perror("socket (connect_remote): "); + return 0; + } + + if(setsockopt(remote_fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) < 0){ + perror("setsockopt (SO_REUSEADDR, connect_remote): "); + close(remote_fd); + return 0; + } + + if(connect(remote_fd, (struct sockaddr*) remote_addr, + remote_addr->ss_family == AF_INET ? sizeof(struct sockaddr_in) : + sizeof(struct sockaddr_in6)) < 0){ + if(errno != EINPROGRESS){ + perror("connect (connect_remote): "); + close(remote_fd); + return 0; + } + } + + return remote_fd; +} + +//Store the original destination address in remote_addr +//Return 0 on success, <0 on failure +static int get_org_dstaddr(int sockfd, struct sockaddr_storage *orig_dst){ + char orig_dst_str[INET6_ADDRSTRLEN]; + socklen_t addrlen = sizeof(*orig_dst); + int r; + + memset(orig_dst, 0, addrlen); + + //For UDP transparent proxying: + //Set IP_RECVORIGDSTADDR socket option for getting the original + //destination of a datagram + + // DNAT + r=getsockopt(sockfd, SOL_IP, SO_ORIGINAL_DST, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + r = getsockopt(sockfd, SOL_IPV6, IP6T_SO_ORIGINAL_DST, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + { + fprintf(stderr,"both SO_ORIGINAL_DST and IP6T_SO_ORIGINAL_DST failed !\n"); + // TPROXY : socket is bound to original destination + r=getsockname(sockfd, (struct sockaddr*) orig_dst, &addrlen); + if (r<0) + { + perror("getsockname: "); + return -1; + } + } + if(orig_dst->ss_family == AF_INET){ + inet_ntop(AF_INET, + &(((struct sockaddr_in*) orig_dst)->sin_addr), + orig_dst_str, INET_ADDRSTRLEN); + fprintf(stderr, "Original destination for socket %d : %s:%d\n", sockfd,orig_dst_str, htons(((struct sockaddr_in*) orig_dst)->sin_port)); + } else if(orig_dst->ss_family == AF_INET6){ + inet_ntop(AF_INET6, + &(((struct sockaddr_in6*) orig_dst)->sin6_addr), + orig_dst_str, INET6_ADDRSTRLEN); + fprintf(stderr, "Original destination for socket %d : [%s]:%d\n", sockfd,orig_dst_str, htons(((struct sockaddr_in6*) orig_dst)->sin6_port)); + } + return 0; +} + +//Acquires information, initiates a connect and initialises a new connection +//object. Return NULL if anything fails, pointer to object otherwise +tproxy_conn_t* add_tcp_connection(int efd, struct tailhead *conn_list, + int local_fd, uint16_t listen_port) +{ + struct sockaddr_storage orig_dst; + tproxy_conn_t *conn; + int remote_fd; + struct epoll_event ev; + + if(get_org_dstaddr(local_fd, &orig_dst)){ + fprintf(stderr, "Could not get local address\n"); + close(local_fd); + return NULL; + } + + if (check_local_ip((struct sockaddr*)&orig_dst)==1 && saport((struct sockaddr*)&orig_dst)==listen_port) + { + fprintf(stderr, "Dropping connection to local address to the same port to avoid loop\n"); + close(local_fd); + return NULL; + } + + + if((remote_fd = connect_remote(&orig_dst)) == 0){ + fprintf(stderr, "Failed to connect\n"); + close(remote_fd); + close(local_fd); + return NULL; + } + + //Create connection object and fill in information + if((conn = (tproxy_conn_t*) malloc(sizeof(tproxy_conn_t))) == NULL){ + fprintf(stderr, "Could not allocate memory for connection\n"); + close(remote_fd); + close(local_fd); + return NULL; + } + + memset(conn, 0, sizeof(tproxy_conn_t)); + conn->state = CONN_AVAILABLE; + conn->remote_fd = remote_fd; + conn->local_fd = local_fd; + + if(pipe(conn->splice_pipe) != 0){ + fprintf(stderr, "Could not create the required pipe\n"); + free_conn(conn); + return NULL; + } + + + //remote_fd is connecting. Non-blocking connects are signaled as done by + //socket being marked as ready for writing + memset(&ev, 0, sizeof(ev)); + ev.events = EPOLLIN | EPOLLOUT; + ev.data.ptr = (void*) conn; + + if(epoll_ctl(efd, EPOLL_CTL_ADD, remote_fd, &ev) == -1){ + perror("epoll_ctl (remote_fd)"); + free_conn(conn); + return NULL; + } + + //Local socket can be closed while waiting for connection attempt. I need + //to detect this when waiting for connect() to complete. However, I dont + //want to get EPOLLIN-events, as I dont want to receive any data before + //remote connection is established + ev.events = EPOLLRDHUP; + + if(epoll_ctl(efd, EPOLL_CTL_ADD, local_fd, &ev) == -1){ + perror("epoll_ctl (local_fd)"); + free_conn(conn); + return NULL; + } else + { + TAILQ_INSERT_HEAD(conn_list, conn, conn_ptrs); + return conn; + } +} + +//Free resources occupied by this connection +void free_conn(tproxy_conn_t *conn){ + + close(conn->remote_fd); + close(conn->local_fd); + + if(conn->splice_pipe[0] != 0){ + close(conn->splice_pipe[0]); + close(conn->splice_pipe[1]); + } + + free(conn); +} + +//Checks if a connection attempt was successful or not +//Returns 0 if successfull, -1 if not +int8_t check_connection_attempt(tproxy_conn_t *conn, int efd){ + struct epoll_event ev; + int conn_success = 0; + int fd_flags = 0; + socklen_t optlen = sizeof(conn_success); + + //If the connection was sucessfull or not is contained in SO_ERROR + if(getsockopt(conn->remote_fd, SOL_SOCKET, SO_ERROR, &conn_success, + &optlen) == -1){ + perror("getsockopt (SO_ERROR)"); + return -1; + } + + if(conn_success == 0){ + fprintf(stderr, "Socket %d connected\n", conn->remote_fd); + + //Set socket as blocking now, for ease of processing + //TODO: Non-blocking + if((fd_flags = fcntl(conn->remote_fd, F_GETFL)) == -1){ + perror("fcntl (F_GETFL)"); + return -1; + } + + if(fcntl(conn->remote_fd, F_SETFL, fd_flags & ~O_NONBLOCK) == -1){ + perror("fcntl (F_SETFL)"); + return -1; + } + + //Update both file descriptors. I am interested in EPOLLIN (if there is + //any data) and EPOLLRDHUP (remote peer closed socket). As this is just + //an example, EPOLLOUT is ignored and it is OK for send() to block + memset(&ev, 0, sizeof(ev)); + ev.events = EPOLLIN | EPOLLRDHUP; + ev.data.ptr = (void*) conn; + + if(epoll_ctl(efd, EPOLL_CTL_MOD, conn->remote_fd, &ev) == -1 || + epoll_ctl(efd, EPOLL_CTL_MOD, conn->local_fd, &ev) == -1){ + perror("epoll_ctl (check_connection_attempt)"); + return -1; + } else { + return 0; + } + } + + return -1; +} diff --git a/tpws/tpws_conn.h b/tpws/tpws_conn.h new file mode 100644 index 0000000..3c9c9a2 --- /dev/null +++ b/tpws/tpws_conn.h @@ -0,0 +1,13 @@ +#ifndef TPROXY_TEST_CONN_H +#define TPROXY_TEST_CONN_H + +#include "tpws.h" +#include + +int check_local_ip(const struct sockaddr *saddr); +uint16_t saport(const struct sockaddr *sa); +tproxy_conn_t* add_tcp_connection(int efd, struct tailhead *conn_list, + int local_fd, uint16_t listen_port); +void free_conn(tproxy_conn_t *conn); +int8_t check_connection_attempt(tproxy_conn_t *conn, int efd); +#endif