Commit Graph

46 Commits

Author SHA1 Message Date
Trim21
2a0d29c1f5 style: add new rule for imports (#785) 2024-08-13 22:31:39 +00:00
FinalDoom
745d05089b feature: display comment inside .torrent in torrent details (#541)
* Added comment to torrent details

Mostly simple as it's supported by the various clients,
except in the case of rtorrent.

For rtorrent, tags are stored in custom1, consistent with other clients.
For that reason, comment is being stored in custom2,
which is also consistent with other clients.
In particular, rutorrent uses a prefix on the comment for some reason,
which is duplicated in this change to preserve cross-compatibility.

* Fix lint 'let' and noreferrer

Co-authored-by: FinalDoom <7464170-FinalDoom@users.noreply.gitlab.com>
2022-04-19 15:04:11 -07:00
Jesse Chan
a94bbb4198 server: flatten directory structure a bit 2021-11-28 19:57:27 -08:00
Jesse Chan
5dc4e8a119 server: normalize fetching of torrents added with URL 2021-11-08 23:20:09 -08:00
Jesse Chan
7fa7eb5feb server: cleanup synchronous patterns
Bug: #340
2021-06-26 15:12:03 +08:00
Jesse Chan
59a3fc74fd API: add a "dateActive" field to TorrentProperties
Last time the torrent is active, -1 means currently active, 0 means data unavailable
2021-05-26 22:19:40 +08:00
Jesse Chan
4e6d4136cb API: add a "dateFinished" field to TorrentProperties 2021-05-17 21:46:08 +08:00
Jesse Chan
b3570f5a31 server: qBittorrent: limit concurrent additional requests 2021-05-02 00:32:46 +08:00
Stanislas Lange
adebc961be server: qBittorrent: use new session directory path on Linux
See: qbittorrent/qBittorrent@1c7bfcac4
2021-04-10 17:46:25 +08:00
Jesse Chan
d06809635d server: qBittorrent: implement reannounceTorrents 2021-02-21 23:47:45 +08:00
Jesse Chan
12f08a9313 API: torrents: return hashes of added torrents when possible 2021-02-15 22:47:40 +08:00
Jesse Chan
d345be43c0 Revert "server: qBittorrent: chop the trailing slash off from directory"
This reverts commit dbc0211a99.

Bug: #173
2021-01-28 23:31:02 +08:00
Jesse Chan
1b03d3d180 server: handle case difference in ".torrent" download 2021-01-13 18:55:23 +08:00
Jesse Chan
703978b1f3 server: qBittorrent, Transmission: normalize hash to upper case 2020-12-29 22:08:52 +08:00
Jesse Chan
87e4b54bc9 server: qBittorrent: trim whitespaces after tags string split 2020-12-29 21:43:50 +08:00
Jesse Chan
1a0f3d0b45 server: allow to download meta-info (.torrent) files
GET /api/torrents/{hash(, hash2, ...)}/metainfo
2020-12-28 17:32:18 +08:00
Jesse Chan
01edfec73a server: qBittorrent: use "contentLayout" for isBasePath
Bug: qbittorrent/qBittorrent#13955
2020-12-27 21:50:14 +08:00
Jesse Chan
31828bdfd9 server: qBittorrent: implement "isCompleted" (skip_checking) 2020-12-27 20:23:55 +08:00
Jesse Chan
26c9987355 server: support initial seeding (aka superseeding)
https://www.bittorrent.org/beps/bep_0016.html
2020-12-26 13:49:55 +08:00
Jesse Chan
0c7dad248d server: qBittorrent: implement "isSequential" support 2020-12-26 11:07:30 +08:00
Jesse Chan
61b6b61569 API: torrents: add "isSequential" torrent property 2020-12-26 11:07:30 +08:00
Jesse Chan
20fc3ac6a8 server: torrents: disallow comma in tag 2020-12-15 20:57:36 +08:00
Jesse Chan
94a77cc1ab server: qBittorrent: avoid accessing undefined cookie object 2020-12-13 21:46:22 +08:00
Jesse Chan
e2fc3a74d5 server: qBittorrent: fix "Set Trackers" function
qBittorrent APIs are incremental so remove all existing trackers
before set new ones.

addTrackers endpoint requires URLs to be splitted with "%0A".
2020-12-05 23:31:35 +08:00
Jesse Chan
1e81931461 server: qBittorrent: forward cookies to qBittorrent 2020-12-05 23:31:35 +08:00
Jesse Chan
dbc0211a99 server: qBittorrent: chop the trailing slash off from directory
To sync with other clients.
2020-12-05 22:23:37 +08:00
Jesse Chan
9051a00fba server: qBittorrent: allow to attach tags while adding torrents
Needs: qbittorrent/qBittorrent#13882
2020-11-30 20:37:20 +08:00
Jesse Chan
c9748e7e31 server: don't truncate percentCompleted to integer
It is frontend's job to handle this.
2020-11-26 23:49:37 +08:00
Lucas Winther
a5de58593b server: qBittorrent: set tags after removing all existing tags
APIs of qBittorrent (removeTags, addTags) are incremental. However,
currently it is being used to "set" tags. As a result, tags are never
removed.

This change removes all existing tags before adding new set of tags
in order to simulate the idempotent set function.
2020-11-21 00:46:18 +08:00
Jesse Chan
80ffb24d8d API: torrents: schema validate add-urls and add-files endpoints
Those endpoints use extensive amount of user-provided properties
and will be frequently used by third party developers. With Node
15, unhandled promise rejections directly crash the server, as
such, it is safer to schema validate the request before processing
it.

This change also prepares the code paths for later change that adds
destination fallbacks.
2020-11-13 13:27:31 +08:00
Jesse Chan
8efad15d5b API: client: "throttle" means "Max"
There is no need for both. So use "Speed" for better clarity.

Also switch to B/s as that's more native for everything.
2020-11-08 23:45:51 +08:00
Jesse Chan
d592152967 API: client: remove [down/up]Throttle, clarify throttleGlobal[Down/Up]Max unit 2020-11-08 01:57:50 +08:00
Jesse Chan
8261d71eb5 API: torrents: remove unused props in TorrentPeer, TorrentTracker 2020-11-05 21:54:01 +08:00
Jesse Chan
6b72a36354 server: qBittorrent: retrieve dateCreated and isPrivate properties 2020-11-03 21:26:05 +08:00
Jesse Chan
448075a7d6 API: torrents: remove confusing baseDirectory, baseFilename and basePath props 2020-11-03 20:41:56 +08:00
Jesse Chan
29c6fbeb3b API: torrents: remove useless isMultiFile property
It is only used to determine whether to use .tar extension when
download is requested. However, server sent Content-Disposition
header which already tells the browser the filename and it is
more accurate.

As such, remove this useless property.
2020-11-03 18:15:00 +08:00
Jesse Chan
4c24f56260 API: client: remove connection test with new settings
This simply won't work as we now support multiple clients. Each
client needs its own clientGatewayService which can only be
created by the user config.

Thus, let the form update user config directly.
2020-11-03 00:39:45 +08:00
Jesse Chan
600e22a6d6 server: services: refrain from using unnecessary throws 2020-11-03 00:38:49 +08:00
Jesse Chan
dc1b939c26 server: qBittorrent, rTorrent: properly hook functions to error handlers 2020-11-03 00:38:46 +08:00
Jesse Chan
08a95253bc API: torrents: remove dhtStats, throttleMaxDownloadsDiv and throttleMaxUploadsDiv
No one knows what throttleMaxDownloadsDiv and throttleMaxUploadsDiv do. dhtStats
is not used. Let's remove them first to see how things go.
2020-11-01 22:55:32 +08:00
Jesse Chan
fec96bcf84 server: qBittorrent: treat ETA >= 8640000 as infinity 2020-11-01 22:43:12 +08:00
Jesse Chan
01dcf81b48 API: torrents: calculate the Duration object in frontend 2020-11-01 22:21:54 +08:00
Jesse Chan
5be9306559 server: qBittorrent: show connected peers who download from us 2020-11-01 00:19:11 +08:00
Jesse Chan
7e56cd99ac server: clientGatewayService: remove unused PROCESS_TRANSFER_RATE_START event 2020-10-29 12:14:00 +08:00
Jesse Chan
352d29769b server: services: qBittorrent: fetch tracker URIs if needed 2020-10-26 22:39:02 +08:00
Jesse Chan
6e866445ea EXPERIMENTAL: feature: support qBittorrent 2020-10-25 08:27:52 -05:00