Commit graph

373 commits

Author SHA1 Message Date
Mickael Kerjean
851142284c fix (#279): detect private key in SFTP password 2020-06-07 12:28:23 +10:00
Mickael Kerjean
210118b3a9 feature (mode): create a dark mode 2020-05-27 21:51:21 +10:00
Mickael Kerjean
91797bc2b3 fix (log): clearer log message for host value missmatch 2020-05-26 17:11:43 +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
4266f26649 fix (sftp): openssh private key format with passphrase 2020-05-24 21:41:36 +10:00
Mickael Kerjean
9f25c317ea fix (ftp): connection string for ftp:// or ftps:// 2020-05-08 16:34:56 +10:00
Mickael Kerjean
f82a58d900 fix (image): disable image resizing for gif 2020-04-29 00:44:59 +10:00
Mickael Kerjean
6f9dff75d9 fix (ftp): ftp url scheme 2020-04-23 17:56:55 +10:00
Mickael Kerjean
a1df5241a0 fix (persistance): change path of config folders - #183 2020-03-05 22:14:08 +11:00
Mickael Kerjean
2c891c35c8 fix (#234): missing mime type 2020-03-05 21:30:30 +11:00
brxie
c117c99401
fix (config): synchronise cache writes (#237)
Cache writes used in Config.Get() method wasn't synchronized.
Use sync.Mutex to make it thread-save.
2020-03-03 08:47:59 +11:00
Marcin Piwowarczyk
e7bf46eeb5 fix (s3): mv does not work for nested objects
The mv operation executes CopyObject API on the root object, meanwhile
CopyObject doesn't copy the nested objects.

As a result, the user loses all nested objects and after the move
operation gets an empty bucket that requested to move.

This change disallows possibility of moving nested objects.
2020-02-20 07:50:52 +01:00
Mickael
4a6de76c93
Revert "fix (s3): fix remove a single object (#225)" (#227)
This reverts commit 42b5043411.
2020-02-12 11:00:16 +11:00
Mickael Kerjean
347f9b016b fix (ftps): remove ftps plugin since ftp and ftps will be merged into one 2020-02-11 19:33:12 +11:00
Mickael Kerjean
ef122a7c48 Merge branch 'master' of https://github.com/mickael-kerjean/filestash 2020-02-11 18:17:29 +11:00
Mickael Kerjean
03877addb7 fix (transcoding): make the config data available from the admin console 2020-02-11 18:17:08 +11:00
Mickael Kerjean
dd57a49d9a fix (ftps): merge ftp and ftps together 2020-02-11 12:31:22 +11:00
brxie
42b5043411
fix (s3): fix remove a single object (#225)
Objects, as well as buckets are removed basing on objecs list received
from client. As the objects are fetched by Prefix, the request for
removing object 'foo' will remove all 'foo*' objects in this bucket.

For instance, having bucket with objects like so:

    awesomebucket/
    ├── foo
    ├── foobar
    └── thing

Rm("awesomebucket/foo") will have effect:

    awesomebucket/
    └── thing

This change fixes this bug by recognizing if single object has to be
removed or the entire bucket. For single object, we don't need to walk
through directories and can request to remove directly.
2020-02-08 01:11:08 +11:00
Marcin Piwowarczyk
1a854aaf4e fix (s3): fix remove a single object
Objects, as well as buckets are removed basing on objecs list received
from client. As the objects are fetched by Prefix, the request for
removing object 'foo' will remove all 'foo*' objects in this bucket.

For instance, having bucket with objects like so:

    awesomebucket/
    ├── foo
    ├── foobar
    └── thing

Rm("awesomebucket/foo") will have effect:

    awesomebucket/
    └── thing

This change fixes this bug by recognizing if single object has to be
removed or the entire bucket. For single object, we don't need to walk
through directories and can request to remove directly.
2020-02-07 15:08:57 +01:00
Mickael Kerjean
ee0a44ae0b fix (syncthing): wrong description - #224 2020-02-05 10:45:50 +11:00
Mickael Kerjean
9f7ede0d5a fix (s3): filter out current prefix from ls results
As reported by Luke, creating a folder on S3 would show a file with the same name in that same folder
2020-02-05 01:45:37 +11:00
Mickael Kerjean
0167930d7c fix (pdf): error on the PDF viewer 2020-01-31 16:46:38 +11:00
Mickael Kerjean
abd329da64 fix (mimetype): missing mimetype on the xdg-open.js 2020-01-21 19:12:09 +11:00
Mickael Kerjean
5865e84593 maintain (go): vendor dependencies 2020-01-20 17:12:09 +11:00
Mickael Kerjean
f3c8aed75f improve (support): prepare support for raspberry pi 2020-01-20 13:42:20 +11:00
Mickael Kerjean
00214d2a3a feature (syncthing): syncthing integration 2020-01-15 01:03:13 +11:00
Mickael Kerjean
0c785954dc improve (gcc): static build 2020-01-13 14:02:56 +11:00
root
e0e2820b14 feature (arm): static libraries for raspberry pie 2020-01-09 08:19:29 +00:00
Mickael Kerjean
c2990e77d9 fix (onlyoffice): SSL termination for the reverse proxy 2020-01-04 00:07:45 +11:00
Mickael Kerjean
84500e6a60 feature (transcoding): video transcoding blacklist 2019-12-21 17:45:51 +11:00
Mickael Kerjean
f3e6c8c030 feature (documents): handle office documents using onlyoffice 2019-12-21 15:17:09 +11:00
Mickael Kerjean
6799e4dc78 feature (transcoding): don't transcode video formats well supported by browsers 2019-12-18 12:29:41 +11:00
Mickael Kerjean
cb519d7d24 feature (transcoding): update csp 2019-12-18 03:29:25 +11:00
Mickael Kerjean
539a6f086d feature (transcoding): live transcoding 2019-12-18 02:18:58 +11:00
Mickael Kerjean
3b7905734a feature (env): set iframe option from an environment variable 2019-11-22 01:26:22 +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
8deedcd916 improve (pwa): follow the lighthouse tool recommendations for PWAs 2019-11-15 00:12:35 +11:00
Mickael Kerjean
6b7c35f9cd fix (#208): create an error message 2019-11-13 23:59:38 +11:00
Mickael Kerjean
a1c5f16729 feature (error): log javascript errors 2019-11-12 00:23:28 +11:00
Mickael Kerjean
5496796a12 fix (image): broken images to display the image gps tag 2019-11-11 22:24:45 +11:00
Mickael Kerjean
58c6c57f82 feature (iframe): embed the app from an iframe 2019-11-11 22:23:11 +11:00
Mickael Kerjean
c3d46c3abe fix (#209): fix emacs export error 2019-11-11 00:13:07 +11:00
Mickael Kerjean
995a5f2f04 fix (webdav): handle webdav URL encoding 2019-11-07 12:34:26 +11:00
Mickael Kerjean
04c36d4167 doc (pi): dependencies build for raspberry pi 2019-11-07 12:34:14 +11:00
Zander Hill
56998116c3 fix (S3): incorrect ModifiedAt timestamps for S3 (#200 - #204)
The problem addressed here is that the FileInfo struct's FTime field is
set in S3 backend. This was being passed as milliseconds epoch. That
value was being passed into `time.Unix(x, 0)` which accepts arguments as
either/both (seconds, nanoseconds).

By passing milliseconds to this function expecting seconds, we have
wildly incorrect modified at timestamps.

I tested this against the same bucket that was problematic before and
it's now showing correctly :).
2019-09-29 21:56:14 +10:00
Mickael Kerjean
b0896f0373 maintenance (migrate): migrate the dropbox backend as a plugin 2019-09-02 15:49:28 +10:00
Mickael Kerjean
ff08a5ee4b doc (transcode): create the static library 2019-08-30 17:41:52 +10:00
Mickael Kerjean
a3c347a37c maintenance (code): consistent style 2019-08-30 11:08:59 +10:00
Mickael Kerjean
6692952af7 doc (libtranscode): creating a static library 2019-08-29 15:12:35 +00: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
71e3d6494a optimise (lighthouse): apply optimisations provided by the lighthouse tool 2019-08-03 12:13:47 +02:00
Mickael Kerjean
7564ecb773 fix (backend): install LDAP backend by default 2019-07-24 08:08:56 +02:00
Mickael Kerjean
d2e9424642 feature (ftps): add FTPs #169 2019-07-01 17:01:07 +02: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
f5f0f30cea improve (config): listen for config changes for reactive configuration 2019-05-22 14:28:31 +10:00
Mickael Kerjean
ba0243fa5d fix (tor): improve configuration of the TOR server 2019-05-22 02:43:07 +10:00
Mickael Kerjean
836a74ab7d improve (search): user experience around the search 2019-05-21 17:13:21 +10:00
Mickael Kerjean
b1b142a620 cleanup (admin): disabling constants edit from the console 2019-05-17 13:39:41 +10:00
Mickael Kerjean
fea7050b1e fix (console): wss issue 2019-05-17 11:07:45 +10:00
Mickael Kerjean
810f84c3e3 fix (concurrency): improve concurrent aspect of the search resource 2019-05-17 02:59:22 +10:00
Mickael Kerjean
e552b2b40d feature (console): new plugin that offer a debugging console 2019-05-17 01:57:38 +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
root
5597d6ec88 feature (tuneel): HTTP tunnel via websocket to expose instance on the internet 2019-05-15 15:08:52 +10:00
Mickael Kerjean
0350790cfb maintain (refactoring): refactor server code for easier maintenance 2019-05-13 18:03:50 +10:00
Mickael Kerjean
01d36f1601 feature (HTTP2): support HTTP2 as a server 2019-05-12 02:33:10 +10:00
Mickael Kerjean
bceeadecae feature (https): support for HTTPS on the server 2019-05-12 02:21:39 +10:00
Mickael Kerjean
cd771319a7 improve (http): cleanup code 2019-05-11 02:57:37 +10:00
Mickael Kerjean
2ae2673df9 feature (tor): cooking some onions - Unstable 2019-05-10 18:20:04 +10:00
Mickael Kerjean
3d9fa49698 improve (plugin): expose routes via plugins 2019-05-10 18:18:02 +10:00
Mickael Kerjean
9b1bad4b5c optimise (CSP): follow recommendations from mozilla observatory 2019-05-10 15:49:45 +10:00
Mickael Kerjean
edf578e710 improve (UA): set a user-agent on HTTP queries that make sense
eg: 'Filestash/v0.4rc.20190510 (http://filestash.app)'
2019-05-10 15:20:13 +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
3899e26a81 fix (boot): docker gives weird errors when using localhost within a containe 2019-05-09 15:08:36 +10:00
Mickael Kerjean
93ede2068e improve (http): Mozilla observatory tips 2019-05-09 01:25:51 +10:00
Mickael Kerjean
7f34aaea2c improve (speed): support for brotli compression 2019-05-09 00:43:05 +10:00
Mickael Kerjean
eeef0f174c improve (lock): leverage RWLock 2019-05-08 15:16:23 +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
9836edacbf maintain (telemetry): update API to a custom endpoint 2019-05-07 14:16:54 +10:00
Mickael Kerjean
3cae9016a0 maintenance (code): fix typos 2019-05-07 11:46:23 +10:00
Mickael Kerjean
57afe01f73 Merge branch 'master' of http://github.com/mickael-kerjean/filestash 2019-05-07 11:44:18 +10:00
Jeanjean Pierre
53c8e43bcc improve (UI): Add option to always display upload button (#161)
* improve (signature): sign build with gpg

* Add option to always display upload button
2019-05-07 11:43:41 +10:00
Mickael Kerjean
2feed9127e improve (efficiency): improve memory efficiency for resource intensive tasks 2019-05-06 15:16:57 +10:00
Mickael Kerjean
2c271e02fc improve (favicon): remove redirection on favicon 2019-05-03 00:08:52 +10:00
Mickael Kerjean
5f7de7826a fix (build): transform the build to push for static program 2019-05-02 23:40:55 +10:00
Mickael Kerjean
ebcf3a3569 build (maintenance): upgrade build with latest changes 2019-05-01 02:14:10 +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
=
191ddbd11f improve (plg_security_scanner): new endpoint from actual logs 2019-04-24 01:31:19 +10:00
=
2f74a00879 fix (thumbnail): memory leak found using ab 2019-04-23 19:00:03 +10:00
=
e0b31a34d2 improve (debug): add a few more debugging endpoints 2019-04-23 14:26:59 +10:00
=
2eaf171e49 improve (debug): cleanup debug endpoint + memory endpoint 2019-04-23 12:16:05 +10:00
=
b2d6f5f1e4 feature (plg_security_svg): admin can decide upon viewing svg documents 2019-04-22 21:15:28 +10:00
=
17a4123f8e improve (plg_security_scanner): add a bunch of other rules found from production logs 2019-04-22 16:57:57 +10:00
=
4300867113 fix (svg): svg images would not display properly 2019-04-22 15:54:45 +10:00
=
290a61d1cf improve (ldap): cache already opened connections for much better visible performance 2019-04-18 15:02:46 +10:00
=
cebb28d093 improve (search): index form content 2019-04-18 14:15:20 +10:00
=
81d224f9e8 fix (path): default path when logging in - #151 2019-04-17 16:32:50 +10:00
=
404c3c01ce security (backend): opt in on host key verification for the SFTP backend 2019-04-17 15:02:12 +10:00
=
6607a7bcd1 fix (admin): typo in admin console 2019-04-17 14:19:35 +10:00
=
f9f7b5c4d3 feature (backend): add a mysql backend 2019-04-17 12:59:23 +10:00
=
23ab6dbf51 fix (about): broken config hash 2019-04-17 01:14:16 +10:00
=
3eb8811e81 improve (log): cleanup log messages 2019-04-15 15:41:45 +10:00
=
a17dd11ce6 fix (cache): fix concurrency issue where our mutex wasn't lock properly 2019-04-15 13:09:44 +10:00
=
762977190d improve (go): use old APIs instead of brand new one 2019-04-15 12:58:36 +10:00
=
20f92b4c0b fix (boot): infinite loop when booting - #154 2019-04-15 12:35:08 +10:00
=
8794e4c3bb improve (log): relevant log messages 2019-04-15 12:34:36 +10:00
=
52c48223ba improve (log): write in stdout as well as log file 2019-04-15 12:19:04 +10:00
=
1623b53103 maintenance (plugin): API change on the image transcoding service 2019-04-14 21:54:22 +10:00
=
a5125906e7 feature (search): in the context of a shared link 2019-04-13 00:43:38 +10:00
=
3553af94f6 feature (search): new dependency for pdf transcoding: pdftotext 2019-04-12 12:35:00 +10:00
=
801760838c feature (seach): index content subject to search 2019-04-12 02:37:31 +10:00
=
4370dfb8c7 feature (search): cleanup 2019-04-05 17:08:12 +11:00
=
4ba5a7c346 feature (search): content indexing: pdf, docx, txt, pptx, org 2019-04-04 19:34:24 +11: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
=
48d997066c feature (search): search result, filter out some results from the search 2019-04-03 18:14:35 +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
133d2257b9 improvement (boot): better boot messages 2019-03-21 02:33:34 +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
872a6e0cd0 fix (bug): issue in date formatting and file size using the webdav backend - #143 2019-03-18 23:08:58 +11:00
Mickael KERJEAN
e224ef16fe feature (abusive): creative defense against attacks 2019-03-18 13:37:32 +11:00
Mickael KERJEAN
fb829c8c3a fix (admin): download the activity log would get an error 2019-03-15 17:26:33 +11:00
Mickael KERJEAN
8393b0d55a fix (test): fix tests 2019-03-14 01:10:59 +11:00
Mickael KERJEAN
9e63eafb61 fix (admin): fix the not allowed message upon access to the admin console 2019-03-14 01:10:59 +11:00
Mickael KERJEAN
685690ed0d feature (backblaze): support for backblaze 2019-03-14 01:10:48 +11:00
Mickael KERJEAN
ea48dbe128 improve (security): add support for the X-Requested-With header 2019-03-08 17:49:17 +11:00
Mickael KERJEAN
a02510418d improve (login): redirect the user to the login screen once the session expire 2019-03-08 01:25:29 +11:00
Mickael KERJEAN
6c5c8f34a0 fix (build): broken build 2019-03-06 09:39:07 +11:00
Mickael KERJEAN
a9fe880bd1 feature (progressive download): support for HTTP range #131 2019-03-02 00:30:27 +11:00
Mickael KERJEAN
2a7d1131b9 fix (shared): fix bug that wouldn't let the user create shared link when the path params is set 2019-02-25 18:44:51 +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
7f820b8cd4 improve (edge case): code maintenance 2019-02-18 18:34:21 +11:00
Mickael KERJEAN
5bff76e1e6 improve (form): add feature to the form builder 2019-02-15 18:48:46 +11:00
Mickael KERJEAN
d1e703082d feature (backend): carddav and caldav backend 2019-02-06 23:22:13 +11:00
Mickael KERJEAN
f0732b69fe improvement (metadata): add new metadatas for better display control from the backend handler 2019-02-06 23:16:51 +11:00
Mickael KERJEAN
8bbe2fac0b feature (backend): ldap backend 2019-01-31 19:13:05 +11:00
Mickael KERJEAN
aaf33996c8 feature (form): form pages 2019-01-28 01:09:45 +11:00
Mickael KERJEAN
9e6ab92201 release (prepare): prepare release 2019-01-28 01:09:47 +11:00
Mickael KERJEAN
d7339ca886 cleanup (release): pre release cleanup 2019-01-28 01:09:45 +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