From 9ca5e78812285b733159e55146cdc660e43d0b30 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sat, 2 Nov 2024 14:58:57 +0100 Subject: [PATCH] [tutorial 090] Variable in same family (config and doc) --- README.md | 146 +++++---------------------------------- config/01/config.yaml | 1 - config/01/output_ro.html | 11 --- config/02/config.yaml | 3 - config/02/output_ro.html | 12 ---- config/03/config.yaml | 5 -- config/03/output_ro.html | 6 -- config/04/config.yaml | 5 -- config/04/output_ro.html | 13 ---- 9 files changed, 18 insertions(+), 184 deletions(-) delete mode 100644 config/01/config.yaml delete mode 100644 config/01/output_ro.html delete mode 100644 config/02/config.yaml delete mode 100644 config/02/output_ro.html delete mode 100644 config/03/config.yaml delete mode 100644 config/03/output_ro.html delete mode 100644 config/04/config.yaml delete mode 100644 config/04/output_ro.html diff --git a/README.md b/README.md index f7ab59e..2c64025 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ - [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) -- [[tutorial 082] A web_address variable ](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_082/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_082~1..v1.1_082)) +- [[tutorial 083] A variable with custom validation](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_083/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_083~1..v1.1_083)) -# [tutorial 083] A variable with custom validation +# [tutorial 090] Variable in same family -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_083~1..v1.1_083) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_090~1..v1.1_090) ## Screenshot @@ -39,7 +39,7 @@ proxy_mode: manual: description: Manual proxy configuration disabled: - variable: proxy_mode + variable: _.proxy_mode when_not: 'Manual proxy configuration' http_proxy: # HTTP Proxy @@ -72,7 +72,7 @@ manual: - SOCKS hidden: jinja: | - {% if my_identifier == 'HTTPS' and manual.use_for_https %} + {% if my_identifier == 'HTTPS' and _.use_for_https %} HTTPS is same has HTTP {% endif %} params: @@ -111,7 +111,7 @@ auto: description: Automatic proxy configuration URL type: web_address disabled: - variable: proxy_mode + variable: _.proxy_mode when_not: Automatic proxy configuration URL ``` @@ -131,7 +131,7 @@ no_proxy: multi: true mandatory: false disabled: - variable: proxy_mode + variable: _.proxy_mode when: No proxy examples: - .mozilla.org @@ -149,7 +149,7 @@ prompt_authentication: description: Prompt for authentication if password is saved default: true disabled: - variable: proxy_mode + variable: _.proxy_mode when: No proxy ``` @@ -164,9 +164,9 @@ proxy_dns_socks5: mode: advanced disabled: jinja: | - {% if manual.socks_proxy.version is propertyerror %} + {% if _.manual.socks_proxy.version is propertyerror %} the proxy mode is not manual - {% elif manual.socks_proxy.version == 'v4' %} + {% elif _.manual.socks_proxy.version == 'v4' %} socks version is v4 {% endif %} description: | @@ -191,7 +191,7 @@ dns_over_https: # DNS over HTTPS - Custom default: Cloudflare disabled: - variable: dns_over_https.enable_dns_over_https + variable: _.enable_dns_over_https when: false custom_dns_url: @@ -199,7 +199,7 @@ dns_over_https: # DNS over HTTPS type: web_address disabled: jinja: | - {% if dns_over_https.provider is propertyerror or dns_over_https.provider != 'Custom' %} + {% if _.provider is propertyerror or _.provider != 'Custom' %} provider is not custom {% endif %} description: if "dns_over_https.provider" is not "Custom" @@ -226,7 +226,7 @@ foo@bar:~$ rougail -v 1.1 -m firefox/ --modes_level basic standard advanced -o d `basic` _`disabled`_ -**Disabled**: proxy_mode. +**Disabled**: when the variable "proxy_mode" hasn't the value "Manual proxy configuration". ##### HTTP Proxy @@ -260,9 +260,9 @@ This family builds families dynamically. | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Automatic proxy configuration URL.
**Disabled**: proxy_mode. | -| **no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ `unique` `multiple` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
- the domain name can starts by a dot
- the domain name can be 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**: proxy_mode. | -| **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**: proxy_mode. | +| **auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Automatic proxy configuration URL.
**Disabled**: when the variable "proxy_mode" hasn't the value "Automatic proxy configuration URL". | +| **no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ `unique` `multiple` | Address for which proxy will be desactivated.
Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.
**Validators**:
- the domain name can starts by a dot
- the domain name can be 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 "proxy_mode" has the value "No proxy". | +| **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 "proxy_mode" has the value "No proxy". | #### DNS over HTTPS @@ -271,120 +271,10 @@ This family builds families dynamically. | Variable                                                                                                                  | Description                                                                                                               | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **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 | -| **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**: dns_over_https.enable_dns_over_https. | +| **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 "dns_over_https.enable_dns_over_https" has the value "False". | | **dns_over_https.custom_dns_url**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Custom DNS URL.
**Validator**: must starts with 'https://' only.
**Disabled**: if "dns_over_https.provider" is not "Custom". | -## User data - -### Example 1 - -#### config/01/config.yaml -```yml ---- - -``` -#### Output - -```console -foo@bar:~$ rougail -v 1.1 -m firefox/ --modes_level basic standard advanced -u file -ff config/01/config.yaml -``` -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┗━━ 📓 enable_dns_over_https: False
-
-### Example 2 - -#### config/02/config.yaml - - -```yml ---- -dns_over_https: - enable_dns_over_https: true - -``` -#### Output - -```console -foo@bar:~$ rougail -v 1.1 -m firefox/ --modes_level basic standard advanced -u file -ff config/02/config.yaml -``` -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┣━━ 📓 enable_dns_over_https: True
-    ┗━━ 📓 provider: Cloudflare
-
-### Example 3 - -#### config/03/config.yaml - - -```yml ---- -dns_over_https: - enable_dns_over_https: true - provider: Custom - custom_dns_url: http://dns.net - -``` -#### Output - -```console -foo@bar:~$ rougail -v 1.1 -m firefox/ --modes_level basic standard advanced -u file -ff config/03/config.yaml -``` -
🛑 ERRORS
-┣━━ "http://dns.net" is an invalid URL for "dns_over_https.custom_dns_url (Custom DNS URL)", only https 
-is allowed
-┣━━ The following variables are mandatory but have no value:
-┗━━   - dns_over_https.custom_dns_url (Custom DNS URL)
-
-### Example 4 - -#### config/04/config.yaml - - -```yml ---- -dns_over_https: - enable_dns_over_https: true - provider: Custom - custom_dns_url: https://dns.net - -``` -#### Output - -```console -foo@bar:~$ rougail -v 1.1 -m firefox/ --modes_level basic standard advanced -u file -ff config/04/config.yaml -``` -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┣━━ 📓 enable_dns_over_https: True
-    ┣━━ 📓 provider: Custom (Cloudflare)
-    ┗━━ 📓 custom_dns_url: https://dns.net
-
- - -- [[tutorial 090] Variable in same family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_090/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_090~1..v1.1_090)) +- [[tutorial 091] Variable in parent family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_091/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_091~1..v1.1_091)) diff --git a/config/01/config.yaml b/config/01/config.yaml deleted file mode 100644 index ed97d53..0000000 --- a/config/01/config.yaml +++ /dev/null @@ -1 +0,0 @@ ---- diff --git a/config/01/output_ro.html b/config/01/output_ro.html deleted file mode 100644 index 95f9a25..0000000 --- a/config/01/output_ro.html +++ /dev/null @@ -1,11 +0,0 @@ -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┗━━ 📓 enable_dns_over_https: False
-
diff --git a/config/02/config.yaml b/config/02/config.yaml deleted file mode 100644 index aee4796..0000000 --- a/config/02/config.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dns_over_https: - enable_dns_over_https: true diff --git a/config/02/output_ro.html b/config/02/output_ro.html deleted file mode 100644 index 3850d15..0000000 --- a/config/02/output_ro.html +++ /dev/null @@ -1,12 +0,0 @@ -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┣━━ 📓 enable_dns_over_https: True
-    ┗━━ 📓 provider: Cloudflare
-
diff --git a/config/03/config.yaml b/config/03/config.yaml deleted file mode 100644 index 2497fc1..0000000 --- a/config/03/config.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -dns_over_https: - enable_dns_over_https: true - provider: Custom - custom_dns_url: http://dns.net diff --git a/config/03/output_ro.html b/config/03/output_ro.html deleted file mode 100644 index 6df626a..0000000 --- a/config/03/output_ro.html +++ /dev/null @@ -1,6 +0,0 @@ -
🛑 ERRORS
-┣━━ "http://dns.net" is an invalid URL for "dns_over_https.custom_dns_url (Custom DNS URL)", only https 
-is allowed
-┣━━ The following variables are mandatory but have no value:
-┗━━   - dns_over_https.custom_dns_url (Custom DNS URL)
-
diff --git a/config/04/config.yaml b/config/04/config.yaml deleted file mode 100644 index 7f28b0d..0000000 --- a/config/04/config.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -dns_over_https: - enable_dns_over_https: true - provider: Custom - custom_dns_url: https://dns.net diff --git a/config/04/output_ro.html b/config/04/output_ro.html deleted file mode 100644 index d297e52..0000000 --- a/config/04/output_ro.html +++ /dev/null @@ -1,13 +0,0 @@ -
╭────────────────────────── Caption ──────────────────────────╮
-│ Variable                           Default value            │
-│ Undocumented variable              Modified value           │
-│ Undocumented but modified variable (Original default value) │
-│ Unmodifiable variable                                       │
-╰─────────────────────────────────────────────────────────────╯
-Variables:
-┣━━ 📓 proxy_mode: No proxy
-┗━━ 📂 dns_over_https
-    ┣━━ 📓 enable_dns_over_https: True
-    ┣━━ 📓 provider: Custom (Cloudflare)
-    ┗━━ 📓 custom_dns_url: https://dns.net
-