Crawling BitTorrent DHTs for Fun and Profit [pdf]

(usenix.org)

114 points | by dgellow 4 days ago

7 comments

  • hdgr 1 day ago
    Bitmagnet -https://bitmagnet.io/ - does exactly that. I left it running for a few weeks and then stopped the crawler. Didn't expect much, but still somewhat disappointed by the garbage it reeled in.
    • NegativeLatency 1 day ago
      I've had one running for over a year now, it's replaced my usage of regular torrent sites completely, there is a lot of junk, and it gets stale, but it's still a better experience than most of the public trackers out there IMO
      • qingcharles 1 day ago
        Are you running it at home?

        I built one with a nice TUI to run on a VPS so I can try and find rare magazine torrents, but Hetzner were upset about it. I need to find it a new home. It was a very good citizen, but it still raised too many flags.

        • NegativeLatency 1 day ago
          yes but with a VPN to my seedbox, all the egress from the docker containers its running in goes through this: https://github.com/passteque/gluetun

          the seedbox is through https://www.feralhosting.com used them for over 10 years now and they've been great (shared hosting so I have linuxbrew setup there, but no docker sadly)

        • fc417fc802 1 day ago
          I think generally you have to be very conservative about how you use ultra cheap hosts like hetzner simply due to the economics. Either find a more expensive service that will exert more effort towards discretion or alternatively spend $5 per month on a VPN that's friendly to torrents.
          • farnsworthfusor 1 day ago
            I heard the more money you're paying them the more lenient they are.

            For cheap hosts look for ones that allow tor exit nodes if you're looking for ones that allow funny stuff. There are some that allow it for ideological reasons. Look through the hundreds on lowendtalk. On that forum you can even ask the providers directly if they allow it.

        • k4rli 1 day ago
          Runs fine at home. I've indexed 20M+ torrents in last few months running it during the day. With Prowlarr (or similar) it could easily replace other indexers.
        • NoMoreNicksLeft 1 day ago
          Which magazines?
          • qingcharles 1 day ago
            Anything I don't have! Sometimes I'll find a torrent and no seeds/peers and I'll wonder if there is another torrent out there that has the same files in it somewhere that I can find.

            The other day it was trying to track down some older High Times issues that were torrented but the torrent is dead. Last night it was a mag titled Films & Filming which I know is scanned, but I can't find anywhere.

            • toomuchtodo 1 day ago
              Can I get a copy for the Internet Archive? Will take as much of the corpus as you’re willing to provide.

              (no affiliation with them)

              • qingcharles 1 day ago
                I'm starting to upload everything very soon. I have >4million magazines here so far I think. Feel free to email me on my profile :)
                • HugoTea 19 hours ago
                  Do you have old 2000s era Argos catalogues? Argos is a shop in the UK, I've been tracking down old catalogues to see if my childhood CD player is in there, can't find evidence of it anywhere and so many were made. The catalogues are sort of rare but were given away for free, now people sell old ones on ebay
                  • qingcharles 3 hours ago
                    I don't, but I've started a separate project to try and collect as many catalogues as possible, Argos included. I'm after a Maplin catalogue from my youth :) I do remember coming across a site with a bunch of Argos catalogues on it, but I suspect if you've done any searching you came across that site already?
            • NoMoreNicksLeft 1 day ago
              High Times is mostly on archive.org, if you need that one. I'd sort of like the film-making one, I'll put some time into that. On my list of periodicals, I think the count's up to 500 that I consider important enough to archive and I'm nowhere near done with it.
              • qingcharles 1 day ago
                Yeah, I have the High Times from archive.org, but it's missing a lot of issues which were torrented at some point. If there's anything you need send me an email on my profile.
      • plusfour 1 day ago
        Same here, for over a year. how many torrents has yours indexed?
      • gonzalohm 1 day ago
        How much space do you need to store the index?
        • plusfour 1 day ago
          160gb for 27m torrents
        • knowaveragejoe 16 hours ago
          The factor that determines this most is how much of the files metadata for each torrent you choose to keep, which is configurable.
      • drdexebtjl 1 day ago
        I disabled mine because it was constantly writing to my SSD.
        • Modified3019 1 day ago
          In case you haven’t considered, HDDs work great for this, since write wear out isn’t really a factor for those. ZFS can also help batch together TXG’s until they hit time or size limits before commit it at once to the disk.
        • felooboolooomba 1 day ago
          I solved it by storing the data on /dev/null
          • futune 1 day ago
            If /dev/null is fast and web scale, I will use it.
          • Daviey 1 day ago
            The writes are insanely fast.
            • spwa4 16 hours ago
              The reads are even faster.
          • permalac 1 day ago
            Pretty big space.
    • muyuu 1 day ago
      probably worth adding some ML filter to it because yeah, most of the bulky stuff in bittorrent is always going to be garbage - a lot like the internet generally, the value is in filtering the good stuff out
    • qingcharles 1 day ago
      This is a good tip, thanks. I'll probably replace my home-grown scanner for this one.
    • naikrovek 19 hours ago
      why the hell does that require a postgres database instance? has no one heard of sqlite?

      "It's just `docker compose up` dude." that's not excuse for unnecessary complexity. software for a single person should be a single binary that anyone can run how they choose. If they want to use Docker, great. If they want to run it in a terminal, great. If they want to run it on a server, great. If they want to run it on their phone, great.

      developers: avoid limiting people artificially like this. There is no way that Sqlite is insufficient for this.

      • knowaveragejoe 16 hours ago
        The database gets quite large and the developers put in a lot of effort for tuning it for searchability.
  • gritzko 1 day ago
    2010. I remember those times. I was doing these things for science in 2008. Performance-wise, PEX was much faster than DHT. At least, in my setting.

    This year, I was giving it as an assignment to students. Does not take much time with LLMs.

  • the8472 1 day ago
    Crawling has been somewhat simplified with BEP 51

    https://bittorrent.org/beps/bep_0051.html

  • hackingonempty 1 day ago
    (2010)
  • CommanderData 22 hours ago
    I saw mention of Sybil's, hasn't this been patched effectively making techniques of quick discovery though many DHT nodes much more expensive and slower.

    You would need a unique IP to overcome this per n nodes. That could be tens of thousands of IPs.

  • Boss0565 1 day ago
    old paper
  • MoonWalk 1 day ago
    The article neglects to define "DHT" before using it.
    • ivanjermakov 1 day ago
      Distributed hash table - ButTorrent extension for discovering torrent's seeders by advertising its hash across known peer pool, think of it as a distributed tracker. Contrary to traditional way of asking a known tracker for peers of that torrent.

      Its algorithm is very elegant, using binary search on peers' and torrents' hashes, narrowing down to peers that are more likely to be seeders (or at least know some).

      https://www.bittorrent.org/beps/bep_0005.html

      • loeg 1 day ago
        Not a P2P innovation with Bittorrent, FWIW. Kademlia DHT (used in eMule/LimeWire/Gnutella P2P networks) long predates Bittorrent.
      • MoonWalk 11 hours ago
        Thanks!
    • drbscl 15 hours ago
      > The BitTorrent community has responded to these trends by deploying decentralizing tracking systems based on distributed hash tables (DHTs).

      No it doesn't. Before you try to correct me, the abstract never counts ;)

    • MoonWalk 11 hours ago
      Downvote all you want, but a fact is a fact: The article doesn't define the abbreviation before using it.
      • dgellow 10 hours ago
        I'm not sure why you're saying that in the HN comments. As far as I know the authors aren't there, and the paper is from 2010. It's not like it will get updated now.

        One search tells you what DHT in the context of wikipedia is: https://en.wikipedia.org/wiki/Mainline_DHT