Commit graph

296 commits

Author SHA1 Message Date
MickaelK
fe830fb8e2 chore (refactoring): main html cleanup 2025-02-04 01:43:04 +11:00
MickaelK
496c05360e feature (templating): new templating function 2025-01-27 16:22:03 +11:00
MickaelK
c3f2c57e5f feature (turboload): decrease load time via sw 2025-01-27 14:05:55 +11:00
MickaelK
753e76d4af feature (auth): follow param in redirect URL 2025-01-15 02:56:21 +11:00
MickaelK
28028f540c feature (viewer): skeleton for new plugins 2025-01-15 01:29:59 +11:00
MickaelK
f1b1d71f40 feature (signature): protect url param via signature 2025-01-15 01:09:53 +11:00
MickaelK
0d4709595c chore (refactoring): 3d app revamp 2025-01-13 22:53:02 +11:00
Mickael
d30c3120b6
feature (plugins): expand and migrate plugin - #803
* chore (dockerfile): cleanup dockerfile

* feature (plugin): extend plugin interface

* chore (docker): setup new Dockerfile

* chore (dockerfile): update dockerfile
2025-01-13 15:41:04 +11:00
MickaelK
aa3f76ebb0 fix (about): incorrect plugin list 2024-12-10 09:46:53 +11:00
MickaelK
4b8926a3da fix (favicon): canary favicon
before this commit, we've had issues with overrides which wouldn't set
the favicon properly
2024-12-09 13:01:12 +11:00
MickaelK
7828d0c315 feature (template): additional templating funcs 2024-12-09 12:04:00 +11:00
MickaelK
609fd308c1 fix (caching): cache invalidation issue
until this, if a user tries to connect to the same backend with a
different path, the frontend would flicker as we'd get things from the
wrong cache key
2024-12-05 23:30:58 +11:00
MickaelK
97a82423a4 fix (tus): edge case on tus protocol 2024-12-04 16:05:28 +11:00
MickaelK
dba8bc000a fix (cloudflare): cloudflare cache issue 2024-12-03 23:35:15 +11:00
MickaelK
1b47b613b6 fix (cloudflare): cloudflare chunked issue 2024-12-03 23:14:13 +11:00
MickaelK
177961c62d fix (plg_video_thumbnail): error when backend doesn't support fileseek 2024-12-02 17:24:03 +11:00
MickaelK
0dfa9b3335 fix (panic): concurrent map access
this fix a panic that can be replicated using the video thumbnail
plugin, opening up a page with a lot of videos. Under the hood, the
server would call ffmpeg that would make a bunch of HTTP range requests
that would call the cache concurrently, hence causing the panic
2024-12-02 16:28:38 +11:00
MickaelK
ff67ed97ed feature (thumbnail): video thumbnail plugin
up until now, the stance was to refuse video thumbnail because it's too
slow but really many people don't seem to care that much about it and
keep insisting to have it.

With this solution, it's not in the base build but it gives an
option for those people to make it happen
2024-12-02 15:39:25 +11:00
MickaelK
ac9d1a4980 feature (tus): chunked upload via TUS
instead of inventing a new protocol for chunked upload that can be
resumed, we might as well use something that already exists like TUS.

