--- gitea: none include_toc: true --- # Tutorial description files ## all/proxy/20-auto.yml ```yaml version: 1.1 auto: description: Automatic proxy configuration URL type: web_address disabled: type: jinja jinja: | {% if _.proxy_mode != 'Automatic proxy configuration URL' %} the proxy mode is not automatic {% endif %} description: if proxy_mode is not "automatic proxy configuration URL" ``` ## all/proxy/50-proxy_dns_socks5.yml ```yaml version: 1.1 proxy_dns_socks5: mode: advanced description: Use proxy DNS when using SOCKS v5 default: false disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} the proxy mode is no proxy {% elif socks_version is undefined or socks_version == 'v4' %} socks version is v4 {% endif %} params: socks_version: type: variable variable: _.manual.socks_proxy.version propertyerror: false ``` ## all/proxy/00-proxy.yml ```yaml version: 1.1 proxy_mode: description: Configure Proxy Access to the Internet choices: - No proxy - Auto-detect proxy settings for this network - Use system proxy settings - Manual proxy configuration - Automatic proxy configuration URL default: No proxy ``` ## all/proxy/40-prompt_authentication.yml ```yaml version: 1.1 prompt_authentication: description: Prompt for authentication if password is saved default: true disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} proxy mode is no proxy {% endif %} description: if proxy is "no proxy" ``` ## all/proxy/60-dns_over_https.yml ```yaml version: 1.1 dns_over_https: description: DNS over HTTPS enable_dns_over_https: false # Enable DNS over HTTPS provider: description: Use Provider choices: - Cloudflare - NextDNS - Custom default: Cloudflare disabled: type: jinja jinja: | {% if not _.enable_dns_over_https %} Enable DNS over HTTPS is False {% endif %} description: if enable_dns_over_https is not False custom_dns_url: description: Custom DNS URL type: web_address disabled: type: jinja jinja: | {% if provider is not defined or provider != 'Custom' %} provider is not custom {% endif %} params: provider: type: variable variable: _.provider propertyerror: false description: if provider is Custom validators: - type: jinja jinja: | {% if _.custom_dns_url.startswith('http://') %} only https is allowed {% endif %} description: custom_dns_url must starts with 'https://' only ``` ## all/proxy/10-manual.yml ```yaml version: 1.1 manual: description: Manual proxy configuration disabled: type: jinja jinja: | {% if _.proxy_mode != 'Manual proxy configuration' %} the proxy mode is not manual {% endif %} description: if proxy_mode is not "manual proxy configuration" http_proxy: # HTTP Proxy address: description: HTTP address type: domainname port: description: HTTP Port type: port default: '8080' use_for_https: true # Also use this proxy for HTTPS '{{ suffix }}_proxy': description: '{{ suffix }} Proxy' type: dynamic dynamic: - HTTPS - SOCKS hidden: type: jinja jinja: | {% if suffix == 'HTTPS' and _.use_for_https %} HTTPS is same has HTTP {% endif %} params: suffix: type: suffix description: | if HTTPS is same has HTTP address: description: address type: domainname default: type: variable variable: __.http_proxy.address port: description: Port type: port default: type: variable variable: __.http_proxy.port version: description: SOCKS host version used by proxy choices: - v4 - v5 default: v5 disabled: type: jinja jinja: | {% if suffix == 'HTTPS' %} if HTTPS {% endif %} params: suffix: type: suffix description: | if not SOCKS ``` ## all/proxy/30-no_proxy.yml ```yaml version: 1.1 no_proxy: description: Address for which proxy will be desactivated type: domainname multi: true mandatory: false params: allow_ip: true allow_cidr_network: true allow_without_dot: true allow_startswith_dot: true disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} proxy mode is no proxy {% endif %} description: if proxy is "no proxy" test: - .mozilla.org - .net.nz - 192.168.1.0/24 help: Connections to localhost, 127.0.0.1/8 and ::1 are never proxied ``` ## all/foxyproxy/10-redefine.yml ```yaml version: 1.1 proxies: username: redefine: true mandatory: false password: redefine: true hidden: type: jinja jinja: | {% if not _.username %} no username defined {% endif %} description: if username is not defined ``` ## all/foxyproxy/00-foxyproxy.yml ```yaml version: 1.1 proxies: description: Proxy configuration _type: leadership title: description: Title or Description multi: true color: description: Color type: description: Type type: choice choices: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 - PAC URL - WPAD - System (use system settings) - Direct (no proxy) default: Direct (no proxy) address: description: IP address, DNS name, server name multi: true disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need address {% endif %} description: &needs_address | if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 default: type: jinja jinja: | {% if firefox_address is not undefined %} {{ firefox_address }} {% endif %} params: firefox_address: type: variable variable: proxy.manual.http_proxy.address propertyerror: false description: copy HTTP address if proxy is not "Manual" port: description: Port type: port default: type: jinja jinja: | {% if firefox_port is not undefined %} {{ firefox_port }} {% endif %} params: firefox_port: type: variable variable: proxy.manual.http_proxy.port propertyerror: false description: copy HTTP port if proxy is not "Manual" disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need port {% endif %} description: *needs_address username: description: Username type: unix_user mandatory: type: jinja jinja: | {% if _.password %} username is mandatory {% endif %} disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need username {% endif %} description: *needs_address password: description: Password type: secret disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need password {% endif %} description: *needs_address url: type: web_address disabled: type: jinja jinja: | {% if _.type not in ['PAC URL', 'WPAD'] %} proxy does not need url {% endif %} description: | if type is not in: - PAC URL - WPAD ``` # Generated documentation ## Variables for "proxy" | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy.proxy_mode (Configure Proxy Access to the Internet).
**Default**: No proxy
**Choices**:
- No proxy
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL | ### proxy.manual (Manual proxy configuration) `basic` _`disabled`_ **Disabled**: if proxy_mode is not "manual proxy configuration" | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Proxy.auto (Automatic proxy configuration URL).
**Disabled**: if proxy_mode is not "automatic proxy configuration URL" | | **proxy.no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ `unique` `multiple` | Proxy.no_proxy (Address for which proxy will be desactivated).
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
- the domain name can starts by a dot
- the domain name can be only a hostname
- the domain name can be an IP
- the domain name can be network in CIDR format
**Examples**:
- .mozilla.org
- .net.nz
- 192.168.1.0/24
**Disabled**: if proxy is "no proxy" | | **proxy.prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Proxy.prompt_authentication (Prompt for authentication if password is saved).
**Default**: True
**Disabled**: if proxy is "no proxy" | ### proxy.dns_over_https (DNS over HTTPS) `basic` | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.dns_over_https.enable_dns_over_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy.dns_over_https.enable_dns_over_https (Enable DNS over HTTPS).
**Default**: False | | **proxy.dns_over_https.provider**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Proxy.dns_over_https.provider (Use Provider).
**Default**: Cloudflare
**Choices**:
- Cloudflare
- NextDNS
- Custom
**Disabled**: if enable_dns_over_https is not False | | **proxy.dns_over_https.custom_dns_url**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Proxy.dns_over_https.custom_dns_url (Custom DNS URL).
**Validators**:
- custom_dns_url must starts with 'https://' only
**Disabled**: if provider is Custom | ## Variables for "foxyproxy" ### foxyproxy.proxies (Proxy configuration) `basic` Cette famille contient des listes de bloc de variables. | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **foxyproxy.proxies.title**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `unique` `multiple` | Foxyproxy.proxies.title (Title or Description). | | **foxyproxy.proxies.color**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Foxyproxy.proxies.color (Color). | | **foxyproxy.proxies.type**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Foxyproxy.proxies.type (Type).
**Choices**:
- HTTP
- HTTPS/SSL
- SOCKS4
- SOCKS5
- PAC URL
- WPAD
- System (use system settings)
- Direct (no proxy) | | **foxyproxy.proxies.address**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ `multiple` | Foxyproxy.proxies.address (IP address, DNS name, server name).
**Default**: copy HTTP address if proxy is not "Manual"
**Disabled**: if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 | | **foxyproxy.proxies.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Foxyproxy.proxies.port (Port).
**Default**: copy HTTP port if proxy is not "Manual"
**Disabled**: if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 | | **foxyproxy.proxies.username**
[`unix_user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ | Foxyproxy.proxies.username (Username).
**Disabled**: if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 | | **foxyproxy.proxies.password**
[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`hidden`_ _`disabled`_ | Foxyproxy.proxies.password (Password).
**Hidden**: if username is not defined
**Disabled**: if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 | | **foxyproxy.proxies.url**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Foxyproxy.proxies.url.
**Disabled**: if type is not in: - PAC URL - WPAD | ## Exemple avec les variables obligatoires non renseignées ```yaml proxy: auto: https://example.net dns_over_https: custom_dns_url: https://example.net ``` ## Exemple avec tous les variables modifiables ```yaml proxy: proxy_mode: No proxy auto: https://example.net no_proxy: - .mozilla.org - .net.nz - 192.168.1.0/24 prompt_authentication: true dns_over_https: enable_dns_over_https: false provider: Cloudflare custom_dns_url: https://example.net foxyproxy: proxies: - title: xxx color: xxx type: Direct (no proxy) address: - None port: '8080' username: xxx password: xxx url: https://example.net ```