Skip to content

Commit

Permalink
2.21.2
Browse files Browse the repository at this point in the history
  • Loading branch information
AirVPN committed Oct 27, 2021
1 parent 9c52f80 commit da9b962
Show file tree
Hide file tree
Showing 78 changed files with 1,497 additions and 1,530 deletions.
43 changes: 22 additions & 21 deletions common/lang/inv.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@
"OsDriverNoAdapterFound": "Cannot find tunnel adapter of driver {1}, try install.",
"OsDriverNoPath": "Unable to find driver path '{1}'",
"OsDriverNoRegPath": "Unable to find driver registry path",
"OsDriverNotAvailable": "Not available - Will be installed at next connection.",
"OsDriverNoVersion": "Unable to find driver version of path '{1}'",
"OsDriverNoVersionFound": "Cannot determine tunnel version.",
"OsDriverUninstallDone": "Tunnel driver uninstalled.",
Expand Down Expand Up @@ -204,6 +203,7 @@
"WarningLocalTimeInPast": "We have detected a local date\/time set to the past.\nThis may cause issues with security verifications.\n\nContinue at your own risk.\n\nIf you're a time traveller, you have been warned.",
"WireGuardFirstHandshake": "Received first handshake",
"WireGuardSetupComplete": "Setup complete",
"WireGuardSetupInterface": "Setup interface",
"WireGuardSetupStart": "Setup start",
"WireGuardStopCompleted": "Completed",
"WireGuardStopInterface": "Stopping",
Expand Down Expand Up @@ -260,16 +260,16 @@
"ManHeaderOption2": "Default options are read from the profile. Options in command-line override them but are not saved in the profile at exit.\nYou 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.",
"ManHeaderOption3": "The options [i]--login[\/i] and [i]--password[\/i] are mandatory if they are not already in the profile.\nBy default, the client doesn't connect to any server automatically. Specify [i]--connect[\/i] to connect automatically.\nSpecify [i]--netlock[\/i] to start with network lock activation.",
"ManHeaderOption4": "By default the application works interactively: Press [i]n[\/i] to connect to a server, [i]x[\/i] or [i]ctrl+c[\/i] to exit.\nSpecify [i]--batch[\/i] for non-interactive mode.",
"ManName": "eddie-cli -- Eddie - OpenVPN/WireGuard VPN Tunnel, console edition",
"ManName": "eddie-cli -- Eddie - OpenVPN\/WireGuard VPN Tunnel, console edition",
"ManOptionAdvancedCheckRoute": "If [i]True[\/i] send a request to the server, that check it come from within the tunnel, and reply with an acknowledgement.",
"ManOptionAdvancedExpert": "Activate some expert information and features; allows sending commands to OpenVPN Management Interface via Logs window; show verbose logs message in main windows",
"ManOptionAdvancedPingerDelay": "Ping each server every [i]X[\/i] seconds. If [i]0[\/i], the recommended values are used.",
"ManOptionAdvancedPingerEnabled": "If [i]True[\/i] the software pings servers to determine latency score. Pings are not performed during VPN connection.",
"ManOptionAdvancedPingerJobs": "Maximum parallel jobs\/thread for pinging purpose.",
"ManOptionAdvancedPingerRetry": "Ping every server that doesn't have ping results every X seconds. If [i]0[\/i], the recommended values are used.",
"ManOptionAdvancedPingerValid": "Global pinger results valid if all ping reply are maximum X seconds ago. If [i]0[\/i], the recommended values are used.",
"ManOptionAreasBlackList": "List of areas to avoid in connection. Same as whitelist syntax.",
"ManOptionAreasWhiteList": "List of areas available for connection. Same as server whitelist syntax. Example: 'nl,de'",
"ManOptionAreasAllowlist": "List of areas available for connection. Same as server allowlist syntax. Example: 'nl,de'",
"ManOptionAreasDenylist": "List of areas to avoid in connection. Same as allowlist syntax.",
"ManOptionConnect": "Connect automatically at startup. Only for GUI, command-line always starts directly.",
"ManOptionDnsCheck": "When the connection is established, if [i]True[\/i] it try to resolve domain names that are resolved only by AirDNS server, to ensure that system is correctly using our DNS server.\nIt'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.",
"ManOptionDnsMode": "[i]None[\/i] to disable DNS switch. [i]Auto[\/i] to let the software choose the best method. Otherwise choose a method. Refer to [link]https:\/\/eddie.website\/support\/advanced-tab\/[\/link] for more information about each method on each platform.",
Expand All @@ -289,11 +289,12 @@
"ManOptionNetLockAllowDHCP": "Allow DHCP in Network Lock mode (UDP port 67\/68).",
"ManOptionNetLockAllowDNS": "Allow detected DNS servers in Network Lock mode.",
"ManOptionNetLockAllowedsIps": "List (comma-separated) of IP or range allowed in Network Lock mode.",
"ManOptionNetLockAllowlistIncomingIps": "List (comma-separated) of incoming IP or range allowed in Network Lock mode.",
"ManOptionNetLockAllowlistOutgoingIps": "List (comma-separated) of outgoing IP or range allowed in Network Lock mode.",
"ManOptionNetLockAllowPing": "Allow ping (ICMP) in Network Lock mode.",
"ManOptionNetLockAllowPrivate": "Allow private network in Network Lock mode.",
"ManOptionNetLockMode": "Network Lock mode. Can be [i]None[\/i], [i]Auto[\/i] or a method name.",
"ManOptionNetLockWhitelistIncomingIps": "List (comma-separated) of incoming IP or range allowed in Network Lock mode.",
"ManOptionNetLockWhitelistOutgoingIps": "List (comma-separated) of outgoing IP or range allowed in Network Lock mode.",
"ManOptionNetworkIfaceName": "Interface Name for network adapter. Default 'Eddie'. Leave empty to avoid adapter creation.",
"ManOptionOpenVpnCustom": "Allows you to specify custom OpenVPN directives.",
"ManOptionOpenVpnDevNode": "OpenVPN dev-node directive.",
"ManOptionOpenVpnDirectives": "Base OpenVPN directives.",
Expand All @@ -316,11 +317,11 @@
"ManOptionRoutesDefault": "Specify whether routes that don't match the custom route must be inside ([i]in[\/i]) or outside ([i]out[\/i]) the tunnel.",
"ManOptionRoutesRemoveDefault": "Remove the default gateway route. Can not work as expected if DHCP renew occurs.",
"ManOptionServer": "Server to connect to. Leave empty to pick recommended server.",
"ManOptionServersBlackList": "List of servers to avoid in connection. Same syntax of whitelist.",
"ManOptionServersAllowlist": "List of servers available for connection. Leave empty for all servers. Separate values with comma. Use ID or display name. Example: 'Canopus,Syrma,Taygeta'",
"ManOptionServersDenylist": "List of servers to avoid in connection. Same syntax of allowlist.",
"ManOptionServersLockLast": "[i]True[\/i] if you never leave the selected server, not even in case of disconnection.",
"ManOptionServersScoreType": "May be [i]Speed[\/i] or [i]Latency[\/i]. Affects scoring of servers, indicates if you prefer a better speed or a better latency",
"ManOptionServersStartLast": "[i]True[\/i] if you want to connect to the last used server. [i]False[\/i] to choose it automatically.",
"ManOptionServersWhiteList": "List of servers available for connection. Leave empty for all servers. Separate values with comma. Use ID or display name. Example: 'Canopus,Syrma,Taygeta'",
"ManOptionServicesDnsCheck": "When the connection is established, try to resolve domain names that are resolved only by AirDNS server, to ensure that system is correctly using our DNS server.\nIt'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.",
"ManOptionServicesOpenVpnAutoSync": "If [i]True[\/i], profiles are automatically in-sync with the path. If false, profiles are imported and can be edited.",
"ManOptionServicesOpenVpnPath": "Path where OpenVPN configuration files are fetched from",
Expand All @@ -344,7 +345,6 @@
"ManOptionWindowsTapUp": "Force the TAP interface to come UP.",
"ManOptionWindowsWfp": "Use Windows Filtering Platform.",
"ManOptionWindowsWfpDynamic": "If [i]True[\/i], Windows Filtering Platform rules don't survive if the process crash.",
"ManOptionWireGuardInterfaceName": "Wireguard Interface Name",
"ManOptionWireGuardPeerPersistentKeepalive": "Wireguard peer persistent keepalive option. Use a value that override any config (or 0 to omit), -1 to not override. Default: 15",
"ManSynopsis": "eddie-cli [OPTIONS...] or eddie-ui -cli [OPTIONS...]",
"OsLinuxDnsRenameDone": "DNS of the system updated to VPN DNS (Rename method: \/etc\/resolv.conf generated)",
Expand Down Expand Up @@ -411,6 +411,7 @@
"StatsVpnStart": "VPN Start",
"StatsVpnTotalDownload": "VPN Total Download",
"StatsVpnTotalUpload": "VPN Total Upload",
"StatsVpnType": "VPN Type",
"WindowsSettingsRouteOutEmptyList": "WARNING: not specified routes go outside the tunnel, but you did not specify any route. Continue?",
"CommandCancel": "Cancel",
"CommandConnect": "Connect to a recommended server",
Expand All @@ -433,25 +434,25 @@
"ScoreUnknown": "NC",
"StatusTextConnected": "Down: {1} Up: {2} - {3} - IP: {4}",
"TooltipAbout": "About",
"TooltipAreasBlackList": "Add the selected areas to blacklist. \r\nThe system will never connect to servers in blacklisted areas.",
"TooltipAreasUndefined": "Clear the selected areas from whitelist and blacklist",
"TooltipAreasWhiteList": "Add the selected area to whitelist.\r\nThe system will only connect to servers in whitelisted areas.",
"TooltipAreasAllowlist": "Add the selected area to allowlist. The system will only connect to servers in allowlisted areas.",
"TooltipAreasDenylist": "Add the selected areas to denylist. The system will never connect to servers in denylisted areas.",
"TooltipAreasUndefined": "Clear the selected areas from allowlist and denylist",
"TooltipLogsClean": "Clear logs",
"TooltipLogsCommand": "Run a direct command to Eddie or OpenVPN Management",
"TooltipLogsCopy": "Copy to clipboard",
"TooltipLogsSave": "Save to file",
"TooltipLogsSupport": "Log system information and copy to clipboard. Useful for support requests",
"TooltipPreferences": "Preferences",
"TooltipServersBlackList": "Add the selected servers to blacklist. \r\nThe system will never connect to blacklisted servers.",
"TooltipServersAllowlist": "Add the selected server to allowlist. The system will only connect to allowlisted servers.",
"TooltipServersConnect": "Connect to the selected server now",
"TooltipServersDenylist": "Add the selected servers to denylist. The system will never connect to denylisted servers.",
"TooltipServersLockCurrent": "Never leave the current server. \r\nFor example if you don't want to change your IP for port forwarding reasons.",
"TooltipServersMore": "Show more information about the selected connection",
"TooltipServersRefresh": "Refresh connections list, ping results, discovered information",
"TooltipServersRename": "Rename an OpenVPN connection",
"TooltipServersScoreType": "Choose whether you prefer highest speed (ex. file-sharing) or low-latency speed (ex. gaming)",
"TooltipServersShowAll": "Show all servers if checked, or show only selected servers based on whitelist & blacklist",
"TooltipServersUndefined": "Clear the selected servers from whitelist and blacklist",
"TooltipServersWhiteList": "Add the selected server to whitelist.\r\nThe system will only connect to whitelisted servers.",
"TooltipServersShowAll": "Show all servers if checked, or show only selected servers based on allowlist & denylist",
"TooltipServersUndefined": "Clear the selected servers from allowlist and denylist",
"TooltipUpdater": "Update available",
"TopBarConnected": "Connected to {1}",
"TopBarNotConnectedExposed": "Not connected. Network exposed.",
Expand All @@ -464,11 +465,11 @@
"WindowsCredentialsRememberRun": "Until closing app",
"WindowsExecExternalPermissionNo": "Don't allow for this time.",
"WindowsExecExternalPermissionRuleAll": "Always allow all programs",
"WindowsExecExternalPermissionRuleHash": "Always allow program with this hash:\r\n<br>{1}",
"WindowsExecExternalPermissionRulePath": "Always allow this program, by path:\r\n<br>{1}",
"WindowsExecExternalPermissionRuleSign": "Always allow program with this signature:\r\n<br>{1}",
"WindowsExecExternalPermissionRuleHash": "Always allow program with this hash: {1}",
"WindowsExecExternalPermissionRulePath": "Always allow this program, by path: {1}",
"WindowsExecExternalPermissionRuleSign": "Always allow program with this signature: {1}",
"WindowsExecExternalPermissionTitle": "Permission to run external program",
"WindowsExecExternalPermissionTop": "Program\r\n<br>{1}\r\n<br>not known.",
"WindowsExecExternalPermissionTop": "Program \"{1}\" not known.",
"WindowsExecExternalPermissionYes": "Allow only this time.",
"WindowsFrontMessageAccept": "Ok",
"WindowsFrontMessageTitle": "Important Message",
Expand Down Expand Up @@ -521,7 +522,7 @@
"WindowsSettingsRouteInvalid": "Invalid IP address or range.",
"WindowsSettingsRouteLockHelp": "IP in 'Outside Tunnel' are also unlocked\nwhen Network Lock feature is active.",
"WindowsSettingsRouteTitle": "Preferences - Route",
"WindowsSettingsRouteWithHostname": "WARNING: you used hostname in routes, but your DNS is not whitelist in Network Lock. We reccomend to use only IP address or enable 'Network Lock > allow DNS'. Continue anyway?",
"WindowsSettingsRouteWithHostname": "WARNING: you used hostname in routes, but your DNS is not allowlisted in Network Lock. We reccomend to use only IP address or enable 'Network Lock > allow DNS'. Continue anyway?",
"WindowsSettingsSomeProtocolsUnavailable": "{1} protocol modes not available due to your OpenVPN version.",
"WindowsSettingsStorageModeNone": "Plain (no password asked)",
"WindowsSettingsStorageModeOs": "{1} (no password asked)",
Expand Down
4 changes: 2 additions & 2 deletions repository/linux_debian/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ cp ${SCRIPTDIR}/../../deploy/linux_${ARCH}/* $TARGETDIR/usr/lib/eddie-${PROJECT}
# Resources
cp -r ${SCRIPTDIR}/bundle/eddie-${PROJECT}/* ${TARGETDIR}

# Add changelog
# Add changelog (-k because used in old Debian that have LetsEncrypt CA issues)
mkdir -p $TARGETDIR/usr/share/doc/eddie-${PROJECT}
curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
curl -k "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
gzip -n -9 $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog

# Auto-call to make man
Expand Down
4 changes: 2 additions & 2 deletions repository/linux_fedora/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ cp ${SCRIPTDIR}/../../deploy/linux_${ARCH}/* $TARGETDIR/usr/lib/eddie-${PROJECT}
# Resources
cp -r ${SCRIPTDIR}/bundle/eddie-${PROJECT}/* ${TARGETDIR}

# Add changelog
# Add changelog (-k because used in old Debian that have LetsEncrypt CA issues)
mkdir -p $TARGETDIR/usr/share/doc/eddie-${PROJECT}
curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
curl -k "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
gzip -n -9 $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog

# Auto-call to make man
Expand Down
4 changes: 2 additions & 2 deletions repository/linux_opensuse/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ cp ${SCRIPTDIR}/../../deploy/linux_${ARCH}/* $TARGETDIR/usr/lib/eddie-${PROJECT}
# Resources
cp -r ${SCRIPTDIR}/bundle/eddie-${PROJECT}/* ${TARGETDIR}

# Add changelog
# Add changelog (-k because used in old Debian that have LetsEncrypt CA issues)
mkdir -p $TARGETDIR/usr/share/doc/eddie-${PROJECT}
curl "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
curl -k "https://eddie.website/changelog/?software=client&format=debian&hidden=yes" -o $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog
gzip -n -9 $TARGETDIR/usr/share/doc/eddie-${PROJECT}/changelog

# Auto-call to make man
Expand Down
2 changes: 1 addition & 1 deletion repository/windows_installer/build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ IF exist %VARSCRIPTDIR%\..\signing\eddie.win-signing.pfx (
)

rem Deploy
%VARSCRIPTDIR%\..\windows_common\deploy.bat "%VARFINALPATH%" || goto :error
CALL %VARSCRIPTDIR%\..\windows_common\deploy.bat "%VARFINALPATH%" || goto :error

rem End
move "%VARFINALPATH%" "%VARDEPLOYPATH%"
Expand Down
25 changes: 25 additions & 0 deletions src/App.CLI.Common.Elevated/ibase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1161,6 +1161,31 @@ std::string IBase::StringIpRemoveInterface(const std::string& ip)
return ip.substr(0, start_pos) + ip.substr(range_pos);
}

// --------------------------
// Utils JSON (avoid library until our usage keep simple)
// --------------------------

std::string IBase::JsonEncode(const std::string& v)
{
return StringReplaceAll(v, "\"","\\\"");
}

std::string IBase::JsonFromKeyPairs(std::map<std::string, std::string>& kp)
{
std::string result;
int f = 0;
for (std::map<std::string, std::string>::iterator it = kp.begin(); it != kp.end(); ++it)
{
std::string k = it->first;
std::string v = it->second;
if (f > 0)
result += ",";
result += "\"" + JsonEncode(k) + "\":\"" + JsonEncode(v) + "\"";
f++;
}
return "{" + result + "}";
}

// --------------------------
// Utils other
// --------------------------
Expand Down
6 changes: 5 additions & 1 deletion src/App.CLI.Common.Elevated/ibase.h
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ class IBase
bool StringVectorsEqualOrdered(const std::vector<std::string>& v1, const std::vector<std::string>& v2);
std::string StringTrim(const std::string& s, const std::string& chars);
std::string StringTrim(const std::string& s);
std::string StringToLower(const std::string& s);
std::string StringToLower(const std::string& s);
std::string StringPruneCharsNotIn(const std::string& str, const std::string& allowed);
std::string StringEnsureAlphaNumeric(const std::string& str);
std::string StringEnsureHex(const std::string& str);
Expand All @@ -222,6 +222,10 @@ class IBase
std::string StringIpNormalize(const std::string& ip);
std::string StringIpRemoveInterface(const std::string& ip);

// Utils JSON (avoid library until our usage keep simple)
std::string JsonEncode(const std::string& v);
std::string JsonFromKeyPairs(std::map<std::string, std::string>& kp);

// Utils other
unsigned long GetTimestampUnix();
std::map<std::string, std::string> IniConfigToMap(const std::string& ini, std::string sectionKeySeparator = ".", bool convertKeyToLower = true);
Expand Down
6 changes: 3 additions & 3 deletions src/App.CLI.Common.Elevated/iposix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ void IPosix::Do(const std::string& commandId, const std::string& command, std::m
argv.push_back(params["config"]);

std::string openvpnDirectory = FsFileGetDirectory(params["path"]);
int chdirResult = chdir(openvpnDirectory.c_str()); // AppImage, our openvpn have rpath=.
if(chdirResult != 0)
int chdirResult = chdir(openvpnDirectory.c_str()); // AppImage, our openvpn look ./ for .so
if (chdirResult != 0)
ThrowException("Unable to chdir " + openvpnDirectory);

pstream child(argv, mode);
Expand Down Expand Up @@ -726,7 +726,7 @@ bool IPosix::CheckIfExecutableIsAllowed(const std::string& path, const bool& thr
else
return false;
}

return true;
}

Expand Down
Loading

0 comments on commit da9b962

Please sign in to comment.