Add --redact option to hide admin prefix in log output

This commit is contained in:
Seednode 2024-01-05 19:00:15 -06:00
parent 5167ff457e
commit 60ec29612b
3 changed files with 10 additions and 2 deletions

View File

@ -138,6 +138,7 @@ Usage:
Flags: Flags:
--admin-prefix string string to prepend to administrative paths --admin-prefix string string to prepend to administrative paths
-a, --all enable all supported file types -a, --all enable all supported file types
--allow-empty allow specifying paths containing no supported files
--audio enable support for audio files --audio enable support for audio files
--binary-prefix use IEC binary prefixes instead of SI decimal prefixes --binary-prefix use IEC binary prefixes instead of SI decimal prefixes
-b, --bind string address to bind to (default "0.0.0.0") -b, --bind string address to bind to (default "0.0.0.0")
@ -166,6 +167,7 @@ Flags:
--prefix string root path for http handlers (for reverse proxying) (default "/") --prefix string root path for http handlers (for reverse proxying) (default "/")
--profile register net/http/pprof handlers --profile register net/http/pprof handlers
-r, --recursive recurse into subdirectories -r, --recursive recurse into subdirectories
--redact redact admin prefix in log output
--refresh enable automatic page refresh via query parameter --refresh enable automatic page refresh via query parameter
--russian remove selected images after serving --russian remove selected images after serving
-s, --sort enable sorting -s, --sort enable sorting

View File

@ -14,7 +14,7 @@ import (
const ( const (
AllowedCharacters string = `^[A-z0-9.\-_]+$` AllowedCharacters string = `^[A-z0-9.\-_]+$`
ReleaseVersion string = "3.8.0" ReleaseVersion string = "3.9.0"
) )
var ( var (
@ -48,6 +48,7 @@ var (
Prefix string Prefix string
Profile bool Profile bool
Recursive bool Recursive bool
Redact bool
Refresh bool Refresh bool
Russian bool Russian bool
Sorting bool Sorting bool
@ -140,6 +141,7 @@ func init() {
rootCmd.Flags().StringVar(&Prefix, "prefix", "/", "root path for http handlers (for reverse proxying)") rootCmd.Flags().StringVar(&Prefix, "prefix", "/", "root path for http handlers (for reverse proxying)")
rootCmd.Flags().BoolVar(&Profile, "profile", false, "register net/http/pprof handlers") rootCmd.Flags().BoolVar(&Profile, "profile", false, "register net/http/pprof handlers")
rootCmd.Flags().BoolVarP(&Recursive, "recursive", "r", false, "recurse into subdirectories") rootCmd.Flags().BoolVarP(&Recursive, "recursive", "r", false, "recurse into subdirectories")
rootCmd.Flags().BoolVar(&Redact, "redact", false, "redact admin prefix in log output")
rootCmd.Flags().BoolVar(&Refresh, "refresh", false, "enable automatic page refresh via query parameter") rootCmd.Flags().BoolVar(&Refresh, "refresh", false, "enable automatic page refresh via query parameter")
rootCmd.Flags().BoolVar(&Russian, "russian", false, "remove selected images after serving") rootCmd.Flags().BoolVar(&Russian, "russian", false, "remove selected images after serving")
rootCmd.Flags().BoolVarP(&Sorting, "sort", "s", false, "enable sorting") rootCmd.Flags().BoolVarP(&Sorting, "sort", "s", false, "enable sorting")

View File

@ -62,7 +62,7 @@ func noFiles(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("No files found in the specified path(s).\n")) w.Write([]byte("No files found in the specified path(s).\n"))
if Verbose { if Verbose {
fmt.Printf("%s | SERVE: Empty path notice served to %s\n", fmt.Printf("%s | SERVE: Empty path notification to %s\n",
startTime.Format(logDate), startTime.Format(logDate),
r.RemoteAddr, r.RemoteAddr,
) )
@ -435,6 +435,10 @@ func serveVersion() httprouter.Handle {
func registerHandler(mux *httprouter.Router, path string, handle httprouter.Handle) { func registerHandler(mux *httprouter.Router, path string, handle httprouter.Handle) {
mux.GET(path, handle) mux.GET(path, handle)
if Redact && AdminPrefix != "" {
path = strings.ReplaceAll(path, AdminPrefix, "/<admin_prefix>")
}
if Handlers { if Handlers {
fmt.Printf("%s | SERVE: Registered handler for %s\n", fmt.Printf("%s | SERVE: Registered handler for %s\n",
time.Now().Format(logDate), time.Now().Format(logDate),