diff options
| author | Xe Iaso <me@xeiaso.net> | 2025-04-27 14:02:53 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2025-04-27 14:05:04 -0400 |
| commit | 1d9fa34fa84cc125c68ab486d8bbc2dbe7a51f0e (patch) | |
| tree | 806543b40d615e1bf57d4a83fdba88bb8008e088 | |
| parent | 10e176a023ee1a4955160c86f0dc71a435bdf866 (diff) | |
| download | x-1d9fa34fa84cc125c68ab486d8bbc2dbe7a51f0e.tar.xz x-1d9fa34fa84cc125c68ab486d8bbc2dbe7a51f0e.zip | |
feat(httpdebug): quiet mode and function as a systemd service
Signed-off-by: Xe Iaso <me@xeiaso.net>
| -rw-r--r-- | cmd/httpdebug/httpdebug.env | 0 | ||||
| -rw-r--r-- | cmd/httpdebug/httpdebug.service | 13 | ||||
| -rw-r--r-- | cmd/httpdebug/main.go | 11 | ||||
| -rw-r--r-- | yeetfile.js | 26 |
4 files changed, 47 insertions, 3 deletions
diff --git a/cmd/httpdebug/httpdebug.env b/cmd/httpdebug/httpdebug.env new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/cmd/httpdebug/httpdebug.env diff --git a/cmd/httpdebug/httpdebug.service b/cmd/httpdebug/httpdebug.service new file mode 100644 index 0000000..01cf9af --- /dev/null +++ b/cmd/httpdebug/httpdebug.service @@ -0,0 +1,13 @@ +[Unit] +Description="http debugger" + +[Service] +ExecStart=/usr/bin/httpdebug +Restart=always +RestartSec=30s +EnvironmentFile=/etc/within.website/x/httpdebug.env +LimitNOFILE=infinity +DynamicUser=true + +[Install] +WantedBy=multi-user.target
\ No newline at end of file diff --git a/cmd/httpdebug/main.go b/cmd/httpdebug/main.go index 8162bc2..15943b7 100644 --- a/cmd/httpdebug/main.go +++ b/cmd/httpdebug/main.go @@ -14,7 +14,8 @@ import ( ) var ( - bind = flag.String("bind", ":3000", "TCP port to bind to") + bind = flag.String("bind", ":3000", "TCP port to bind to") + silent = flag.Bool("silent", false, "if set, don't log http headers") ) func main() { @@ -34,8 +35,12 @@ func main() { fmt.Fprint(w, "<pre id=\"main\"><code>") } - fmt.Println("---") - r.Write(io.MultiWriter(w, os.Stdout)) + if !*silent { + fmt.Println("---") + r.Header.Write(io.MultiWriter(w, os.Stdout)) + } else { + r.Header.Write(w) + } if contains { fmt.Fprintln(w, "</pre></code>") diff --git a/yeetfile.js b/yeetfile.js index 946e764..87fa4c7 100644 --- a/yeetfile.js +++ b/yeetfile.js @@ -28,6 +28,32 @@ const pkgs = []; [deb, rpm].forEach((method) => { pkgs.push( method.build({ + name: "httpdebug", + description: "HTTP protocol debugger", + homepage: "https://within.website", + license: "CC0", + goarch, + + documentation: { + LICENSE: "LICENSE", + }, + + configFiles: { + "cmd/httpdebug/httpdebug.env": "/etc/within.website/x/httpdebug.env", + }, + + build: ({ bin, systemd }) => { + $`go build -o ${bin}/httpdebug -ldflags '-s -w -extldflags "-static" -X "within.website/x.Version=${git.tag()}"' ./cmd/httpdebug`; + file.install( + "./cmd/httpdebug/httpdebug.service", + `${systemd}/httpdebug.service`, + ); + }, + }), + ); + + pkgs.push( + method.build({ name: "ingressd", description: "ingress for my homelab", homepage: "https://within.website", |
