Commit graph

282 commits

Author SHA1 Message Date
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
Mickael Kerjean
952f45097e feature (rest): setup for rest api 2022-09-04 18:39:34 +10:00
Mickael Kerjean
dd6f0ca407 feature (cancellation): logic to cancel request in client and server 2022-09-02 17:26:32 +10:00
Mickael Kerjean
231e5ba18d feature (auditing): pluggable auditing in admin console 2022-09-01 07:37:59 +10:00
Mickael Kerjean
a82177e719 maintain (ctx): pass app context as pointer 2022-08-30 17:27:23 +10:00
Mickael Kerjean
4f0741111b feature (auth): add machine_id in template binding 2022-08-28 22:04:50 +10:00
Mickael Kerjean
fea8c024c9 feature (middleware): add environment variable in template bind
This enable binding environment variable for things like hostname that
would look like '{{ .ENV_NAME }}.example.com'
2022-08-19 23:10:06 +10:00
Mickael Kerjean
a75a33d49b fix (share): access shared link multiple times issue
When trying to access a shared link protected with a password many
times over, user would see an ErrNotValid (case 2 from ShareVerifyProof in
ctrl/share.go). With this commit, we are making sure the proof cookie
doesn't grow more when trying to access the same link over and over again
2022-07-20 00:25:39 +10:00
Mickael Kerjean
1d47e557fc debug (log): expose additional info on debug more 2022-07-19 22:56:27 +10:00
Mickael Kerjean
9f7550938b fix (iframe): proof cookie should be iframe friendly
before this commit, we couldn't embed a shared link protected by a
password as it would show the following error: "Unauthorized Shared
space".
2022-07-16 18:59:53 +10:00
Mickael Kerjean
9a1de6253c feature (logging): additional logging info in debug mode 2022-07-14 13:27:21 +10:00
Mickael Kerjean
f72b630e50 fix (csp): csp policy on cat
The issue this is fixing is for the plg_opener_htmlframe which does
open html documents as an iframe. Without this, we couldn't load any
js at all which was causing issue to render things like markdown via
external libs and such
2022-05-13 08:43:47 +10:00
Mickael Kerjean
2e10feff4f feature (manifest): generate application manifest server side
the app manifest used to be statically generated meaning it would show
Filestash whenever user tries to install as an app. Now admin can
change that to show something else
2022-05-11 22:23:02 +10:00
Mickael Kerjean
4ec94902b5 fix (healthz): pass when using either http / https 2022-05-11 00:46:05 +10:00
Mickael Kerjean
e2b1b4f477 fix (constant): license info as code 2022-04-25 20:03:13 +10:00