Thread: Firewalled
View Single Post
  #7  
Old 2023-01-20, 11:49 AM
xavier242's Avatar
xavier242 xavier242 is offline
TTD Administrator
TTD Staff
 
Join Date: Dec 2008
Location: a warm place
Re: Firewalled

Quote:
Originally Posted by xavier242 View Post
It would be nice if the bittorrent protocol could report who a peer can connect to and relay this back to the tracker to be displayed in the peers list (and seeder counts). But AFAIK the protocol has no means to report connectivity with other peers back to the tracker.

The Seeding Opportunities page and all other torrents.php generated pages now consider your connectable status (to TTD) when generating the page. Which means the current and previous version are not quite accurate with who's really firewalled because of the inaccurate connectable status data. The same goes for the the rest of the peers data on the site which is using the prior torrents.php logic which relies on all seeders being connectable to be accurate.

...I'm going to research the bittorrent peer info relay idea and see if anyone else concluded the same and if any fix exists. Maybe there is one and it's how some other torrent sites report accurate firewalled status.
I found the official bittorrent spec and studied it. There is no provision for querying the other peers status from each peer.

But I came up with an alternate idea to get an accurate firewalled status to be reported on TTD:

Create an app that runs on a PC with a different VPN server for each PC. That app would periodically download the peers table from the TTD database querying a list of userids and their IPs and ports to test periodically. It would report back to TTD those peers who are connectable and willing to seed from the app's VPN perspective.

There would be maybe 10 to 20 of these boxes running the app and reporting their data. If a peer is not connectable (or willing to seed) from any of the boxes, a reasonable conclusion would be that that peer is truly firewalled. If any peer is connectable and can seed from at least one of the app boxes, they would be considered a usable connectable seeder (not firewalled).

This would be reported to the TTD server and tallied in the peers database (where each peers' connectable status lives). In theory the TTD database would then have a fairly accurate count of who can seed to others.

Now the question is how to design the app for each box. And the design of the php page on TTD to report and tally the findings.

There's a concern of how much load this would put on TTD's server.

The bittorrent spec has different states a peer can be in that also determine if they will seed. That also needs to be reported and tallied.

You'd want to run each box on a VPN as the ISP would throw a fit with all the different IPs passing metadata around. Even some VPN companies might take issue with that, even though the total amount of data is small compared to a gig download.

My head is spinning... maybe there's a better idea.

TLDR:
Theoretically there is a solution for accurately reporting who's really firewalled.
Reply With Quote Reply with Nested Quotes