{ "proxy_mode": { "type": "variable", "default": { "name": "Default", "values": "No proxy" }, "variable_type": "choice", "choices": { "name": "Choices", "values": [ "No proxy", "Auto-detect proxy settings for this network", "Use system proxy settings", "Manual proxy configuration", "Automatic proxy configuration URL" ] }, "path": "proxy_mode", "names": [ "proxy_mode" ], "description": "Configure Proxy Access to the Internet.", "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "standard", "gen_examples": [ "No proxy" ], "mandatory_without_value": false }, "manual": { "type": "family", "informations": { "path": "manual", "names": [ "manual" ], "description": "Manual proxy configuration", "properties": [ { "type": "property", "name": "disabled", "ori_name": "disabled", "access_control": true, "annotation": { "message": "when the variable \"{0}\" hasn't the value \"Manual proxy configuration\"", "path": { "path": "proxy_mode" }, "description": "Configure Proxy Access to the Internet" } } ], "mode": "basic" }, "children": { "http_proxy": { "type": "family", "informations": { "path": "manual.http_proxy", "names": [ "http_proxy" ], "description": "HTTP Proxy", "properties": [], "mode": "basic" }, "children": { "address": { "type": "variable", "variable_type": "domainname", "validators": { "name": "Validators", "values": [ "type domainname", "the domain name can be an IP" ] }, "path": "manual.http_proxy.address", "names": [ "address" ], "description": "Proxy address.", "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "basic", "gen_examples": [ "example.net" ], "mandatory_without_value": true }, "port": { "type": "variable", "default": { "name": "Default", "values": "8080" }, "variable_type": "port", "validators": { "name": "Validators", "values": [ "well-known ports (1 to 1023) are allowed", "registred ports (1024 to 49151) are allowed", "private ports (greater than 49152) are allowed" ] }, "path": "manual.http_proxy.port", "names": [ "port" ], "description": "Proxy port.", "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "standard", "gen_examples": [ "8080" ], "mandatory_without_value": false } } }, "use_for_https": { "type": "variable", "default": { "name": "Default", "values": true }, "variable_type": "boolean", "path": "manual.use_for_https", "names": [ "use_for_https" ], "description": "Also use this proxy for HTTPS.", "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "standard", "gen_examples": [ true ], "mandatory_without_value": false }, "{{ identifier }}_proxy": { "type": "dynamic", "informations": { "names": [ "https_proxy", "socks_proxy" ], "identifiers": [ [ "HTTPS" ], [ "SOCKS" ] ], "path": "manual.{{ identifier }}_proxy", "description": "{{ identifier }} Proxy", "properties": [ { "type": "property", "name": "hidden", "ori_name": "hidden", "access_control": true, "annotation": { "description": "in HTTPS case if \"{0}\" is set to \"true\"", "variables": [ { "path": "manual.use_for_https", "description": "Also use this proxy for HTTPS" } ] } } ], "mode": "standard", "identifier": [ "HTTPS", "SOCKS" ], "help": [ "This family builds families dynamically" ] }, "children": { "address": { "names": [ "address", "address" ], "identifiers": [ [ "HTTPS" ], [ "SOCKS" ] ], "path": "manual.{{ identifier }}_proxy.address", "description": "{{ identifier }} address.", "type": "variable", "default": { "name": "Default", "values": { "message": "the value of the variable \"{0}\"", "path": { "path": "manual.http_proxy.address", "type": "variable" }, "description": "Proxy address" } }, "variable_type": "domainname", "validators": { "name": "Validators", "values": [ "type domainname", "the domain name can be an IP" ] }, "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "standard", "gen_examples": [ "example.net", "example.net" ], "mandatory_without_value": false }, "port": { "names": [ "port", "port" ], "identifiers": [ [ "HTTPS" ], [ "SOCKS" ] ], "path": "manual.{{ identifier }}_proxy.port", "description": "{{ identifier }} port.", "type": "variable", "default": { "name": "Default", "values": { "message": "the value of the variable \"{0}\"", "path": { "path": "manual.http_proxy.port", "type": "variable" }, "description": "Proxy port" } }, "variable_type": "port", "validators": { "name": "Validators", "values": [ "well-known ports (1 to 1023) are allowed", "registred ports (1024 to 49151) are allowed", "private ports (greater than 49152) are allowed" ] }, "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false } ], "mode": "standard", "gen_examples": [ "8080", "8080" ], "mandatory_without_value": false }, "version": { "names": [ "version" ], "identifiers": [ [ "SOCKS" ] ], "path": "manual.{{ identifier }}_proxy.version", "description": "SOCKS host version used by proxy.", "type": "variable", "default": { "name": "Default", "values": "v5" }, "variable_type": "choice", "choices": { "name": "Choices", "values": [ "v4", "v5" ] }, "properties": [ { "type": "property", "name": "mandatory", "ori_name": "mandatory", "access_control": false }, { "type": "property", "name": "disabled", "ori_name": "disabled", "access_control": true, "annotation": "when the identifier is \"HTTPS\"" } ], "mode": "standard", "gen_examples": [ "v5", "v5" ], "mandatory_without_value": false } } } } } }