mirror of
https://github.com/wgtunnel/android.git
synced 2026-06-02 00:29:08 +02:00
2cc71e657b
Separate settings for starting tunnels vs auto tunnel on boot, fixing logic to make behavior more expected. Fix a bug where dynamic DNS updater was only running once and not continually monitoring. Further improvements to prevent spurious network monitoring states. Improved reevaluate job to allow for reliable manual tunnel overrides while auto tunnel is active. Improved messaging on errors and dynamic dns events.
477 lines
16 KiB
JSON
477 lines
16 KiB
JSON
{
|
|
"formatVersion": 1,
|
|
"database": {
|
|
"version": 25,
|
|
"identityHash": "2ea437642cca24af74dc57904899909a",
|
|
"entities": [
|
|
{
|
|
"tableName": "tunnel_config",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT NOT NULL, `wg_quick` TEXT NOT NULL, `tunnel_networks` TEXT NOT NULL DEFAULT '', `is_mobile_data_tunnel` INTEGER NOT NULL DEFAULT false, `is_primary_tunnel` INTEGER NOT NULL DEFAULT false, `am_quick` TEXT NOT NULL DEFAULT '', `is_Active` INTEGER NOT NULL DEFAULT false, `restart_on_ping_failure` INTEGER NOT NULL DEFAULT false, `ping_target` TEXT DEFAULT null, `is_ethernet_tunnel` INTEGER NOT NULL DEFAULT false, `is_ipv4_preferred` INTEGER NOT NULL DEFAULT true, `position` INTEGER NOT NULL DEFAULT 0, `auto_tunnel_apps` TEXT NOT NULL DEFAULT '[]')",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "wgQuick",
|
|
"columnName": "wg_quick",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "tunnelNetworks",
|
|
"columnName": "tunnel_networks",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "''"
|
|
},
|
|
{
|
|
"fieldPath": "isMobileDataTunnel",
|
|
"columnName": "is_mobile_data_tunnel",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "false"
|
|
},
|
|
{
|
|
"fieldPath": "isPrimaryTunnel",
|
|
"columnName": "is_primary_tunnel",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "false"
|
|
},
|
|
{
|
|
"fieldPath": "amQuick",
|
|
"columnName": "am_quick",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "''"
|
|
},
|
|
{
|
|
"fieldPath": "isActive",
|
|
"columnName": "is_Active",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "false"
|
|
},
|
|
{
|
|
"fieldPath": "restartOnPingFailure",
|
|
"columnName": "restart_on_ping_failure",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "false"
|
|
},
|
|
{
|
|
"fieldPath": "pingTarget",
|
|
"columnName": "ping_target",
|
|
"affinity": "TEXT",
|
|
"defaultValue": "null"
|
|
},
|
|
{
|
|
"fieldPath": "isEthernetTunnel",
|
|
"columnName": "is_ethernet_tunnel",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "false"
|
|
},
|
|
{
|
|
"fieldPath": "isIpv4Preferred",
|
|
"columnName": "is_ipv4_preferred",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "true"
|
|
},
|
|
{
|
|
"fieldPath": "position",
|
|
"columnName": "position",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "autoTunnelApps",
|
|
"columnName": "auto_tunnel_apps",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "'[]'"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_tunnel_config_name",
|
|
"unique": true,
|
|
"columnNames": [
|
|
"name"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE UNIQUE INDEX IF NOT EXISTS `index_tunnel_config_name` ON `${TABLE_NAME}` (`name`)"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "proxy_settings",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `socks5_proxy_enabled` INTEGER NOT NULL DEFAULT 0, `socks5_proxy_bind_address` TEXT, `http_proxy_enable` INTEGER NOT NULL DEFAULT 0, `http_proxy_bind_address` TEXT, `proxy_username` TEXT, `proxy_password` TEXT)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "socks5ProxyEnabled",
|
|
"columnName": "socks5_proxy_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "socks5ProxyBindAddress",
|
|
"columnName": "socks5_proxy_bind_address",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "httpProxyEnabled",
|
|
"columnName": "http_proxy_enable",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "httpProxyBindAddress",
|
|
"columnName": "http_proxy_bind_address",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "proxyUsername",
|
|
"columnName": "proxy_username",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "proxyPassword",
|
|
"columnName": "proxy_password",
|
|
"affinity": "TEXT"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"tableName": "general_settings",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `is_shortcuts_enabled` INTEGER NOT NULL DEFAULT 0, `is_restore_on_boot_enabled` INTEGER NOT NULL DEFAULT 0, `is_multi_tunnel_enabled` INTEGER NOT NULL DEFAULT 0, `is_tunnel_globals_enabled` INTEGER NOT NULL DEFAULT 0, `app_mode` INTEGER NOT NULL DEFAULT 0, `theme` TEXT NOT NULL DEFAULT 'AUTOMATIC', `locale` TEXT, `remote_key` TEXT, `is_remote_control_enabled` INTEGER NOT NULL DEFAULT 0, `is_pin_lock_enabled` INTEGER NOT NULL DEFAULT 0, `is_always_on_vpn_enabled` INTEGER NOT NULL DEFAULT 0, `is_lan_on_kill_switch_enabled` INTEGER NOT NULL DEFAULT 0, `custom_split_packages` TEXT NOT NULL DEFAULT '{}')",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "isShortcutsEnabled",
|
|
"columnName": "is_shortcuts_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isRestoreOnBootEnabled",
|
|
"columnName": "is_restore_on_boot_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isMultiTunnelEnabled",
|
|
"columnName": "is_multi_tunnel_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isTunnelGlobalsEnabled",
|
|
"columnName": "is_tunnel_globals_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "appMode",
|
|
"columnName": "app_mode",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "theme",
|
|
"columnName": "theme",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "'AUTOMATIC'"
|
|
},
|
|
{
|
|
"fieldPath": "locale",
|
|
"columnName": "locale",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "remoteKey",
|
|
"columnName": "remote_key",
|
|
"affinity": "TEXT"
|
|
},
|
|
{
|
|
"fieldPath": "isRemoteControlEnabled",
|
|
"columnName": "is_remote_control_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isPinLockEnabled",
|
|
"columnName": "is_pin_lock_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isAlwaysOnVpnEnabled",
|
|
"columnName": "is_always_on_vpn_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isLanOnKillSwitchEnabled",
|
|
"columnName": "is_lan_on_kill_switch_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "customSplitPackages",
|
|
"columnName": "custom_split_packages",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "'{}'"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"tableName": "auto_tunnel_settings",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `is_tunnel_enabled` INTEGER NOT NULL DEFAULT 0, `is_tunnel_on_mobile_data_enabled` INTEGER NOT NULL DEFAULT 0, `trusted_network_ssids` TEXT NOT NULL DEFAULT '', `is_tunnel_on_ethernet_enabled` INTEGER NOT NULL DEFAULT 0, `is_tunnel_on_wifi_enabled` INTEGER NOT NULL DEFAULT 0, `is_wildcards_enabled` INTEGER NOT NULL DEFAULT 0, `is_stop_on_no_internet_enabled` INTEGER NOT NULL DEFAULT 0, `debounce_delay_seconds` INTEGER NOT NULL DEFAULT 3, `is_tunnel_on_unsecure_enabled` INTEGER NOT NULL DEFAULT 0, `wifi_detection_method` INTEGER NOT NULL DEFAULT 0, `start_on_boot` INTEGER NOT NULL DEFAULT 0)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "isAutoTunnelEnabled",
|
|
"columnName": "is_tunnel_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isTunnelOnMobileDataEnabled",
|
|
"columnName": "is_tunnel_on_mobile_data_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "trustedNetworkSSIDs",
|
|
"columnName": "trusted_network_ssids",
|
|
"affinity": "TEXT",
|
|
"notNull": true,
|
|
"defaultValue": "''"
|
|
},
|
|
{
|
|
"fieldPath": "isTunnelOnEthernetEnabled",
|
|
"columnName": "is_tunnel_on_ethernet_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isTunnelOnWifiEnabled",
|
|
"columnName": "is_tunnel_on_wifi_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isWildcardsEnabled",
|
|
"columnName": "is_wildcards_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isStopOnNoInternetEnabled",
|
|
"columnName": "is_stop_on_no_internet_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "debounceDelaySeconds",
|
|
"columnName": "debounce_delay_seconds",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "3"
|
|
},
|
|
{
|
|
"fieldPath": "isTunnelOnUnsecureEnabled",
|
|
"columnName": "is_tunnel_on_unsecure_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "wifiDetectionMethod",
|
|
"columnName": "wifi_detection_method",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "startOnBoot",
|
|
"columnName": "start_on_boot",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"tableName": "monitoring_settings",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `is_ping_enabled` INTEGER NOT NULL DEFAULT 0, `is_ping_monitoring_enabled` INTEGER NOT NULL DEFAULT 1, `tunnel_ping_interval_sec` INTEGER NOT NULL DEFAULT 30, `tunnel_ping_attempts` INTEGER NOT NULL DEFAULT 3, `tunnel_ping_timeout_sec` INTEGER, `show_detailed_ping_stats` INTEGER NOT NULL DEFAULT 0, `is_local_logs_enabled` INTEGER NOT NULL DEFAULT 0)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "isPingEnabled",
|
|
"columnName": "is_ping_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isPingMonitoringEnabled",
|
|
"columnName": "is_ping_monitoring_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "1"
|
|
},
|
|
{
|
|
"fieldPath": "tunnelPingIntervalSeconds",
|
|
"columnName": "tunnel_ping_interval_sec",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "30"
|
|
},
|
|
{
|
|
"fieldPath": "tunnelPingAttempts",
|
|
"columnName": "tunnel_ping_attempts",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "3"
|
|
},
|
|
{
|
|
"fieldPath": "tunnelPingTimeoutSeconds",
|
|
"columnName": "tunnel_ping_timeout_sec",
|
|
"affinity": "INTEGER"
|
|
},
|
|
{
|
|
"fieldPath": "showDetailedPingStats",
|
|
"columnName": "show_detailed_ping_stats",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "isLocalLogsEnabled",
|
|
"columnName": "is_local_logs_enabled",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"tableName": "dns_settings",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `dns_protocol` INTEGER NOT NULL DEFAULT 0, `dns_endpoint` TEXT)",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "dnsProtocol",
|
|
"columnName": "dns_protocol",
|
|
"affinity": "INTEGER",
|
|
"notNull": true,
|
|
"defaultValue": "0"
|
|
},
|
|
{
|
|
"fieldPath": "dnsEndpoint",
|
|
"columnName": "dns_endpoint",
|
|
"affinity": "TEXT"
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"autoGenerate": true,
|
|
"columnNames": [
|
|
"id"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"setupQueries": [
|
|
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
|
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2ea437642cca24af74dc57904899909a')"
|
|
]
|
|
}
|
|
} |