Hidden Services are simply servers. Tor doesn't care, or know, about what exactly is serving the service - it could be a website, or an email server, or almost anything else.
If you can write a Server in Java (or use an existing one such as Jetty for a HTTP Server), then you can use it to serve a Hidden Service. You would configure it so that it will accept ...
Tor Browser is essentially Firefox, with a couple of patches. I don't think that the patches would affect the use of Selenium when compared to normal Firefox.
The Selenium documentation shows how to create a Firefox based WebDriver project.
The FirefoxDriver in particular can take parameters to the location of Firefox, and the profile to use. You should ...
The reasons for trusting (or not trusting) Orchid are the same as with Tor proper: Orchid is open source, so you (or anybody else) can audit/examine/analyze the source code.
One concern I would have with Orchid at the moment is that it doesn't seem to be a very active project. There are a bunch of bug reports/pull requests on the github site which haven't ...
I would comment on Nathan's post, but I don't have enough rep. He's completely right. They offer the link to their Source Code in their download's section, along with a link to their Git Repo - https://github.com/subgraph/Orchid
This should not be acceptable, no. Tor does not leak information about circuit position in this way, and there's no need for it. Use an encryption scheme that doesn't change the size of the data you're transfering to prevent leaking this information.
Are you trying to write a compatible implementation of Tor in Java? If so, check out Tor's specification to ...
Just download and run TOR Browser. It will open a socks proxy in your system. You can check the port in browser settings:
You just need to set a proxy for your java socket:
InetSocketAddress HiddenerProxyAddress = new InetSocketAddress("127.0.0.1", 9150);
Proxy HiddenProxy = new Proxy(Proxy.Type.SOCKS, HiddenerProxyAddress);
Socket underlying = ...
SilverTunnel-NG is able to provide access to the Tor Network on a Socket level.
You can checkout the Sample code here
The easiest way is to use maven and include the following dependency into your pom.xml:
As @Steve mentioned in the comment, Tor Browser does not use Java nor does it support Java applets. So, there's no need for it to interact with your local Java installation. (Try executing any Java applet -- it will fail.)
However, the Tor Browser Bundle is a sandbox. TBB tries to only use the files and data that it has in its installation directory and ...
There is nothing in Tor itself limiting the lifetime of the TCP connection. Although you do get a new circuit every 10 minutes (by default), if there are any TCP connections alive on the existing circuit it is not shut down until they all close as well.
So, since a WebSocket connection is simply a long-lived TCP connection under the hood, one of the other ...
If you just want to remote-control the Tor Browser, have a look at Marionette from Mozilla. It is built into the Tor Browser (and every other current Firefox). You enable it on the command line by calling
(inside the bundle). You initialize via
from marionette import Marionette
client = Marionette('localhost', port=2828);
As you notice the issue is that Java is running the game, and therefor Java is opening the ports. At this point it's now more of a challenge of getting Java to run over Tor. Usually I would make something like this to replace the default java binary:
torify java.exe $0
Which would then run Java over Tor in replacement of the default Java. However, this ...
silvertunnel-ng should do what you want. It's a Java library for easily accessing the Tor network.
Checkout the Unittests for how to access/provide a hidden service.