first commit
This commit is contained in:
parent
9121ead1b0
commit
6f6295529a
138 changed files with 1850 additions and 1 deletions
510
README.md
510
README.md
|
@ -1,2 +1,510 @@
|
||||||
# rougail-tutorials_builder
|
---
|
||||||
|
gitea: none
|
||||||
|
include_toc: true
|
||||||
|
---
|
||||||
|
# Tutorial description files
|
||||||
|
|
||||||
|
## 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
|
||||||
|
```
|
||||||
|
### 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 the value of "proxy.proxy_mode" is not "Manual proxy configuration"
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
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 and HTTPS is same has HTTP
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: Address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
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
|
||||||
|
```
|
||||||
|
### 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.proxy_mode" is not "automatic proxy configuration URL"
|
||||||
|
```
|
||||||
|
### 30-no_proxy.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: 1.1
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
allow_cidr_network: true
|
||||||
|
allow_without_dot: true
|
||||||
|
allow_startswith_dot: true
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode == 'No proxy' %}
|
||||||
|
proxy mode is no proxy
|
||||||
|
{% endif %}
|
||||||
|
description: if "proxy.proxy_mode" 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
|
||||||
|
```
|
||||||
|
### 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.proxy_mode" is "No proxy"
|
||||||
|
```
|
||||||
|
### 50-proxy_dns_socks5.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: 1.1
|
||||||
|
proxy_dns_socks5:
|
||||||
|
description: Use proxy DNS when using SOCKS v5
|
||||||
|
default: false
|
||||||
|
mode: advanced
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode != 'Manual proxy configuration' %}
|
||||||
|
the proxy mode is not manual
|
||||||
|
{% elif socks_version == 'v4' %}
|
||||||
|
socks version is v4
|
||||||
|
{% endif %}
|
||||||
|
params:
|
||||||
|
socks_version:
|
||||||
|
type: variable
|
||||||
|
variable: _.manual.socks_proxy.version
|
||||||
|
propertyerror: false
|
||||||
|
description: |
|
||||||
|
if "proxy.proxy_mode" is not "Manual proxy configuration" or "proxy.manual.socks_proxy.version" is "v4"
|
||||||
|
```
|
||||||
|
### 60-dns_over_https.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: 1.1
|
||||||
|
dns_over_https: # 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 "proxy.dns_over_https.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 "proxy.dns_over_https.provider" is "Custom"
|
||||||
|
validators:
|
||||||
|
- type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.custom_dns_url.startswith('http://') %}
|
||||||
|
only https is allowed
|
||||||
|
{% endif %}
|
||||||
|
description: must starts with 'https://' only
|
||||||
|
```
|
||||||
|
## 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:
|
||||||
|
description: 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
|
||||||
|
```
|
||||||
|
### 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
|
||||||
|
```
|
||||||
|
# Generated documentation
|
||||||
|
|
||||||
|
## Variables for "proxy"
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.proxy_mode**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Configure Proxy Access to the Internet.<br/>**Choices**: <br/>- No proxy ← (default)<br/>- Auto-detect proxy settings for this network<br/>- Use system proxy settings<br/>- Manual proxy configuration<br/>- Automatic proxy configuration URL |
|
||||||
|
|
||||||
|
### Manual proxy configuration
|
||||||
|
|
||||||
|
`basic` _`disabled`_
|
||||||
|
|
||||||
|
**Disabled**: if the value of "proxy.proxy_mode" is not "Manual proxy configuration"
|
||||||
|
|
||||||
|
#### HTTP Proxy
|
||||||
|
|
||||||
|
`basic`
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.manual.http_proxy.address**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.<br/>**Validator**: the domain name can be an IP |
|
||||||
|
| **proxy.manual.http_proxy.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | HTTP Port.<br/>**Default**: 8080 |
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.manual.use_for_https**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.<br/>**Default**: True |
|
||||||
|
|
||||||
|
#### "HTTPS Proxy" ou "SOCKS Proxy"
|
||||||
|
|
||||||
|
`standard` _`hidden`_
|
||||||
|
|
||||||
|
**Hidden**: if HTTPS and HTTPS is same has HTTP<br/>
|
||||||
|
|
||||||
|
|
||||||
|
Cette famille constuit des familles dynamiquement.
|
||||||
|
|
||||||
|
**Suffixes**: <br/>- HTTPS<br/>- SOCKS
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.manual.https_proxy.address** +<br/>**proxy.manual.socks_proxy.address**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Address.<br/>**Validator**: the domain name can be an IP<br/>**Default**: the value of the variable "proxy.manual.http_proxy.address" |
|
||||||
|
| **proxy.manual.https_proxy.port** +<br/>**proxy.manual.socks_proxy.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Port.<br/>**Default**: the value of the variable "proxy.manual.http_proxy.port" |
|
||||||
|
| **proxy.manual.https_proxy.version** +<br/>**proxy.manual.socks_proxy.version**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | SOCKS host version used by proxy.<br/>**Choices**: <br/>- v4<br/>- v5 ← (default)<br/>**Disabled**: if not SOCKS<br/> |
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.auto**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Automatic proxy configuration URL.<br/>**Disabled**: if "proxy.proxy_mode" is not "automatic proxy configuration URL"<br/> |
|
||||||
|
| **proxy.no_proxy**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ `unique` `multiple` | Address for which proxy will be desactivated.<br/>Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.<br/>**Validators**:<br/>- the domain name can starts by a dot<br/>- the domain name can be only a hostname<br/>- the domain name can be an IP<br/>- the domain name can be network in CIDR format<br/>**Examples**: <br/>- .mozilla.org<br/>- .net.nz<br/>- 192.168.1.0/24<br/>**Disabled**: if "proxy.proxy_mode" is "No proxy" |
|
||||||
|
| **proxy.prompt_authentication**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Prompt for authentication if password is saved.<br/>**Default**: True<br/>**Disabled**: if "proxy.proxy_mode" is "No proxy" |
|
||||||
|
|
||||||
|
### DNS over HTTPS
|
||||||
|
|
||||||
|
`basic`
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **proxy.dns_over_https.enable_dns_over_https**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Enable DNS over HTTPS.<br/>**Default**: False |
|
||||||
|
| **proxy.dns_over_https.provider**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Use Provider.<br/>**Choices**: <br/>- Cloudflare ← (default)<br/>- NextDNS<br/>- Custom<br/>**Disabled**: if "proxy.dns_over_https.enable_dns_over_https" is not False |
|
||||||
|
| **proxy.dns_over_https.custom_dns_url**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Custom DNS URL.<br/>**Validator**: must starts with 'https://' only<br/>**Disabled**: if "proxy.dns_over_https.provider" is "Custom" |
|
||||||
|
|
||||||
|
|
||||||
|
## Variables for "foxyproxy"
|
||||||
|
|
||||||
|
### Proxy configuration
|
||||||
|
|
||||||
|
`basic`
|
||||||
|
|
||||||
|
|
||||||
|
Cette famille contient des listes de bloc de variables.
|
||||||
|
|
||||||
|
| Variable | Description |
|
||||||
|
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| **foxyproxy.proxies.title**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `unique` `multiple` | Title or Description. |
|
||||||
|
| **foxyproxy.proxies.color**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Color. |
|
||||||
|
| **foxyproxy.proxies.type**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Type.<br/>**Choices**: <br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/>- PAC URL<br/>- WPAD<br/>- System (use system settings)<br/>- Direct (no proxy) ← (default) |
|
||||||
|
| **foxyproxy.proxies.address**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ `multiple` | IP address, DNS name, server name.<br/>**Default**: copy HTTP address if proxy is not "Manual"<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/> |
|
||||||
|
| **foxyproxy.proxies.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Port.<br/>**Default**: copy HTTP port if proxy is not "Manual"<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/> |
|
||||||
|
| **foxyproxy.proxies.username**<br/>[`unix_user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ | Username.<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/> |
|
||||||
|
| **foxyproxy.proxies.password**<br/>[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`hidden`_ _`disabled`_ | Password.<br/>**Hidden**: if username is not defined<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/> |
|
||||||
|
| **foxyproxy.proxies.url**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | URL.<br/>**Disabled**: if type is not in:<br/>- PAC URL<br/>- WPAD<br/> |
|
||||||
|
|
||||||
|
|
||||||
|
## Exemple avec les variables obligatoires non renseignées
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
proxy:
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: example.net
|
||||||
|
https_proxy:
|
||||||
|
address: example.net
|
||||||
|
socks_proxy:
|
||||||
|
address: example.net
|
||||||
|
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
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: example.net
|
||||||
|
port: '8080'
|
||||||
|
use_for_https: true
|
||||||
|
https_proxy:
|
||||||
|
address: example.net
|
||||||
|
port: '8080'
|
||||||
|
version: v5
|
||||||
|
socks_proxy:
|
||||||
|
address: example.net
|
||||||
|
port: '8080'
|
||||||
|
version: v5
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
133
build.py
Executable file
133
build.py
Executable file
|
@ -0,0 +1,133 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
from ruamel.yaml import YAML
|
||||||
|
from ansi2html import Ansi2HTMLConverter
|
||||||
|
|
||||||
|
from rougail import RougailConfig, Rougail
|
||||||
|
from rougail.output_exporter import RougailOutputExporter
|
||||||
|
from rougail.user_data_file import RougailUserDataFile
|
||||||
|
from rougail.output_doc import RougailOutputDoc
|
||||||
|
|
||||||
|
|
||||||
|
NUM="50"
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
rougailconfig = RougailConfig.copy()
|
||||||
|
rougailconfig['main_dictionaries'] = ['firefox']
|
||||||
|
rougailconfig['default_dictionary_format_version'] = '1.1'
|
||||||
|
if Path('foxyproxy').is_dir():
|
||||||
|
has_foxyproxy = False
|
||||||
|
rougailconfig['main_namespace'] = 'Firefox'
|
||||||
|
rougailconfig['extra_dictionaries'] = {'FoxyProxy': ['foxyproxy']}
|
||||||
|
else:
|
||||||
|
has_foxyproxy = True
|
||||||
|
rougailconfig['main_namespace'] = None
|
||||||
|
# rougailconfig['tiramisu_cache'] = "cache.py"
|
||||||
|
# rougail = Rougail(rougailconfig)
|
||||||
|
# config = rougail.get_config()
|
||||||
|
# print(config.value.get())
|
||||||
|
rougailconfig['step.output'] = 'doc'
|
||||||
|
rougailconfig['doc.output_format'] = 'github'
|
||||||
|
rougailconfig['doc.title_level'] = 3
|
||||||
|
inventory = RougailOutputDoc(rougailconfig=rougailconfig)
|
||||||
|
rougailconfig['step.output'] = 'exporter'
|
||||||
|
header = inventory.formater.header()
|
||||||
|
doc = ''
|
||||||
|
yaml = YAML()
|
||||||
|
namespace = 'firefox'
|
||||||
|
file_found = False
|
||||||
|
subdoc = ''
|
||||||
|
if rougailconfig['main_namespace']:
|
||||||
|
all_dirs = [[rougailconfig['main_dictionaries']], rougailconfig['extra_dictionaries'].values()]
|
||||||
|
else:
|
||||||
|
all_dirs = [[rougailconfig['main_dictionaries']]]
|
||||||
|
|
||||||
|
for r in all_dirs:
|
||||||
|
for dirs in r:
|
||||||
|
for d in dirs:
|
||||||
|
files = list(Path(d).iterdir())
|
||||||
|
files.sort()
|
||||||
|
for f in files:
|
||||||
|
namespace = f.parent.name
|
||||||
|
file_found = True
|
||||||
|
if f.name.endswith('.yml') or f.name.endswith('.yaml'):
|
||||||
|
subdoc += inventory.formater.title(str(f), 2)
|
||||||
|
with f.open(encoding="utf8") as file_fh:
|
||||||
|
objects = yaml.load(file_fh)
|
||||||
|
subdoc += inventory.formater.yaml(objects)
|
||||||
|
# doc += f'![{namespace.capitalize()} Proxy setting]({namespace}.png)\n'
|
||||||
|
doc += f'<img src="{namespace}.png" width=50% height=50% alt="{namespace.capitalize()} Proxy setting"/>\n\n'
|
||||||
|
with Path('summary.md').open('r') as sfh:
|
||||||
|
summary = sfh.read()
|
||||||
|
doc_file = Path('README.md')
|
||||||
|
doc = header + inventory.formater.title('Summary', 1) + '\n' + summary + '\n\n' + inventory.formater.title('Structural files', 1) + doc + '\n' + subdoc
|
||||||
|
with doc_file.open('r') as docfh:
|
||||||
|
doc += inventory.formater.title('Description', 2) + docfh.read()
|
||||||
|
if file_found:
|
||||||
|
doc += inventory.formater.title('Generated documentation', 2)
|
||||||
|
if has_foxyproxy:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -o doc -do github"
|
||||||
|
else:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -n Firefox -e FoxyProxy -d 1 foxyproxy -o doc -do github"
|
||||||
|
doc += f'```console\n{cmd}\n```\n'
|
||||||
|
doc += inventory.gen_doc()
|
||||||
|
#
|
||||||
|
config = Path('config')
|
||||||
|
if config.is_dir():
|
||||||
|
doc += inventory.formater.title('User data', 1)
|
||||||
|
configs = list(config.iterdir())
|
||||||
|
configs.sort()
|
||||||
|
for idx, dirname in enumerate(configs):
|
||||||
|
for filename in dirname.iterdir():
|
||||||
|
if filename.name.endswith('.yml') or filename.name.endswith('.yaml'):
|
||||||
|
doc += inventory.formater.title(f'Example {idx + 1}', 2)
|
||||||
|
with filename.open(encoding="utf8") as file_fh:
|
||||||
|
objects = yaml.load(file_fh)
|
||||||
|
doc += inventory.formater.title(str(filename), 3)
|
||||||
|
doc += inventory.formater.yaml(objects)
|
||||||
|
readme = dirname / 'README.md'
|
||||||
|
if readme.is_file():
|
||||||
|
doc += inventory.formater.title('Description', 3)
|
||||||
|
with readme.open() as fh:
|
||||||
|
doc += fh.read() + '\n\n'
|
||||||
|
rougail = Rougail(rougailconfig)
|
||||||
|
tiramisu_config = rougail.get_config()
|
||||||
|
rougailconfig['step.user_data'] = ['file']
|
||||||
|
rougailconfig['file.filename'] = str(filename.absolute())
|
||||||
|
data = RougailUserDataFile(tiramisu_config, rougailconfig=rougailconfig)
|
||||||
|
data.read()
|
||||||
|
export = RougailOutputExporter(tiramisu_config, rougailconfig=rougailconfig)
|
||||||
|
export.errors = data.errors
|
||||||
|
export.warnings = data.warnings
|
||||||
|
export.exporter()
|
||||||
|
with export.formater.console.capture() as capture:
|
||||||
|
export.print()
|
||||||
|
conv = Ansi2HTMLConverter(inline=True)
|
||||||
|
doc += inventory.formater.title('Output', 3)
|
||||||
|
if has_foxyproxy:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff {filename}"
|
||||||
|
else:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -n Firefox -e FoxyProxy -d 1 foxyproxy -u file -ff {filename}"
|
||||||
|
doc += f"```console\n{cmd}\n```\n"
|
||||||
|
doc += '<pre>' + conv.convert(capture.get(), full=False) + "</pre>\n"
|
||||||
|
if (dirname / 'read_write').is_file():
|
||||||
|
rougailconfig['exporter.read_write'] = True
|
||||||
|
export = RougailOutputExporter(tiramisu_config, rougailconfig=rougailconfig)
|
||||||
|
export.exporter()
|
||||||
|
with export.formater.console.capture() as capture:
|
||||||
|
export.print()
|
||||||
|
conv = Ansi2HTMLConverter(inline=True)
|
||||||
|
doc += inventory.formater.title('Output in read write mode', 3)
|
||||||
|
if has_foxyproxy:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -u file -ff {filename} --exporter.read_write"
|
||||||
|
else:
|
||||||
|
cmd = f"foo@bar:~$ rougail -v 1.1 -m firefox -n Firefox -e FoxyProxy -d 1 foxyproxy -u file -ff {filename} --exporter.read_write"
|
||||||
|
doc += f"```console\n{cmd}\n```\n"
|
||||||
|
doc += '<pre>' + conv.convert(capture.get(), full=False) + "</pre>\n"
|
||||||
|
#
|
||||||
|
with doc_file.open('w') as docfh:
|
||||||
|
docfh.write(doc)
|
||||||
|
with doc_file.open('w') as docfh:
|
||||||
|
docfh.write(doc)
|
102
build.sh
Executable file
102
build.sh
Executable file
|
@ -0,0 +1,102 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
set -x
|
||||||
|
DEST=../rougail-tutorials
|
||||||
|
|
||||||
|
if [ -d $DEST ]; then
|
||||||
|
echo "déjà fait"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
BUILDER="$(pwd)"
|
||||||
|
mkdir -p $DEST/firefox
|
||||||
|
rm -f summary.md
|
||||||
|
touch summary.md
|
||||||
|
cd "$DEST"
|
||||||
|
DEST="$(pwd)"
|
||||||
|
|
||||||
|
|
||||||
|
cp "$BUILDER"/firefox.png .
|
||||||
|
cp "$BUILDER"/foxyproxy.png .
|
||||||
|
cp "$BUILDER"/summary.md .
|
||||||
|
touch README.md
|
||||||
|
"$BUILDER"/build.py
|
||||||
|
rm -rf summary.md
|
||||||
|
rm -rf jinja_caches
|
||||||
|
git init -b 1.1
|
||||||
|
git add .
|
||||||
|
git commit -am"$(cat $BUILDER/TITLE)"
|
||||||
|
cd - > /dev/null
|
||||||
|
|
||||||
|
for i in $(ls -d "examples"/* | sort); do
|
||||||
|
if [ -f "$i/README.md" ]; then
|
||||||
|
rm -rf "$DEST/config"
|
||||||
|
cp "summary.md" "$DEST"
|
||||||
|
echo $(basename "$i")
|
||||||
|
#
|
||||||
|
cd "$i/dictionaries"
|
||||||
|
if [ -d firefox ]; then
|
||||||
|
for j in $(ls firefox/*.yml 2>/dev/null); do
|
||||||
|
cp "$j" "$DEST/$j"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ -d foxyproxy ]; then
|
||||||
|
mkdir -p $DEST/foxyproxy
|
||||||
|
for j in $(ls foxyproxy/*.yml 2>/dev/null); do
|
||||||
|
cp "$j" "$DEST/$j"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
cp -f ../README.md "$DEST"
|
||||||
|
if [ -d ../config ]; then
|
||||||
|
cp -aL ../config "$DEST"
|
||||||
|
fi
|
||||||
|
msg="[tutorial $(basename $i)] $(cat ../README.md)"
|
||||||
|
summary="[tutorial $(basename $i)] $(head -n 1 ../README.md)"
|
||||||
|
[ -e ../firefox.png ] && cp ../firefox.png "$DEST"
|
||||||
|
[ -e ../foxyproxy.png ] && cp ../foxyproxy.png "$DEST"
|
||||||
|
cd - > /dev/null
|
||||||
|
cd "$DEST"
|
||||||
|
echo "- $summary" >> summary.md
|
||||||
|
"$BUILDER"/build.py
|
||||||
|
rm -rf config/*/README.md config/*/read_write
|
||||||
|
rm -rf jinja_caches summary.md
|
||||||
|
git add .
|
||||||
|
git commit -am"$msg"
|
||||||
|
commit_id="$(git rev-parse HEAD)"
|
||||||
|
cd - > /dev/null
|
||||||
|
echo "- [$summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/$commit_id/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/commit/$commit_id))" >> summary.md
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cd "$DEST"
|
||||||
|
echo "# Description
|
||||||
|
|
||||||
|
This tutorial shows to you an example of Rougail use on how to set a proxy in the Mozilla Firefox browser.
|
||||||
|
|
||||||
|
More precisely, this tutorial aims at reproducing this [Mozilla Firefox](https://www.mozilla.org/firefox/new/) settings page:
|
||||||
|
|
||||||
|
![Firefox Proxy setting](firefox.png)
|
||||||
|
|
||||||
|
And the integration of part of the [Firefox FoxyProxy plugin](https://addons.mozilla.org/firefox/addon/foxyproxy-standard/).
|
||||||
|
|
||||||
|
The idea is to have a namespace specific to FoxyProxy and to find in it part of the settings that we will have made in the main namespace.
|
||||||
|
|
||||||
|
This is what the page looks like:
|
||||||
|
|
||||||
|
![Foxyproxy Proxy setting](foxyproxy.png)
|
||||||
|
" > README.md
|
||||||
|
echo "# Summary
|
||||||
|
|
||||||
|
Each step is a separerate commit. You can navigate to history to discover different aspect to the Rougail format.
|
||||||
|
" >> README.md
|
||||||
|
cat "$BUILDER"/summary.md >> README.md
|
||||||
|
echo >> README.md
|
||||||
|
git add .
|
||||||
|
rm -rf firefox foxyproxy
|
||||||
|
git commit -am"Summary"
|
||||||
|
#
|
||||||
|
git remote add origin ssh://git@forge.cloud.silique.fr:2222/stove/rougail-tutorials.git
|
||||||
|
git push --set-upstream origin 1.1 --force
|
||||||
|
|
||||||
|
echo "FAIT"
|
||||||
|
exit 0
|
10
examples/001/README.md
Normal file
10
examples/001/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
A first variable
|
||||||
|
|
||||||
|
In the Firefox configuration, it is possible to define several configuration modes,
|
||||||
|
from no proxy at all ("No proxy") to a kind of automatic configuration mode from a file
|
||||||
|
("Automatic proxy configuration URL").
|
||||||
|
|
||||||
|
We’re gonna create a first variable called "proxy_mode":
|
||||||
|
|
||||||
|
- accepts only a string as value
|
||||||
|
- requires a value (that is, None is not an option)
|
1
examples/001/config/01/README.md
Normal file
1
examples/001/config/01/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
The user data file is empty. So it's only default value that will be used.
|
1
examples/001/config/01/config.yaml
Normal file
1
examples/001/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
2
examples/001/config/02/config.yaml
Normal file
2
examples/001/config/02/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: No proxy
|
2
examples/001/config/03/config.yaml
Normal file
2
examples/001/config/03/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
1
examples/001/config/04/README.md
Normal file
1
examples/001/config/04/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
"foo" should be an invalid value for this variable.
|
2
examples/001/config/04/config.yaml
Normal file
2
examples/001/config/04/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: foo
|
1
examples/001/config/05/README.md
Normal file
1
examples/001/config/05/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
The integer value "1" is invalid.
|
2
examples/001/config/05/config.yaml
Normal file
2
examples/001/config/05/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: 1
|
2
examples/001/dictionaries/firefox/00-proxy.yml
Normal file
2
examples/001/dictionaries/firefox/00-proxy.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode:
|
BIN
examples/001/firefox.png
Normal file
BIN
examples/001/firefox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 119 KiB |
BIN
examples/001/firefox.xcf
Normal file
BIN
examples/001/firefox.xcf
Normal file
Binary file not shown.
9
examples/002/README.md
Normal file
9
examples/002/README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
The variable description
|
||||||
|
|
||||||
|
We can add a description to this first variable.
|
||||||
|
|
||||||
|
This information is useful for:
|
||||||
|
|
||||||
|
- documentation
|
||||||
|
- error message
|
||||||
|
- help user to known which value to set to this variable (for example with [the user data plugin Questionary](https://forge.cloud.silique.fr/gnunux/rougail-user-data-questionary)).
|
1
examples/002/config
Symbolic link
1
examples/002/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../001/config
|
3
examples/002/dictionaries/firefox/00-proxy.yml
Normal file
3
examples/002/dictionaries/firefox/00-proxy.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
proxy_mode:
|
||||||
|
description: Configure Proxy Access to the Internet
|
7
examples/003/README.md
Normal file
7
examples/003/README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
A default value
|
||||||
|
|
||||||
|
Now we can define the default value of this variable.
|
||||||
|
|
||||||
|
If the user doesn't touch this variable's value, the value is "No proxy"
|
||||||
|
|
||||||
|
As user intervention is no more required, so the variable change it's default mode too (from "basic" to "standard").
|
1
examples/003/config
Symbolic link
1
examples/003/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../001/config
|
4
examples/003/dictionaries/firefox/00-proxy.yml
Normal file
4
examples/003/dictionaries/firefox/00-proxy.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
proxy_mode:
|
||||||
|
description: Configure Proxy Access to the Internet
|
||||||
|
default: No proxy
|
7
examples/004/README.md
Normal file
7
examples/004/README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
A variable with type choice
|
||||||
|
|
||||||
|
"Foo" should not be an option to the "proxy_mode" variable.
|
||||||
|
|
||||||
|
Now the "proxy_mode" type is "choice", that means that there is a list of available values that can be selected.
|
||||||
|
|
||||||
|
We say that the "proxy_mode" variable is constrained (by choices): this variable accept, in fact, only a list of choices.
|
1
examples/004/config
Symbolic link
1
examples/004/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../001/config
|
11
examples/004/dictionaries/firefox/00-proxy.yml
Normal file
11
examples/004/dictionaries/firefox/00-proxy.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
proxy_mode:
|
||||||
|
description: Configure Proxy Access to the Internet
|
||||||
|
type: choice
|
||||||
|
choices:
|
||||||
|
- No proxy
|
||||||
|
- Auto-detect proxy settings for this network
|
||||||
|
- Use system proxy settings
|
||||||
|
- Manual proxy configuration
|
||||||
|
- Automatic proxy configuration URL
|
||||||
|
default: No proxy
|
3
examples/005/README.md
Normal file
3
examples/005/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Choice type is optional
|
||||||
|
|
||||||
|
The type is optional in choice type (if we have choices attributes, it's a choice option).
|
1
examples/005/config
Symbolic link
1
examples/005/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../001/config
|
10
examples/005/dictionaries/firefox/00-proxy.yml
Normal file
10
examples/005/dictionaries/firefox/00-proxy.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
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
|
14
examples/010/README.md
Normal file
14
examples/010/README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
A family
|
||||||
|
|
||||||
|
The "manual" mode structural descriptions are write in a new files to separate things. But Rougail will concatenate variables and families.
|
||||||
|
|
||||||
|
We create a family, which will contain other variables.
|
||||||
|
|
||||||
|
This family has:
|
||||||
|
|
||||||
|
- a description
|
||||||
|
- a type
|
||||||
|
|
||||||
|
As there is no variable inside this family, the type is mandatory. Without it, Rougail will create a variable.
|
||||||
|
|
||||||
|
In fact, this family will be deleted by Rougail too because it is empty.
|
4
examples/010/dictionaries/firefox/10-manual.yml
Normal file
4
examples/010/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
type: family
|
BIN
examples/010/firefox.png
Normal file
BIN
examples/010/firefox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
BIN
examples/010/firefox.xcf
Normal file
BIN
examples/010/firefox.xcf
Normal file
Binary file not shown.
5
examples/011/README.md
Normal file
5
examples/011/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Conditional desactived family
|
||||||
|
|
||||||
|
This family will be desactived if "proxy_mode" is not "manual proxy configuration".
|
||||||
|
|
||||||
|
Desactived a variable or a family means that this variable will never be accessible.
|
8
examples/011/dictionaries/firefox/10-manual.yml
Normal file
8
examples/011/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
type: family
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
7
examples/012/README.md
Normal file
7
examples/012/README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
A sub family
|
||||||
|
|
||||||
|
Inside a family, we can have variables or families.
|
||||||
|
|
||||||
|
The "type" for family "manual" became unecessary because container an other family, so it's not a variable.
|
||||||
|
|
||||||
|
In disabled attribute, it's better tu use relative path (we will see the reason in an other slide).
|
11
examples/012/dictionaries/firefox/10-manual.yml
Normal file
11
examples/012/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy:
|
||||||
|
description: HTTP Proxy
|
||||||
|
type: family
|
5
examples/013/README.md
Normal file
5
examples/013/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Family in "shorthand" mode
|
||||||
|
|
||||||
|
The sub family is now in "shorthand" mode. In this mode we can only define "name" and "description" attributes.
|
||||||
|
|
||||||
|
Inside the sub family we add two variables (with domainname and port types).
|
1
examples/013/config/01/config.yaml
Normal file
1
examples/013/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
2
examples/013/config/02/config.yaml
Normal file
2
examples/013/config/02/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
5
examples/013/config/03/config.yaml
Normal file
5
examples/013/config/03/config.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: example.net
|
6
examples/013/config/04/config.yaml
Normal file
6
examples/013/config/04/config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: example.net
|
||||||
|
port: '3128'
|
20
examples/013/dictionaries/firefox/10-manual.yml
Normal file
20
examples/013/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTP Port
|
||||||
|
type: port
|
||||||
|
default: 8080
|
3
examples/014/README.md
Normal file
3
examples/014/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
A boolean variable
|
||||||
|
|
||||||
|
Let's create a boolean variable.
|
25
examples/014/dictionaries/firefox/10-manual.yml
Normal file
25
examples/014/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTP Port
|
||||||
|
type: port
|
||||||
|
default: 8080
|
||||||
|
|
||||||
|
use_for_https:
|
||||||
|
description: Also use this proxy for HTTPS
|
||||||
|
type: boolean
|
||||||
|
default: true
|
3
examples/015/README.md
Normal file
3
examples/015/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Bases type is optional if default value
|
||||||
|
|
||||||
|
The type is deduct with the default value type. This is only true for "string", "number", "float" or "boolean" variables.
|
1
examples/015/config
Symbolic link
1
examples/015/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../014/config
|
24
examples/015/dictionaries/firefox/10-manual.yml
Normal file
24
examples/015/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTP Port
|
||||||
|
type: port
|
||||||
|
default: 8080
|
||||||
|
|
||||||
|
use_for_https:
|
||||||
|
description: Also use this proxy for HTTPS
|
||||||
|
default: true
|
9
examples/016/README.md
Normal file
9
examples/016/README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
A variable in "shorthand" mode
|
||||||
|
|
||||||
|
Transform it in "shorthand" mode.
|
||||||
|
|
||||||
|
In this notation we can only define:
|
||||||
|
|
||||||
|
- name
|
||||||
|
- default value (so deduct the type)
|
||||||
|
- description
|
1
examples/016/config
Symbolic link
1
examples/016/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../014/config
|
22
examples/016/dictionaries/firefox/10-manual.yml
Normal file
22
examples/016/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTP Port
|
||||||
|
type: port
|
||||||
|
default: 8080
|
||||||
|
|
||||||
|
use_for_https: true # Also use this proxy for HTTPS
|
9
examples/017/README.md
Normal file
9
examples/017/README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Conditional hidden family and calculated default value
|
||||||
|
|
||||||
|
Add a sub family "https_proxy" which will be hidden if "use_for_https" is True.
|
||||||
|
|
||||||
|
Hidden means that we cannot change value, but we can access to it in read only mode. Inside, we add two variable with calculated default value (with variable type).
|
||||||
|
|
||||||
|
So, if user set "use_for_https" to True, the default values of HTTPS configuration will be a copy of HTTP values. The use can change HTTPS values if needed.
|
||||||
|
|
||||||
|
If user set "use_for_https" to False, the default values of HTTPS configuration will only be a copy of HTTP values.
|
1
examples/017/config/01/README.md
Normal file
1
examples/017/config/01/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
If "use_for_https" is true, HTTPS variables are visible in read only mode, but not in read write mode.
|
5
examples/017/config/01/config.yaml
Normal file
5
examples/017/config/01/config.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: http.proxy.net
|
0
examples/017/config/01/read_write
Normal file
0
examples/017/config/01/read_write
Normal file
2
examples/017/config/02/README.md
Normal file
2
examples/017/config/02/README.md
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
If "use_for_https" is false, HTTPS variables are visible in read only mode and in read write mode.
|
||||||
|
|
9
examples/017/config/02/config.yaml
Normal file
9
examples/017/config/02/config.yaml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: http.proxy.net
|
||||||
|
port: '3128'
|
||||||
|
use_for_https: false
|
||||||
|
https_proxy:
|
||||||
|
address: https.proxy.net
|
0
examples/017/config/02/read_write
Normal file
0
examples/017/config/02/read_write
Normal file
44
examples/017/dictionaries/firefox/10-manual.yml
Normal file
44
examples/017/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTP Port
|
||||||
|
type: port
|
||||||
|
default: 8080
|
||||||
|
|
||||||
|
use_for_https: true # Also use this proxy for HTTPS
|
||||||
|
|
||||||
|
https_proxy:
|
||||||
|
description: HTTPS Proxy
|
||||||
|
hidden:
|
||||||
|
type: variable
|
||||||
|
variable: _.use_for_https
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTPS address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
default:
|
||||||
|
type: variable
|
||||||
|
variable: __.http_proxy.address
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: HTTPS Port
|
||||||
|
type: port
|
||||||
|
default:
|
||||||
|
type: variable
|
||||||
|
variable: __.http_proxy.port
|
15
examples/018/README.md
Normal file
15
examples/018/README.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
A dynamic family
|
||||||
|
|
||||||
|
HTTPS and socks proxy are very similar. It could be interesting to do on dynamic family instead of duplicate family and variable description.
|
||||||
|
|
||||||
|
First of all, we add a dynamic attribute to the family. Dynamic is here a static list of suffix. It could be a variable or jinja informations too.
|
||||||
|
|
||||||
|
The dynamic family is only hidden in the HTTPs case.
|
||||||
|
Hidden is now a Jinja calculation with a parameter named "suffix".
|
||||||
|
|
||||||
|
The suffix is use in:
|
||||||
|
|
||||||
|
- family name
|
||||||
|
- family description
|
||||||
|
- variables name
|
||||||
|
- variables description
|
1
examples/018/config
Symbolic link
1
examples/018/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../017/config
|
54
examples/018/dictionaries/firefox/10-manual.yml
Normal file
54
examples/018/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: "{{ suffix }} address"
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
default:
|
||||||
|
type: variable
|
||||||
|
variable: __.http_proxy.address
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: "{{ suffix }} port"
|
||||||
|
type: port
|
||||||
|
default:
|
||||||
|
type: variable
|
||||||
|
variable: __.http_proxy.port
|
5
examples/019/README.md
Normal file
5
examples/019/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
Description of Jinja calculation
|
||||||
|
|
||||||
|
By default, the Jinja calculation is generic in documentation. We can add a useful description.
|
||||||
|
|
||||||
|
We add a new variable "version" only accessible in "Socks" family.
|
1
examples/019/config
Symbolic link
1
examples/019/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../018/config
|
70
examples/019/dictionaries/firefox/10-manual.yml
Normal file
70
examples/019/dictionaries/firefox/10-manual.yml
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
---
|
||||||
|
manual:
|
||||||
|
description: Manual proxy configuration
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when_not: 'Manual proxy configuration'
|
||||||
|
|
||||||
|
http_proxy: # HTTP Proxy
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: HTTP address
|
||||||
|
type: domainname
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
|
||||||
|
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 "use_for_https" is set to True
|
||||||
|
|
||||||
|
address:
|
||||||
|
description: "{{ suffix }} address"
|
||||||
|
default:
|
||||||
|
type: variable
|
||||||
|
variable: __.http_proxy.address
|
||||||
|
|
||||||
|
port:
|
||||||
|
description: "{{ suffix }} 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
|
3
examples/020/README.md
Normal file
3
examples/020/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
A conditional disabled variable
|
||||||
|
|
||||||
|
Add a new "auto" variable.
|
2
examples/020/config/01/config.yaml
Normal file
2
examples/020/config/01/config.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
3
examples/020/config/02/config.yaml
Normal file
3
examples/020/config/02/config.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
8
examples/020/dictionaries/firefox/20-auto.yml
Normal file
8
examples/020/dictionaries/firefox/20-auto.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
auto:
|
||||||
|
description: Automatic proxy configuration URL
|
||||||
|
type: web_address
|
||||||
|
disabled:
|
||||||
|
type: variable
|
||||||
|
variable: _.proxy_mode
|
||||||
|
when: Automatic proxy configuration URL
|
BIN
examples/020/firefox.png
Normal file
BIN
examples/020/firefox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
BIN
examples/020/firefox.xcf
Normal file
BIN
examples/020/firefox.xcf
Normal file
Binary file not shown.
4
examples/030/README.md
Normal file
4
examples/030/README.md
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
A conditional disabled variable
|
||||||
|
|
||||||
|
Add a new "no\_proxy" variable.
|
||||||
|
|
1
examples/030/config/01/config.yaml
Normal file
1
examples/030/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
4
examples/030/config/02/config.yaml
Normal file
4
examples/030/config/02/config.yaml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
||||||
|
no_proxy: 192.168.1.0/24
|
16
examples/030/dictionaries/firefox/30-no_proxy.yml
Normal file
16
examples/030/dictionaries/firefox/30-no_proxy.yml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: "domainname"
|
||||||
|
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 "firefox.proxy_mode" is "No proxy"
|
3
examples/031/README.md
Normal file
3
examples/031/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
A variable multi
|
||||||
|
|
||||||
|
This variable accept multiple value.
|
1
examples/031/config/01/config.yaml
Normal file
1
examples/031/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
6
examples/031/config/02/config.yaml
Normal file
6
examples/031/config/02/config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
||||||
|
no_proxy:
|
||||||
|
- example.net
|
||||||
|
- 192.168.1.0/24
|
3
examples/031/config/03/config.yaml
Normal file
3
examples/031/config/03/config.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
17
examples/031/dictionaries/firefox/30-no_proxy.yml
Normal file
17
examples/031/dictionaries/firefox/30-no_proxy.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: "domainname"
|
||||||
|
multi: true
|
||||||
|
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 "firefox.proxy_mode" is "No proxy"
|
1
examples/032/README.md
Normal file
1
examples/032/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
A non mandatory variable
|
1
examples/032/config
Symbolic link
1
examples/032/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../031/config
|
18
examples/032/dictionaries/firefox/30-no_proxy.yml
Normal file
18
examples/032/dictionaries/firefox/30-no_proxy.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
---
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: "domainname"
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
allow_cidr_network: true
|
||||||
|
allow_without_dot: true
|
||||||
|
allow_startswith_dot: true
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode == 'No proxy' %}
|
||||||
|
proxy mode is no proxy
|
||||||
|
{% endif %}
|
||||||
|
description: if "firefox.proxy_mode" is "No proxy"
|
3
examples/033/README.md
Normal file
3
examples/033/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Examples
|
||||||
|
|
||||||
|
We can add example (only for documentation).
|
1
examples/033/config
Symbolic link
1
examples/033/config
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../031/config
|
22
examples/033/dictionaries/firefox/30-no_proxy.yml
Normal file
22
examples/033/dictionaries/firefox/30-no_proxy.yml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
---
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: "domainname"
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
allow_cidr_network: true
|
||||||
|
allow_without_dot: true
|
||||||
|
allow_startswith_dot: true
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode == 'No proxy' %}
|
||||||
|
proxy mode is no proxy
|
||||||
|
{% endif %}
|
||||||
|
description: if "firefox.proxy_mode" is "No proxy"
|
||||||
|
test:
|
||||||
|
- .mozilla.org
|
||||||
|
- .net.nz
|
||||||
|
- 192.168.1.0/24
|
3
examples/034/README.md
Normal file
3
examples/034/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
Help
|
||||||
|
|
||||||
|
We can add help informations for documentation.
|
1
examples/034/config/01/config.yaml
Normal file
1
examples/034/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
3
examples/034/config/02/config.yaml
Normal file
3
examples/034/config/02/config.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
6
examples/034/config/03/config.yaml
Normal file
6
examples/034/config/03/config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Automatic proxy configuration URL
|
||||||
|
auto: https://auto.proxy.net/wpad.dat
|
||||||
|
no_proxy:
|
||||||
|
- .example.net
|
||||||
|
- 192.168.1.0/24
|
23
examples/034/dictionaries/firefox/30-no_proxy.yml
Normal file
23
examples/034/dictionaries/firefox/30-no_proxy.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
no_proxy:
|
||||||
|
description: Address for which proxy will be desactivated
|
||||||
|
type: "domainname"
|
||||||
|
params:
|
||||||
|
allow_ip: true
|
||||||
|
allow_cidr_network: true
|
||||||
|
allow_without_dot: true
|
||||||
|
allow_startswith_dot: true
|
||||||
|
multi: true
|
||||||
|
mandatory: false
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode == 'No proxy' %}
|
||||||
|
proxy mode is no proxy
|
||||||
|
{% endif %}
|
||||||
|
description: if "firefox.proxy_mode" 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
|
1
examples/040/README.md
Normal file
1
examples/040/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
A variable in avanced mode
|
1
examples/040/config/01/config.yaml
Normal file
1
examples/040/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
5
examples/040/config/02/config.yaml
Normal file
5
examples/040/config/02/config.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: http.proxy.net
|
6
examples/040/config/03/config.yaml
Normal file
6
examples/040/config/03/config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: http.proxy.net
|
||||||
|
proxy_dns_socks5: true
|
7
examples/040/config/04/config.yaml
Normal file
7
examples/040/config/04/config.yaml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
proxy_mode: Manual proxy configuration
|
||||||
|
manual:
|
||||||
|
http_proxy:
|
||||||
|
address: http.proxy.net
|
||||||
|
socks_proxy:
|
||||||
|
version: v4
|
|
@ -0,0 +1,11 @@
|
||||||
|
---
|
||||||
|
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 "firefox.proxy_mode" is "No proxy"
|
20
examples/040/dictionaries/firefox/50-proxy_dns_socks5.yml
Normal file
20
examples/040/dictionaries/firefox/50-proxy_dns_socks5.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
proxy_dns_socks5:
|
||||||
|
description: Use proxy DNS when using SOCKS v5
|
||||||
|
default: false
|
||||||
|
mode: advanced
|
||||||
|
disabled:
|
||||||
|
type: jinja
|
||||||
|
jinja: |
|
||||||
|
{% if _.proxy_mode != 'Manual proxy configuration' %}
|
||||||
|
the proxy mode is not manual
|
||||||
|
{% elif socks_version == 'v4' %}
|
||||||
|
socks version is v4
|
||||||
|
{% endif %}
|
||||||
|
params:
|
||||||
|
socks_version:
|
||||||
|
type: variable
|
||||||
|
variable: _.manual.socks_proxy.version
|
||||||
|
propertyerror: false
|
||||||
|
description: |
|
||||||
|
if "firefox.proxy_mode" is not "Manual proxy configuration" or "firefox.manual.socks_proxy.version" is "v4"
|
BIN
examples/040/firefox.png
Normal file
BIN
examples/040/firefox.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
BIN
examples/040/firefox.xcf
Normal file
BIN
examples/040/firefox.xcf
Normal file
Binary file not shown.
1
examples/060/README.md
Normal file
1
examples/060/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
A boolean variable
|
1
examples/060/config/01/config.yaml
Normal file
1
examples/060/config/01/config.yaml
Normal file
|
@ -0,0 +1 @@
|
||||||
|
---
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue