diff options
Diffstat (limited to 'cmd/relay')
| -rw-r--r-- | cmd/relay/main.go | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/cmd/relay/main.go b/cmd/relay/main.go index 56668fc..a7daa50 100644 --- a/cmd/relay/main.go +++ b/cmd/relay/main.go | |||
| @@ -27,9 +27,10 @@ import ( | |||
| 27 | 27 | ||
| 28 | func main() { | 28 | func main() { |
| 29 | var ( | 29 | var ( |
| 30 | grpcAddr = flag.String("grpc-addr", ":50051", "gRPC server address") | 30 | grpcAddr = flag.String("grpc-addr", ":50051", "gRPC server address") |
| 31 | wsAddr = flag.String("ws-addr", ":8080", "WebSocket server address") | 31 | wsAddr = flag.String("ws-addr", ":8080", "WebSocket server address") |
| 32 | dbPath = flag.String("db", "relay.db", "SQLite database path") | 32 | dbPath = flag.String("db", "relay.db", "SQLite database path") |
| 33 | publicURL = flag.String("public-url", "", "Public URL for relay (e.g., nostr-grpc.x.bdw.to)") | ||
| 33 | ) | 34 | ) |
| 34 | flag.Parse() | 35 | flag.Parse() |
| 35 | 36 | ||
| @@ -51,7 +52,21 @@ func main() { | |||
| 51 | mux.Handle(path, handler) | 52 | mux.Handle(path, handler) |
| 52 | 53 | ||
| 53 | wsHandler := wshandler.NewHandler(store, subManager) | 54 | wsHandler := wshandler.NewHandler(store, subManager) |
| 54 | wsHandler.SetIndexData(*grpcAddr, *wsAddr, *wsAddr) | 55 | |
| 56 | // Set public URLs for index page | ||
| 57 | var grpcDisplay, httpDisplay, wsDisplay string | ||
| 58 | if *publicURL != "" { | ||
| 59 | // Use public URLs when behind reverse proxy | ||
| 60 | grpcDisplay = *publicURL + ":50051" // gRPC typically on different port | ||
| 61 | httpDisplay = "https://" + *publicURL | ||
| 62 | wsDisplay = "wss://" + *publicURL | ||
| 63 | } else { | ||
| 64 | // Use local addresses for development | ||
| 65 | grpcDisplay = *grpcAddr | ||
| 66 | httpDisplay = *wsAddr | ||
| 67 | wsDisplay = *wsAddr | ||
| 68 | } | ||
| 69 | wsHandler.SetIndexData(grpcDisplay, httpDisplay, wsDisplay) | ||
| 55 | mux.Handle("/", wsHandler) | 70 | mux.Handle("/", wsHandler) |
| 56 | 71 | ||
| 57 | grpcLis, err := net.Listen("tcp", *grpcAddr) | 72 | grpcLis, err := net.Listen("tcp", *grpcAddr) |
