Compare commits

..

2 Commits

Author SHA1 Message Date
343af57742 docs: document -Fsecret 2024-10-29 17:52:38 -03:00
e216e2a1b5 feat: add longer url if "secret" field is present 2024-10-29 17:51:27 -03:00
2 changed files with 11 additions and 2 deletions

View File

@ -78,6 +78,8 @@ abyss is a basic and mostly single user http server written in go made for uploa
curl -F "file=@/path/to/file" -H "X-Auth: "$(cat /path/to/.key) http://localhost:3235/ curl -F "file=@/path/to/file" -H "X-Auth: "$(cat /path/to/.key) http://localhost:3235/
``` ```
- it is also possible to add a `-Fsecret=` to your POST to make filenames bigger and harder to guess.
- you should probably create an `alias` or a `function` to do this automatically for you. - you should probably create an `alias` or a `function` to do this automatically for you.
<details> <details>
<summary>click for an example for bash/zsh:</summary> <summary>click for an example for bash/zsh:</summary>

View File

@ -160,6 +160,10 @@ func (app *Application) formHandler(w http.ResponseWriter, r *http.Request) {
filename := app.publicURL(file, ".txt") filename := app.publicURL(file, ".txt")
if len(r.Form["secret"]) == 0 {
filename = filename[:8]
}
// reopening file because hash consumes it // reopening file because hash consumes it
file, err = os.Open("/tmp/file.txt") file, err = os.Open("/tmp/file.txt")
if err != nil { if err != nil {
@ -196,6 +200,10 @@ func (app *Application) curlHandler(w http.ResponseWriter, r *http.Request) {
filename := app.publicURL(file, filepath.Ext(handler.Filename)) filename := app.publicURL(file, filepath.Ext(handler.Filename))
if len(r.Form["secret"]) == 0 {
filename = filename[:8]
}
// reopen the file for copying, as the hash process consumed the file reader // reopen the file for copying, as the hash process consumed the file reader
file, _, err = r.FormFile("file") file, _, err = r.FormFile("file")
if err != nil { if err != nil {
@ -204,8 +212,7 @@ func (app *Application) curlHandler(w http.ResponseWriter, r *http.Request) {
} }
defer file.Close() defer file.Close()
err = SaveFile(app.lastUploadedFile, file) if err = SaveFile(app.lastUploadedFile, file); err != nil {
if err != nil {
fmt.Fprintf(w, "Error parsing file: %s", err.Error()) fmt.Fprintf(w, "Error parsing file: %s", err.Error())
} }