UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    TOR + Iptables

    Scheduled Pinned Locked Moved Support
    2 Posts 1 Posters 2.3k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • B Offline
        boky
        last edited by boky

        Hey. Faced a problem. Toriptables worked about a month ago perfectly. Until recently, TOR + Iptables worked well. There was a problem starting toriptables. launch TOR

        $sudo tor
        
        /usr/local/bin$ sudo python2 toriptables2.py -l
         [+] Anonymizer status [ON]
         [*] Getting public IP, please wait...
         [?] Still waiting for IP address...
        Error in atexit._run_exitfuncs:
        Traceback (most recent call last):
          File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
            func(*targs, **kargs)
          File "toriptables2.py", line 70, in restart_tor
            my_public_ip = load(urlopen('http://ident.me/.json'))['address']
          File "/usr/lib/python2.7/json/__init__.py", line 291, in load
            **kw)
          File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
            return _default_decoder.decode(s)
          File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
            raise ValueError(errmsg("Extra data", s, end, len(s)))
        ValueError: Extra data: line 1 column 8 - line 1 column 16 (char 7 - 15)
        Error in sys.exitfunc:
        Traceback (most recent call last):
          File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
            func(*targs, **kargs)
          File "toriptables2.py", line 70, in restart_tor
            my_public_ip = load(urlopen('http://ident.me/.json'))['address']
          File "/usr/lib/python2.7/json/__init__.py", line 291, in load
            **kw)
          File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
            return _default_decoder.decode(s)
          File "/usr/lib/python2.7/json/decoder.py", line 367, in decode
            raise ValueError(errmsg("Extra data", s, end, len(s)))
        ValueError: Extra data: line 1 column 8 - line 1 column 16 (char 7 - 15)
        

        Tried to do so /etc/tor/torrc

        VirtualAddrNetworkIPv4 10.192.0.0/10
        AutomapHostsOnResolve 1
        TransPort 9040
        DNSPort 53
        ExcludeExitNodes {RU},{UA},{BY}
        
        $ sudo rm -f /etc/resolv.conf 
        $ echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
        
        #!/bin/sh
        
        ### set variables
        #destinations you don't want routed through Tor
        _non_tor="192.168.1.0/24 192.168.0.0/24"
        
        #the UID that Tor runs as (varies from system to system)
        _tor_uid="XYZ" # UID  TOR (grep tor /etc/passwd!)
        
        #Tor's TransPort
        _trans_port="9040"
        
        ### flush iptables
        iptables -F
        iptables -t nat -F
        
        ### set iptables *nat
        iptables -t nat -A OUTPUT -m owner --uid-owner $_tor_uid -j RETURN
        iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
        
        #allow clearnet access for hosts in $_non_tor
        for _clearnet in $_non_tor 127.0.0.0/9 127.128.0.0/10; do
           iptables -t nat -A OUTPUT -d $_clearnet -j RETURN
        done
        
        #redirect all other output to Tor's TransPort
        iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $_trans_port
        
        ### set iptables *filter
        iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        
        #allow clearnet access for hosts in $_non_tor
        for _clearnet in $_non_tor 127.0.0.0/8; do
           iptables -A OUTPUT -d $_clearnet -j ACCEPT
        done
        
        #allow only Tor output
        iptables -A OUTPUT -m owner --uid-owner $_tor_uid -j ACCEPT
        iptables -A OUTPUT -j REJECT
        
        $ sudo iptables-save > /etc/iptables_tor
        

        /etc/rc.local > exit 0

        iptables-restore < /etc/iptables_tor
        
        $ sudo update-rc.d tor enable
        
        

        Auto Backup will not work
        Got an error:

        sudo service tor start OR sudo /etc/init.d/tor start 
        aa-exec: ERROR: profile 'system_tor' does not exist
        

        Although from the desktop, through the adb shell, TOR starts well
        The whole problem is that I need TOR)))).
        How can you make globally Tor in a system?

        1 Reply Last reply Reply Quote 0
        • B Offline
          boky
          last edited by

          I will answer myself)).
          Everything works "Toriptables". Python errors are not clear, but everything works. By the way, I am very grateful to those who will tell you how to add TOR to autostart.

          1 Reply Last reply Reply Quote 0

          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

          With your input, this post could be even better 💗

          Register Login
          • First post
            Last post