Commit graph

232 commits

Author SHA1 Message Date
Mickael Kerjean
ac51227d50 fix (config): type error in featurs->share->redirect 2023-09-05 00:34:19 +10: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
b1766b4fe0 feature (error): infer http status when loading the base error page 2023-06-02 17:31:29 +10:00
Mickael Kerjean
c4e5da9169 fix (#605): regression for sharing link 2023-05-22 21:51:30 +10:00
Mickael Kerjean
1e562aa8e8 maintain (api): config endpoint refactoring 2023-04-25 10:47:44 +10:00
Mickael Kerjean
bb7840f27e feature (chromecast): image viewer chromecast support 2023-04-14 00:08:17 +10:00
Mickael Kerjean
86dde05507 fix (#533): json conversion issue 2023-03-31 08:20:51 +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
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
69b0b71ce5 feature (title): set title to general.name in static pages 2023-02-09 08:09:17 +11:00
Mickael Kerjean
d0d45d2b40 feature (plugin): onload callback 2023-01-27 21:14:44 +11:00
Mickael Kerjean
a78e817657 feature (thumbnailer): add plugin type for thumbnail generation 2022-12-02 07:09:11 +11:00
Mickael Kerjean
b6762ddd4c feature (input): password fields with view button 2022-11-25 16:38:00 +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
df5371c7ee maintain (plugin): interface name for authorisation plugin 2022-11-14 19:54:22 +11:00
Mickael Kerjean
81af97acd2 improve (css): form design for page 2022-11-12 22:46:15 +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
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
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
9f083ea94c improve (logger): logger interface for tests or plugin swap 2022-10-06 08:02:25 +11: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
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
d0e2c4a227 maintain (error): add internal error 2022-09-13 17:28:53 +10:00
Mickael Kerjean
865442ea59 fix (vet): go vet - #505 2022-09-13 14:12:13 +10:00
Mickael Kerjean
ccb156678b fix (cache): RLock instead of lock 2022-09-13 13:01:03 +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
bb7ea98f02 fix (sync): concurrent map read and map write 2022-09-08 14:55:26 +10:00
Mickael Kerjean
b1c1f9e0f2 feature (api): api configuration 2022-09-07 00:50:23 +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
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
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
bb91f589e1 fix (open): handle non existing local file 2022-08-28 22:18:38 +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
d265d5b5e0 fix (panic): concurrent read issue 2022-05-19 00:45:56 +10:00
Mickael Kerjean
bf72ee1bd2 feature (plugin): css plugin enhancement 2022-05-11 00:45:41 +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
629a80c836 fix (#469): allow cross domain iframe 2022-04-20 08:04:09 +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
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
82e12ca1a6 fix (#422): retrocompatibility with authentication middleware 2022-02-01 17:24:27 +11:00
Mickael Kerjean
50920396b7 fix (zip): additional debug information on zip 2022-01-19 18:07:18 +11:00
Mickael Kerjean
b6c71e9333 fix (config): hide non registered config values 2022-01-17 03:37:37 +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
095876d450 feature (config): make cookie timeout configurable by admin 2021-10-30 22:31:14 +11:00
Mickael Kerjean
8d413214e2 fix (cabinedit): issue faced by cabinedit 2021-10-06 21:52:19 +11:00
Mickael Kerjean
924a56aa82 feature (shared): redirect + configurable default access type 2021-10-02 17:16:43 +10:00
Mickael Kerjean
2e86ac7bb2 improve (admin): additional customisations on admin console 2021-09-19 14:04:11 +10:00
Pablo Ovelleiro Corral
09a6b8f6c0
feature (nixos): working directory override - #403 2021-08-30 23:35: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
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
Mickael Kerjean
39f6987465 cleanup (#381): fit pull request 2021-08-22 13:05:09 +10:00
Quentin Bramas
31564efaec feature (#381): option to limit the number of simultaneous upload (#381)
* add an option to change the number of parallel uploads

* undo automatic format

Co-authored-by: Quentin Bramas <bramas@unistra.fr>
2021-08-22 13:05:09 +10:00
Mickael Kerjean
96c32d4447 fix (share): uplaod files on shared links with upload rights 2021-08-19 00:45:59 +10:00
Mickael Kerjean
d91726e7a1 maintain (feature): remove option from admin backend 2021-08-15 00:41:09 +10:00
Mickael Kerjean
16310b9fe0 feature (refresh): option to refresh content after upload 2021-08-13 00:41:45 +10:00
Mickael Kerjean
3808ed856b feature (menubar): toggle menubar from admin setting 2021-08-08 22:01:56 +10:00
Mickael Kerjean
c8c544051a feature (logout): customisable logout button 2021-08-08 21:47:53 +10:00
Mickael Kerjean
80949194b7 cleanup (#381): fit pull request 2021-07-20 00:55:23 +10:00
Quentin Bramas
0fc6d4d32c
feature (#381): option to limit the number of simultaneous upload (#381)
* add an option to change the number of parallel uploads

* undo automatic format

Co-authored-by: Quentin Bramas <bramas@unistra.fr>
2021-07-20 00:48:44 +10:00
Mickael Kerjean
bf59247846 maintain (config): remove deprecated config 2021-07-19 00:49:14 +10:00
Mickael
700c02ece4 feature (logout): customisable logout button 2021-06-20 15:36:25 +10:00
Mickael
83d240209b maintain (version): version bump to v0.5 2021-05-11 22:19:09 +10: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
f2fa1f489e improve (404): SVG artwork from pixeltrue.com 2020-08-05 11:48:25 +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
a0b841d8e6 maintain (code): remove unused config 2020-06-16 13:38:24 +10:00
Mickael Kerjean
517ec5bc0b feat (local): translation of common server side errors 2020-05-26 16:20:14 +10:00
Mickael Kerjean
71156132db feature (locale): shared error code 2020-05-26 15:03:24 +10:00
Mickael Kerjean
a1df5241a0 fix (persistance): change path of config folders - #183 2020-03-05 22:14:08 +11:00