{{Header}}
{{#seo:
|description=Using Tor for Onion Encryption / Authentication and NAT Traversal Only - Without Anonymity!
|image=Nontanonymous213132.jpg
}}
[[File:Nontanonymous213132.jpg|thumb]]
{{intro|
Using Tor for Onion Encryption / Authentication and NAT Traversal Only - Without Anonymity!
}}
{{mbox
| image = [[File:Ambox_warning_pn.svg.png|40px]]
| text =
Not anonymous!
}}
{{stub}}
= Introduction =
It is possible to make Tor on a server using a single Tor hop (only one Tor relay instead of three) by using Tor configuration options HiddenServiceNonAnonymousMode 1
, HiddenServiceSingleHopMode 1
. This is non-anonymous but faster. Server should use [[Onion_Services#Onion_Service_Authentication|Onions Services Authentication]]. The advantage of this is to have a server which is:
* reachable (for users having access to Tor) for NAT traversal, i.e. it works behind common NAT routers.
* capable to secure inherently insecure protocols (such as VNC) by using the encryption / authentication provided by Tor Onion Services
Independently, if clients prefer speed over anonymity, they can configure Tor in Tor2Web mode, which means outgoing Tor circuits will have a length of one rather than three.
These two options combined reduce a 6 hop Tor connection to a 2 hop Tor connection. It's not anonymous, but providing NAT traversal as well as onion encryption / authentication.
https://forums.whonix.org/t/should-we-use-hiddenservicesinglehopmode-for-whonix-org-server
= Server Side =
{{Open_/usr/local/etc/torrc.d/50_user.conf}}
Add.
{{CodeSelect|code=
HiddenServiceNonAnonymousMode 1
HiddenServiceSingleHopMode 1
SocksPort 0
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 22 127.0.0.1:22
HiddenServicePort 5900 127.0.0.1:5900
HiddenServiceVersion 3
## syntax:
## HiddenServiceAuthorizeClient auth-type client-name,client-name,…
## The auth-type can either be 'basic' for a general-purpose authorization protocol or 'stealth' for a less scalable protocol that also hides service activity from unauthorized clients.
## Valid client names are 1 to 16 characters long and only use characters in A-Za-z0-9+-_ (no spaces).
HiddenServiceAuthorizeClient stealth 1234567890123456
}}
Save and exit.
= Client Side =
{{Update}}
{{CodeSelect|code=
sudo apt update
}}
Install Tor's build dependencies.
{{CodeSelect|code=
sudo apt build-dep tor
}}
[
{{CodeSelect|code=
sudo apt install zlib1g-dev libevent-dev asciidoc xmlto libsystemd-dev
}}
]
Create directory ~/tor-src
.
{{CodeSelect|code=
mkdir ~/tor-src
}}
Change directory to ~/tor-src
.
{{CodeSelect|code=
cd tor-src
}}
Download the Tor source package.
{{CodeSelect|code=
apt source tor
}}
Change directory to Tor source directory.
{{CodeSelect|code=
cd tor-*/
}}
{{Open_File|filename=
debian/rules
}}
Change:
{{CodeSelect|code=
dh_auto_configure \
$(confflags) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--localstatedir=/var \
--sysconfdir=/etc \
--disable-silent-rules \
--enable-gcc-warnings-advisory
}}
To:
{{CodeSelect|code=
dh_auto_configure \
$(confflags) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
--localstatedir=/var \
--sysconfdir=/etc \
--disable-silent-rules \
--enable-gcc-warnings-advisory \
--enable-tor2web-mode
}}
{{Open_File|filename=
src/or/config.c
}}
Change
{{CodeSelect|code=
V(Tor2webMode, BOOL, "0"),
}}
To
{{CodeSelect|code=
V(Tor2webMode, BOOL, "1"),
}}
Build the Tor package.
{{CodeSelect|code=
debuild
}}
[
* https://github.com/globaleaks/Tor2web/wiki/Installation-Guide
* https://github.com/globaleaks/Tor2web/issues/327
]
= Footnotes =
{{Footer}}
[[Category:Documentation]]