Well this is a pleasant surprise. I’d known that i2p let you do anonymous Bittorrent file sharing / downloading. What I’d not appreciated was how easy they make it to do anonymous UPLOADING.
For a while now I’ve wanted to make some Raspberry Pi images that could just be “downloaded and launched” without all that configuration and such work. Basically instead of a “cookbook”, the results of the cooking.
BUT…
Running a Bittorrent Server requires some way to find you that involves either an IP address, a “Cloud Server instance”, or a “magnet link” that can then lead to the IP Address. I’m not so willing to “out myself”…
BUT…
Built in to i2p is a Bittorrent server, i2pSnark, and using the i2p handles, it is anonymous. Yay!
The “downside” is that in order to download from it, you must also already be using i2p. So a “bootstrap” into i2p via downloading a pre-built image is not possible using i2p. There’s still a “first install i2p”. Which, conveniently, is trivial. It is already in the repository for Debian / Devuan, so it’s just an “apt-get install” and you have it.
What this means is that now I’m going to make a few pre-built R. Pi images, compress them, and put them up for Bittorrent download over i2p.
There’s also a small issue that at i2p install / first launch time, it makes a crypto-key. You can’t just clone an image and go as then several folks end up with the same identity… and routing is confused. So what I’ll need to do is just make a little script to do that step and include it.
Now what I need to do is lay out all the things to put in such a build.
From i2p itself, we get encrypted email, bittorrent file sharing, Web Server, Dark Net services in the .i2p domain, IRC chat client, and a bit more. What I’m thinking of adding is:
Miniirc chat server
Pleroma Social Media Server (‘tweets’ / facebook) federated server
Firefox pre-configured to proxy into the .i2p network
Tor Browser pre-configured for faster anonymous regular clearnet-internet browsing
Any suggestions of other stuff to have pre-installed?
https://www.ghacks.net/2007/06/06/anonymous-bittorrent-with-i2psnark/
The i2p install:
Here is what has to be done to setup the anonymous bittorrent client:
Download the I2P installer for Windows or Linux
Install the application. Just run the executable in Windows
Go to the start menu and open the I2P folder there. Click on Start I2P (restartable)
You have to configure a local proxy now. You do that the following way:
Firefox: Go to Tools > Options. Click on Advanced > Network and select the Settings button under Connection. check Manual Proxy Configuration and add localhost as the HTTP Proxy and the port 4444
Internet Explorer: Click on Tools > Internet Options. Select Connections from the Tab and click on the LAN settings button. Activate Use a proxy server and enter the same data. (Localhost and 4444)
Opera: Select Tools > Preferences and click on the Advanced tab. Choose network from the menu and click on the Proxy Servers buttons. Add localhost and the port 4444 to the HTTP and all other protocols that you want to use.
Opening the console for i2p and launching the bittorrent instance:
Visit http://localhost:7657/index.jsp to load the main interface. You do have many options such as chatting anonymously on IRC or starting the anonymous bittorrent client.
Click on I2PSnark in the header to load the bittorrent interface.You may now add Torrents by either browsing your local computer or pasting a url with the torrent information.
The speed seems to be a little bit lower than usual which is caused by the anonymization. I think that the download rates are still acceptable if you consider that you download and share anonymously.
For my installation, all I did was click on “torrents” in the left hand menu / bar in the main console and it launched the Torrents window, ready to add a ‘torrent’ file. I’ve run a bittorrent before, so it will be a short learning curve to find out how this one is different. Hopefully I’ll have some test file up sometime later today (or maybe tomorrow…)
The only real downside to this is that a large uSD image of, say 380 MB is going to take a long time at 38 kB / second… we’re talking a few hours…