feat: add check on whether to restrict text uploading

This commit is contained in:
jabuxas 2024-10-15 15:21:05 -03:00
parent 030196cf51
commit b10bdf21b5
2 changed files with 17 additions and 1 deletions

View File

@ -25,6 +25,8 @@ func main() {
app.filesDir = os.Getenv("ABYSS_FILEDIR") app.filesDir = os.Getenv("ABYSS_FILEDIR")
app.port = os.Getenv("ABYSS_PORT") app.port = os.Getenv("ABYSS_PORT")
auth := os.Getenv("SHOULD_AUTH")
if app.auth.username == "" { if app.auth.username == "" {
log.Fatal("basic auth username must be provided") log.Fatal("basic auth username must be provided")
} }
@ -65,7 +67,13 @@ func main() {
), ),
) )
mux.HandleFunc("/last", app.lastUploadedHandler) mux.HandleFunc("/last", app.lastUploadedHandler)
if auth == "yes" {
mux.HandleFunc("/upload", app.basicAuth(app.uploadHandler)) mux.HandleFunc("/upload", app.basicAuth(app.uploadHandler))
slog.Warn("text uploading through the browser will be restricted")
} else {
mux.HandleFunc("/upload", app.uploadHandler)
slog.Warn("text uploading through the browser will NOT be restricted")
}
srv := &http.Server{ srv := &http.Server{
Addr: app.port, Addr: app.port,

View File

@ -22,6 +22,11 @@ if [ -z $AUTH_PASSWORD ]; then
AUTH_PASSWORD="admin" AUTH_PASSWORD="admin"
fi fi
read -p "Auth for upload form - should password be needed to upload text through the browser? [yes]: " -e SHOULD_AUTH
if [ -z $SHOULD_AUTH ]; then
SHOULD_AUTH="yes"
fi
cat << EOF > .env cat << EOF > .env
# This is the full name of the final domain for the server. Example: paste.abyss.dev # This is the full name of the final domain for the server. Example: paste.abyss.dev
ABYSS_URL=$ABYSS_URL ABYSS_URL=$ABYSS_URL
@ -38,6 +43,9 @@ AUTH_USERNAME=$AUTH_USERNAME
# This is the password of the user for accessing /tree # This is the password of the user for accessing /tree
AUTH_PASSWORD=$AUTH_PASSWORD AUTH_PASSWORD=$AUTH_PASSWORD
# This is whether you need a password to upload text through the browser
SHOULD_AUTH=$SHOULD_AUTH
# This is the key needed to make uploads. Include it as X-Auth in curl. # This is the key needed to make uploads. Include it as X-Auth in curl.
# Tip: Save it somewhere and use it in curl with \$(cat /path/to/key) # Tip: Save it somewhere and use it in curl with \$(cat /path/to/key)
UPLOAD_KEY=$UPLOAD_KEY UPLOAD_KEY=$UPLOAD_KEY