Commit graph

882 commits

Author SHA1 Message Date
MickaelK
800d0841ed fix (link): broken preload link 2024-01-01 23:32:20 +11:00
MickaelK
6ad16259ef feature (plg_backend_local): better error handling 2024-01-01 23:31:45 +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
def45d5ad5 feature (s3): multithread on s3 plugin 2023-11-27 00:25:28 +11:00
MickaelK
253cb8ceba chore (maintain): maintain sqlite full text search plugin 2023-11-22 18:46:46 +11:00
MickaelK
9323c73fa9 feature (plugin): add plugin hook to extend frontend code 2023-11-21 23:06:45 +11:00
MickaelK
81578f48cf chore (thumbnail): cleanup and support for ai 2023-11-20 23:33:25 +11:00
MickaelK
0d8dce3b99 feature (thumbnail): support for tiff 2023-11-20 22:36:03 +11:00
MickaelK
837f440e36 fix (thumbnailer): format update & fix png artifact 2023-11-20 20:51:20 +11:00
MickaelK
376fe22770 feature (thumb): support for webp 2023-11-16 02:06:10 +11:00
MickaelK
e72d4a290f feature (gif): a gif thumbnailer made in C 2023-11-13 23:58:16 +11:00
MickaelK
ade354fde0 fix (plg_image_c): cleanup thumbnailer 2023-11-13 23:57:51 +11:00
MickaelK
0ac2bde335 feature (thumbnail): better thumbnail plugin 2023-11-10 00:54:00 +11:00
MickaelK
513ba65d46 chore (preload): move preload tags as http headers 2023-11-02 21:41:30 +11:00
Stéphane Lam
3c379d50ee
fix (api): api key validation 2023-10-31 08:43:47 +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
ac51227d50 fix (config): type error in featurs->share->redirect 2023-09-05 00:34:19 +10:00
Mickael Kerjean
e0407c83cf merge 2023-06-16 13:13:42 +00:00
Mickael Kerjean
b4572be6e9 feature (config): default value as env variable for log level 2023-06-09 00:47:47 +10:00
Mickael Kerjean
377434c17a fix (css): server page - enable custom background 2023-06-09 00:47:08 +10:00
Mickael Kerjean
06ca7a6678 chore (refactoring): easier for unit test 2023-06-09 00:46:32 +10:00
Mickael Kerjean
5eadfac2ae maintain (refactoring): unit testability of router 2023-06-07 17:57:51 +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
dbf0878335 feature (wip): wip for tags 2023-05-22 22:29:31 +10:00
Mickael Kerjean
c4e5da9169 fix (#605): regression for sharing link 2023-05-22 21:51:30 +10:00
Mickael Kerjean
0f355c1030 feature (smb): direct access via share name 2023-05-12 00:59:17 +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
650abf55ba maintain (plg_authenticate_admin): cleanup 2023-04-25 11:03:32 +10:00
Mickael Kerjean
1e562aa8e8 maintain (api): config endpoint refactoring 2023-04-25 10:47:44 +10:00
Mickael Kerjean
9a6af501e4 fix (middleware): add middleware to config endpoint 2023-04-25 10:46:14 +10:00
Mickael Kerjean
391f7cf82d maintain (plg_video_transcoder): cleaner log 2023-04-18 22:58:54 +10:00
Mickael Kerjean
bb7840f27e feature (chromecast): image viewer chromecast support 2023-04-14 00:08:17 +10:00
Mickael
8c4ca9da76
fix (plg_backend_s3): revert #584 after broken e2e
This reverts commit 67e2a34853.
2023-04-10 10:56:40 +10:00
Mickael Kerjean
c7cd48ce90 fix (plg_backend_ftp): context handling 2023-04-10 10:06:21 +10:00
Mickael Kerjean
39f8fc66aa fix (ftp): recreate connection if closed
An issue would araise when the connection is closed before we had time
to do the vacuum cleaning on servers like on infinity free where "Our server has quite aggressive inactivity timeouts and will kill the connection after only 20 seconds of inactivity."

reference: https://forum.infinityfree.net/t/good-online-ftp/69285/18
2023-04-10 01:28:39 +10:00
Yanick.xia
67e2a34853
feature (plg_backend_s3): add param for forcePathStyle - #584
Co-authored-by: xiayan.cn <xiayan.cn@bytedance.com>
Co-authored-by: Mickael <mickael@kerjean.me>
2023-04-09 13:10:33 +10:00
Daniel Gomes-Sebastiao
586e803bde
feature (plg_backend_s3): access S3 via AWS role - #583
Co-authored-by: Daniel Gomes-Sebastiao <daniel.gomes@adscale.co.nz>
2023-04-09 13:07:14 +10:00
Juan Carlos Ramirez
36c006680c
feature (#585): support for proxied ip when logging intrusions 2023-04-07 15:19:16 +10:00
Liang Zheng
091e9c0c78
fix(s3) save #577
Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2023-04-01 10:53:29 +11:00
Mickael Kerjean
86dde05507 fix (#533): json conversion issue 2023-03-31 08:20:51 +11:00
Mickael Kerjean
26ee2006f4 feature (auth): redirection URI in auth middleware 2023-03-26 01:43:48 +11:00
Mickael Kerjean
fa9f1bc3e4 fix (ls): configurable ls timeout for plugins 2023-03-24 22:37:19 +11:00
Mickael Kerjean
cea8a77cd8 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2023-03-24 21:14:51 +11:00
Mickael Kerjean
425e71a3cd fix (plg_search_stateless): path issue in search 2023-03-24 21:12:32 +11:00
Liang Zheng
a57a4a7e15
fix (s3): exit s3 list via IsTruncated flag
Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2023-03-24 10:53:38 +11:00
Mickael Kerjean
3a9961d6fe fix (plg_backend_artifactory): ls metadata fix 2023-03-21 22:28:41 +11:00
Mickael Kerjean
48c89767ad feature (plg_backend_artifactory): support for jfrog artifactory 2023-03-21 14:41:30 +11:00
Mickael Kerjean
176931f6c8 fix (plg_backend_nfs): production ready nfs connector 2023-03-20 23:06:00 +11:00
Mickael Kerjean
7421750226 feature (plg_backend_ftp): anonymous read only when no user given 2023-03-15 08:23:09 +11:00
Mickael Kerjean
2268e32560 feature (plg_backend_sftp): support for new authentication method 2023-03-08 12:11:01 +11:00
Mickael Kerjean
16d4d60469 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2023-03-02 20:16:36 +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
Roman Zabaluev
4f4e833360
fix (grammar): grammar issues #567 2023-02-28 18:17:14 +11:00
Louis Koo
62b066feab
fix (#559): handle large amount of deletion on s3
Signed-off-by: zhucan <zhucan.k8s@gmail.com>
2023-02-21 17:31:10 +11:00
Mickael Kerjean
fd15e7255a maintain (log): additional logs for easier debugging
some people are experiencing issues with the data being lost somehow
but as of today we can't replicate that. Hopefully with this, we will
know a bit more about that
2023-02-09 08:48:40 +11:00
Mickael Kerjean
23ddbee129 fix (not implemented): image preview for jpeg or png 2023-02-09 08:32:19 +11:00
Mickael Kerjean
69b0b71ce5 feature (title): set title to general.name in static pages 2023-02-09 08:09:17 +11:00
Mickael Kerjean
922d8fecc3 fix (#545): emergency fix - credit and original author @microyahoo 2023-02-08 15:23:49 +11:00
Mickael Kerjean
d0d45d2b40 feature (plugin): onload callback 2023-01-27 21:14:44 +11:00
Mickael Kerjean
e009a26cd6 feature (auth. middleware): leverage get params for authentication 2023-01-26 19:54:23 +11:00
Mickael Kerjean
3727981e75 fix (s3): cloudflare s3 default 2023-01-26 01:20:39 +11:00
Mickael Kerjean
9c52561e99 maintain (WellKnown): update content in WellKnownSecurityHandler 2023-01-05 16:09:04 +11:00
Mickael Kerjean
7ae782000f cleanup (log): rate limit logs 2023-01-05 01:53:50 +11:00
Mickael Kerjean
2645fd62d0 feature (plg_image_*): support for new images and cleanup 2022-12-22 22:13:52 +11:00
Mickael Kerjean
541ad580f1 cleanup (sftp): cleanup dead code 2022-12-22 19:57:27 +11:00
Mickael Kerjean
d86b779450 fix (storj): convention for folder 2022-12-21 00:25:37 +11:00
Mickael Kerjean
1f9a30c462 feature (dicom): support for dicom images 2022-12-09 20:26:20 +11:00
Mickael Kerjean
468251d69a feature (plg_image_thumbnail): more efficient image thumbnailing 2022-12-09 01:00:44 +11:00
Mickael Kerjean
fb4a6a7ab2 fix (s3): stop condition for recursive ls in s3 2022-12-08 16:05:40 +11:00
Mickael Kerjean
24cd21704b feature (nfs): reasonable default for nfs backend 2022-12-08 12:16:04 +11:00
Mickael Kerjean
7135bd4e44 feature (nfs): support for nfs storage 2022-12-08 09:19:04 +11:00
Mickael Kerjean
090fd1a66a feature (backend): support for storj 2022-12-07 08:40:41 +11:00
Mickael Kerjean
339e9486e5 feature (plg_image_thumbnail): improvement over thumbnailing 2022-12-05 00:42:02 +11:00
Mickael Kerjean
a78e817657 feature (thumbnailer): add plugin type for thumbnail generation 2022-12-02 07:09:11 +11:00
Mickael Kerjean
1bd6aebe45 feature (ebook): support for epub reader 2022-12-02 02:56:08 +11:00
Mickael Kerjean
f5df1445d2 feature (plg_backend_ftp): handle various connection strategy 2022-12-01 01:32:55 +11:00
Mickael Kerjean
3ca1c1ec9a improve (plg_video_transcode): ffmpeg improvements 2022-11-29 21:50:30 +11:00
Mickael Kerjean
849b00ba36 clean (plg_video_transcode): more readable ffmpeg command
The idea is to play with the params in ffmpeg until we find the
perfect setup for HLS and have everything version control by git
2022-11-29 20:48:06 +11:00
Mickael Kerjean
ec575d68b1 fix (#522): issue handling certain kind of mkv
whenever too many audio are available, videojs wouldn't be able to
load the hls stream
2022-11-29 08:25:58 +11:00
Mickael Kerjean
8d34848c8a fix (timeout): bigger timeout on FTP backend 2022-11-28 17:13:47 +11:00
Mickael Kerjean
5c9c85ff2a fix (middleware): disable auth middleware 2022-11-26 01:59:28 +11:00
Mickael Kerjean
32fe6a8674 cleanup (debug): remove debug 2022-11-26 00:38:30 +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
ea88b6ee14 fix (origin): better UX for hostname verification 2022-11-25 16:44:10 +11:00
Mickael Kerjean
e7bb5b052a feature (s3): s3 secret key as password field 2022-11-25 16:39:10 +11:00
Mickael Kerjean
b6762ddd4c feature (input): password fields with view button 2022-11-25 16:38:00 +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
7d5719445c feature (standalone): reasonable default for standalone usage
we can now create fat binary build, we've optimise a few corner case
to make it nice to do so
2022-11-23 01:09:19 +11:00
Mickael Kerjean
1eea60cfb0 feature (embed): embed frontend assets from the binary 2022-11-22 23:03:33 +11:00
Mickael Kerjean
cb7f1693bd feature (config): encrypt sensitive fields in config.json 2022-11-22 08:12:36 +11:00
Mickael Kerjean
6eb26e9a70 refactoring (plg_authenticate): setup placeholders instead of values 2022-11-21 08:10:05 +11:00
Mickael Kerjean
df5371c7ee maintain (plugin): interface name for authorisation plugin 2022-11-14 19:54:22 +11:00
Mickael Kerjean
e585be579a feature (htpasswd): enlarge scope of htpasswd auth plugin 2022-11-12 23:26:39 +11:00
Mickael Kerjean
81af97acd2 improve (css): form design for page 2022-11-12 22:46:15 +11:00
Mickael Kerjean
10daf893cd improve (plg_authenticate_htpasswd): support additional algorithm 2022-11-12 00:50:45 +11:00
Mickael Kerjean
3b5bc80565 improve (UX): eye candy 2022-11-10 02:39:29 +11:00
Mickael Kerjean
9a98da7978 feature (config): toggle for config file encryption
optin config encryption #482
2022-11-10 00:19:45 +11:00
Mickael Kerjean
c828b22f7a improve (middleware): content for description fields 2022-11-10 00:16:08 +11:00
Mickael Kerjean
7b4e3eba79 feature (admin): simplify admin backend page 2022-11-09 08:09:01 +11:00
Mickael Kerjean
e0f2f29307 feature (htpasswd): new authentication middleware 2022-11-09 14:00:48 +11:00
Mickael Kerjean
92219db637 feature (middleware): passthrough middleware 2022-11-09 13:59:35 +11:00
Mickael Kerjean
98ef1d64e7 fix (fs): recursive removal in local and tmp backend 2022-11-03 00:12:09 +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
ce935525db fix (config): concurrent issue
fatal error: sync: unlock of unlocked mutex

goroutine 6 [running]:
runtime.throw(0x1420562, 0x1e)
	/usr/local/go/src/runtime/panic.go:1117 +0x72 fp=0xc0000b5ec8 sp=0xc0000b5e98 pc=0x439e92
sync.throw(0x1420562, 0x1e)
	/usr/local/go/src/runtime/panic.go:1103 +0x35 fp=0xc0000b5ee8 sp=0xc0000b5ec8 pc=0x46e395
sync.(*Mutex).unlockSlow(0x1f97138, 0xffffffff)
	/usr/local/go/src/sync/mutex.go:196 +0xd8 fp=0xc0000b5f10 sp=0xc0000b5ee8 pc=0x47d458
sync.(*Mutex).Unlock(...)
	/usr/local/go/src/sync/mutex.go:190
github.com/mickael-kerjean/filestash/server/common.(*Configuration).Get(0x1f97120, 0x140a506, 0x14, 0x0)
	/home/mickael/Documents/projects/filestash/server/common/config.go:438 +0x113 fp=0xc0000b5f90 sp=0xc0000b5f10 pc=0x7ba313
github.com/mickael-kerjean/filestash/server/common.init.0.func1(0x0)
	/home/mickael/Documents/projects/filestash/server/common/api.go:16 +0x46 fp=0xc0000b5fc0 sp=0xc0000b5f90 pc=0x7c7906
github.com/mickael-kerjean/filestash/server/common.init.0.func3()
	/home/mickael/Documents/projects/filestash/server/common/api.go:40 +0x29 fp=0xc0000b5fe0 sp=0xc0000b5fc0 pc=0x7c7c49
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc0000b5fe8 sp=0xc0000b5fe0 pc=0x4733e1
created by github.com/mickael-kerjean/filestash/server/common.init.0
	/home/mickael/Documents/projects/filestash/server/common/api.go:39 +0x5a

goroutine 1 [runnable, locked to thread]:
os.(*File).Read(0xc000186000, 0xc000280400, 0x100, 0x100, 0x401, 0xc000280000, 0x400)
	/usr/local/go/src/os/file.go:113 +0x265
io.ReadAll(0x1677e40, 0xc000186000, 0x0, 0x1ff, 0xc000186000, 0x0, 0x0)
	/usr/local/go/src/io/io.go:633 +0xdf
io/ioutil.ReadAll(...)
	/usr/local/go/src/io/ioutil/ioutil.go:27
github.com/mickael-kerjean/filestash/server/common.LoadConfig(0x0, 0x0, 0x0, 0x1fc66e0, 0x0)
	/home/mickael/Documents/projects/filestash/server/common/config_state.go:32 +0x85
github.com/mickael-kerjean/filestash/server/common.(*Configuration).Load(0x1f97120)
	/home/mickael/Documents/projects/filestash/server/common/config.go:214 +0x34
github.com/mickael-kerjean/filestash/server/common.init.1()
	/home/mickael/Documents/projects/filestash/server/common/config.go:53 +0x85
2022-10-10 08:22:45 +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
9f083ea94c improve (logger): logger interface for tests or plugin swap 2022-10-06 08:02:25 +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
70884300a3 fix (plg_image_thumbnail): broken build 2022-10-04 17:49:04 +11:00
Mickael Kerjean
9b5af40f32 maintain (plg_security_scanner): new endpoint ideas
with new ideas coming from the hn thread https://news.ycombinator.com/item?id=33054379
2022-09-04 07:39:20 +10:00
Mickael Kerjean
42b2435c16 fix (plg_image_thumbnail): build issue 2022-10-04 00:26:40 +11:00
Mickael Kerjean
46b67d6711 feature (thumbnail): complete revamp of thumbnail generation 2022-10-03 23:40:46 +11:00
Mickael Kerjean
9a1045cb02 feature (plg_image_thumbnail): clean before release 2022-10-03 22:28:58 +11:00
Mickael Kerjean
01b418b608 fix (contentType): disable js in file cat API 2022-10-03 00:06:41 +11:00
Mickael Kerjean
918965ddbe feature (plg_image_thumbnail): new thumbnail generation
This plugin will replace plg_image_light once it has the same
features. It is much easier to install, fixing #507, #368 and every
other ticket that mention issues to compile Filestash
2022-10-03 00:01:24 +11:00
Mickael Kerjean
7a76f7dcda maintain (logging): improve some log message 2022-09-28 22:52:33 +10:00
Mickael Kerjean
e8968d824a fix (window): cross compile for windows 2022-09-28 21:16:10 +10:00
Mickael Kerjean
706adc3475 fix (config): remove useless / buggy option 2022-09-28 21:03:21 +10:00
Mickael Kerjean
21a72b2048 maintain (generator): simplify build command
Before this commit our build had this option:
-ldflags "-X github.com/mickael-kerjean/filestash/server/common.BUILD_DATE=`date -u +%Y%m%d` -X github.com/mickael-kerjean/filestash/server/common.BUILD_REF=`git rev-parse HEAD`"

Doing this via a generator is much easier for people getting started
with Filestash
2022-09-28 18:11:58 +10:00
Mickael Kerjean
3013141999 clean (sqlite): sqlite without cgo
We want to make it easier to compile the project for newcomers
2022-09-28 13:58:25 +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
548b057d6a fix (selfsigned): self signed certificate issues 2022-09-15 22:38:54 +10:00
Mickael Kerjean
1844c6d33e maintain (debug): add debug statements 2022-09-15 19:32:17 +10:00
Mickael Kerjean
0748e56092 fix (recover): recover from possible panic 2022-09-15 18:53:36 +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
d0c8f75b01 fix (rate limit): update default value for rate limit 2022-09-13 17:34:42 +10:00
Mickael Kerjean
d0e2c4a227 maintain (error): add internal error 2022-09-13 17:28:53 +10:00
Mickael Kerjean
87443235a2 fix (backend): clean up caching 2022-09-13 15:24:21 +10:00
Mickael Kerjean
720073a181 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2022-09-13 14:50:25 +10:00
thielepaul
0d55704031
fix (sftp_backend): wait until all requests are finished before closing (#506) 2022-09-13 14:49:15 +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
ccb156678b fix (cache): RLock instead of lock 2022-09-13 13:01:03 +10:00
Mickael Kerjean
66c6788b94 feature (doc): embed documentation 2022-09-13 12:53:02 +10:00
Mickael Kerjean
fa84e37df2 refactor (api): move rm/mv/touch/mkdir to http post 2022-09-13 12:51:27 +10:00
Mickael Kerjean
0acf94ce0c fix (middleware): bodyparser must not return an error if no body 2022-09-12 01:05:44 +10:00
Mickael Kerjean
bd9deb858d feature (crypto): nonce generator as a counter 2022-09-09 23:22:47 +10:00
Mickael Kerjean
7e5ec42f6c maintain (config): openup 2 methods for Config for plugins
This is for plugins to do more fine grained stuff with the global
Config object
2022-09-09 15:12:14 +10:00
Mickael Kerjean
d53cbefc54 fix (plg_image_ascii): reasonable content type 2022-09-08 15:19:10 +10:00
Mickael Kerjean
bb7ea98f02 fix (sync): concurrent map read and map write 2022-09-08 14:55:26 +10:00
Mickael Kerjean
bfe809d5ab cleanup (plugin): disable plugin that don't seem to be used 2022-09-07 00:51:32 +10:00
Mickael Kerjean
b1c1f9e0f2 feature (api): api configuration 2022-09-07 00:50:23 +10:00
Mickael Kerjean
3a63eb0777 feature (plg_image_ascii): image ascii transform
The idea here is to be able to use curl and have Filestash to render
image in a terminal friendly fashion
2022-09-06 22:27:12 +10:00
Mickael Kerjean
549d6805f0 feature (api): prepare api for public use 2022-09-05 11:59:28 +10:00
Mickael Kerjean
c7e40e42db feature (429): rate limit authentication endpoints 2022-09-04 22:26:03 +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
0bfab6eff2 feature (report): activity report plugin 2022-09-02 00:58:43 +10:00
Mickael Kerjean
bb9fb89d44 fix (concurrency): prevent concurrent map writes
when booting up, we have a lot of Set in the Config alongside a lot of
Get, Let's block all the concurrent Set
2022-09-01 23:28:29 +10:00
Mickael Kerjean
231e5ba18d feature (auditing): pluggable auditing in admin console 2022-09-01 07:37:59 +10:00
Mickael Kerjean
75696a8088 fix (plg_backend_tmp): incorrect permission when creating folder 2022-08-31 00:40:23 +10:00
Mickael Kerjean
a82177e719 maintain (ctx): pass app context as pointer 2022-08-30 17:27:23 +10:00
Mickael Kerjean
b62a9dd423 fix (os): wrapper for file related operation via the os package 2022-08-30 01:46:06 +10:00
Mickael Kerjean
8bbd4a2f57 fix (symlink): evaluate symlinks before opening file 2022-08-29 20:10:14 +10:00
Mickael Kerjean
28c2e5070d fix (#500): ldap issue as reported in #500 2022-08-28 23:41:20 +10:00
Mickael Kerjean
bb91f589e1 fix (open): handle non existing local file 2022-08-28 22:18:38 +10:00
Mickael Kerjean
4f0741111b feature (auth): add machine_id in template binding 2022-08-28 22:04:50 +10:00
Mickael Kerjean
812446ac23 fix (symlink): wrap os.OpenFile to prevent symlinks expansion
os.Open and os.OpenFile make it possible to open a wide range of
files as seen in https://cs.opensource.google/go/go/+/refs/tags/go1.19:src/os/types.go;l=35

We only want to handle regular files and folders, no socket, device,
symlink, ....
2022-08-28 21:43:43 +10:00
Mickael Kerjean
633f17a63b feature (plg_authenticate_passthrough): populate session data 2022-08-26 21:03:26 +10:00
Mickael Kerjean
4f4fcfc16e fix (ftp): prevent connection close when uploading / downloading 2022-08-26 15:53:49 +10:00
Mickael Kerjean
f7484b7aab fix (plg_backend_tmp): sanity check for user input 2022-08-23 18:07:44 +10:00
Mickael Kerjean
8f7ac67db7 fix (plg_backend_tmp): prevent local filesystem access 2022-08-23 17:33:52 +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
77767af252 maintain (plg_backend_nop): additional debug log 2022-08-19 12:13:52 +10:00
Mickael Kerjean
ee6256e075 fix (plg_plugin_webdav): IIS compat 2022-08-09 19:08:14 +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
b2690e906b feature (plg_backend_ftp): alternative ftp backend 2022-06-12 02:25:31 +10:00
Mickael Kerjean
d265d5b5e0 fix (panic): concurrent read issue 2022-05-19 00:45:56 +10:00
Mickael Kerjean
77b64fcfcc improve (ldap): trim prefix for ldap backend connection 2022-05-19 00:42:06 +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
bf72ee1bd2 feature (plugin): css plugin enhancement 2022-05-11 00:45:41 +10:00
Mickael Kerjean
0988f7ccb0 fix (onlyoffice): issue with http/https starter 2022-05-10 20:51:19 +10:00
Mickael Kerjean
f71e07a53a fix (plg_starter_https): unused deps 2022-05-09 00:59:28 +10:00
Mickael Kerjean
19df27edda cleanup (plg_starter_https): remove dead code 2022-05-06 01:05:25 +10:00
Mickael Kerjean
cc65e1d6dd fix (sftp): disable insecure access on sftp
for those use case where we want to force the client to send the
fingerprint of the public key
2022-04-30 13:35:21 +10:00
Mickael Kerjean
a0d434cd96 fix (sftp): easier format for host key verification 2022-04-30 13:15:54 +10:00
Mickael Kerjean
054c92c71f fix (plg_starter_https): broken https plugin
the https plugin was broken. Instead of trying to do everything, we've
refactor the plugin to only do self signed certificate.

let's encrypt is causing a lot of weird issues as it won't work in a range of vps
provider so we considered it out of scope for this plugin. If we're to
integrate with lets encrypt in the future, this should be done as
another starter plugin
2022-04-30 12:35:04 +10:00
Mickael Kerjean
d94c0fef1a fix (log): log to file when using Log.Stdout 2022-04-27 00:37:39 +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
84aaea4008 fix (console): provide a fix for #461 and #463 2022-04-07 08:52:07 +10:00
Mickael Kerjean
9b60ac6301 feature (log): enable more log types 2022-04-07 08:02:24 +10:00
Mickael Kerjean
d1890ecb33 cleanup (config): remove dead code 2022-04-07 07:35:26 +10:00
Mickael Kerjean
3d0fc67b50 cleanup (main): cleanup server main func 2022-04-05 08:05:56 +10:00
Mickael Kerjean
614ec4ff6a Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2022-04-02 20:09:06 +11:00
Mickael Kerjean
0e4fc75b35 cleanup (plugin): list of prebuild plugin 2022-04-02 20:07:05 +11:00
John Long
367907d88a
update (plg_backend_locale): directory permission - #435
https://github.com/mickael-kerjean/filestash/issues/434
2022-03-20 23:02:23 +11:00
Mickael Kerjean
91b85779d6 fix (error): error display when ls failed 2022-03-03 17:21:29 +11:00
Mickael Kerjean
2c926df4f6 cleanup (samba): cleanup code in samba plugin 2022-02-23 22:12:24 +11:00
Mickael Kerjean
6028a4363b fix (samba): prevent panic in nil pointer dereference
the samba lib was crashing with nil pointer dereference when username
is an empty string ?!? Too lazy to provide a better fix so this will
do for now
2022-02-22 23:45:56 +11:00
Mickael Kerjean
7d56a72019 fix (samba): make samba backend more intuitive 2022-02-22 08:05:54 +11:00
Mickael Kerjean
8d5c574a75 cleanup (plugin): update builtin plugin 2022-02-18 18:44:24 +11:00
Mickael Kerjean
6e3392a046 feature (office): enable / disable download button in only office 2022-02-18 18:26:22 +11:00
Mickael Kerjean
f66408b6da fix (starter): issues in starter plugin 2022-02-17 08:35:24 +11:00
Mickael Kerjean
8018454dff cleanup (plugin): deprecated starter plugin
That plugin wouldn't work as expected and result in some angry email
from people who gave it a try so I'm getting rid of it to focus on the
other core plugin that make more sense for the project
2022-02-16 08:53:12 +11:00
Mickael Kerjean
394ae29c03 fix (starter): make it possible for starter plugin to complete 2022-02-16 00:09:21 +11:00
Quentin Bramas
dec9e2f60d
fix (s3): s3 rename - #421
* fix MV function in the S3 backend

* fix space encoding

Co-authored-by: Quentin Bramas <bramas@unistra.fr>
2022-02-06 20:29:35 +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
Mickael Kerjean
7b95dde25f fix (#426): username case sensitive on sftp
better strategy is to:
1. attempt the login "as is"
2. attempt the lowercase version in case of error
2022-01-31 23:34:17 +11:00
Mickael Kerjean
71dd675c7c fix (ldap): ldap labels 2022-01-31 23:19:26 +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
42770afc69 cleanup (plg_backend_tmp): cleanup the tmp backend 2022-01-25 18:25:20 +11:00
Mickael Kerjean
53f744c42b plugin (add): add temporary file backend to default list 2022-01-25 18:19:35 +11:00
Mickael Kerjean
c543ab19db fix (sso): sso cookie issues 2022-01-25 18:18:49 +11:00
Mickael Kerjean
5f50d276a1 feature (plg_backend_tmp): backend to quickly store temporary files 2022-01-25 18:16:39 +11:00
Mickael Kerjean
8d68bd798a feature (plg_backend_office): local backend with versioning 2022-01-25 08:37:47 +11:00
Mickael Kerjean
55c3965b5d feature (plg_backend_local): add path 2022-01-25 08:35:23 +11:00
Mickael Kerjean
3a896f936c fix (compile): compile errors in existing plugins 2022-01-22 08:05:30 +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
5c086bc6cf feature (plg_backend_nop): add a few more files for testing 2022-01-20 17:18:22 +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
ae1adb3dad clean (code): cleanup 2022-01-19 22:58:07 +11:00
Mickael Kerjean
50920396b7 fix (zip): additional debug information on zip 2022-01-19 18:07:18 +11:00
Mickael Kerjean
9e1f71761a fix (sftp): case in username 2022-01-19 10:04:56 +11:00
Mickael Kerjean
b6c71e9333 fix (config): hide non registered config values 2022-01-17 03:37:37 +11:00
Mickael Kerjean
9d477b6110 performance (scoring): x10 faster search matching 2022-01-16 23:09:28 +11:00
Mickael Kerjean
4e7579ab65 feature (search): support for '$' 2022-01-16 20:29:58 +11:00
Mickael Kerjean
57a60fc838 feature (next): support for next in oauth2 backends 2022-01-15 17:28:48 +11:00
Mickael Kerjean
73c2386868 documentation (plugin): add sample code for search plugin 2022-01-15 15:50:35 +11:00
Mickael Kerjean
073e99886a documentation (plugin): sample plugin for search 2022-01-15 15:42:04 +11:00
Mickael Kerjean
f2ba98bf4a documentation (authorisation): example of authorisation plugin 2022-01-15 15:36:56 +11:00
Mickael Kerjean
ebb4247a77 merge 2022-01-15 03:25:36 +11:00
Mickael Kerjean
d53fdeea71 feature (search): search relevance when using stateless plugin 2022-01-15 03:13:32 +11:00
Mildred Ki'Lya
cf827673c0
feature (dav): support for servers who have the username in their URL - #418
In the URL parameters for DAV backends (WebDAV and CalDAV/CardDAV) the
%{username} string is interpolated to the URL encoded username. It
shouldn't conflict with legitimate URLS as %{ is not a valid URL escape
sequence.

This is needed for some servers where the URL contains the username
such as Cyrus IMAP.
2022-01-14 22:51:53 +11:00
Mickael Kerjean
a91df1637d feature (search): search as a plugin 2022-01-14 16:38:42 +11:00
Mickael Kerjean
e827e8149b fix (auth): signature change 2022-01-10 17:42:07 +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
d56663e805 cleanup (sso): cleanup sso related plugins 2022-01-07 01:17:33 +11:00
Mickael Kerjean
a2e137bb7a fix (sso): default sso plugin 2022-01-06 20:35:35 +11:00
Mickael Kerjean
61fa462955 feature (sso): sso via admin password 2022-01-06 20:29:32 +11:00
Mickael Kerjean
e5800c6c3b feature (sso): authentication middleware 2022-01-06 20:22:26 +11:00
Mickael Kerjean
4186ec057d feature (backend): local backend with admin password 2021-12-22 23:08:36 +11:00
Mickael Kerjean
54388ccd4a maintenance (plugin): move remaining backend to plugin mechanism 2021-12-22 22:53:06 +11:00
Mickael Kerjean
46417785ed feature (killswitch): opt in remote killswitch to prevent log4j
Since the log4j issues, we got to think about a way to prevent issues
affecting Filestash. What we came up with is an opt in remote killswitch
which will shut down an application until it's patch appropriatly.
2021-12-20 12:37:02 +11:00
Mickael Kerjean
8c60c12417 feature (letsencrypt): new starter plugin with automatic ssl 2021-11-25 08:28:11 +11:00
Mickael Kerjean
bcf5c467c1 feature (viewer): support wave file 2021-11-24 23:31:30 +11:00
Mickael Kerjean
1f447dc7d0 fix (s3): moving files - no such key error 2021-11-24 23:24:30 +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
b28eef6ac3 feature (plugin): enhance blackhole plugin 2021-10-28 00:30:34 +11:00
Mickael Kerjean
7823d275c9 improve (backend): cat from blackhole plugin 2021-10-24 00:14:36 +11:00
Mickael Kerjean
e13262dd36 feature (oauth): redirection link for oauth 2021-10-13 22:54:15 +11:00
Mickael Kerjean
8d413214e2 fix (cabinedit): issue faced by cabinedit 2021-10-06 21:52:19 +11:00
Mickael Kerjean
3eb0384ce5 fix (build): issue in build 2021-10-05 01:03:50 +11:00
Mickael Kerjean
fd395b0f04 improve (upload): remove multipart for faster upload 2021-10-03 03:18:48 +11:00
Mickael Kerjean
924a56aa82 feature (shared): redirect + configurable default access type 2021-10-02 17:16:43 +10:00
Mickael Kerjean
0438aace72 fix (adblock): fix reported adblock issues 2021-09-29 20:08:46 +10:00
Mickael Kerjean
01de913366 Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash 2021-09-29 00:11:53 +10:00
Mickael Kerjean
f9b50e823e fix (sftp): fix for sftp on coviantsoftware - mft diplomat 2021-09-29 00:09:51 +10:00
Quentin Bramas
edbf16871c
fix (#410): error when moving files with the S3 backend
* url encode paths when moving object in the S3 backend

* fix renaming with the same name

Co-authored-by: Quentin Bramas <bramas@unistra.fr>
2021-09-27 20:06:09 +10:00
Jimmy
642f04c955
fix (plugin): fix finding local ip for onlyoffice (#409) 2021-09-27 20:03:54 +10:00
Mickael Kerjean
110280e94b improve (s3): faster whenever using role based binding on ec2 2021-09-27 19:59:11 +10:00
Mickael Kerjean
2e86ac7bb2 improve (admin): additional customisations on admin console 2021-09-19 14:04:11 +10: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
3214cfd588 feature (s3): add ec2 role base authentication 2021-09-12 17:16:32 +10:00
Mickael Kerjean
47751a446f fix (ftp): issue on microsoft FTP 2021-09-04 23:02:03 +10:00
Filip Hanes
0360412444
feature (s3): implement mv - #405
* WIP: implement s3 recursive Mv

* fix recursive move, add logs
2021-08-30 23:48:20 +10:00
Pablo Ovelleiro Corral
09a6b8f6c0
feature (nixos): working directory override - #403 2021-08-30 23:35:08 +10:00
Mickael Kerjean
c2992b1185 improve (log): additional logging 2021-08-28 15:44:08 +10:00
Mickael Kerjean
929064b55f maintenance (iframe): content security policy update 2021-08-23 00:00:57 +10:00
Mickael Kerjean
51ed97cc9d fix (test): broken test 2021-08-22 20:46:05 +10:00
Mickael Kerjean
f7a4e52703 maintain (go): go format 2021-08-22 16:47:09 +10:00
Mickael Kerjean
a0b2ca72ed merge 2021-08-22 16:43:25 +10:00
Mickael Kerjean
4ef1017e65 merge 2021-08-22 16:41:45 +10:00
Mickael Kerjean
5e43f1a4b3 feature (migration): config migration mechanism 2021-08-22 16:37:05 +10:00
Mickael Kerjean
b26bdfa1c6 merge 2021-08-22 13:11:22 +10:00
Mickael Kerjean
fdc95f8af7 fix (test): missing webdav backend 2021-08-22 13:09:09 +10:00
Mickael Kerjean
a67681f454 maintain (feature): remove option from admin backend 2021-08-22 13:08:59 +10:00
Mickael Kerjean
5e24d66903 feature (refresh): option to refresh content after upload 2021-08-22 13:08:40 +10:00
Mickael Kerjean
8543b51b6b merge 2021-08-22 13:08:11 +10:00
Mickael Kerjean
137b36e0a7 feature (logout): customisable logout button 2021-08-22 13:05:09 +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
Mickael Kerjean
dd81b56094 improve (webdav): error reporting on webdav backend 2021-08-22 13:05:09 +10:00
Mickael Kerjean
16b7eb93d3 maintain (plugin): migrate webdav backend as plugin 2021-08-22 13:05:09 +10:00
Mickael Kerjean
39f6987465 cleanup (#381): fit pull request 2021-08-22 13:05:09 +10:00