139 Commits
Author SHA1 Message Date
zoriya 875ae36d17 Add custom scripts for rss download 2025-02-02 18:14:46 +01:00
FinalDoomandGitHub 77e6f3aae5 feat: add filter by filesystem location + bonus tooltip on overflowed filter names (#518) 2025-01-14 19:54:32 +00:00
Trim21andGitHub 2a0d29c1f5 style: add new rule for imports (#785) 2024-08-13 22:31:39 +00:00
Trim21andGitHub 5ff9cddead feat: new args --disable-rate-limit (#737) 2024-04-29 06:24:23 +08:00
ScratchandGitHub 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
TorkilandGitHub 1495f0169a TorrentListColumns: add "Finished" column (#565) 2022-06-30 23:19:23 -07:00
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
ConquerorDopyandJesse Chan 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
FinalDoomandJesse Chan 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
SaberandGitHub 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