diff --git a/README.md b/README.md index 9b9a4d6f..357955cc 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,24 @@ -- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) -- [[tutorial v1.1_114] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_114/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_114~1..v1.1_114)) +# Description -# [tutorial v1.1_120] xxx +This tutorial shows to you an example of Rougail use on how to set a proxy in the Mozilla Firefox browser. -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_120~1..v1.1_120) +More precisely, this tutorial aims at reproducing this [Mozilla Firefox](https://www.mozilla.org/firefox/new/) settings page: -[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) +![Firefox Proxy setting](firefox.png) +And the integration of part of the [Firefox FoxyProxy plugin](https://addons.mozilla.org/firefox/addon/foxyproxy-standard/). -## Screenshot +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: -Firefox Proxy setting - - -## Clone and install - +![Foxyproxy Proxy setting](foxyproxy.png) +# Installation To test this tutorial, you need to download this repository and install Rougail: -```shell +```bash git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git cd rougail-tutorials python -m venv venv_rougail @@ -28,174 +26,69 @@ python -m venv venv_rougail pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml ``` -Then switch to the tutorial page: +# Summary -```shell -git switch --detach v1.1_120 -``` - -## Structure - - - -

-.
- ├── firefox
- │   ├── 00-proxy.yml
- │   ├── 10-manual.yml
- │   ├── 20-manual.yml
- │   ├── 30-auto.yml
- │   ├── 40-no_proxy.yml
- │   ├── 50-prompt_authentication.yml
- │   ├── 55-proxy_dns_socks5.yml
- │   ├── 60-dns_over_https.yml
- │   └── empty.yml
- └── foxyproxy
-     ├── 00-foxyproxy.yml
-     └── 10-redefine.yml
-

