Skip to content

Instantly share code, notes, and snippets.

@a2nt
Last active April 27, 2018 07:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a2nt/05ea7f77eeec51eff68ff61877b9c58b to your computer and use it in GitHub Desktop.
Save a2nt/05ea7f77eeec51eff68ff61877b9c58b to your computer and use it in GitHub Desktop.
Route Russian websites without VPN
#!/bin/sh
#########################################################################################################
## WARNING: Script maybe outdated use following github repository:
## https://github.com/a2nt/russian-routing
#########################################################################################################
# Routes RU-servers traffic without VPN
# Must be launched as root after connecting to VPN
# sudo ./routing.sh
#
# Use ifconfig to get details as
# <GATEWAYIP> and <REGULARINTERFACE>
# otherwise script will detect it automatically
#
#
# Use dig <DOMAIN-NAME> to get Russian server IPs
#
# Syntax:
# ip route add <RU-SERVER-IP> via <YOUR-REGULAR-GATEWAY-IP> dev <DEVICE-NAME> proto static metric 600
#
# You can test it using:
# traceroute <DOMAIN-NAME>
# it will return:
# 1 _gateway (<GATEWAY-IP>) *** ms *** ms *** ms
# 2 *******************************
# ****************
#########################################################################################################
#######################################################################
# Preset your variables otherwise it will be auto-detected
GATEWAYIP="" # Your regular gateway IP (router IP)
REGULARINTERFACE="" # Your regular network interface (ex. eth0)
######################################################################
echo "OpenVPN is connected. Setting up routes ..."
# Detects your regular gateway IP if it wasn't specified
if [ "$GATEWAYIP" = "" ]; then
GATEWAYIP=$(route -n | grep 'UG[ \t]' | awk '{print $2}'| sed -n 2p)
fi
# Detects your regular network interface if it wasn't specified
if [ "$REGULARINTERFACE" = "" ]; then
REGULARINTERFACE=$(route -n | grep 'UG[ \t]' | awk '{print $8}'| sed -n 2p)
fi
echo "Your regular Gateway: " $REGULARINTERFACE "/" $GATEWAYIP
# Directs listed IPs using regular gateway
# VK.com
ip route add 87.240.0.0/16 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# mail.ru
ip route add 5.61.16.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 5.61.232.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 79.137.157.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 79.137.174.0/23 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 79.137.183.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 94.100.176.0/20 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 95.163.32.0/19 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 95.163.212.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 95.163.216.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 95.163.248.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 128.140.168.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 178.22.88.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 178.237.16.0/20 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 185.5.136.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 185.6.244.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 185.16.148.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 185.16.244.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 188.93.56.0/21 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 194.186.63.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 195.211.20.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 195.211.128.0/22 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 195.218.168.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 195.218.190.0/23 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 208.87.93.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 208.87.94.0/23 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 217.20.144.0/20 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 217.69.128.0/20 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 94.100.180.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 217.69.139.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 185.30.176.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# yandex.ru
ip route add 5.255.255.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 77.88.55.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# smtp.yandex.com
ip route add 213.180.193.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 77.88.21.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 93.158.134.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 87.250.250.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# imap.yandex.com
ip route add 213.180.204.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 87.250.251.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 93.158.134.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# lenta.ru
ip route add 81.19.72.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# rambler.ru
ip route add 91.192.148.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 91.192.149.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 81.19.82.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 81.19.73.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
ip route add 81.19.83.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
# rambler.com
ip route add 50.63.202.0/24 via $GATEWAYIP dev $REGULARINTERFACE proto static metric 600
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment