29 Commits

Author SHA1 Message Date
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 9c9675df34 dependencies: bump (major) 2021-10-23 20:52:11 -07:00
Jesse Chan abf99ba52b shared: schema: explicitly use "strictObject" 2021-05-20 23:17:53 +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 00ab541701 API: torrents: add /reannounce 2021-02-21 23:47:45 +08:00
Jesse Chan 6c858dfc0e config: move floodServerProxy to client DevServer script 2021-01-30 19:19:24 +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 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 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 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 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 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 7a146396b1 feature: support Transmission 2020-11-05 23:01:41 +08:00
Jesse Chan ccb410d2e5 config: switch to authMethod config for auth method selection 2020-10-31 20:48:55 +08:00
Jesse Chan 9e03d2a385 shared: schema: split enums from schemas
Otherwise zod will be included in client dependency graph and
increase the bundle size by 10kB unnecessarily.
2020-10-28 12:34:52 +08:00
Jesse Chan 6c41c764f1 API: auth: preload server configs along with /verify response
Get rid of last build-time config dependency and allows easier
switching of client modes.
2020-10-26 20:40:59 +08:00
Jesse Chan 306ff79182 API: auth: don't include token in JSON objects
Token is already sent by Set-Cookie. It is unneccessary and
insecure to include them in JSON response. Doing so also
introduce the token into Javascript VM which is not protected
as well as the httpOnly cookies.
2020-10-26 20:40:59 +08:00
Jesse Chan 6e866445ea EXPERIMENTAL: feature: support qBittorrent 2020-10-25 08:27:52 -05:00
Jesse Chan cf08d68c92 auth, Users: initial preparation for multi client support
BREAKING CHANGE
2020-10-14 10:58:52 +08:00