139 Commits

Author SHA1 Message Date
875ae36d17 Add custom scripts for rss download 2025-02-02 18:14:46 +01:00
FinalDoom
77e6f3aae5 feat: add filter by filesystem location + bonus tooltip on overflowed filter names (#518) 2025-01-14 19:54:32 +00:00
Trim21
2a0d29c1f5 style: add new rule for imports (#785) 2024-08-13 22:31:39 +00:00
Trim21
5ff9cddead feat: new args --disable-rate-limit (#737) 2024-04-29 06:24:23 +08:00
Scratch
9fabf414fe server: remove port requirement, permit running on paths (#680) 2023-11-29 07:34:42 +00:00
Jesse Chan
582b374011 dependencies: bump (minor) 2023-06-11 01:11:11 -07:00
Torkil
1495f0169a TorrentListColumns: add "Finished" column (#565) 2022-06-30 23:19:23 -07: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
ConquerorDopy
5cb523d06a client: add page title speed display preference 2021-12-13 19:45:57 -08:00
Jesse Chan
477919856b server: create production build with webpack directly 2021-11-28 22:48:22 -08:00
FinalDoom
9361b2fa3d client: allow multi-select of filters with Ctrl and Shift keys 2021-11-01 00:19:36 -07:00
Jesse Chan
af8de75e05 server: remove unused history snapshots and make it in-mem only 2021-10-31 23:21:20 -07:00
Jesse Chan
9c9675df34 dependencies: bump (major) 2021-10-23 20:52:11 -07:00
Saber
ad764648dd feature: display total size by tag or tracker of torrents on sidebar (#369)
Bug: #244
2021-07-14 16:28:15 +00: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
2b6ca5ff66 API: ditch inefficient "TRANSFER_SUMMARY_DIFF_CHANGE", always full update
TRANSFER_SUMMARY_DIFF_CHANGE is almost always full update:

```
[
{"op":"replace","path":"/downTotal","value":851320719382},
{"op":"replace","path":"/downRate","value":6139},
{"op":"replace","path":"/upTotal","value":1826972572184},
{"op":"replace","path":"/upRate","value":5480521}
]
```

which is generally less efficient than full object (TRANSFER_SUMMARY_FULL_UPDATE):

```
{
"upRate":5430724,
"upTotal":1827320521117,
"downRate":6062,
"downTotal":851321106383
}
```
2021-05-22 21:31:32 +08:00
Jesse Chan
abf99ba52b shared: schema: explicitly use "strictObject" 2021-05-20 23:17:53 +08:00
Jesse Chan
4e6d4136cb API: add a "dateFinished" field to TorrentProperties 2021-05-17 21:46:08 +08:00
Jesse Chan
7c992bc2f2 client: add support for Deluge 2021-05-17 07:05:36 +01:00
Jesse Chan
69a9c667a5 server: Deluge: create empty services 2021-05-17 07:05:36 +01:00
Jesse Chan
d84c8aacb8 client: add "Reannounce" action 2021-02-21 23:47:45 +08:00
Jesse Chan
00ab541701 API: torrents: add /reannounce 2021-02-21 23:47:45 +08:00
Jesse Chan
04a8573511 server: replace domain from URL RegEx with plain split, slice and join 2021-02-04 08:33:44 +08:00
Jesse Chan
6c858dfc0e config: move floodServerProxy to client DevServer script 2021-01-30 19:19:24 +08:00
Jesse Chan
5afa79b274 config.cli: migrate to TypeScript 2021-01-30 19:11:28 +08:00
Jesse Chan
1d1a478391 server: redirect to a portable link for /data endpoint 2021-01-28 17:17:25 +08:00
Jesse Chan
402a5b8a69 server: invalidate previous tokens when user changed 2021-01-26 09:06:41 +08:00
Jesse Chan
53c0b3f863 server: strictly validate auth token payload 2021-01-26 08:34:13 +08:00
Jesse Chan
f3ebdece95 server: use "/usr/share/flood/assets" as a location of assets 2021-01-19 10:40:08 +08:00
Jesse Chan
703978b1f3 server: qBittorrent, Transmission: normalize hash to upper case 2020-12-29 22:08:52 +08:00
Jesse Chan
4239ecf80e server: notificationService: replace callbacks with promises 2020-12-28 23:19:52 +08:00
Jesse Chan
a9e85ee7d7 client: add "Download .torrent" context menu item 2020-12-28 17:32:18 +08:00
Jesse Chan
5f0bb16a1c client: add "Initial Seeding" context menu item 2020-12-26 13:49: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
c978d658cc client: add "Sequential" context menu item 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
559ecaa0d8 server: allow Flood not to serve static assets 2020-12-10 23:48:58 +08:00
Jesse Chan
00cbc6537c feature: generate magnet links 2020-12-01 23:05:47 +08:00
Jesse Chan
281f9317e1 feature: store tag-specific destination and use it as fallback 2020-11-17 21:34:42 +08:00
Jesse Chan
929141912a schema: api: torrents: add-urls: remove URL validation
"Add by URLs" also accepts local file path.
2020-11-17 00:33:14 +08:00
Jesse Chan
3b573e59e9 feature: allow to prefer single tag selection 2020-11-16 21:39:45 +08:00
Jesse Chan
1a878d5423 flood: rearrange, remove misc files and reformat 2020-11-15 23:03:47 +08:00
Jesse Chan
ca9890a69c schema: config: make floodServerProxy and ssl properties optional 2020-11-14 15:31:59 +08:00
Jesse Chan
ed98e210f4 server: schema validate configurations
Unfortunately there are still many people who prefer static config
file. As such, schema validate the configurations to ensure that
the failure happens loud and early when the config.js is broken.

Also enforces that the length of secret must be larger than 30 as
the JWT secret can be brute forced locally without interaction with
the server.

This ensures that we always have proper configurations and avoids
unnecessary and bad defensive programming practices.
2020-11-14 15:20:23 +08:00
Jesse Chan
9038177630 feature: store the last used "Add Torrents" tab
Bug: Flood-UI/flood#329
2020-11-14 00:28:53 +08:00
Jesse Chan
aeefd6954d server: allow fallback to default or last destination 2020-11-13 13:28:11 +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