version = "1.0" [main] name = "Auto-configuration" [main.service] name = "Service" optional = false [main.service.no_antenna] ask = "No wifi antenna has been detected! If you use a wifi USB dongle and that this one is not listed here, try to unplug and replug it, then reload this page." type = "alert" style = "danger" visible = "no_antenna" [main.service.status] ask = "The status of your VPN is unknown." type = "alert" style = "info" visible = "! no_antenna" [main.service.service_enabled] ask = "Enable Hotspot" type = "boolean" visible = "! no_antenna" [main.service.wifi_device] ask = "Device" type = "select" choices.wlan0 = "wlan0" visible = "! no_antenna" [main.service.wifi_channel] ask = "Channel" type = "select" choices.1 = "1" choices.2 = "2" choices.3 = "3" choices.4 = "4" choices.5 = "5" choices.6 = "6" choices.7 = "7" choices.8 = "8" choices.9 = "9" choices.10 = "10" choices.11 = "11" visible = "! no_antenna" [main.service.multissid] ask = "Hotspot number" type = "select" choices.1 = "1" choices.2 = "2" choices.3 = "3" visible = "! no_antenna" [main.hotspot1] name = "Hotspot 1" optional = false visible = "! no_antenna" [main.hotspot1.wifi_ssid__1] ask = "Name (SSID)" type = "string" bind = "array_settings()" pattern.regexp = '^[\w \-]{1,32}$' pattern.error = "SSID in this app are limited to letter, number space, dash and underscores." [main.hotspot1.wifi_secure__1] ask = "Secure" type = "boolean" bind = "array_settings()" [main.hotspot1.wifi_passphrase__1] ask = "Password (WPA2)" type = "string" bind = "array_settings()" redact = true optional = true visible = "wifi_secure__1" pattern.regexp = '^[a-zA-Z0-9]{8,63}$' pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars" [main.hotspot1.advanced__1] ask = "Advanced settings" type = "boolean" bind = "array_settings()" [main.hotspot1.ip4_nat_prefix__1] ask = "IPv4 NAT prefix (/24)" type = "string" bind = "array_settings()" visible = "advanced__1" pattern.regexp = '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$' pattern.error = "Please provide a private /24 range in the format xxx.xxx.xxx" [main.hotspot1.ip6_net__1] ask = "IPv6 delegated prefix" type = "string" bind = "array_settings()" optional = "true" visible = "advanced__1" pattern.regexp = '^[0-9a-fA-F:]+$' pattern.error = "Please provide a valid IPv6 Prefix" [main.hotspot1.ip6_firewall__1] ask = "IPv6 firewall" type = "boolean" bind = "array_settings()" visible = "advanced__1" [main.hotspot1.dns__1] ask = "DNS resolvers" type = "tags" bind = "array_settings()" visible = "advanced__1" pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$' pattern.error = "Not an ip" [main.hotspot2] name = "Hotspot 2" visible = "! no_antenna && multissid >= 2" [main.hotspot2.wifi_ssid__2] ask = "Name (SSID)" type = "string" bind = "array_settings()" pattern.regexp = '^[\w \-]{1,32}$' pattern.error = "SSID in this app are limited to letter, number space, dash and underscores." [main.hotspot2.wifi_secure__2] ask = "Secure" type = "boolean" bind = "array_settings()" [main.hotspot2.wifi_passphrase__2] ask = "Password (WPA2)" type = "string" bind = "array_settings()" redact = true visible = "wifi_secure__2" pattern.regexp = '^[a-zA-Z0-9]{8,63}$' pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars" [main.hotspot2.advanced__2] ask = "Advanced settings" type = "boolean" bind = "array_settings()" [main.hotspot2.ip4_nat_prefix__2] ask = "IPv4 NAT prefix (/24)" type = "string" bind = "array_settings()" visible = "advanced__2" pattern.regexp = '^[0-9.]{7,15}$' pattern.error = "Please provide a valid IP" [main.hotspot2.ip6_net__2] ask = "IPv6 delegated prefix" type = "string" bind = "array_settings()" visible = "advanced__2" pattern.regexp = '^[0-9a-fA-F:]+$' pattern.error = "Please provide a valid IPv6 Prefix" [main.hotspot2.ip6_firewall__2] ask = "IPv6 firewall" type = "boolean" bind = "array_settings()" visible = "advanced__2" [main.hotspot2.dns__2] ask = "DNS resolvers" type = "tags" bind = "array_settings()" visible = "advanced__2" pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$' pattern.error = "Not an ip" [main.hotspot3] name = "Hotspot 3" visible = "! no_antenna && multissid >= 3" [main.hotspot3.wifi_ssid__3] ask = "Name (SSID)" type = "string" bind = "array_settings()" pattern.regexp = '^[\w \-]{1,32}$' pattern.error = "SSID in this app are limited to letter, number space, dash and underscores." [main.hotspot3.wifi_secure__3] ask = "Secure" type = "boolean" bind = "array_settings()" [main.hotspot3.wifi_passphrase__3] ask = "Password (WPA2)" type = "string" bind = "array_settings()" redact = true visible = "wifi_secure__3" pattern.regexp = '^[a-zA-Z0-9]{8,63}$' pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars" [main.hotspot3.advanced__3] ask = "Advanced settings" type = "boolean" bind = "array_settings()" [main.hotspot3.ip4_nat_prefix__3] ask = "IPv4 NAT prefix (/24)" type = "string" bind = "array_settings()" visible = "advanced__3" pattern.regexp = '^[0-9.]{7,15}$' pattern.error = "Please provide a valid IP" [main.hotspot3.ip6_net__3] ask = "IPv6 delegated prefix" type = "string" bind = "array_settings()" visible = "advanced__3" pattern.regexp = '^[0-9a-fA-F:]+$' pattern.error = "Please provide a valid IPv6 Prefix" [main.hotspot3.ip6_firewall__3] ask = "IPv6 firewall" type = "boolean" bind = "array_settings()" visible = "advanced__3" [main.hotspot3.dns__3] ask = "DNS resolvers" type = "tags" bind = "array_settings()" visible = "advanced__3" pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$' pattern.error = "Not an ip"