At least in arch, the package qbittorrent-nox now contains the ability to connect to i2p. For people starting out, using i2p you wouldn’t need to use a VPN to download your favorite “linux ISOs”; just use i2p and have a fully automated Jellyfin server!

I recommend using i2pd as the i2p router

  • GravitySpoiled@lemmy.ml
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    9 months ago

    Does it work for the average joe?

    If not, what’s missing such that we all can move to it?

    • aldalire@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      12
      ·
      9 months ago

      It’s all free and open source! If you’re on windows it might be a little more difficult so at least having a linux PC you can reliably have on 24/7 would make things easier. I personally use arch (I’ve tried this on my endeavour OS), very easy installation for beginners) for this since it’s rolling release (latest versions of packages!) and the AUR is a godsend. The programs themselves take little ram and cpu, with qbittorrent probably needing the most ram once you have more torrents downloaded (I’m running this on 4 cores of CPU and 4 gigs of ram alongside my minecraft server, a tor relay and a monero node. any old laptop repurposed with endeavour should do the trick)

      the steps I took to do this (on endeavour os) was:

      install i2pd

      • sudo pacman -S i2pd

      Install qbittorrent webui

      • sudo pacman -S qbittorrent-nox

      install prowlarr (optionally sonarr and radarr, which will automatically manage video files for you. Plays reaaaally well with Jellyfin, so you wouldn’t have weirdly formatted files that is being read by Jellyfin)

      • yay -S prowlarr
      • yay -S sonarr
      • yay -S radarr

      Lastly you have to turn enable the *arrs in systemd

      • sudo systemctl enable --now prowlarr
      • (do the same with sonarr and radarr if you have them)

      (or you can also go the docker route with qbittorrent, prowlarr, sonarr and radarr, if you don’t have arch. This is the more universal route and can handle many more devices. Although I have not checked if qbittorrent-docker has i2p integration yet. For that you may need to swap out qbittorrent for vuze, or apply the patch in the comment in the link i posted in the docker container [which is editing the qBittorrent.conf file])

      For the average joe i’d say it’ll be an afternoon’s worth of labor to set up, and the upside is not relying on a VPN to install content and a fully automated Jellyfin server! Plus you get to help the steadily-growing i2p network If you have more questions I’d be happy to answer here :)

        • aldalire@lemmy.dbzer0.comOP
          link
          fedilink
          English
          arrow-up
          3
          ·
          9 months ago

          if you install java i2p it should come with the browser and torrent client (i2psnark) pre-packaged

          for i2pd (c++ implenetation) you have to configure firefox (i use librewolf with noscript) to use the http proxy (on port 4444).

      • GravitySpoiled@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        ·
        9 months ago

        Thanks for the write up. We need such a write up as a top level post if you’re down for it.

        I use docker and prefer docker over a package.

        I’d love to jump on the bandwagon but until now I thought it’s still years away.

        Do you know if this is the right docker image? https://geti2p.net/de/download/docker

        Are there other trackers than postman? For e.g. German/French content?

        How to connect qbittorrent and i2p in docker?

        Are there already private trackers as well? I prefer private ones.

        • aldalire@lemmy.dbzer0.comOP
          link
          fedilink
          English
          arrow-up
          4
          ·
          edit-2
          9 months ago

          I haven’t tried the i2p docker image, but it shouldd work. Let me know

          There are some German and French content that I see occasionally in Postman. In the actual i2p postman site you can filter for the French and German language.

          If you’re using the docker image the network_mode is set to host, so it should work the same as if i2p was installed without containerization.

          where 7656 is the SAM bridge port. I’m using version 4.6.3 of qbittorrent and it has this feature. The arch package for qbittorrent-nox (the webui edition of qbittorrent) already has this feature. I just checked; the latest docker image for qbittorrent should already have this feature! https://github.com/linuxserver/docker-qbittorrent

          Not too sure about private trackers. Although, due to the fundamental anonymizing feature of i2p there would be no way for copyright trolls to track IP addresses and send mass lawsuits, which private trackers defend against.

          • GravitySpoiled@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            9 months ago

            Private trackers are not only protecting you. It also protects against full time leachers. And people keep up the quality of the seeds. Bad torrents die quickly.

    • RyeMan@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      9 months ago

      Absolutely. Go to https://geti2p.net/ to get started. There are some super simple Windows installers that make everything just a few clicks. If you’re on Linux it’s built into the package managers for Ubuntu/Debian but from my experience it’s a lot better if you can get the Java source version working because then it can self update and you’ll always have the most current release.

      Once it’s installed and running let your new i2p router run for a minimum of about 30-45 min to explore the network and build good connections with peers. The longer it runs the more stable it becomes but it should be usable after about 30 minutes on your first start up (subsequent start ups are a little faster after your router gets to know the network a little better). And that’s it! You’re now running an i2p router!

      The only part where things get a little hard is with the proxy settings… Unfortunately there just aren’t enough active devs or funding in i2p to support a dedicated browser like Tor so this is the only side of i2p that tends to get more involved. You need to configure a browser to proxy http requests through the port used for i2p http: 4444. If the i2p router is on the same machine as the browser then it’s just a matter of entering your local address (127.0.0.1) and port (4444) into your proxy settings. If your i2p router is remote, you need to use ssh port forwarding on port 4444. Alternatively, there is a Firefox plugin that one of the core i2p devs (idk) maintains which automatically containerizes and proxies all .i2p addresses while leaving normal web traffic alone, it’s called “I2P In Private Browsing”. Only warning that the dev for that project cites is that the plugin, although open sourced, has not gone through any security auditing so there’s no guarantee that no information gets leaked to the clear web - so basically just avoid this if maximum privacy is your goal.

      After your router is started up and proxy settings are configured, you’re good to go! Check out some starter sites like i2pforum.i2p to join in on i2p related discussions and development. notbob.i2p also offers a nice sortable directory of some sites hosted on i2p. Or… Host your own hidden service(s)! The standard i2p install comes with a prepackaged and preconfigured Jetty web server, just start the service from your local tunnels page and you’re now hosting a hidden website!

      The possibilities are pretty much endless from here, anything that communicates on TCP/UDP can be tunneled through I2P. Which by the way is a huge advantage over Tor since Tor does not even support UDP. Unlike Tor, I2P also has a much better incentive for node operators since every user is a node, the more people who use I2P, the faster and better it becomes… A Tor node only gets spun up when someone chooses to donate their resources to the network out of the grace of their heart. This also applies to P2P downloading. In fact… It helps to grab a popular download from an I2P indexer when starting a fresh router as that helps introduce your client to new peers. Torrenting is not even an option on Tor as it is basically DDOS’S the network of limited nodes…

    • aldalire@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      edit-2
      9 months ago

      Haha. Well, I guess I have a ulterior motive for promoting i2p; the more people get in it and contribute to the network (port forward the NTCP2 and SSU2 to accept transit tunnels) the better network speeds will get! Just the act of torrenting through i2p will help the network tremendously.

      I have noticed that speeds in i2pd (c++) are faster than in the original java implementation so maybe you can try that out? It’s fast enough for my use case, but yes streaming torrents in i2p is still far away.

      But the upside is, you don’t have to rely on a VPN to protect yourself against copyright trolls! Plus, putting it on a fully automated *arr stack means you can just add a movie on radarr and let the *arrs take care of everything in about a day or so. I average at about 200-300 KiB / s per well-seeded movie file, and around half that for something poorly seeded.

      • Link@rentadrunk.org
        link
        fedilink
        English
        arrow-up
        5
        ·
        9 months ago

        That’s still extremely slow compared to my 6MB/s network connection. Still you are right the more people that join the fast it will be.

        The other issue I’ve found is it doesn’t have all the torrent selection the clearnet has.

        Has this improved or is it still the same?

        • kylian0087@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          9 months ago

          it is improving a load. Also you can ask on the wishlist of postman. Many folks are happy to reseed it for you or make it available on I2P.

    • RyeMan@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 months ago

      The speeds have improved tremendously, over the last couple of years some significant improvements have been made. There’s still more bandwidth overhead using I2P over a traditional connection but it has been significantly reduced and is not as noticeable anymore. That being said, there’s still some configuration that’s necessary to maximize your bandwidth. The biggest complaint I hear about the standard i2p install is that it uses extremely conservative bandwidth settings by default but it can all be easily adjusted to maximize performance on your router. I’ve used I2PD quite a bit but overall I actually much prefer standard Java I2P because it’s far more feature rich, more frequently maintained, and settings are muuuuch much easier to configure and understand. There are still many brilliant optimizations in Java I2P that have not made it into I2PD such as the most recent peer analysis techniques that can automatically block/ban misbehaving peers among other things too. I personally think I2PD is best if I just need to host a low resource tunnel… But back to the speed!

      As was already mentioned the more people who participate, the more I2P thrives. One of the most notable differences is that most I2P nodes right now are just enthusiasts running on recycled hardware at a residential address whereas clear net torrents are much more mainstream and many common/popular torrents have at least one peer hosted at a data center with virtually unlimited bandwidth, that one peer usually contributes to over 50% of your download speed on a standard torrent.

      I have my router bandwidth setting on my 24/7 router set pretty high and my router usually idles at about 850 KBps… My most recent peak was about 1.3MBps, very acceptable speeds I think. I get the best i2p torrent download speeds using Snark which is built into Java I2P, the only important setting to change is increase tunnel quantity to 10 to maximize your download bandwidth. I have seen some of my downloads seed at about 200+ KBps and I have downloaded at almost a full 1MBps which are comparable speeds to standard clear torrent downloads.

      So, in a nutshell, it’s not necessarily slower than a standard torrent download (well, maybe a little bit) but what it does have is significantly more variability in bandwidth and download speed depending on how many hops or peers are in between you and your target destination. More hops creates more variance (and more anonymity), you could be directly connected to someone in a data center but the next hop could be connected to a raspberry pi running off of public Wi-Fi which will be the bottleneck in that connection.

    • zygo_histo_morpheus@programming.dev
      link
      fedilink
      English
      arrow-up
      4
      ·
      9 months ago

      You can have qBittorrent running in mixed mode, which doesn’t give you the privacy of i2p but does give you even more leachers than just using normal ip and helps grow the i2p network. Everyone should get i2p and use mixed mode or i2p only imo.

    • CAVOK@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      Depends on your definition of very slow. I’m currently getting 1MBps which is alright.

  • RyeMan@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    9 months ago

    qBittorrent I have not tried personally but I would think that if you have i2p set up on qbit already then enabling the setting “automatically add these trackers to new downloads” and add in a few open i2p trackers. Postman requires an account so unless the exact same torrent has already been posted there you won’t be able to bridge.

    For Prowlarr, it’s a little more complicated. You can add Postman just like any other indexer but you then need to configure your proxy settings in Prowlarr for it to be reachable. If you are running your i2p router on the same machine you can just enter your local address (127.0.0.1) with port 4444 and it’ll connect. If your router is on a remote machine the easiest solution is to then use ssh port forwarding (autossh is handy here). Ssh forward the remote 4444 port to local and then use the same address and port. The final step is setting your ignored addresses, I have a bit of a list but the idea is to filter out all non .i2p addresses so an example would look like: *.com, *.net, *.info, …

    EDIT: I should also add, if you are sticking with I2PD and are more concerned with just downloading and not incorporating the *arr suite there is a standalone Snark download that’s floating around somewhere that can plug into I2PD. I haven’t used the standalone personally but I do know that Snark is by far the most optimized client exclusively for i2p torrents. Snark is also baked into the standard i2p install by default.

    • aldalire@lemmy.dbzer0.comOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      Oh yes adding i2p trackers would make things work better, lemme try that out.

      For i2pd, by default the http proxy binds to localhost but you can set the ip to 0.0.0.0 in the settings to bind it to all interfaces. Then you can just do <internal ip>:4444

      Yes i have tried i2psnark standalone. It works well, but i have noticed it connects to i2cp, while qbittorrent binds to the SAM port. It’s a bit technical but i wonder what’s the difference between the two protocols?