Commit Graph

56 Commits

Author SHA1 Message Date
Marc Ole Bulling
20ee8cbfa4 Minor refactoring and adding of comments 2025-05-25 17:07:06 +02:00
Marc Bulling
6d68134240 Added upload timestamp to metadata and API output, sort by upload data in main menu (#260) 2025-05-25 16:20:31 +02:00
Jakub
14d6448c57 Change hotlink URL to be shorter (#253) 2025-04-21 00:13:45 +02:00
Marc Bulling
f36d39e728 Added extended logging (#240), fixed bug that prevented setting Manage_Users API permission on new API key, added Manage_Logs API permission
* Added Manage_Logs API permission, added API endpoint to delete logs, added more logging, added filtering and deletion of logs in UI, fixed bug that prevented setting Manage_Users API permission on new API key
2025-03-21 15:06:17 +01:00
Marc Bulling
d88f649209 Add support for multiple different users, rewrote API, breaking API changes, UI changes
* Require 1.9.6 for upgrade, add function to get userID from request

* Automatically add user when successfully authenticated with headers / oauth, disallow modifing own user permissions

* Dont show user/pw page when using header authentication

* Only display redacted versions of API keys #228, fixed deployment password

* Added animation for deleting API key

* Only create salt once

* Disable elements on upload UI if insufficient permissions

* BREAKING: User field must be email for OAUTH2, added warning in setup when changing database

* BREAKING: Added option to restrict to only registered users

* Fixed crash due to concurrent map iteration

* Replace /uploadComplete with API call, BREAKING API is now in headers

* BREAKING: require true|false instead of only checking for true

* BREAKING API: Renamed apiKeyToModify parameter to targetKey
2025-02-04 09:22:55 +01:00
Marc Ole Bulling
2cc36096fb Added env variable GOKAPI_DISABLE_REPLACE to displace replace feature, until user permissions are added 2024-12-17 15:55:00 +01:00
Marc Ole Bulling
c167e752f3 Add API call and GUI option to replace content of files, API returns 404 on invalid file IDs, better handling for E2E errors 2024-12-15 17:07:29 +01:00
Marc Ole Bulling
53d27c2889 Make /uploadComplete non blocking (#224), added /files/list/{id} API call, changed UploadStatus from database to in-memory, internal WebUI calls return 401 if unauthorised, make specific-test verbose 2024-12-14 13:24:23 +01:00
Marc Ole Bulling
6f582b25d8 Store upload defaults locally (#214), breaking API changes 2024-12-06 14:36:08 +01:00
Marc Ole Bulling
ddc72b0a98 Use API for most of UI interactions with an internal API key (#211), breaking API changes
* Changed color of API procressing status

* Added internal system key, use system key for API page perm changes, BREAKING: removed session auth

* API: Added /auth/delete, added option to include basic parameters in /auth/create, migrated API overview page completely to use API calls

* Added toast in API menu for clipboard, removed reference to session authentication in documentation

* Changed delete button in upload menu to API call, fixed modify API call in menu #210

* Set Api key in API menu for changing permissions, renamed title for Deleting Uploads permission, refactoring

* Added tests, refactoring
2024-12-05 13:55:11 +01:00
Marc Ole Bulling
b56970bf88 Add Redis support / make database location and provider selectable in setup (#180) 2024-07-07 22:13:51 +02:00
Marc Ole Bulling
b14d9f9e51 Added tests and coverage to makefile, updated dependencies, added tests 2024-06-09 17:43:45 +02:00
Marc Ole Bulling
6beabdebc3 Added option to display filenames in URL (#171), breaking API changes, refactoring, update OpenAPI 2024-06-08 21:52:14 +02:00
Marc Ole Bulling
839de59cf5 Add cleanup for orphaned hotlinks, add/remove hotlinks on edit #136 2024-02-07 16:05:38 +01:00
Marc Ole Bulling
9641e2828d Added /auth/create API endpoint #133, fixed wrong openapi schemes, added examples to openapi 2024-02-07 14:34:41 +01:00
Marc Ole Bulling
15c2bd9c67 Added wildcard for OIDC groups and users, better login flow for OIDC, updated documentation to add OIDC provider examples 2024-01-20 11:40:20 +01:00
Marc Ole Bulling
a130357018 Added feature for editing uploaded files #103, updated Bootstrap to 5.3 2023-11-29 20:45:27 +01:00
Marc Ole Bulling
d24ea9735a Fixed tests 2023-11-28 14:20:33 +01:00
Marc Ole Bulling
c68afacaa5 Added permission model for API keys #79, replaced button text with icons 2023-11-28 13:47:51 +01:00
Marc Ole Bulling
1d0bde6644 Changed to sqlite, dropped Windows 32bit support, fixed data dir env not being persistant #115, updated readme 2023-11-21 20:50:30 +01:00
Marc Ole Bulling
0ccca6cf19 Refactoring, table now searchable when using E2E encryption #99 2023-04-14 15:35:26 +02:00
Marc Ole Bulling
a352cf5656 Fixed tests 2023-04-03 02:19:13 +02:00
Marc Ole Bulling
5bb3b29bc6 Additionally use http.MaxBytesReader for enforcing maximum file size 2023-04-01 23:04:19 +02:00
Marc Ole Bulling
dd16c9c8d7 Added tests 2023-04-01 13:26:24 +02:00
Marc Ole Bulling
a97979a899 Replaced go generate commands with native go code 2023-03-31 13:56:25 +02:00
Marc Ole Bulling
9c9ea6dbb7 Add end-to-end encryption (#71)
* Added WASM module for e2e

* Added cmd util to read database

* Changed to go 1.19

* Fixed crash with random string generator

* Fixed typos and tests

* Host service worker on github
2022-08-11 13:37:55 +02:00
Marc Ole Bulling
44260f012b Use chunked uploads instead of single upload (#68)
* Change to chunked uploads

* Renamed SHA256 attribute to SHA1

* Breaking: removed /upload endpoint

* Changed timeout to 15 minutes for reading

* Change session key only after 12 hours

* Added API calls for chunk upload, refactoring, added tests

* Add content-type based on file extension for images if empty
2022-07-25 13:21:38 +02:00
Marc Ole Bulling
21063956b1 Added tests 2022-07-16 16:37:52 +02:00
Marc Ole Bulling
5bb338f91c Breaking: Make API output less verbose #63, fixed hotlink not working with "duplicate" API call, added option to change filename with duplicate API call 2022-07-15 02:29:49 +02:00
Marc Ole Bulling
a10c036c6a Fixed API call duplication, refactoring, added tests 2022-07-11 19:02:41 +02:00
Marc Ole Bulling
7927e462e0 Added API call to duplicate existing files #66 2022-07-11 16:25:00 +02:00
Marc Ole Bulling
a72236ab70 Refactor: Rename datastorage to database 2022-03-16 18:31:55 +01:00
Marc Ole Bulling
7f9037ff1f Updated to Go 1.18, removed debug log, added Go Version to --version output 2022-03-16 10:56:46 +01:00
Marc Ole Bulling
43a3a67906 Fixed API to work with unlimited downloads and unlimited time #46 2022-02-26 20:52:53 +01:00
Marc Ole Bulling
ac18cde0a8 Fixed test 2022-02-26 17:10:33 +01:00
Marc Ole Bulling
58c1e2aa56 Support for file encryption (#38) 2022-02-24 14:53:02 +01:00
Marc Ole Bulling
49f11e94da Reformatting, added documentation, fixed Setup_test.go 2022-01-25 16:08:28 +01:00
Marc Ole Bulling
7ae36d1a52 Changed modulename to github.com/forceu/gokapi 2022-01-25 13:44:21 +01:00
Marc Ole Bulling
3766c9257f Replace writable parts of config with database (#40) 2022-01-20 23:52:34 +01:00
Marc Ole Bulling
3595a18dbd Replace CLI/env based setup with web UI setup, add OAuth2 (#33)
* Initial commit websetup

* Added writing cloudstorage credentials

* Clean up old configuration generation

* Added Oauth2 OpenID Connect support

* Bugfixes and fixed tests

* Refactoring

* Refactoring, added first tests

* Added documentation

* Refactoring, updated docs

* Added tests

* Added option to reshow setup for reconfiguring Gokapi instance

* Added docs and tests
2021-12-31 01:40:10 +01:00
Marc Ole Bulling
1b300a6691 Automated formatting for go1.17 2021-12-12 20:06:33 +01:00
Marc Ole Bulling
8e10f3710c Added header-based authentication #30 2021-12-12 20:02:07 +01:00
Marc Ole Bulling
cbbbef41c5 Fixed Gokapi not parsing parameters when uploading through API #31 2021-12-10 18:56:54 +01:00
Marc Ole Bulling
724489d2a4 Minor changes, added tests 2021-12-02 16:05:21 +01:00
Marc Ole Bulling
a7888896f0 Added test tag requirement for unit tests, added minor tests 2021-06-24 13:34:53 +02:00
Marc Ole Bulling
4ee4bca975 Changed Mutex to RWMutex 2021-06-23 11:58:59 +02:00
Marc Ole Bulling
6cffccb3be Added logging #18, set Dockerfile to Go 1.16.5, minor changes 2021-06-16 19:44:27 +02:00
Marc Ole Bulling
8f02aeb881 Logout all sessions after changing password, enhanced unit tests 2021-05-10 21:45:31 +02:00
Marc Ole Bulling
1ff8cb2913 Fixed build 2021-05-10 16:59:07 +02:00
Marc Ole Bulling
3be4ec7096 Added mock function for AWS S3, updated tests 2021-05-10 16:48:35 +02:00