config_panel.toml 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. version = "1.0"
  2. [main]
  3. name = "Configuration"
  4. [main.service]
  5. name = ""
  6. optional = false
  7. [main.service.no_antenna]
  8. # The value is filled via a custom getter
  9. type = "boolean"
  10. visible = "false"
  11. [main.service.no_antenna_alert]
  12. 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."
  13. type = "alert"
  14. style = "danger"
  15. visible = "no_antenna"
  16. [main.service.status]
  17. ask = "The status of your VPN is unknown."
  18. type = "alert"
  19. style = "info"
  20. visible = "! no_antenna"
  21. [main.service.service_enabled]
  22. ask = "Enable Hotspot"
  23. type = "boolean"
  24. visible = "! no_antenna"
  25. [main.service.wifi_device]
  26. ask = "Device"
  27. type = "select"
  28. choices.wlan0 = "wlan0"
  29. visible = "! no_antenna"
  30. [main.service.wifi_channel]
  31. ask = "Channel"
  32. type = "select"
  33. choices.1 = "1"
  34. choices.2 = "2"
  35. choices.3 = "3"
  36. choices.4 = "4"
  37. choices.5 = "5"
  38. choices.6 = "6"
  39. choices.7 = "7"
  40. choices.8 = "8"
  41. choices.9 = "9"
  42. choices.10 = "10"
  43. choices.11 = "11"
  44. visible = "! no_antenna"
  45. help = "Changing the channel may help with signal strength depending on neighbour WiFis"
  46. [main.service.multissid]
  47. ask = "Number of hotspots to broadcast"
  48. type = "select"
  49. choices.1 = "1"
  50. choices.2 = "2"
  51. choices.3 = "3"
  52. visible = "! no_antenna"
  53. [main.hotspot1]
  54. name = "Hotspot 1"
  55. optional = false
  56. visible = "! no_antenna"
  57. [main.hotspot1.wifi_ssid__1]
  58. ask = "Name (SSID)"
  59. type = "string"
  60. bind = "array_settings()"
  61. pattern.regexp = '^[\w \-]{1,32}$'
  62. pattern.error = "SSID in this app are limited to letter, number space, dash and underscores."
  63. [main.hotspot1.wifi_secure__1]
  64. ask = "Secure"
  65. type = "boolean"
  66. bind = "array_settings()"
  67. [main.hotspot1.wifi_passphrase__1]
  68. ask = "Password (WPA2)"
  69. type = "string"
  70. bind = "array_settings()"
  71. redact = true
  72. optional = true
  73. visible = "wifi_secure__1"
  74. pattern.regexp = '^[a-zA-Z0-9]{8,63}$'
  75. pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars"
  76. [main.hotspot1.advanced__1]
  77. ask = "Advanced settings"
  78. type = "boolean"
  79. bind = "array_settings()"
  80. [main.hotspot1.ip4_nat_prefix__1]
  81. ask = "IPv4 NAT prefix (/24)"
  82. type = "string"
  83. bind = "array_settings()"
  84. visible = "advanced__1"
  85. pattern.regexp = '^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$'
  86. pattern.error = "Please provide a private /24 range in the format xxx.xxx.xxx"
  87. [main.hotspot1.ip6_net__1]
  88. ask = "IPv6 delegated prefix"
  89. type = "string"
  90. bind = "array_settings()"
  91. optional = true
  92. visible = "advanced__1"
  93. pattern.regexp = '^[0-9a-fA-F:]+$'
  94. pattern.error = "Please provide a valid IPv6 Prefix"
  95. [main.hotspot1.ip6_firewall__1]
  96. ask = "IPv6 firewall"
  97. type = "boolean"
  98. bind = "array_settings()"
  99. visible = "advanced__1"
  100. [main.hotspot1.dns__1]
  101. ask = "DNS resolvers"
  102. type = "tags"
  103. bind = "array_settings()"
  104. visible = "advanced__1"
  105. pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$'
  106. pattern.error = "Not an ip"
  107. [main.hotspot2]
  108. name = "Hotspot 2"
  109. visible = "! no_antenna && multissid >= 2"
  110. [main.hotspot2.wifi_ssid__2]
  111. ask = "Name (SSID)"
  112. type = "string"
  113. bind = "array_settings()"
  114. pattern.regexp = '^[\w \-]{1,32}$'
  115. pattern.error = "SSID in this app are limited to letter, number space, dash and underscores."
  116. [main.hotspot2.wifi_secure__2]
  117. ask = "Secure"
  118. type = "boolean"
  119. bind = "array_settings()"
  120. [main.hotspot2.wifi_passphrase__2]
  121. ask = "Password (WPA2)"
  122. type = "string"
  123. bind = "array_settings()"
  124. redact = true
  125. visible = "wifi_secure__2"
  126. pattern.regexp = '^[a-zA-Z0-9]{8,63}$'
  127. pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars"
  128. [main.hotspot2.advanced__2]
  129. ask = "Advanced settings"
  130. type = "boolean"
  131. bind = "array_settings()"
  132. [main.hotspot2.ip4_nat_prefix__2]
  133. ask = "IPv4 NAT prefix (/24)"
  134. type = "string"
  135. bind = "array_settings()"
  136. visible = "advanced__2"
  137. pattern.regexp = '^[0-9.]{7,15}$'
  138. pattern.error = "Please provide a valid IP"
  139. [main.hotspot2.ip6_net__2]
  140. ask = "IPv6 delegated prefix"
  141. type = "string"
  142. bind = "array_settings()"
  143. visible = "advanced__2"
  144. pattern.regexp = '^[0-9a-fA-F:]+$'
  145. pattern.error = "Please provide a valid IPv6 Prefix"
  146. [main.hotspot2.ip6_firewall__2]
  147. ask = "IPv6 firewall"
  148. type = "boolean"
  149. bind = "array_settings()"
  150. visible = "advanced__2"
  151. [main.hotspot2.dns__2]
  152. ask = "DNS resolvers"
  153. type = "tags"
  154. bind = "array_settings()"
  155. visible = "advanced__2"
  156. pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$'
  157. pattern.error = "Not an ip"
  158. [main.hotspot3]
  159. name = "Hotspot 3"
  160. visible = "! no_antenna && multissid >= 3"
  161. [main.hotspot3.wifi_ssid__3]
  162. ask = "Name (SSID)"
  163. type = "string"
  164. bind = "array_settings()"
  165. pattern.regexp = '^[\w \-]{1,32}$'
  166. pattern.error = "SSID in this app are limited to letter, number space, dash and underscores."
  167. [main.hotspot3.wifi_secure__3]
  168. ask = "Secure"
  169. type = "boolean"
  170. bind = "array_settings()"
  171. [main.hotspot3.wifi_passphrase__3]
  172. ask = "Password (WPA2)"
  173. type = "string"
  174. bind = "array_settings()"
  175. redact = true
  176. visible = "wifi_secure__3"
  177. pattern.regexp = '^[a-zA-Z0-9]{8,63}$'
  178. pattern.error = "Only printable alphanumeric characters are permitted in your password. Maximal size 63 chars"
  179. [main.hotspot3.advanced__3]
  180. ask = "Advanced settings"
  181. type = "boolean"
  182. bind = "array_settings()"
  183. [main.hotspot3.ip4_nat_prefix__3]
  184. ask = "IPv4 NAT prefix (/24)"
  185. type = "string"
  186. bind = "array_settings()"
  187. visible = "advanced__3"
  188. pattern.regexp = '^[0-9.]{7,15}$'
  189. pattern.error = "Please provide a valid IP"
  190. [main.hotspot3.ip6_net__3]
  191. ask = "IPv6 delegated prefix"
  192. type = "string"
  193. bind = "array_settings()"
  194. visible = "advanced__3"
  195. pattern.regexp = '^[0-9a-fA-F:]+$'
  196. pattern.error = "Please provide a valid IPv6 Prefix"
  197. [main.hotspot3.ip6_firewall__3]
  198. ask = "IPv6 firewall"
  199. type = "boolean"
  200. bind = "array_settings()"
  201. visible = "advanced__3"
  202. [main.hotspot3.dns__3]
  203. ask = "DNS resolvers"
  204. type = "tags"
  205. bind = "array_settings()"
  206. visible = "advanced__3"
  207. pattern.regexp = '^([0-9.]{7,15}|[0-9a-fA-F:]+)$'
  208. pattern.error = "Not an ip"