Commit graph

296 commits

Author SHA1 Message Date
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
Mickael Kerjean
f9e51482d5 feature (css): inject css as a plugin 2022-04-25 00:34:44 +10:00
Mickael Kerjean
b9279fa77f improve (iframe): warning with unsupported use case 2022-04-21 01:28:58 +10:00
Mickael Kerjean
b3762eff6a fix (regression): regression caught by e2e tests 2022-04-21 01:13:15 +10:00
Mickael Kerjean
629a80c836 fix (#469): allow cross domain iframe 2022-04-20 08:04:09 +10:00
Mickael Kerjean
f66408b6da fix (starter): issues in starter plugin 2022-02-17 08:35:24 +11:00
Mickael Kerjean
9171b6fb5e refactoring (config): separate config loading and saving
The idea is that we can now plug and play different logic for loading
and saving configuration data via a go generator built from plugins
2022-02-04 00:51:57 +11:00
Mickael Kerjean
625e0ed160 feature (sso): support for templating in attribute mapping 2022-02-01 22:22:23 +11:00
Mickael Kerjean
82e12ca1a6 fix (#422): retrocompatibility with authentication middleware 2022-02-01 17:24:27 +11:00
alexanghh
ab71c339dd
feature (cookie split): split session cookie onto fixed size chunks - #422
* Fixed invalid cookie issue when session object is serialized into a string larger than 4KB.

* Update session.go

Removed comments

* Update share.go

Removed comments
2022-01-27 09:07:02 +11:00
Mickael Kerjean
c543ab19db fix (sso): sso cookie issues 2022-01-25 18:18:49 +11:00
Mickael Kerjean
0edfdfda86 fix (zip): store error in error.log when zipping content 2022-01-21 01:50:19 +11:00
Mickael Kerjean
03996a5239 fix (zip): fix a leak and improve config handling 2022-01-20 17:17:03 +11:00
Mickael Kerjean
a95fad4d13 feature (static): upate a few static pages
- /about now shows a list of installed plugin
- 404 page is more "funky"
2022-01-20 17:15:49 +11:00
Mickael Kerjean
50920396b7 fix (zip): additional debug information on zip 2022-01-19 18:07:18 +11:00
Mickael Kerjean
57a60fc838 feature (next): support for next in oauth2 backends 2022-01-15 17:28:48 +11:00
Mickael Kerjean
a91df1637d feature (search): search as a plugin 2022-01-14 16:38:42 +11:00
Mickael Kerjean
f1c32880a3 refactoring (sso): sso middleware 2022-01-10 00:42:16 +11:00
Mickael Kerjean
632100ac0f clean (code): cleanup the laundry on the server 2022-01-07 01:25:43 +11:00
Mickael Kerjean
e5800c6c3b feature (sso): authentication middleware 2022-01-06 20:22:26 +11:00
Mickael Kerjean
b8bc56aea2 fix (share): access when redirection is enabled 2021-11-05 18:23:03 +11:00
Mickael Kerjean
095876d450 feature (config): make cookie timeout configurable by admin 2021-10-30 22:31:14 +11:00
Mickael Kerjean
e13262dd36 feature (oauth): redirection link for oauth 2021-10-13 22:54:15 +11:00
Mickael Kerjean
fd395b0f04 improve (upload): remove multipart for faster upload 2021-10-03 03:18:48 +11:00
Mickael Kerjean
be09a0f60f fix (access): UI should show/hide according to plugin meta 2021-09-16 23:21:36 +10:00
Mickael Kerjean
1c337f5c57 improve (log): additional debugging 2021-09-14 22:37:37 +10:00
Mickael Kerjean
c2992b1185 improve (log): additional logging 2021-08-28 15:44:08 +10:00
Mickael Kerjean
f7a4e52703 maintain (go): go format 2021-08-22 16:47:09 +10:00
Mickael Kerjean
b26bdfa1c6 merge 2021-08-22 13:11:22 +10:00
robertDawson2
d581e8b4ca fix (multipart): remove multipart form data - #401
* added line to fix caching issue on upload, where cache does not clear

* removed comments and added error logging line

Co-authored-by: Bobby Dawson <bobby@donorsearch.net>
2021-08-22 13:05:09 +10:00
Quentin Bramas
bbe21185b6
improve (upload): Limit memory usage when parsing multipart form data, so that large files are stored in disk (#382)
Co-authored-by: Quentin Bramas <bramas@unistra.fr>
2021-05-25 21:57:46 +10:00
thielepaul
d37497cd0e
fix(zip): close file after copying to zip (#388) 2021-04-06 20:47:15 +10:00
Mickael
cddbcfc6d1 feature (zip): configurable timeout on zip download 2021-03-29 23:44:24 +11:00
Mickael Kerjean
eb81398ce8 feature (zip): download file(s) at once 2021-03-21 23:01:10 +11:00
Mickael
0178630b7b fix (IE): show message for IE users 2021-03-04 21:12:20 +11:00
thielepaul
78c1c6b7b3
feature (css): allow users to set custom css in admin panel - #332 2020-10-19 01:26:00 +11:00
Mickael Kerjean
3bdbba92df fix (path): windows path bug #299 2020-08-31 14:13:16 +10:00
Mickael Kerjean
5b22a6015c feature (health): health check endpoint 2020-08-23 13:16:15 +10:00
Mickael Kerjean
fad90e4c06 feature (security): add well known security endpoint 2020-08-06 23:09:18 +10:00
Mickael Kerjean
f2fa1f489e improve (404): SVG artwork from pixeltrue.com 2020-08-05 11:48:25 +10:00
Mickael Kerjean
a4f2141087 fix (test): broken test fix 2020-07-01 02:09:16 +10:00
Mickael Kerjean
86dd9da853 feature (search): fallback search when full text search isn't active 2020-07-01 00:23:17 +10:00
Mickael Kerjean
bdf8d9a931 improve (config): common issue on install problems 2020-06-18 00:16:42 +10:00
Mickael Kerjean
517ec5bc0b feat (local): translation of common server side errors 2020-05-26 16:20:14 +10:00
Mickael Kerjean
f3e6c8c030 feature (documents): handle office documents using onlyoffice 2019-12-21 15:17:09 +11:00
Mickael Kerjean
71f9b24bf7 fix (video): range request had issues breaking videos from webdav ?!? 2019-11-16 01:02:10 +11:00
Mickael Kerjean
a1c5f16729 feature (error): log javascript errors 2019-11-12 00:23:28 +11:00
Mickael Kerjean
a3c347a37c maintenance (code): consistent style 2019-08-30 11:08:59 +10:00
Mickael Kerjean
4a0b952ba8 improve (build): make build reproducible and easy to inspect/verify 2019-08-20 00:34:24 +10:00
Mickael Kerjean
4814175f00 fix (#187): handle simlinks 2019-08-13 16:02:00 +01:00
Mickael Kerjean
fc0189a2c0 fix (IE): block IE to avoid a shitty experience of their platform 2019-05-27 22:10:40 +10:00
Mickael Kerjean
2da7664014 feature (setup): complete rewrite of the setup wizard adding features such as automatic DNS 2019-05-16 14:39:14 +10:00
Mickael Kerjean
0350790cfb maintain (refactoring): refactor server code for easier maintenance 2019-05-13 18:03:50 +10:00
Mickael Kerjean
a327c41a78 improve (csp): Content Security Policy headers 2019-05-10 13:43:52 +10:00
Mickael Kerjean
8aa589b3d5 improve (compression): on the fly gzip compression for a few endpoints 2019-05-09 17:03:40 +10:00
Mickael Kerjean
7f34aaea2c improve (speed): support for brotli compression 2019-05-09 00:43:05 +10:00
Mickael Kerjean
b54663016c improve (webdav): handle user restriction and password on the webdav server 2019-05-08 11:30:23 +10:00
Mickael Kerjean
645dddafec feature (pages): create some error pages 2019-05-01 01:15:08 +10:00
Mickael Kerjean
c130e98c7c maintenance (cleanup): remove dead code 2019-04-30 14:27:50 +10:00
Mickael Kerjean
b3dc3f04b3 improve (C deps): improve interaction with C code + various fix 2019-04-30 13:21:06 +10:00
=
ca5198ac0b improve (static): attempt at statically compile everything - revamp 2019-04-29 19:26:11 +10:00
=
b2d6f5f1e4 feature (plg_security_svg): admin can decide upon viewing svg documents 2019-04-22 21:15:28 +10:00
=
23ab6dbf51 fix (about): broken config hash 2019-04-17 01:14:16 +10:00
=
a5125906e7 feature (search): in the context of a shared link 2019-04-13 00:43:38 +10:00
=
801760838c feature (seach): index content subject to search 2019-04-12 02:37:31 +10:00
=
e88758567d improve (API): Cat now returns a io.ReadCloser to make it obvious it has to be closed 2019-04-04 19:27:06 +11:00
Mickael
0127fa2c02
feature (search): search feature 2019-04-02 19:48:50 +11:00
Mickael KERJEAN
ce2f3cfc2b feature (webdav): build webdav server from shared link 2019-03-25 22:08:45 +11:00
Mickael KERJEAN
b688c470a5 fix (IE): better nothing than something half working for IE, will remove when IE is properly tested 2019-03-19 13:07:17 +11:00
Mickael KERJEAN
a9fe880bd1 feature (progressive download): support for HTTP range #131 2019-03-02 00:30:27 +11:00
Mickael KERJEAN
c9c3a9f5e2 fix (concurrency): fix concurrency problem 2019-02-25 18:26:45 +11:00
Mickael KERJEAN
14e177026d improve (speed): better speed and mem usage 2019-02-20 15:33:16 +11:00
Mickael KERJEAN
90f8fa10a4 improvement (performance): optimise speed and mem usage on very hot path 2019-02-20 15:31:11 +11:00
Mickael KERJEAN
eff467c8fc improvement (performance): optimise speed and mem usage on very hot path 2019-02-20 15:05:26 +11:00
Mickael KERJEAN
36f937da80 improve (performance): increase performance as per the benchmark observation 2019-02-19 19:06:34 +11:00
Mickael KERJEAN
5bff76e1e6 improve (form): add feature to the form builder 2019-02-15 18:48:46 +11:00
Mickael KERJEAN
c3d34e6f87 feature (webdav): shared links as webdav server 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
ec6eb0e8fa improve (crypto): derivate secret_key for each usage to reduce attack surface in the worst case scenario 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
a1cb4e146e improvement (orgmode): improve the org mode exporter 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
e3882724ff build (fix): fix the build 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
69ccd174b0 improvement (export): markdown export is github flavored 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
c61f528e24 fix (share): fix edge cases around the path and start migrate tests 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
3b65cdf417 feature (readonly): respect readonly restriction on the editor 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
50506dcff9 improvement (share): move out the authorization logic in a middleware 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
43f00e12d6 feature (orgmode): use emacs to export org documents 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
f87a58c0ba improvement (about): about page 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
a34b8b48e7 migrate (name): change project name 2019-01-28 01:09:45 +11:00