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