- -Contents of the foxyproxy/10-redefine.yml file - -```yml -%YAML 1.2 ---- -version: 1.1 - -proxies: - - username: - redefine: true - mandatory: false - - password: - redefine: true - hidden: - jinja: |- - {% if not _.username %} - no username defined - {% endif %} - description: if username is not defined -... - -``` -### Let's generate the documentation - -```shell -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -o doc -``` -#### Firefox - -> **🛈 Informations** -> -> **Path**: firefox\ -> `basic` - -| Variable | Description | -|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **firefox.proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Configure Proxy Access to the Internet.
**Choices**:
• No proxy **← (default)**
• Auto-detect proxy settings for this network
• Use system proxy settings
• Manual proxy configuration
• Automatic proxy configuration URL | - -##### Manual proxy configuration - -> **🛈 Informations** -> -> **Path**: firefox.manual\ -> `basic` *`disabled`*\ -> **Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" hasn't the value "Manual proxy configuration" - -###### HTTP Proxy - -> **🛈 Informations** -> -> **Path**: firefox.manual.http_proxy\ -> `basic` - -| Variable | Description | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **firefox.manual.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.
**Validators**:
• type domainname
• the domain name can be an IP | -| **firefox.manual.http_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | HTTP Port.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
**Default**: 8080 | - -| Variable | Description | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------| -| **firefox.manual.use_for_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.
**Default**: true | - -###### *HTTPS* Proxy or *SOCKS* Proxy - -> **🛈 Informations** -> -> This family builds families dynamically.\ -> **Path**: -> - firefox.manual.*https*_proxy -> - firefox.manual.*socks*_proxy\ -> `standard` *`hidden`*\ -> **Hidden**: in HTTPS case if "[Also use this proxy for HTTPS](#firefox.manual.use_for_https)" is set to "true"\ -> **Identifiers**: -> - HTTPS -> - SOCKS - -| Variable | Description | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **firefox.manual.*https*_proxy.address**
**firefox.manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | *HTTPS* or *SOCKS* address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[HTTP address](#firefox.manual.http_proxy.address)" | -| **firefox.manual.*https*_proxy.port**
**firefox.manual.*socks*_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | *HTTPS* or *SOCKS* port.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
**Default**: the value of the variable "[HTTP Port](#firefox.manual.http_proxy.port)" | -| **firefox.manual.*https*_proxy.version**
**firefox.manual.*socks*_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)**
**Disabled**: when the identifier is "HTTPS" | - -| Variable | Description | -|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **firefox.auto**
[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Automatic proxy configuration URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" hasn't the value "Automatic proxy configuration URL" | -| **firefox.no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` *`disabled`* `unique` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
• type domainname
• the domain name can starts by a dot
• the domain name can be 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**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" has the value "No proxy" | -| **firefox.prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" has the value "No proxy" | -| **firefox.proxy_dns_socks5**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `advanced` `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.
**Default**: false
**Disabled**: if "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" is not "Manual proxy configuration"
or "[SOCKS host version used by proxy](#firefox.manual.:::identifier:::_proxy.version)" is "v4" | - -##### DNS over HTTPS - -> **🛈 Informations** -> -> **Path**: firefox.dns_over_https\ -> `basic` - -| Variable | Description | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **firefox.dns_over_https.enable_dns_over_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Enable DNS over HTTPS.
**Default**: false | -| **firefox.dns_over_https.provider**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Use Provider.
**Choices**:
• Cloudflare **← (default)**
• NextDNS
• Custom
**Disabled**: when the variable "[Enable DNS over HTTPS](#firefox.dns_over_https.enable_dns_over_https)" has the value "false" | -| **firefox.dns_over_https.custom_dns_url**
[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Custom DNS URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
• must starts with 'https://' only
**Disabled**: if "[Use Provider](#firefox.dns_over_https.provider)" is not "Custom" | - -#### FoxyProxy - -> **🛈 Informations** -> -> **Path**: foxyproxy\ -> `basic` - -##### Proxy configuration - -> **🛈 Informations** -> -> This family contains lists of variable blocks.\ -> **Path**: foxyproxy.proxies\ -> `basic` - -| Variable | Description | -|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **foxyproxy.proxies.title**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` `unique` | Title or Description. | -| **foxyproxy.proxies.type**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy Type.
**Choices**:
• HTTP
• HTTPS/SSL
• SOCKS4
• SOCKS5
• PAC URL
• WPAD
• System (use system settings)
• Direct (no proxy) **← (default)** | -| **foxyproxy.proxies.color**
[`regexp`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `auto modified` | Color.
**Validator**: text based with regular expressions "^#(?:[0-9a-f]{3}){1,2}$"
**Default**: random color value | -| **foxyproxy.proxies.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | IP address, DNS name, server name.
**Validators**:
• type domainname
• the domain name can be a hostname
• the domain name can be an IP
**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`* | Port.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• private ports (greater than 49152) are allowed
**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`* | 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) `standard` *`hidden`* *`disabled`* | 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) `standard` `mandatory` *`disabled`* | URL.
**Validators**:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
**Default**: copy HTTP address if proxy is "Auto"
**Disabled**: if type is not in:
- PAC URL
- WPAD | - -### Let's generate the changelog - -```shell -rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -o doc --doc.contents changelog -``` -#### Modified variables - -| Variable | Description | -|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| -| **foxyproxy.proxies.color**
[`regexp`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `auto modified` | Color.
**Validator**: text based with regular expressions "^#(?:[0-9a-f]{3}){1,2}$"
**Default**: random color value | -| **foxyproxy.proxies.username**
~~`mandatory`~~ [`UNIX user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` *`disabled`* | Username.
**Mandatory**: ~~if a password is set~~
**Disabled**: if type not in:
- HTTP
- HTTPS/SSL
- SOCKS4
- SOCKS5 | -| **foxyproxy.proxies.password**
[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` *`hidden`* *`disabled`* | Password.
**Hidden**: if username is not defined
**Disabled**: if type not in:
- HTTP
- HTTPS/SSL
- SOCKS4
- SOCKS5 | +Each step is a separerate commit. You can navigate to history to discover different aspect to the Rougail format. +- Getting started + - [[tutorial v1.1_000] Creating a structure file](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_000/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#creating-a-structure-file) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_000~1..v1.1_000)) + - [[tutorial v1.1_001] Let’s add our first variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_001/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#let-s-add-our-first-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_001~1..v1.1_001)) + - [[tutorial v1.1_002] Describe the variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_002/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#describe-the-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_002~1..v1.1_002)) + - [[tutorial v1.1_003] Set a default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_003/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#set-a-default-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_003~1..v1.1_003)) +- A variable with a list of possible values + - [[tutorial v1.1_010] A variable with a list of possible values](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/preliminary.html#a-variable-with-a-list-of-possible-values) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010)) +- Group variables inside "families" + - [[tutorial v1.1_020] Creating a new family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#creating-a-new-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020)) + - [[tutorial v1.1_021] Or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_021/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#or-a-sub-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_021~1..v1.1_021)) + - [[tutorial v1.1_022] Putting a variable inside of a family or a sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_022/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/proxymode.html#putting-a-variable-inside-of-a-family-or-a-sub-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_022~1..v1.1_022)) +- Constrainte the value of a variable with it's type + - [[tutorial v1.1_030] A variable with type "domainname"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"domainname") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030)) + - [[tutorial v1.1_031] A variable with type's parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_031/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type's-parameters) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031)) + - [[tutorial v1.1_032] A variable with type "port"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_032/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"port") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_032~1..v1.1_032)) + - [[tutorial v1.1_033] A variable with type "boolean"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_033/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-variable-with-type-"boolean") - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_033~1..v1.1_033)) +- Define access to variable or family + - Property disabled + - [[tutorial v1.1_040] A disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_040/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-disabled-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_040~1..v1.1_040)) + - [[tutorial v1.1_041] A conditional disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_041/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-conditional-disabled-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_041~1..v1.1_041)) + - Property hidden + - [[tutorial v1.1_042] Copy HTTP manual proxy to HTTPS manual proxy](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_042/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#copy-http-manual-proxy-to-https-manual-proxy) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_042~1..v1.1_042)) + - [[tutorial v1.1_043] A conditional hidden family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_043/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-conditional-hidden-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_043~1..v1.1_043)) +- Calculated default value for a variable + - [[tutorial v1.1_050] A calculated default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/disabled.html#a-calculated-default-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050)) +- Dynamic family + - [[tutorial v1.1_060] Family: a dynamic family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_060/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/dynfam.html#family:-a-dynamic-family) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_060~1..v1.1_060)) + - [[tutorial v1.1_061] A conditional disabled variable with dynamic identifier](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_061/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/dynfam.html#a-conditional-disabled-variable-with-dynamic-identifier) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_061~1..v1.1_061)) +- Playing with Jinja + - [[tutorial v1.1_070] A conditional hidden family with Jinja](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_070/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-hidden-family-with-jinja) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_070~1..v1.1_070)) + - [[tutorial v1.1_071] Jinja with a description](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_071/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#jinja-with-a-description) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_071~1..v1.1_071)) + - [[tutorial v1.1_072] Jinja with a parameter](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_072/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#jinja-with-a-parameter) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_072~1..v1.1_072)) +- Various variables + - [[tutorial v1.1_080] A conditional disabled variable with type web_address](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_080/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-variable-with-type-web_address) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_080~1..v1.1_080)) + - [[tutorial v1.1_090] A conditional disabled variable with type domainname and parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_090/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-variable-with-type-domainname-and-parameters) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_090~1..v1.1_090)) +- Multiple variable + - [[tutorial v1.1_091] A variable with multiple value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_091/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-with-multiple-value) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_091~1..v1.1_091)) +- Mandatory + - [[tutorial v1.1_092] A non mandatory variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_092/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-non-mandatory-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_092~1..v1.1_092)) +- Extras informations for a variable + - [[tutorial v1.1_093] Examples](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_093/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#examples) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_093~1..v1.1_093)) + - [[tutorial v1.1_094] Help](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_094/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#help) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_094~1..v1.1_094)) +- Various variables + - [[tutorial v1.1_095] A conditional disabled boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_095/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-conditional-disabled-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_095~1..v1.1_095)) + - [[tutorial v1.1_096] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_096/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_096~1..v1.1_096)) + - [[tutorial v1.1_097] A Jinja conditional disabled boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_097/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-jinja-conditional-disabled-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_097~1..v1.1_097)) +- Mode + - [[tutorial v1.1_098] A variable in avanced mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_098/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-in-avanced-mode) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_098~1..v1.1_098)) +- Various variables + - [[tutorial v1.1_100] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_100/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-boolean-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_100~1..v1.1_100)) + - [[tutorial v1.1_101] A choice variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_101/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-choice-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_101~1..v1.1_101)) + - [[tutorial v1.1_102] A web_address variable ](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_102/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-web_address-variable) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_102~1..v1.1_102)) +- Validators + - [[tutorial v1.1_103] A variable with custom validation](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_103/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-with-custom-validation) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_103~1..v1.1_103)) +- Namespace + - [[tutorial v1.1_110] Namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_110/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#namespace) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_110~1..v1.1_110)) + - [[tutorial v1.1_111] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_111/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_111~1..v1.1_111)) + - [[tutorial v1.1_112] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_112/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_112~1..v1.1_112)) + - [[tutorial v1.1_113] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_113/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_113~1..v1.1_113)) + - [[tutorial v1.1_114] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_114/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_114~1..v1.1_114)) + - [[tutorial v1.1_120] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_120/README.md) ([doc](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#xxx) - [diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_120~1..v1.1_120)) diff --git a/firefox.png b/firefox.png index d368003e..050f837f 100644 Binary files a/firefox.png and b/firefox.png differ diff --git a/firefox/00-proxy.yml b/firefox/00-proxy.yml deleted file mode 100644 index 92b75f58..00000000 --- a/firefox/00-proxy.yml +++ /dev/null @@ -1,14 +0,0 @@ -%YAML 1.2 ---- -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 -... diff --git a/firefox/10-manual.yml b/firefox/10-manual.yml deleted file mode 100644 index 047ff8a3..00000000 --- a/firefox/10-manual.yml +++ /dev/null @@ -1,23 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -manual: - description: Manual proxy configuration - disabled: - 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 -... diff --git a/firefox/20-manual.yml b/firefox/20-manual.yml deleted file mode 100644 index eed0a578..00000000 --- a/firefox/20-manual.yml +++ /dev/null @@ -1,43 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -manual: - - use_for_https: true # Also use this proxy for HTTPS - - '{{ identifier }}_proxy': - description: '{{ identifier }} Proxy' - hidden: - jinja: |- - {% if my_identifier == 'HTTPS' and _.use_for_https %} - HTTPS is same has HTTP - {% endif %} - description: in HTTPS case if "_.use_for_https" is set to "true" - params: - my_identifier: - type: identifier - dynamic: - - HTTPS - - SOCKS - - address: - description: '{{ identifier }} address' - default: - variable: __.http_proxy.address - - port: - description: '{{ identifier }} port' - default: - variable: __.http_proxy.port - - version: - description: SOCKS host version used by proxy - choices: - - v4 - - v5 - default: v5 - disabled: - type: identifier - when: HTTPS -... diff --git a/firefox/30-auto.yml b/firefox/30-auto.yml deleted file mode 100644 index 50961391..00000000 --- a/firefox/30-auto.yml +++ /dev/null @@ -1,11 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -auto: - description: Automatic proxy configuration URL - type: web_address - disabled: - variable: _.proxy_mode - when_not: Automatic proxy configuration URL -... diff --git a/firefox/40-no_proxy.yml b/firefox/40-no_proxy.yml deleted file mode 100644 index 55a57242..00000000 --- a/firefox/40-no_proxy.yml +++ /dev/null @@ -1,23 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -no_proxy: - description: Address for which proxy will be desactivated - help: Connections to localhost, 127.0.0.1/8 and ::1 are never proxied - examples: - - .mozilla.org - - .net.nz - - 192.168.1.0/24 - type: domainname - params: - allow_ip: true - allow_cidr_network: true - allow_without_dot: true - allow_startswith_dot: true - multi: true - mandatory: false - disabled: - variable: _.proxy_mode - when: No proxy -... diff --git a/firefox/50-prompt_authentication.yml b/firefox/50-prompt_authentication.yml deleted file mode 100644 index 57a548e6..00000000 --- a/firefox/50-prompt_authentication.yml +++ /dev/null @@ -1,11 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -prompt_authentication: - description: Prompt for authentication if password is saved - default: true - disabled: - variable: _.proxy_mode - when: No proxy -... diff --git a/firefox/55-proxy_dns_socks5.yml b/firefox/55-proxy_dns_socks5.yml deleted file mode 100644 index 0f1a65f1..00000000 --- a/firefox/55-proxy_dns_socks5.yml +++ /dev/null @@ -1,19 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -proxy_dns_socks5: - description: Use proxy DNS when using SOCKS v5 - mode: advanced - default: false - disabled: - jinja: |- - {% if _.manual.socks_proxy.version is propertyerror %} - the proxy mode is not manual - {% elif _.manual.socks_proxy.version == 'v4' %} - socks version is v4 - {% endif %} - description: |- - if "firefox.proxy_mode" is not "Manual proxy configuration" - or "firefox.manual.socks_proxy.version" is "v4" -... diff --git a/firefox/60-dns_over_https.yml b/firefox/60-dns_over_https.yml deleted file mode 100644 index 55b37cc6..00000000 --- a/firefox/60-dns_over_https.yml +++ /dev/null @@ -1,35 +0,0 @@ -%YAML 1.2 ---- -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: - variable: _.enable_dns_over_https - when: false - - custom_dns_url: - description: Custom DNS URL - type: web_address - validators: - - jinja: |- - {% if _.custom_dns_url.startswith('http://') %} - only https is allowed - {% endif %} - description: must starts with 'https://' only - disabled: - jinja: |- - {% if _.provider is propertyerror or _.provider != 'Custom' %} - provider is not custom - {% endif %} - description: if "_.provider" is not "Custom" -... diff --git a/firefox/empty.yml b/firefox/empty.yml deleted file mode 100644 index 94a82bdc..00000000 --- a/firefox/empty.yml +++ /dev/null @@ -1,4 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 -... diff --git a/foxyproxy/00-foxyproxy.yml b/foxyproxy/00-foxyproxy.yml deleted file mode 100644 index d8cfaaaf..00000000 --- a/foxyproxy/00-foxyproxy.yml +++ /dev/null @@ -1,139 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -proxies: - description: Proxy configuration - _type: leadership - - title: - description: Title or Description - mandatory: false - - type: - description: Proxy Type - choices: - - HTTP - - HTTPS/SSL - - SOCKS4 - - SOCKS5 - - PAC URL - - WPAD - - System (use system settings) - - Direct (no proxy) - default: Direct (no proxy) - - color: - description: Color - regexp: ^#(?:[0-9a-f]{3}){1,2}$ - default: - jinja: >- - # - - {%- for i in range(6) -%} - {{- '0123456789abcdef' | random -}} - {%- endfor -%} - description: random color value - auto_save: true - - address: - description: IP address, DNS name, server name - type: domainname - params: - allow_ip: true - allow_without_dot: true - default: - jinja: >- - {% if firefox.manual.http_proxy.address is not propertyerror %} - {{ firefox.manual.http_proxy.address }} - {% endif %} - description: copy HTTP address if proxy is not "Manual" - disabled: - jinja: |- - {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} - disabled - {% endif %} - description: |- - if type not in: - - HTTP - - HTTPS/SSL - - SOCKS4 - - SOCKS5 - - port: - description: Port - type: port - default: - jinja: >- - {% if firefox.manual.http_proxy.port is not propertyerror %} - {{ firefox.manual.http_proxy.port }} - {% endif %} - description: copy HTTP port if proxy is not "Manual" - disabled: - jinja: |- - {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} - disabled - {% endif %} - description: |- - if type not in: - - HTTP - - HTTPS/SSL - - SOCKS4 - - SOCKS5 - - username: - description: Username - type: unix_user - mandatory: - jinja: |- - {% if _.password is not propertyerror and _.password %} - username is mandatory - {% endif %} - description: if a password is set - disabled: - jinja: |- - {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} - disabled - {% endif %} - description: |- - if type not in: - - HTTP - - HTTPS/SSL - - SOCKS4 - - SOCKS5 - - password: - description: Password - type: secret - mandatory: false - disabled: - jinja: |- - {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} - disabled - {% endif %} - description: |- - if type not in: - - HTTP - - HTTPS/SSL - - SOCKS4 - - SOCKS5 - - url: - description: URL - type: web_address - default: - jinja: >- - {% if firefox.auto is not propertyerror %} - {{ firefox.auto }} - {% endif %} - description: copy HTTP address if proxy is "Auto" - disabled: - jinja: |- - {% if _.type not in ['PAC URL', 'WPAD'] %} - proxy does not need url - {% endif %} - description: |- - if type is not in: - - PAC URL - - WPAD -... diff --git a/foxyproxy/10-redefine.yml b/foxyproxy/10-redefine.yml deleted file mode 100644 index aef4325b..00000000 --- a/foxyproxy/10-redefine.yml +++ /dev/null @@ -1,19 +0,0 @@ -%YAML 1.2 ---- -version: 1.1 - -proxies: - - username: - redefine: true - mandatory: false - - password: - redefine: true - hidden: - jinja: |- - {% if not _.username %} - no username defined - {% endif %} - description: if username is not defined -... diff --git a/install.txt b/install.txt deleted file mode 100644 index 7f2478c9..00000000 --- a/install.txt +++ /dev/null @@ -1,5 +0,0 @@ -git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git -cd rougail-tutorials -python -m venv venv_rougail -. venv_rougail/bin/activate -pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml diff --git a/tree.html b/tree.html deleted file mode 100644 index 5ec213db..00000000 --- a/tree.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - Directory Tree - - - -

Directory Tree

- .
- ├── firefox
- │   ├── 00-proxy.yml
- │   ├── 10-manual.yml
- │   ├── 20-manual.yml
- │   ├── 30-auto.yml
- │   ├── 40-no_proxy.yml
- │   ├── 50-prompt_authentication.yml
- │   ├── 55-proxy_dns_socks5.yml
- │   ├── 60-dns_over_https.yml
- │   └── empty.yml
- └── foxyproxy
-     ├── 00-foxyproxy.yml
-     └── 10-redefine.yml
-

- -3 directories, 11 files - -

-
-

- tree v2.2.1 © 1996 - 2024 by Steve Baker and Thomas Moore
- HTML output hacked and copyleft © 1998 by Francesc Rocher
- JSON output hacked and copyleft © 2014 by Florian Sesser
- Charsets / OS/2 support © 2001 by Kyosuke Tokoro -

- -