seansfkelley / nas-download-manager

An open source browser extension for adding/managing download tasks to your Synology DiskStation.
253 stars 46 forks source link

[Feature Request] adding public tracker list for each download task #137

Open soyvv opened 4 years ago

soyvv commented 4 years ago

github tracker list: https://github.com/ngosang/trackerslist

The proposal: 1) add a configuration option to enable "adding public trackers"; 2) if the option is checked, for each successfully created task, add the additional trackers from the list above. (There is tracker adding API available for download station API)

This would accelerate the downloading quite a bit.

Thanks.

seansfkelley commented 4 years ago

This is an interesting idea! Unfortunately, I won't have time for the foreseeable future to dig into a feature this large. :(

boin commented 3 years ago

github tracker list: https://github.com/ngosang/trackerslist

The proposal:

  1. add a configuration option to enable "adding public trackers";
  2. if the option is checked, for each successfully created task, add the additional trackers from the list above. (There is tracker adding API available for download station API)

This would accelerate the downloading quite a bit.

Thanks.

such a nice idea! How can I find "(There is tracker adding API available for download station API)" ? I'll try contribute this feature.

seansfkelley commented 3 years ago

The way this project is structured, I've offloaded all of the API implementation to https://github.com/seansfkelley/synology-typescript-api/. Additionally, you can find the official docs linked from that readme: https://global.download.synology.com/download/Document/Software/DeveloperGuide/Package/DownloadStation/All/enu/Synology_Download_Station_Web_API.pdf

I'm happy to accept this change if you make it, however, I would like to keep knowledge of any particular tracker or even tracker lists out of extension. If you implement it, I suggest a setting that accepts a URL from which tracker lists can be fetched.

boin commented 3 years ago

Thanks for the help. However, I can't find any information about modify tracker for a certain task from official docs. Appreciate any help if I've missed anything.

seansfkelley commented 3 years ago

Hm, you're right, I don't see anything in the documentation. That's the only documentation I've ever used to use their API, so I'm not aware of any other way to figure out what's available, if it's undocumented, without examining the network traffic in DSM. :/

boin commented 3 years ago

Seems we got some undocumented juice 🍡 api=SYNO.DownloadStation2.Task.BT.Tracker&method=add

fetch("https://NASIP/webapi/entry.cgi", { "body": "task_id=%22dbid_69%22&tracker=%5B%22udp%3A%2F%2F93.158.213.92%3A1337%2Fannounce%22%2C%22http%3A%2F%2F54.39.179.91%3A6699%2Fannounce%22%5D&api=SYNO.DownloadStation2.Task.BT.Tracker&method=add&version=2", "method": "POST", "mode": "cors" });

There has some bugs anyway. adding new tracker just not working if a magnet task is pending for DHT response.