I want to setup Tor for using only one hop in chain. There is some solution?
I understand that this is security risk, but I use tor only for corporate firewall bypassing.
You can try to use Tortunnel by Moxie Marlinspike:
Tortunnel is a partial Onion Proxy implementation that's designed to build single-hop circuits through Tor exit nodes
Another possibility is to set
AllowSingleHopCircuits 1
in your torrc
. In this case you'll need to find exit relays which have the option set in their config.
AllowSingleHopCircuits
to true won't solve the problem; you'll also need to modify the source.
First of all, note that doing this is not supported by Tor and you'll be better served by setting up a proxy of your own somewhere (you lose all benefits that Tor provides by doing this and will introduce a lot of latency into your connections). Also note that very few exit relays will have this set if any, so it probably won't work anyways and it may result in you getting malicious exits that are trying to trap people who are doing this. You have been warned.
That being said, to do what you want you'll need to first make some configuration changes:
ExcludeSingleHopRelays 0|1
This option controls whether circuits built by Tor will include relays with the AllowSingleHopExits flag set to true. If ExcludeSingleHopRelays is set to 0, these relays will be included. Note that these relays might be at higher risk of being seized or observed, so they are not normally included. Also note that relatively few clients turn off this option, so using these relays might make your client stand out. (Default: 1)
This will esentially allow you to use Tor like a normal 1-hop proxy, however, you will essentially lose all anonymity. To actually construct single hop circuits by default (without manually constructing them), you'll need to modify the source and rebuild. Check src/or/or.h
and change the line:
#define DEFAULT_ROUTE_LEN 3
to:
#define DEFAULT_ROUTE_LEN 1
Tor doesn't work well as a single-hop proxy anymore.
Major features (relays control their load better):
Exit relays now try harder to block exit attempts from unknown relays, to make it harder for people to use them as one-hop proxies a la tortunnel. Controlled by the refuseunknownexits consensus parameter (currently enabled), or you can override it on your relay with the RefuseUnknownExits torrc option. Resolves bug 1751; based on a variant of proposal 163.
Source: Tor 0.2.2.32 is released