cross-posted from: https://lemmings.world/post/29678617

Thought I would share my simple docker/podman setup for torrenting over I2P. It’s just 2 files, a compose file and a config file, along with an in-depth explanation, available at my repo https://codeberg.org/xabadak/podman-i2p-qbittorrent. And it comes with a built-in “kill-switch” to prevent traffic leaking out to the clearnet. But for the uninitiated, some may be wondering:

What is I2P and why should I care?

For a p2p system like bittorrent, for two peers to connect to each other, at least one side needs to have their ports open. If one side uses a VPN, their provider needs to support “port forwarding” in order for them to have their ports open (assuming everything else is configured properly). If you have ever tried to download a torrent with seeders available, yet failed to connect to any of them, your ports are probably not open. And with regulators cracking down on VPNs and forcing providers like Mullvad to shut down port forwarding, torrenting over the clearnet is becoming more and more difficult.

The I2P network doesn’t have these issues. The I2P is an alternative internet network where all users are anonymous by default. So you don’t need a VPN to hide your activity from your ISP. You don’t need port-forwarding either, all peers can reach each other. And if you do happen to run a VPN on your PC, that’s fine too - I2P will work just the same. So if you’re turning your VPN on and off all the time, you can keep I2P running throughout, and continue downloading/uploading.

I2P eliminates all the complications and worries about seeding, making it easy for beginners to contribute to the network. I2P also makes downloading easier, since all peers are always reachable. And it’s more decentralized too, since users don’t need to rely on VPN providers. And of course, it’s free and open source!

A fair warning though, I2P is restricted in some countries. And in terms of torrenting specifically, torrents have to explicitly support I2P. You can’t just take any clearnet torrent and expect it to work on I2P. And the speeds are generally lower since there are less seeders, and the built-in anonymity has a cost as well. However I’ve been surprised at the amount of content on the I2P network, and I’ve been able to reach 1 MB/s download speeds. It’s more than good enough for me, and it will only get better the more people join, so I hope this repo is enough for people to get started.

  • coffelov@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I just tried to test it and i dont know why but i cant access the qbit client, do i need to use a i2p browser for that?

    • xabadak@lemmings.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      16 hours ago

      Nope, any browser should work. The compose file in my repo should be exposing qbittorrent on port 8080 (line 27 in the file). I would say first:

      1. make sure the containers are running, use podman-compose ps or docker-compose ps from the folder that contains the compose file
      2. use ping to make sure you can reach the server
      3. use ss or netstat on your server to make sure it’s actually listening on the port you expect qBittorrent to be listening on (8080 unless you changed it)
      4. view logs using podman-compose logs from the folder that contains the compose file
      5. if you can see the web ui but don’t know what the password is, use podman-compose logs and you should see the temporary password generated by qBittorrent (this is explained in the guide)
      • coffelov@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        16 hours ago

        I tried using docker on portainer for that on a different port but it didnt load, i will try to spin up a vm yo try it again