Mac and Windows
Each respective client has a preferences window with all currently available configuration parameters like DNS override and preferred DNS servers. In your desktop client, click the menu bar or system tray icon, select More in the menu, and click Preferences.
Screenshot of how to access preferences window on Mac client. The steps are the same on Windows.
Pangolin CLI
Refer to the documentation in the official repository for the available commands, default values, and more.Olm CLI
Flags
Olm ID generated by Pangolin to identify the client.Example:
31frd0uzbjvp721A unique secret used to authenticate the client ID with the websocket.Example:
h51mmlknrvrwv8s4r1i210azhumt6isgbpyavxodibx1k2d6The endpoint where both Gerbil and Pangolin reside for websocket connections.Example:
https://pangolin.example.comOrganization ID to connect to.
User authentication token.
MTU for the internal WireGuard interface.Default:
1280DNS server to use to resolve the endpoint.Default:
8.8.8.8Upstream DNS server(s), comma-separated.Default:
8.8.8.8:53The log level to use for Olm output.Options:
DEBUG, INFO, WARN, ERROR, FATALDefault: INFOInterval for pinging the server.Default:
3sTimeout for each ping.Default:
5sName of the WireGuard interface.Default:
olmEnable API server for receiving connection requests.Default:
falseHTTP server address (e.g., ‘:9452’).Default:
:9452Unix socket path (or named pipe on Windows).Default:
/var/run/olm.sock (Linux/macOS) or olm (Windows)Disable hole punching.Default:
falseOverride system DNS settings.Default:
falseForce connectivity to the upstream DNS server to go via the tunnel to a resource.Default:
falseDisable relay connections.Default:
falseEnvironment Variables
All CLI arguments can be set using environment variables as an alternative to command line flags. Environment variables are particularly useful when running Olm in containerized environments.When both environment variables and CLI arguments are provided, CLI arguments take precedence.
Endpoint of your Pangolin server (equivalent to
--endpoint)Olm ID generated by Pangolin (equivalent to
--id)Olm secret for authentication (equivalent to
--secret)Organization ID to connect to (equivalent to
--org)User authentication token (equivalent to
--user-token)MTU for the internal WireGuard interface (equivalent to
--mtu)Default: 1280DNS server to use to resolve the endpoint (equivalent to
--dns)Default: 8.8.8.8Upstream DNS server(s), comma-separated (equivalent to
--upstream-dns)Default: 8.8.8.8:53Log level (equivalent to
--log-level)Default: INFOInterval for pinging the server (equivalent to
--ping-interval)Default: 3sTimeout for each ping (equivalent to
--ping-timeout)Default: 5sName of the WireGuard interface (equivalent to
--interface)Default: olmEnable API server for receiving connection requests (equivalent to
--enable-api)Set to “true” to enableDefault: falseHTTP server address (equivalent to
--http-addr)Default: :9452Unix socket path or Windows named pipe (equivalent to
--socket-path)Default: /var/run/olm.sock (Linux/macOS) or olm (Windows)Disable hole punching (equivalent to
--disable-holepunch)Set to “true” to disableDefault: falseOverride system DNS settings (equivalent to
--override-dns)Set to “true” to enableDefault: falseDisable relay connections (equivalent to
--disable-relay)Set to “true” to disableDefault: falseSet to the location of a JSON file to load secret values
Loading secrets from files
You can useCONFIG_FILE to define a location of a config file to store the credentials between runs.
- macOS:
~/Library/Application Support/olm-client/config.json - Windows:
%PROGRAMDATA%\olm\olm-client\config.json - Linux/Others:
~/.config/olm-client/config.json

