src

sauce
got clone ssh://anon@src.dalliard.ch/src
log | files | refs

commit 5d6d295a4898580d6b77f9a57cdcc703c27bca52
parent 0bcc8e08a1a0b830d6a8f4cf8126f24f006b2189
author: nathanael <nathanael@dalliard.ch>
date:   Fri, 17 Oct 2025 15:15:40 +0000

s1: replace lnaddr

from golang to shell

diffstat:
Ms1/scripts/sysfiles.sh | 6++++--
Ms1/sysfiles/httpd.conf | 5+++++
Ds1/sysfiles/lnaddr.rc | 11-----------
As1/sysfiles/lnaddr.sh | 20++++++++++++++++++++
Ms1/sysfiles/relayd.conf | 6------
Ms1/sysfiles/sysclean | 3++-
6 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/s1/scripts/sysfiles.sh b/s1/scripts/sysfiles.sh @@ -3,6 +3,7 @@ src="$HOME/src/src/s1/sysfiles" doas install -d -o root -g wheel -m 755 "/etc/dovecot/sieve/" doas install -d -o root -g www -m 755 "/var/www/go/" +doas install -d -o root -g www -m 755 "/var/www/ln/" doas install -d -o root -g www -m 755 "/var/www/mail/" doas install -d -o root -g www -m 777 "/var/www/tmp/" doas install -o root -g wheel -m 600 "$src/pf.conf" "/etc/pf.conf" @@ -18,10 +19,11 @@ doas install -o root -g wheel -m 644 "$src/smtpd.conf" "/etc/mail/smtpd.conf" doas install -o root -g wheel -m 644 "$src/sshd_config" "/etc/ssh/sshd_config" doas install -o root -g wheel -m 644 "$src/sysclean" "/etc/sysclean.ignore" doas install -o root -g wheel -m 644 "$src/weekly.local" "/etc/weekly.local" -doas install -o root -g wheel -m 755 "$src/lnaddr.rc" "/etc/rc.d/lnaddr" -doas install -o root -g www -m 640 "$src/redirects.txt" "/var/www/go/redirects.txt" +doas install -o root -g www -m 640 "$HOME/prv/lnusers" "/var/www/ln/lnusers.txt" +doas install -o root -g www -m 640 "$HOME/prv/redirs" "/var/www/go/redirects.txt" doas install -o root -g www -m 644 "$src/favicon.ico" "/var/www/htdocs/favicon.ico" doas install -o root -g www -m 644 "$src/index.html" "/var/www/htdocs/index.html" doas install -o root -g www -m 644 "$src/mta-sts.txt" "/var/www/mail/mta-sts.txt" doas install -o root -g www -m 644 "$src/style.css" "/var/www/htdocs/style.css" +doas install -o root -g www -m 755 "$src/lnaddr.sh" "/var/www/ln/lnaddr.sh" doas install -o root -g www -m 755 "$src/redirect.sh" "/var/www/go/redirect.sh" diff --git a/s1/sysfiles/httpd.conf b/s1/sysfiles/httpd.conf @@ -32,6 +32,11 @@ server "dalliard.ch" { location "/p" { block return 301 "https://dalliard.ch/22b0bce1868386a2cc5b63cac61abf796ebd00e2.asc" } + location "/.well-known/lnurlp/*" { + root "/ln/lnaddr.sh" + request strip 2 + fastcgi socket "/run/slowcgi.sock" + } errdocs "/www" root "/www" no log diff --git a/s1/sysfiles/lnaddr.rc b/s1/sysfiles/lnaddr.rc @@ -1,11 +0,0 @@ -#!/bin/ksh - -daemon="/usr/local/sbin/lnaddr" -daemon_logger="daemon.info" - -. /etc/rc.d/rc.subr - -rc_bg=YES -rc_reload=NO - -rc_cmd $1 diff --git a/s1/sysfiles/lnaddr.sh b/s1/sysfiles/lnaddr.sh @@ -0,0 +1,20 @@ +#!/bin/sh +username="${PATH_INFO#/}" +ok=$(while read -r user; do + if [ "$user" = "$username" ]; then + echo "1" + break + fi +done < /ln/lnusers.txt) + +if [ -n "$ok" ]; then + printf "Content-Type: application/json\r\n" + printf "\r\n" + ftp -o - "https://coinos.io/.well-known/lnurlp/${username}" | \ + sed 's|@coinos\.io|@dalliard.ch|g' +else + printf "Status: 404 Not Found\r\n" + printf "Conten-Type: text/plain\r\n" + printf "\r\n" + printf "user not found\n" +fi diff --git a/s1/sysfiles/relayd.conf b/s1/sysfiles/relayd.conf @@ -1,7 +1,6 @@ ipv4="46.23.90.207" ipv6="2a03:6000:6f64:604::207" table <httpd> { 127.0.0.1 } -table <lnaddr> { 127.0.0.1 } http protocol https { tls { no tlsv1.0, tlsv1.1, ciphers "ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5:!DSS" } tls keypair s1.dalliard.ch @@ -23,19 +22,14 @@ http protocol https { match request url "dalliard.ch/.well-known/nostr.json" tag "cors" match response tagged "cors" header set "Access-Control-Allow-Origin" \ value "*" - - pass quick url "dalliard.ch/.well-known/lnurlp/" forward to <lnaddr> - pass forward to <httpd> } relay wwwtls4 { listen on $ipv4 port https tls protocol https forward to <httpd> port https - forward to <lnaddr> port 8080 } relay wwwtls6 { listen on $ipv6 port https tls protocol https forward to <httpd> port https - forward to <lnaddr> port 8080 } diff --git a/s1/sysfiles/sysclean b/s1/sysfiles/sysclean @@ -1,4 +1,3 @@ -/etc/rc.d/lnaddr /etc/ssl/die-maltherapie.ch.crt /etc/ssl/die-maltherapie.ch.crt.1 /etc/ssl/die-sexualberatung.ch.crt @@ -14,8 +13,10 @@ /etc/ssl/s1.dalliard.ch.ocsp /var/got /var/www/bin/sh +/var/www/etc /var/www/go /var/www/judith +/var/www/ln /var/www/mail /var/www/usr /var/www/www