As such we removed our custom implementation to favor that standard
2024-11-29 15:04:34 +11:00
MickaelK
0dea98d4bd fix (chunked): chunked upload connection close
only close connection when using chunked upload. This is key if you must
use something like to work with Cloudflare
2024-11-28 01:32:41 +11:00
MickaelK
de5e2d9583 fix (cloudflare): proxy with size limit
Cloudflare does limit the size of file upload by an arbitrary number. We
can go around that by using chunked upload but somehow that wasn't
enough, to circumvent that issue, we make it clear to the proxy it
should close the connection and we hope the problem we go away
2024-11-27 23:45:39 +11:00
MickaelK
87a1987219 feature (upload): support for chunked uploads 2024-11-27 00:52:29 +11:00
MickaelK
66cc697b25 feature (tag): tag feature behind canary flag 2024-11-19 14:54:38 +11:00
MickaelK
05f112305d fix (azure): azure oidc cookie
update cookie settings to work well with azure OIDC
2024-11-13 10:32:06 +11:00
MickaelK
05176b8cd1 fix (arm): generator issue on arm 2024-09-18 01:18:30 +10:00
MickaelK
fa8e578840 fix (cookie): safari cookie on SSO 2024-09-08 19:22:28 +10:00
MickaelK
fe736b755d fix (cookie): sso cookie issue on safari
whenever using an iframe, cookies are a problem in cross domain setup as
browser like safari got that disabled entirely. We had to find a
solution to work with Safari properly, hence passing the data through
URL
2024-09-07 01:57:31 +10:00
MickaelK
1cbda3519f fix (iframe): cross domain iframe issue on safari 2024-09-06 17:23:15 +10:00
MickaelK
8dc89e58fc fix (about): about page css 2024-09-06 08:47:18 +10:00
MickaelK
7d8f6c9635 fix (cookie): partitioned cookie in chrome 2024-09-06 03:04:41 +10:00
MickaelK
919ee10a81 fix (iframe): iframe cookie block rollout 2024-09-06 00:52:26 +10:00
MickaelK
ae0eb94c61 feature (middleware): expose gcm encrypt to templating 2024-07-22 22:48:18 +10:00
MickaelK
da20ac8b70 fix (preload): preload assets cleanup 2024-07-22 17:31:55 +10:00
MickaelK
4f26bb265a fix (caching): retrocompatibility over previous release 2024-07-22 17:27:06 +10:00
MickaelK
2f8b615e6e chore (cache): caching problems + bigfixes 2024-07-22 08:12:42 +10:00
MickaelK
a019d9344d fix (cache): caching issues 2024-07-21 23:42:10 +10:00
MickaelK
27f475d358 chore (rewrite): improve loading speed on new release 2024-07-19 07:54:15 +10:00
MickaelK
6ae82fab5e chore (rewrite): static file handling 2024-07-16 23:11:10 +10:00
MickaelK
a6a202495c feature (patch): dynamic patching of assets
This is to enable static assets to be patched dynamically via a plugin.
The idea is to be able to apply things like custom branding, custom
banners and change in the behavior of the software via plugins that
override the core
2024-07-16 08:28:28 +10:00
MickaelK
63ae5f2ed8 feature (middleware): middleware as a plugin 2024-06-26 23:47:07 +10:00
MickaelK
4f6ceb3fa0 chore (canary): canary release for rewrite 2024-06-24 23:19:40 +10:00
MickaelK
e1b477b65b feature (base): configurable base 2024-06-21 21:05:44 +10:00
MickaelK
f0895fc483 feature (canary): toggle for canary release 2024-06-13 22:32:04 +10:00
MickaelK
b9baf7d1f7 chore (rewrite): enable canary release 2024-06-04 00:04:22 +10:00
MickaelK
b87fbe9948 fix (audit): hint to auditor 2024-05-17 03:01:50 +10:00
MickaelK
3b003c3725 feature (authorisation): change authorisation via plugin 2024-05-04 01:39:36 +10:00
MickaelK
be716e6cf9 fix (time): hide time whenever not available 2024-04-22 01:05:20 +10:00
MickaelK
87d6911288 fix (webdav): network drive permissions 2024-04-21 20:38:32 +10:00
MickaelK
dabdc03a73 chore (GenerateID): change signature for GenerateID 2024-04-15 22:18:16 +10:00
MickaelK
c906a4d264 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2024-04-02 18:57:13 +11:00
MickaelK
3d65a40273 feature (csp): admin option to enable/disable csp
One of the use case for this is to be able to open an html document via
an iframe and have the content of the document to be fully loaded when
we can assume the storage setup in Filestash is trusted
2024-04-02 18:53:34 +11:00
Mickael
8de87be06f chore (refactoring): cleanup server middleware 2024-03-26 07:42:59 +11:00
MickaelK
4244c9c604 feature (path): configurable path for generated data 2024-03-18 21:06:18 +11:00
MickaelK
225107005a chore (refactoring): cleanup old code 2024-03-13 00:37:44 +11:00
MickaelK
9e142d5de5 feature (dynamic): make configuration dynamic 2024-03-13 00:18:24 +11:00
MickaelK
ab14520c6a chore (debug): additional debug information 2024-03-06 01:17:58 +11:00
MickaelK
6ab60bb38d chore (cleanup): typos 2024-02-01 01:15:13 +11:00
MickaelK
86175220cd fix (nfs): improved nfsv3 handling 2024-01-03 17:39:39 +11:00
MickaelK
800d0841ed fix (link): broken preload link 2024-01-01 23:32:20 +11:00
MickaelK
fae939120a feature (connect): frontend rewrite - connection page 2023-11-30 20:18:05 +11:00
MickaelK
dd6e91c493 chore (frontend): move url in frontend 2023-11-27 20:58:54 +11:00
MickaelK
513ba65d46 chore (preload): move preload tags as http headers 2023-11-02 21:41:30 +11:00
Mickael Kerjean
73d1a07b12 fix (admin): bug in admin 2023-10-09 14:28:33 +11:00
Mickael Kerjean
d9202c7f15 release (migration): migration of admin interface 2023-10-07 22:47:37 +11:00
Mickael Kerjean
06ca7a6678 chore (refactoring): easier for unit test 2023-06-09 00:46:32 +10:00
Mickael Kerjean
a2c0323e8d fix (status): wrong http status in app manifest 2023-06-07 17:31:02 +10:00
Mickael Kerjean
b1766b4fe0 feature (error): infer http status when loading the base error page 2023-06-02 17:31:29 +10:00
Mickael Kerjean
1f52ea90e4 improve (zip): no need to zip single file 2023-04-28 08:55:53 +10:00
Mickael Kerjean
8758cb4b5b fix (unzip): reduce wait time 2023-04-27 20:50:21 +10:00
Mickael Kerjean
e05c868740 feature (unzip): extract zip files 2023-04-27 20:10:20 +10:00
Mickael Kerjean
bb7840f27e feature (chromecast): image viewer chromecast support 2023-04-14 00:08:17 +10:00
Mickael Kerjean
26ee2006f4 feature (auth): redirection URI in auth middleware 2023-03-26 01:43:48 +11:00
Mickael Kerjean
8ca7a0e3f9 maintain (path): absolute path
getting things ready to have config coming as a plugin to handle
various distributions
2023-03-02 20:15:56 +11:00
Mickael Kerjean
8059730720 feature (middleware): use translated errors in auth middleware 2023-02-28 21:19:50 +11:00
Mickael Kerjean
e009a26cd6 feature (auth. middleware): leverage get params for authentication 2023-01-26 19:54:23 +11:00
Mickael Kerjean
9c52561e99 maintain (WellKnown): update content in WellKnownSecurityHandler 2023-01-05 16:09:04 +11:00
Mickael Kerjean
a78e817657 feature (thumbnailer): add plugin type for thumbnail generation 2022-12-02 07:09:11 +11:00
Mickael Kerjean
8eb9ab0719 fix (404): 404 page issue in firefox 2022-11-25 16:45:25 +11:00
Mickael Kerjean
1d4773302e improve (static): server static file from fs in dev mode 2022-11-25 16:44:51 +11:00
Mickael Kerjean
ac7bf9f173 feature (dev): server static file from fs in dev mode 2022-11-23 15:19:18 +11:00
Mickael Kerjean
1eea60cfb0 feature (embed): embed frontend assets from the binary 2022-11-22 23:03:33 +11:00
Mickael Kerjean
df5371c7ee maintain (plugin): interface name for authorisation plugin 2022-11-14 19:54:22 +11:00
Mickael Kerjean
e0f2f29307 feature (htpasswd): new authentication middleware 2022-11-09 14:00:48 +11:00
Mickael Kerjean
34d8f0e44f improve (/about): add links to installed plugins 2022-10-12 00:10:54 +11:00
Mickael Kerjean
f3eaf35d84 fix (backendID): hide home when using shared link 2022-10-11 08:08:38 +11:00
Mickael Kerjean
9a6e24c296 feature (tagging): prepare the ground for a new tagging feature 2022-10-06 23:33:58 +11:00
Mickael Kerjean
3d3b59524a improve (template): contains function in template 2022-10-05 08:35:50 +11:00
Mickael Kerjean
8ad705b70c feature (tmpl): enable contains function in tmpl filter 2022-10-05 07:54:03 +11:00
Mickael Kerjean
01b418b608 fix (contentType): disable js in file cat API 2022-10-03 00:06:41 +11:00
Mickael Kerjean
7a76f7dcda maintain (logging): improve some log message 2022-09-28 22:52:33 +10:00
Mickael Kerjean
b9a177aa26 maintain (404): change 404 page 2022-09-21 17:01:12 +10:00
Mickael Kerjean
9d596704e7 feature (api): public api 2022-09-20 17:43:26 +10:00
Mickael Kerjean
7a9f94ce6d fix (middleware): "cannot parse time" issue causing infinite loop 2022-09-15 07:32:04 +10:00
Mickael Kerjean
e2874f2a9b improve (404): 404 errors 2022-09-14 23:55:11 +10:00
Mickael Kerjean
865442ea59 fix (vet): go vet - #505 2022-09-13 14:12:13 +10:00
Mickael Kerjean
76bf595e22 feature (token): token generation for API 2022-09-13 13:25:17 +10:00
Mickael Kerjean
18279dcb4e fix (middleware): broken build 2022-09-13 13:21:21 +10:00
Mickael Kerjean
3f933e08db feature (preflight): preflight to /api/files 2022-09-13 13:12:26 +10:00
Mickael Kerjean
66c6788b94 feature (doc): embed documentation 2022-09-13 12:53:02 +10:00
Mickael Kerjean
549d6805f0 feature (api): prepare api for public use 2022-09-05 11:59:28 +10:00