Localtunnel hosting + admin panel + AppData db

- Default hosting mode is now Localtunnel — public *.loca.lt URL,
  no account, auto-fetched on first run. Replaces the prototyped
  Tailscale mode.
- Tailscale code purged from launcher + CLI; docs swapped to
  Localtunnel throughout (easy-setup, joining-a-server, server-cli,
  troubleshooting, faq, READMEs).
- Launcher sidebar gains an Open admin panel button — opens
  https://admin.<apex> in the browser once the server is live.
- SQLite db moves to %APPDATA%\DorkNet\dorknet.db (server reads
  Database__SqlitePath env var, launcher passes it). Existing dbs
  under <serverDir>\data\ are migrated on first run.
- CLI Program.cs: --mode default flips from tailscale to localtunnel;
  csproj links in LocaltunnelTunnel + LocaltunnelInstaller.
- New Backend files: LauncherNameServer, LocaltunnelInstaller,
  LocaltunnelTunnel, SingleOriginServiceMap.
- .gitignore: exclude installer/out/.
This commit is contained in:
Alexa
2026-05-28 01:39:38 +03:00
parent 7852b410ee
commit f5ad4b59ef
30 changed files with 942 additions and 184 deletions
+5 -3
View File
@@ -331,7 +331,7 @@
<TextBlock Text="ZERO COST" FontSize="10" FontWeight="Bold"
Foreground="{StaticResource Ink}"
Margin="0,0,0,6" />
<TextBlock Text="No subscription, no card. Tunnelto handles the public address."
<TextBlock Text="No port forwards. localtunnel gives one temporary HTTPS link."
FontSize="12" Foreground="{StaticResource InkSoft}"
TextWrapping="Wrap" LineHeight="18" />
</StackPanel>
@@ -662,11 +662,12 @@
<TextBlock Style="{StaticResource FieldLabel}" Text="WHO CAN JOIN?" />
<StackPanel Margin="0,0,0,16">
<RadioButton x:Name="SetupHostInternet" GroupName="SetupHostingMode"
Content="Friends anywhere · Tunnelto"
Content="Friends anywhere · localtunnel"
IsChecked="True"
Checked="OnSetupHostingModeChanged" />
<RadioButton x:Name="SetupHostRemote" GroupName="SetupHostingMode"
Content="Friends anywhere · Tunnelto wildcard base"
Visibility="Collapsed"
Checked="OnSetupHostingModeChanged" />
<RadioButton x:Name="SetupHostLocal" GroupName="SetupHostingMode"
Content="Same WiFi only · sslip.io"
@@ -880,10 +881,11 @@
<TextBlock Style="{StaticResource FieldLabel}" Text="WHO CAN JOIN?" />
<StackPanel>
<RadioButton x:Name="HostModeInternet" GroupName="HostingMode"
Content="Friends anywhere · Tunnelto"
Content="Friends anywhere · localtunnel"
IsChecked="True" Checked="OnHostingModeChanged" />
<RadioButton x:Name="HostModeRemote" GroupName="HostingMode"
Content="Tunnelto wildcard base"
Visibility="Collapsed"
Checked="OnHostingModeChanged" />
<RadioButton x:Name="HostModeLocal" GroupName="HostingMode"
Content="Same WiFi only · sslip.io"