Added Webwizard
This commit is contained in:
@@ -22,6 +22,7 @@ The backend server connects outbound to the public proxy. Bungee/Waterfall then
|
||||
- Multiple public proxies can connect to one backend
|
||||
- One proxy can expose multiple named backend servers
|
||||
- `/dsp2p status` and `/dsp2p doctor` commands
|
||||
- Temporary browser setup wizard with console-generated login key
|
||||
- Simple `config.properties` setup
|
||||
|
||||
## Requirements
|
||||
@@ -113,6 +114,9 @@ tunnel.tls.keyStore=certs/frontend.p12
|
||||
tunnel.tls.keyStorePassword=
|
||||
tunnel.tls.requireClientAuth=false
|
||||
|
||||
webwizard.bindHost=127.0.0.1
|
||||
webwizard.port=8765
|
||||
|
||||
routes=minecraft
|
||||
route.minecraft.frontendBindHost=127.0.0.1
|
||||
route.minecraft.frontendBindPort=25566
|
||||
@@ -179,6 +183,9 @@ tunnel.tls.enabled=false
|
||||
tunnel.tls.allowInsecure=true
|
||||
tunnel.tls.trustOnFirstUse=true
|
||||
|
||||
webwizard.bindHost=127.0.0.1
|
||||
webwizard.port=8765
|
||||
|
||||
routes=minecraft
|
||||
route.minecraft.backendTargetHost=127.0.0.1
|
||||
route.minecraft.backendTargetPort=25565
|
||||
@@ -348,6 +355,50 @@ Shows role, node name, whether the tunnel is connected, connected tunnel count,
|
||||
|
||||
Checks the config and prints setup/security hints.
|
||||
|
||||
```text
|
||||
/dsp2p webwizard
|
||||
```
|
||||
|
||||
Toggles a temporary browser setup wizard.
|
||||
|
||||
When the wizard starts, the server console prints:
|
||||
|
||||
```text
|
||||
Please sign in with this key: <temporary-key>
|
||||
```
|
||||
|
||||
Open the printed URL in a browser and sign in with the temporary key.
|
||||
|
||||
The wizard provides guided sections for:
|
||||
|
||||
- server mode and node name
|
||||
- proxy listener settings
|
||||
- backend proxy connections
|
||||
- Minecraft routes
|
||||
- tunnel token and TLS
|
||||
- heartbeat and reconnect settings
|
||||
- advanced raw config keys
|
||||
|
||||
The web UI includes:
|
||||
|
||||
- `Save Config`
|
||||
- `Save + Reload DirtSimpleP2P`
|
||||
- `Reload Current Config`
|
||||
- `Generate New Token`
|
||||
|
||||
Reloading from the wizard restarts the DirtSimpleP2P tunnel agent with the latest config. It does not run a full Minecraft server reload.
|
||||
|
||||
Run `/dsp2p webwizard` again to stop the wizard when setup is complete.
|
||||
|
||||
By default, the wizard binds to:
|
||||
|
||||
```properties
|
||||
webwizard.bindHost=127.0.0.1
|
||||
webwizard.port=8765
|
||||
```
|
||||
|
||||
Keep it on `127.0.0.1` unless you understand the risk of exposing a config editor over the network.
|
||||
|
||||
Permission:
|
||||
|
||||
```text
|
||||
@@ -456,3 +507,7 @@ tunnel.tls.allowInsecure=false
|
||||
```
|
||||
|
||||
Trust-on-first-use is convenient, but the first TLS connection is the sensitive moment. For the strictest setup, manually copy the proxy certificate fingerprint into the backend config before the first connection.
|
||||
|
||||
The Web Wizard is intended as a temporary setup tool. It uses a random key printed to the server console and should be stopped when configuration is complete.
|
||||
|
||||
The reload button reloads DirtSimpleP2P itself. It intentionally does not run Paper/Bukkit `/reload`, because full server reloads are risky on production Minecraft servers.
|
||||
|
||||
Reference in New Issue
Block a user