Service which analyzes how Internet censorship in Russia works. It tries to determine when exactly IP was banned, trying to connect there regularly via different network providers.
-
Clone this repository to your server. Let call directory you cloned the repo
$BASE_DIR
. -
Install dependencies: OpenVPN, EasyRSA, Python 3, MongoDB and some stuff from pip: pymongo, python-telegram-bot (TODO: reqirements.txt)
-
Buid your own CA in
$BASE_DIR/ca
:make-cadir ca
-
Generate server keypair, DH parameters and TA key.
-
Move that stuff along with
conf/server.conf
,conf/connect.py
andconf/disconnect.py
to/etc/openvpn
-
Ensure MongoDB is running at
127.0.0.1:27017
, without authorization. -
Add configuration to
bot/config.py
(TODO: sample config) -
Make your iptables more beautiful with some MASQUERADE'ing while connnecting to
tap
interface:
iptables -t nat -I POSTROUTING -o tap0 -j MASQUERADE
-
Change sysctl's values
net.ipv4.conf.all.rp_filter
andnet.ip4.conf.tap0.rp_filter
to 0 -
Run OpenVPN,
bot/bot.py
andbot/poll.py
-
Generate client pack using
/generate
bot command. Do not do it using CA.
Clients need just to connect using provided VPN config.
Author — Nikita Sychev, licensed by MIT