NAME eddie-cli -- Eddie - OpenVPN/WireGuard VPN Tunnel, console edition SYNOPSIS eddie-cli [OPTIONS...] or eddie-ui -cli [OPTIONS...] DESCRIPTION Eddie is an OpenVPN and WireGuard wrapper providing advanced features such as network lock, connections over SSL/TLS and SSH tunnels, programmable events, customizable routes, extensive control on OpenVPN directives and a comfortable, optional GUI. For more information: https://eddie.website OPTIONS Options can be written as '--option="value"' Double-quotes and minus are optional, 'option=value' is valid. Every option have only one value. Options without a value like '--option' are treated as '--option="True"' Default options are read from the profile. Options in command-line override them but are not saved in the profile at exit. You can run the UI, choose options in the UI, and then launch the command-line edition with the profile options, to avoid to specify all the options in the command-line. The options '--login' and '--password' are mandatory if they are not already in the profile. By default, the client doesn't connect to any server automatically. Specify '--connect' to connect automatically. Specify '--netlock' to start with network lock activation. By default the application works interactively: Press 'n' to connect to a server, 'x' or 'ctrl+c' to exit. Specify '--batch' for non-interactive mode. version Show version information. (command-line only) version.short Show version information, short version. (command-line only) help Show help manual. (command-line only) help.format Format of the help manual. Can be 'man', 'text', 'html' or 'bbcode'. (command-line only) profile Profile name. Use it to store different set of options. (command-line only) path Data path. May be a full path or special value 'program' or 'home'. (command-line only) login Login of your AirVPN account. password Password of your AirVPN account. remember 'True' if username and password persist after exit. Default: 'False' key Key name. Default: 'Default' server Server to connect to. Leave empty to pick recommended server. connect Connect automatically at startup. Implicit if batch is used. Default: 'False' updater.channel Software update channel. Can be 'stable','beta','internal' or 'none'. Default: 'stable' servers.allowlist List of servers available for connection. Leave empty for all servers. Separate values with comma. Use ID or display name. Example: 'Canopus,Syrma,Taygeta'. servers.denylist List of servers to avoid in connection. Same syntax of allowlist. servers.startlast 'True' if you want to connect to the last used server. 'False' to choose it automatically. Default: 'False' servers.locklast 'True' if you never leave the selected server, not even in case of disconnection. Default: 'False' servers.scoretype May be 'Speed' or 'Latency'. Affects scoring of servers, indicates if you prefer a better speed or a better latency. Default: 'Speed' areas.allowlist List of areas available for connection. Same as server allowlist syntax. Example: 'nl,de'. areas.denylist List of areas to avoid in connection. Same as allowlist syntax. discover.ip_webservice.list List of webservice used to discover IP information for non-service connections. Default: 'https://ipleak.net/json/{@ip};https://freegeoip.net/json/{@ip};http://ip-api.com/json/{@ip}' discover.interval Time interval between data discovery updates (country and other data) for non-service connections. Default: '86400' discover.exit Try to discover exit IP address for non-service connections. Default: 'True' log.file.enabled Log on file enabled. Default: 'False' log.file.encoding Log file encoding. Default: 'utf-8' log.file.path Log file path (relative or absolute). Default: 'logs/eddie_%y-%m-%d.log' log.level.debug Log debug, for troubleshooting. Default: 'False' log.repeat Do not compress adjacent and identical log lines into a single "log line repeated n times" entry. Default: 'False' log.limit General log limit (keep latest). Default: '1000' checking.ntry Maximum amount of retries for some actions (for example checking tun/dns). Default: '5' language.iso Language of the UI. alpha-2 iso-3166 code. Default: 'auto'. Default: 'auto' mode.type Type of connection. 'openvpn', 'wireguard'. Default: 'auto' mode.protocol Protocol for connection. 'UDP', 'TCP' for direct openvpn connection. 'SSH', 'SSL' for additional tunneling. Default: 'udp' mode.port Port for connection. Default: '443' mode.alt 0 to use the default entry IP, 1 or more for additional entry IP. Default: '0' proxy.mode Proxy mode: 'none', 'http' or 'socks'. 'protocol' option must be 'TCP'. Default: 'None' proxy.when When a proxy needs to be used: 'always', 'web' , 'openvpn' or 'none'. Default: 'always' proxy.host Proxy host. Default: '127.0.0.1' proxy.port Proxy port. Default: '8080' proxy.auth Proxy authentication method: 'None', 'Basic' or 'NTLM'. Default: 'None' proxy.login Proxy login, for authentication. proxy.password Proxy password, for authentication. proxy.tor.control.port Tor Control port. Default: '9151' proxy.tor.control.auth Tor Control needs authentication. Normally the Tor Browser Bundle requires authentication and accepts a file cookie password. Default: 'True' proxy.tor.path Tor path. If missing, try to find it automatically. proxy.tor.control.cookie.path Tor cookie path. If missing, it is detected automatically. proxy.tor.control.password Tor Control password. If empty, the software tries to detect the file cookie password. routes.custom Custom routes. Format: '{ip or range},{in/out},{note (optional)};...'. Separate multiple routes with ;. Example: '1.2.3.4,in;2.3.4.5/23,out,'test'. routes.catch_all_mode How 'catch-all' routes are made. 'auto', or 'single' (a /0 route), or 'double' (two /1 routes) or 'extended' (four /2 routes). Default: 'auto' dns.mode 'None' to disable DNS switch. 'Auto' to let the software choose the best method. Default: 'auto' dns.servers List of DNS servers. If not empty, override the DNS suggested by VPN server. Separate multiple values with comma. dns.delegate If true, DNS switch is delegated to the VPN tool used (OpenVPN or Hummingbird). Default: 'False' dns.check When the connection is established, if 'True' it try to resolve domain names that are resolved only by AirDNS server, to ensure that system is correctly using our DNS server. It's not mandatory to use our DNS server, but it's recommended to enjoy our Geolocation Routing service and avoid DNS blocks by your provider. Default: 'True' dns.cache.ttl TTL of resolved DNS query. Default: '3600' netlock Network lock automatically at startup. Default: 'False' netlock.connection If Network Lock must be active during session. Default: 'True' netlock.mode Network Lock mode. Can be 'None', 'Auto' or a method name. Default: 'auto' netlock.allow_private Allow private network in Network Lock mode. Default: 'True' netlock.allow_dhcp Allow DHCP in Network Lock mode (UDP port 67/68). Default: 'True' netlock.allow_ping Allow ping (ICMP) in Network Lock mode. Default: 'True' netlock.allow_dns Allow detected DNS servers in Network Lock mode. Default: 'False' netlock.incoming How netlock deals with incoming connections: 'allow' or 'block'. Default: 'block' netlock.outgoing How netlock deals with outgoing connection: 'allow' or 'block'. Default: 'block' netlock.allowlist.incoming.ips List (comma-separated) of incoming IP or range allowed in Network Lock mode. netlock.allowlist.outgoing.ips List (comma-separated) of outgoing IP or range allowed in Network Lock mode. network.entry.iface Interface used for connection. Can be an adapter ID or a bind IP address. network.entry.iplayer Protocol used for connection. Can be 'ipv4-ipv6', 'ipv6-ipv4', 'ipv4-only', 'ipv6-only'. Default: 'ipv4-ipv6' network.ipv4.mode IPv4 layer. Can be 'in' (inside tunnel, must be supported), 'in-out' (inside tunnel if supported, otherwise outside), 'in-block' (inside tunnel if supported, otherwise blocked), 'out' (outside tunnel) or 'block' (blocked). Default: 'in' network.ipv6.mode IPv6 layer. Can be 'in' (inside tunnel, must be supported), 'in-out' (inside tunnel if supported, otherwise outside), 'in-block' (inside tunnel if supported, otherwise blocked), 'out' (outside tunnel) or 'block' (blocked). Default: 'in-block' network.ipv4.autoswitch Automatically switch 'network.ipv4.mode' to 'block' if any issue is detected. Default: 'False' network.ipv6.autoswitch Automatically switch 'network.ipv6.mode' to 'block' if any issue is detected. Default: 'True' network.iface.name Interface Name for network adapter. Default 'Eddie'. Leave empty to avoid adapter creation. tools.openvpn.path Allows you to specify a path to OpenVPN executable, to skip the executable bundled with Eddie. tools.hummingbird.preferred Always use Hummingbird, if available. Default: 'False' tools.hummingbird.path Path to a custom Hummingbird executable. tools.ssh.path Path to a custom SSH tunnel executable. tools.ssl.path Path to a custom SSL tunnel executable. tools.curl.path Path to a custom curl executable, used only with socks proxy. http.timeout General timeout of any HTTP request (in seconds). Default: '10' openvpn.custom Allows you to specify custom OpenVPN directives. openvpn.dev_node OpenVPN dev-node directive. openvpn.sndbuf TCP/UDP send buffer size. Special values: '-2': Automatic, '-1': OpenVPN default. Default: '-2' openvpn.rcvbuf TCP/UDP receive buffer size. Special values: '-2': Automatic, '-1': OpenVPN default. Default: '-2' openvpn.directives Base OpenVPN directives. Default: 'client dev tun auth-nocache resolv-retry infinite nobind persist-key persist-tun verb 3 connect-retry-max 1 ping 10 ping-restart 60 explicit-exit-notify 5' openvpn.directives.path Custom path of a text file for additional OpenVPN directives. openvpn.directives.data-ciphers OpenVPN data-ciphers directive. Default: 'AES-256-GCM:AES-192-GCM:AES-128-GCM' openvpn.directives.data-ciphers-fallback OpenVPN data-ciphers-fallback directive. Default: 'AES-256-GCM' openvpn.directives.chacha20 Use Chacha20 in data-ciphers directive. Default: 'False' openvpn.skip_defaults If 'False' the custom directives are appended to the default directive. Default: 'False' wireguard.peer.persistentkeepalive Wireguard peer persistent keepalive option. Use a value that override any config (or 0 to omit), -1 to not override. Default: 15. Default: '15' wireguard.interface.mtu MTU size for WireGuard interface in bytes. Use '-1' for recommended, '0' to omit (automatic), or specific value. Default: '-1' ssh.port Default port of SSH Tunnel. If '0', a random port is used. Default: '0' ssl.port Default port of SSL Tunnel. If '0', a random port is used. Default: '0' advanced.expert Activate some expert information and features; allows sending commands to OpenVPN Management Interface via Logs window; show verbose logs message in main windows. Default: 'False' advanced.check.route If 'True' send a request to the server, that check it come from within the tunnel, and reply with an acknowledgement. Default: 'True' pinger.enabled If 'True' the software pings servers to determine latency score. Pings are not performed during VPN connection. Default: 'True' pinger.delay Ping each server every 'X' seconds. If '0', the recommended values are used. Default: '0' pinger.retry Ping every server that doesn't have ping results every X seconds. If '0', the recommended values are used. Default: '0' pinger.jobs Maximum parallel jobs/thread for pinging purpose. Default: '25' pinger.valid Global pinger results valid if all ping reply are maximum X seconds ago. If '0', the recommended values are used. Default: '0' pinger.timeout Timeout to consider a ping failed. Default: '3000' advanced.manifest.refresh Delay between provider requests. '-1' for automatic, otherwise minutes. Default: '-1' advanced.providers Show custom providers interface. Default: 'False' bootstrap.urls Custom urls for reaching AirVPN provider. event.app.start.filename Filename of the script/executable to launch on event. event.app.start.arguments Arguments of the script/executable. event.app.start.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.app.stop.filename Filename of the script/executable to launch on event. event.app.stop.arguments Arguments of the script/executable. event.app.stop.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.session.start.filename Filename of the script/executable to launch on event. event.session.start.arguments Arguments of the script/executable. event.session.start.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.session.stop.filename Filename of the script/executable to launch on event. event.session.stop.arguments Arguments of the script/executable. event.session.stop.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.vpn.pre.filename Filename of the script/executable to launch on event. event.vpn.pre.arguments Arguments of the script/executable. event.vpn.pre.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.vpn.up.filename Filename of the script/executable to launch on event. event.vpn.up.arguments Arguments of the script/executable. event.vpn.up.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' event.vpn.down.filename Filename of the script/executable to launch on event. event.vpn.down.arguments Arguments of the script/executable. event.vpn.down.waitend Use 'True' if the software needs to wait the end (synchronous) or 'False' to be asynchronous. Default: 'True' windows.driver Use the specified TUN driver. Windows only. OpenVPN only. 'auto' is recommended, otherwise 'ovpn-dco', 'wintun', 'tap-windows6' or 'none' to delegate to OpenVPN directives. Default: 'auto' windows.adapters.cleanup Remove any dynamic adapter created. Default: 'True' windows.adapter_service OpenVPN TUN/TAP adapter identifier. Default: 'tap0901' windows.disable_driver_upgrade Don't try to upgrade the TUN/TAP driver. Default: 'False' windows.tap_up Force the TAP interface to come UP. Default: 'True' windows.wfp.enable Use Windows Filtering Platform. Default: 'True' windows.wfp.dynamic If 'True', Windows Filtering Platform rules don't survive if the process crash. Default: 'False' windows.dns.lock DNS leak protection. Default: 'True' windows.metrics.tap.ipv4 Windows adapter metric for IPv4. '0': Windows Automatic, '>0' value, '-1': Don't change, '-2': Automatic. Default: '-2' windows.metrics.tap.ipv6 Windows adapter metric for IPv6. '0': Windows Automatic, '>0' value, '-1': Don't change, '-2': Automatic. Default: '-2' macos.ipv6.dnslookup Try to fix the IPv6 DNS lookup macOS issue. Default: 'True' linux.dns.services List of known services that linux try to restart to flush DNS, if installed. Default: 'nscd;dnsmasq;named;bind9' ui.unit Unit of measurement of data volume and speed. Can be 'bytes', 'bits' or empty. If empty, bytes are used for volume, bits for speed. ui.iec Use IEC standard and not metric standard. For example kilobyte are replaced by kibibyte. Default: 'False' ui.skip.provider.manifest.failed Skip information window pop-up when provider information can't be reached. Default: 'False' ui.skip.promotional Skip promotional popup. Default: 'False' ui.skip.netlock.confirm Skip Network Lock confirmation window. Default: 'False' COPYRIGHT Copyright (C) AirVPN - Released under GNU General Public License - http://www.gnu.org/licenses/gpl.html