Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seedbox for help trackers and avoid dead-share #1127

Closed
Clodo76 opened this issue May 15, 2017 · 7 comments
Closed

Seedbox for help trackers and avoid dead-share #1127

Clodo76 opened this issue May 15, 2017 · 7 comments
Labels

Comments

@Clodo76
Copy link

@Clodo76 Clodo76 commented May 15, 2017

Hi to all, i'm trying to create a seedbox that can help to avoid dead-share.
Personally, i want to share over webtorrent a lots of video files (Creative Common, documentary about Moon) and i don't have upload bandwidth and uptime in my house to guarantee the seeding.

So, first, i installed a Debian8 (without X) in the cloud and the bittorrent-tracker.
I write two small changes on bittorrent-tracker server.js:
1- Added res.setHeader("Access-Control-Allow-Origin","*"); when request /stats.json
2- Added activeTorrentsHashes: infoHashes in var stats when request /stats.json

Second, i write an html page called "support.html", that accept a tracker url as parameter.
The page fetch /stats.json with ajax (reason of change 1 above) and maintain a list of client for each active torrents (reason of change 2 above, obtain a list of hashes).
It works. When i create a torrent file, i simply add my tracker and any running "support.html" pages automatically seed.

Now, third: i need to run "support.html" on a VPS.
I try without success to run the latest Chrome 59 in headless mode, but crashes (still unknown why)
I'm forced to install X or xvfb, or anyone here can suggest another approach?

Thx for any feedback.
Clodo

@DiegoRBaquero

This comment has been minimized.

Copy link
Member

@DiegoRBaquero DiegoRBaquero commented May 16, 2017

Why not use a webseed?

@Clodo76

This comment has been minimized.

Copy link
Author

@Clodo76 Clodo76 commented May 16, 2017

Mmmm... yes, for my specific CC contents i can simply use webseed hosted on my VPS.

But... think about Tor project. There are a lot of people that configure servers to help with bandwidth the project with relay: https://www.torproject.org/getinvolved/relays.html.en
More Tor relay, more speed & decentralization.

Using a webseed it's basically a centralized fallback. If i want to add a webseed url mirror of a content, i need to alter the magnet:?ws or the .torrent file.

So, my idea above it's write a software-bundle/guide about creating a 'supporter-node' like a Tor relay for webtorrent: a server that automatically help to avoid dead-share of contents by fetching a tracker.

If anyone have only hashes of my contents, and put directly on https://instant.io/, there isn't any webseed info. With my idea, supporters-node are discovered throught other tracker or via DHT. Decentralized.

Another hypotetical context: i create a community that help to collect contents of type X. The community host a tracker.
Some members can contribute by simply running a supporters-node (again: a VPS (or pc, raspberry etc) that automatically/periodically fetch the community tracker and help to seed.
Other members can contribute by adding content: create a torrent using the community tracker. Automatically at fly supporters-node download and share it, and the content creator can go offline.
Content can be published directly on webpages with webtorrent. If a moderator ban an hash in the tracker (for ex. DMCA), automatically supporters-node stop to sharing the content.

Just my thoughts.

@Stiveknx

This comment has been minimized.

Copy link
Contributor

@Stiveknx Stiveknx commented Sep 18, 2017

I would do that by creating an node.js app runing in background to seed those files.
Just create an web interface for manage it.
An database to control the torrents.
Its not much work, I already did that once, but there´s a problem:

I started seed only in a VPS. But with an large amount of files, the network speed has become an problem, I think I would need an server with a 10gbs port or multiple servers with 1gbs.

In webtorrent, other users only share their content while they are watching an stream or downloading a file.
After that they just "close" the window and stop seeding. Your VPS would be the only seeding that specific file at the end of it all.

@cron410

This comment has been minimized.

Copy link

@cron410 cron410 commented Oct 18, 2017

To make this super easy, it would be helpful to be able to run this in docker so users only need to have docker installed, they can then feed necessary config options via env variables to the container. I can help with that if you get this working.

@stale

This comment has been minimized.

Copy link

@stale stale bot commented May 3, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label May 3, 2018
@Lednerb

This comment has been minimized.

Copy link

@Lednerb Lednerb commented May 7, 2018

I'm looking for the exact same use case.

Do you have any news on this?

@stale stale bot removed the stale label May 7, 2018
@feross

This comment has been minimized.

Copy link
Member

@feross feross commented May 10, 2018

If you're in control of the .torrent files and magnet links used by your users, then rather than running a peer that communicates to peers directly, we recommend hosting content using a HTTP web seed and adjusting the .torrent files and magnet links to reference that HTTP web seed URL.

Some members can contribute by simply running a supporters-node (again: a VPS (or pc, raspberry etc) that automatically/periodically fetch the community tracker and help to seed.

Regarding this use case, I recommend writing your own custom software on top of WebTorrent that achieves this goal, as this is out of scope for WebTorrent itself.

@feross feross closed this May 10, 2018
@feross feross added the question label May 10, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Aug 8, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
You can’t perform that action at this time.