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

Use custom tracker servers #832

Closed
Lev09 opened this issue Jun 10, 2016 · 7 comments
Closed

Use custom tracker servers #832

Lev09 opened this issue Jun 10, 2016 · 7 comments

Comments

@Lev09
Copy link

@Lev09 Lev09 commented Jun 10, 2016

Hi, I wanted to know if there is a way to use custom tracker server.
I did not manage to find info in Docs.
Thanks in advance.

@retrohacker

This comment has been minimized.

Copy link
Contributor

@retrohacker retrohacker commented Jun 10, 2016

When adding a torrent, you can specify an array of trackers using announce

https://github.com/feross/webtorrent/blob/master/docs/api.md#clientaddtorrentid-opts-function-ontorrent-torrent-

@martinvahi

This comment has been minimized.

Copy link

@martinvahi martinvahi commented Jun 10, 2016

As of 2016_06_10 I do not know anything about WebTorrent. I'm just trying it out myself as an ordinary user, but it certainly failed my tests. Namely, I like to share VirtualBox virtual machine images as bit-torrents, because then people can get an environment that is already set up, where the Linux dependency hell is, not solved, but mitigated to the point that symptoms do not immediately show and people can download those huge blobs by pausing the download, use their internet connection for work during the day and continue downloading my giga-blobs during the night.

Long story shrt-er: a giga-blob that fits to be the test case here:

http://technology.softf1.com/mmmv_raspbian_t1/mmmv_gigablast_container_t1/

The torrent is seeded from my home page hosting account. With Transmission BitTorrent client it works just fine, but if I use the instant.io, then I get

Downloading torrent from
http://technology.softf1.com/mmmv_raspbian_t1/mmmv_gigablast_container_t1/2015_12_07_mmmv_gigablast_container_t1.ova.torrent
Error downloading torrent: Failed to fetch

I understand that I am expected to copy-paste a magnet link to the form text field, but there are no options for torrent files, so I thought that it should then distinguish a link to a .torrent file from a Magnet link. The Magnet link from Transmission did not work either. Usually the command that I use for generating torrent files on Linux is something along the lines of (please replace seeding URL and file name with Yours):

nice -n20 mktorrent -a udp://tracker.openbittorrent.com:80/announce,udp://explodie.org:6969/announce,udp://11.rarbg.com/announce,udp://tracker.ccc.de:80,http://announce.torrentsmd.com:6969/announce -w http://technology.softf1.com/raudrohi/2013/09_04_v_25/bittorrent_seeds/raudrohi_v_25.tar.bz2 ./raudrohi_v_25.tar.bz2

The mktorrent is usually available from Linux distribution package collection. The web browser that I use is openSUSE Linux standard Google Chrome fork. So, the WebTorrent is a nice project, but if I were to start a project like that, then I would be very scared of the lack of control over the various Browsers. In stead of trying to integrate everything to the browser, I would try to create a browser plugin that makes it easy to work with some custom BitTorrent client that can actually be developed, changed, design-decision-and-release-wise controlled by the project team. May be You can re-rail the WebTorrent project by dumping the WebRTC backend and focusing on 2 new parts of the project:

part_1] some fine, multiplatform, BitTorrent client library, in C++, where You determine its API.

part_2] the myriads of User Interfaces to that library, including command line client, various browser plugins, a stand alone GUI, etc.

That way Your investment will not get lost, if the technology changes, in stead of Web browsers people want to run the bit-torrent client at home appliance (which You may sell as a pre-configured-multimedia-home-Network-Storage-device-on-home-LAN), give it download commands, magnet links, etc. from their cellphone, while at work, and may be, due to the nasty corporate firewalls and the Chinese Wall, etc. stream some downloaded videos from that home NAT to their cellphone.

By separating the hard-to-do and expensive and technical-quality-critical BitTorrent client library, which later can also connect to other networks, Freenet, if it is still around at all, etc., from the GUI/UI part, You can keep up with the fancy trends and mitigate risks, while having more resources freed up to invest to the expensive-to-develop C++ library.

I'ts just my view. There are many views in this world.
Thank You for reading. :-D

P.S. If You want a ~20GiB test case, then You may take a look at

http://technology.softf1.com/various_virtual_appliances/2016/

@retrohacker

This comment has been minimized.

Copy link
Contributor

@retrohacker retrohacker commented Jun 10, 2016

Hey @martinvahi,

Super detailed content 😄 it may belong as a separate issue though.

It is possible I'm misunderstanding you, so please correct me if I'm wrong. It doesn't sound like this is directly related to @Lev09's question.

It sounds like your comment is a blend between usability issues on instant.io and questions about the underlying tech powering the webtorrent module. Perhaps split off the instant.io bits to a new issue on https://github.com/feross/instant.io/issues/new and move the rest here https://github.com/feross/webtorrent/issues/new ?

@martinvahi

This comment has been minimized.

Copy link

@martinvahi martinvahi commented Jun 10, 2016

I do not want to be the one, who shovels work from my yard to the yard of others, but may be it is better, if You do the copy-paste-cut-and-cite part, because it is Your idea to split my comment. I do not mind it being split, but I'm nobody here, so it's for the others to figure out, where something fits.

May be one way to split my previous comment is to just cite it in 2 separate places by saying something in the lines of: comment Foo at Bar, lines x-to-y?

Thank You for the compliment, of course. :-)

@DiegoRBaquero

This comment has been minimized.

Copy link
Member

@DiegoRBaquero DiegoRBaquero commented Jun 10, 2016

@martinvahi For instant.io or any website where you plan to download your .torrent files you must have CORS-enabled in your webserver.

On the other topic, the idea is to get wrtc module to work natively and hopefully others implement it in others language.

About the issue: You use opts.announce :)

I'm going to close the issue to keep it clean.

@martinvahi

This comment has been minimized.

Copy link

@martinvahi martinvahi commented Jun 11, 2016

@DiegoRBaquero Thank You for Your answer, but web browser settings are in a role of global settings that affect all sites that the web browser visits. One site requires X, another site requires not-X and may be a third site depends on X or not-X for security. Sticking to the defaults, even if the defaults are not always the smartest, allows at least some assumptions to hold.

Currently I have not studied the CORS part thoroughly, but may be some coross-browser plugin frame-work allows to create some browser plugins that will have more access than plain web pages. I haven't worked on those, but quick googling gave me

http://kangoextensions.com/

It's not free software, but it does have the following advertisement:
"Kango is free for open source non-profitable projects."

There were a few others, but I suspect that the same pattern will emerge as it was with JavaScript GUI libraries: at first I had to write my own, because there were only a few closed source alternatives, and then, after about 3 years, other open source libraries emerged and nobody needed the closed source ones. Therefore, if You design Your architecture to be sufficiently modular, You can dump the non-free cross-browser-plugin framework later, without re-writing the core part of Your project.

So, thank You for your advice,
thank You for Your answer, but
I do not think that changing web browser settings is the solution that solves the issue.

@lock

This comment has been minimized.

Copy link

@lock lock bot commented May 4, 2018

This thread has been automatically locked because it has not had recent activity. To discuss futher, please open a new issue.

@lock lock bot locked as resolved and limited conversation to collaborators May 4, 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
4 participants
You can’t perform that action at this time.