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