Added functionality to upload via command line tools. #28
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I needed a way to automate uploading Pwns to this amazing tool, so I modified it a bit, to generate and accept API key.
Using the key, it generates curl command that can be copied from the GUI in order to upload new files.
An Upload with cURL button added under the main Upload button.
For the back-end API, added API key validation via Authorization header. The API key (32 chars) is generated with the user creation.
The Authorization key is saved in the application database and in the user's local storage on a successful login, it then loaded from the storage when clicking the new button.
By providing the authorization key in the "Authorization" header in an HTTP request, the application skips the "secret path" and session ID checks, but allow only file creation. It means that this is more an upload key than API key since it only authorizes the use of FileCreateHandler under api/files.go.
*Sidenote, when a client uses the upload key, it skips the secret path session validation for any request (see change at core/server.go).
Demo GIF:

High quality:
https://youtu.be/TVOlB7X6TEU