Table of Contents

Hosting

What runs a UI for the VpnHood app on each platform: an Avalonia UI on Android, iOS, the desktop and in a browser; a web UI in a native web view; or a .NET MAUI UI. On Windows and Linux the app can run as a machine service, with a window for each person who signs in.

When to use it

  • You show VpnHood's Avalonia UI, or an Avalonia UI of your own, on any platform.
  • Your UI is a web app, shown in a native web view.
  • You install the app on Windows or Linux as a machine service.

Which package to take

  • Avalonia: Hosting.Avalonia, with Avalonia.Android, Avalonia.Ios, Avalonia.Desktop or Avalonia.Browser.
  • A desktop service and its window: Hosting.Desktop and Desktop.Daemon, with Desktop.Linux, Desktop.WindowsTun or Desktop.WindowsVpnPlugin. Desktop.Abstractions is what a desktop host and its UI agree on.
  • A web view: Hosting.WebView, with WebView.Android, WebView.Ios or WebView.Windows.
  • .NET MAUI: Hosting.Maui, on Android and Windows.

Its packages

Package What it does
VpnHood.AppUi.Hosting.Avalonia What mounts any Avalonia UI for the VpnHood app: the Application every host builds and the contract a UI fulfils. Overview · API
VpnHood.AppUi.Hosting.Avalonia.Android Hosts the VpnHood Avalonia UI in an Android activity Guide · API
VpnHood.AppUi.Hosting.Avalonia.Browser Runs any VpnHood Avalonia UI as a browser page: the app's web host serves it to a paired device, and the page dials the app's API over HTTP. Overview · API
VpnHood.AppUi.Hosting.Avalonia.Desktop Runs the VpnHood Avalonia UI in a desktop window on Windows and Linux Overview · API
VpnHood.AppUi.Hosting.Avalonia.Ios Hosts the VpnHood Avalonia UI in an iOS app: the application delegate a head's AppDelegate derives from Overview · API
VpnHood.AppUi.Hosting.Desktop The VpnHood desktop window: the window over a running app's own API, one per person and session, and the host that runs the app and its window in one process. Overview · API
VpnHood.AppUi.Hosting.Desktop.Abstractions What a desktop host and a desktop UI agree on - IDesktopUi, what the host hands it, and where a UI's window opens - so that UI packages and hosts both reference this, and neither references the other Overview · API
VpnHood.AppUi.Hosting.Desktop.Daemon The VpnHood desktop service: the daemon that is the app on a machine with no window, the commands that drive it over its own API, the channel that hands that API to an administrator, and its updater. Overview · API
VpnHood.AppUi.Hosting.Desktop.Linux The VpnHood desktop host on Linux: systemd is the service, /opt is the install, XDG is the cache, and root is who runs the daemon. Overview · API
VpnHood.AppUi.Hosting.Desktop.WindowsTun The VpnHood desktop host on Windows: a LocalSystem service is the app, ProgramData is its storage, and the window, the tray and the commands run as whoever is signed in. Overview · API
VpnHood.AppUi.Hosting.Desktop.WindowsVpnPlugin The VpnHood desktop host on the Windows VPN plug-in, from an MSIX package: the app and its window run in one process as whoever is signed in, LocalState is their storage, and Windows' own VPN host holds the tunnel. Overview · API
VpnHood.AppUi.Hosting.Maui Hosts the VpnHood app under a .NET MAUI UI on Android and Windows, in the app's own process: the platform's start, the Android activity's events, and the app's API for the MAUI pages Overview · API
VpnHood.AppUi.Hosting.WebView Platform-neutral controller that hosts the app web UI in a native web view; each platform supplies a thin IWebView adapter. Guide · API
VpnHood.AppUi.Hosting.WebView.Android Hosts the app web UI in an Android WebView: the application and the main activity a head derives from, over its IWebView adapter and web-view clients Overview · API
VpnHood.AppUi.Hosting.WebView.Ios Hosts the app web UI in an iOS WKWebView: the IWebView adapter and the view controller a head mounts as its root Overview · API
VpnHood.AppUi.Hosting.WebView.Windows Hosts the app web UI in a Win32 window through WebView2, with no UI framework: the IWebView adapter, the main window, and WindowsWebViewUi, the UI a Windows head names to show the app that runs in its service Overview · API