diff --git a/README.md b/README.md
index 1371b1f..f7a9293 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ toriptables2.py -l
* [Check My IPx](https://ipx.ac/)
* [Check Tor Project](https://check.torproject.org)
-* [Do I leak](http://www.doileak.com/)
+* [Do I leak](https://www.doileak.com/classic.html)
* [DNS leak test](http://dnsleaktest.com)
* [Test IPv6](http://ipv6-test.com/)
* [What is my proxy](http://whatismyproxy.com)
@@ -34,9 +34,14 @@ toriptables2.py -l
---
#### To change Tor IP address:
+Expand for change Tor IP
+
+
```bash
toriptables2.py -r
```
+
+
---
#### To automate changing Tor IP:
@@ -68,18 +73,42 @@ toriptables2.py -r
#### Dependencies:
-Install [python-notify](http://ftp.br.debian.org/debian/pool/main/n/notify-python/python-notify_0.1.1-4_amd64.deb)
-
```bash
apt install tor
```
+***
#### Screenshots:
+Expand for screenshots
+
+
* [Kali Linux, Rolling Edition [ON]](https://drive.google.com/open?id=0B79r4wTVj-CZSEdkaTBNOVc5aUU)
* [Kali Linux, Rolling Edition [OFF]](https://drive.google.com/file/d/1NPZ1SKI9rh9XkaplF2_DzHSoPL77aiy-/view?usp=sharing)
+***
+#### Usage Demo:
+Exapand for notification demo
+
+
+* [Kali Linux, Rolling Edition [Demo]](https://drive.google.com/file/d/1kWdp8ciWTX5onuinR-3DjYKgcTFh9QJM/view?usp=sharing)
+
+
+
+
+
---
+
+# [toriptables3](https://github.com/ruped24/toriptables3)
+Expand for toriptables3
+
+
+Upgrade to [toriptables3](https://github.com/ruped24/toriptables3/releases/tag/v3.0) the successor to [toriptables2](https://github.com/ruped24/toriptables2/releases/tag/2-2.1).
+
+
+
+---
+
### [Installation Methods](https://github.com/ruped24/toriptables2/wiki/Optional-Installation-methods-for-toriptables2.py)
### [Troubleshooting and FAQ](https://github.com/ruped24/toriptables2/wiki/Troubleshooting)
diff --git a/toriptables2.py b/toriptables2.py
index 0eec958..a8bb11e 100755
--- a/toriptables2.py
+++ b/toriptables2.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python2
+#! /usr/bin/env python3
# Written by Rupe version 2.1
#
"""
@@ -7,16 +7,15 @@ that sets up iptables and tor to route all services
and traffic including DNS through the tor network.
"""
-from __future__ import print_function
-from commands import getoutput
-from subprocess import call, check_call, CalledProcessError
+from subprocess import call, check_call, getoutput, CalledProcessError
from os.path import isfile, basename
from os import devnull
-from sys import stdout, stderr
+from sys import exit, stdout, stderr
from atexit import register
from argparse import ArgumentParser
from json import load
-from urllib2 import urlopen, URLError
+from urllib.request import urlopen
+from urllib.error import URLError
from time import sleep
@@ -54,15 +53,15 @@ DNSPort %s
fnull = open(devnull, 'w')
try:
tor_restart = check_call(
- ["service", "tor", "restart"],
+ ["systemctl", "restart", "tor"],
stdout=fnull, stderr=fnull)
- if tor_restart is 0:
- print(" {0}".format(
- "[\033[92m+\033[0m] Anonymizer status \033[92m[ON]\033[0m"))
+ if tor_restart == 0:
+ print((" {0}".format(
+ "[\033[92m+\033[0m] Anonymizer status \033[92m[ON]\033[0m")))
self.get_ip()
except CalledProcessError as err:
- print("\033[91m[!] Command failed: %s\033[0m" % ' '.join(err.cmd))
+ print(("\033[91m[!] Command failed: %s\033[0m" % ' '.join(err.cmd)))
# See https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy#WARNING
# See https://lists.torproject.org/pipermail/tor-talk/2014-March/032503.html
@@ -96,8 +95,8 @@ DNSPort %s
call(["iptables", "-A", "OUTPUT", "-j", "REJECT"])
def get_ip(self):
- print(" {0}".format(
- "[\033[92m*\033[0m] Getting public IP, please wait..."))
+ print((" {0}".format(
+ "[\033[92m*\033[0m] Getting public IP, please wait...")))
retries = 0
my_public_ip = None
while retries < 12 and not my_public_ip:
@@ -109,12 +108,12 @@ DNSPort %s
print(" [\033[93m?\033[0m] Still waiting for IP address...")
except ValueError:
break
- print
+ print()
if not my_public_ip:
my_public_ip = getoutput('wget -qO - ifconfig.me')
if not my_public_ip:
exit(" \033[91m[!]\033[0m Can't get public ip address!")
- print(" {0}".format("[\033[92m+\033[0m] Your IP is \033[92m%s\033[0m" % my_public_ip))
+ print((" {0}".format("[\033[92m+\033[0m] Your IP is \033[92m%s\033[0m" % my_public_ip)))
if __name__ == '__main__':
@@ -150,8 +149,8 @@ if __name__ == '__main__':
load_tables.load_iptables_rules()
elif args.flush:
load_tables.flush_iptables_rules()
- print(" {0}".format(
- "[\033[93m!\033[0m] Anonymizer status \033[91m[OFF]\033[0m"))
+ print((" {0}".format(
+ "[\033[93m!\033[0m] Anonymizer status \033[91m[OFF]\033[0m")))
elif args.ip:
load_tables.get_ip()
elif args.refresh:
@@ -160,4 +159,4 @@ if __name__ == '__main__':
else:
parser.print_help()
except Exception as err:
- print("[!] Run as super user: %s" % err[1])
+ print(("[!] Run as super user: %s" % err))