well-goknown/main.go

51 lines
1.4 KiB
Go
Raw Normal View History

package main
import (
"net/http"
2024-08-15 00:38:38 +00:00
"git.devvul.com/asara/gologger"
"git.devvul.com/asara/well-goknown/config"
"git.devvul.com/asara/well-goknown/db"
2024-08-31 18:10:32 +00:00
"git.devvul.com/asara/well-goknown/lightningpub"
2024-08-15 00:38:38 +00:00
"git.devvul.com/asara/well-goknown/matrix"
"git.devvul.com/asara/well-goknown/nostr"
"github.com/fiatjaf/eventstore/postgresql"
)
2024-08-15 01:20:14 +00:00
var (
Version string
)
func main() {
2024-08-10 23:55:16 +00:00
l := gologger.Get(config.GetConfig().LogLevel).With().Str("context", "main").Logger()
db, _ := db.NewDB()
defer db.Close()
2024-08-31 18:10:32 +00:00
lightningpub.DB = db
2024-08-10 23:55:16 +00:00
nostr.DB = db
nostr.RelayDb = postgresql.PostgresBackend{DatabaseURL: config.GetConfig().DbUrl}
if err := nostr.RelayDb.Init(); err != nil {
l.Panic().Msgf("unable to connect to relay db: %s", err.Error())
}
2024-08-15 01:20:14 +00:00
relay := nostr.NewRelay(Version)
2023-02-03 04:56:15 +00:00
// matrix endpoints
2024-08-10 23:55:16 +00:00
l.Debug().Msg("enabling matrix well-known endpoints")
2023-02-04 01:15:41 +00:00
http.HandleFunc("/.well-known/matrix/server", matrix.MatrixServer)
http.HandleFunc("/.well-known/matrix/client", matrix.MatrixClient)
2023-02-03 04:56:15 +00:00
// nostr endpoints
2024-08-10 23:55:16 +00:00
l.Debug().Msg("enabling nostr well-known endpoints")
http.HandleFunc("/.well-known/nostr.json", nostr.GetNostrAddr)
http.Handle("/relay", relay)
2024-08-31 18:10:32 +00:00
// lnurlp endpoint
l.Debug().Msg("enabling lnurlp well-known endpoint")
http.HandleFunc("/.well-known/lnurlp/{name}", lightningpub.GetLnurlp)
2023-02-03 04:56:15 +00:00
// start server
2023-04-29 18:01:40 +00:00
port := config.GetConfig().ListenAddr
l.Info().Msgf("starting server on %s", port)
http.ListenAndServe(port, nil)
}