diff --git a/README.md b/README.md index 6ba1aaff..f7589894 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ - [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) -- [[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) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_097~1..v1.1_097)) +- [[tutorial v1.1_098] A variable in avanced mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_098/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_098~1..v1.1_098)) -# [tutorial v1.1_098)] A variable in avanced mode +# [tutorial v1.1_100)] A boolean variable -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_098~1..v1.1_098) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_100~1..v1.1_100) -[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-variable-in-avanced-mode) +[Read the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/calculation.html#a-boolean-variable) ## Screenshot @@ -31,7 +31,7 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user- Then switch to the tutorial page: ```shell -git switch --detach v1.1_098 +git switch --detach v1.1_100 ``` ## Structure @@ -39,38 +39,28 @@ git switch --detach v1.1_098

-.
- └── 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
+.
+ └── 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


-Contents of the firefox/55-proxy_dns_socks5.yml file +Contents of the firefox/60-dns_over_https.yml file ```yml %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" +dns_over_https: # DNS over HTTPS + + enable_dns_over_https: false # Enable DNS over HTTPS ... ``` @@ -132,27 +122,26 @@ This family builds families dynamically | **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 "firefox.proxy_mode" is not "Manual proxy configuration" or "firefox.manual.socks_proxy.version" is "v4" | +#### DNS over HTTPS + +**dns_over_https** + +`standard` + +| 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 | + ### Let's generate the changelog ```shell rougail -m firefox/ --modes_level basic standard advanced -o doc --doc.contents changelog ``` -#### Modified variables +#### New variable -| Variable                                                                                                                                       | Description                                                                                                                                    | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **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.http_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.
**Validator**: the domain name can be an IP | -| **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 | -| **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 | -| **manual.*https*_proxy.address**
**manual.*socks*_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | *HTTPS* or *SOCKS* address.
**Validator**: the domain name can be an IP
**Default**: the value of the variable "manual.http_proxy.address" | -| **manual.*https*_proxy.port**
**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 "manual.http_proxy.port" | -| **manual.*https*_proxy.version**
**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" | -| **auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Automatic proxy configuration URL.
**Validator**: the domain name in web address can be only a hostname
**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" | -| **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 "firefox.proxy_mode" is not "Manual proxy configuration" -or "firefox.manual.socks_proxy.version" is "v4" | +| 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 | ## User datas @@ -174,121 +163,10 @@ rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/01/ │ Variable Default value │ ╰────────────────────────╯ Variables: -┗━━ 📓 Configure Proxy Access to the Internet: No proxy - -### Example 2 - -#### config/02/config.yml - - -```yml ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net -``` -#### Output - -```shell -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/02/config.yml -``` -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/02/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/02/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v5
-┣━━ 📓 Address for which proxy will be desactivated: 
-┣━━ 📓 Prompt for authentication if password is saved: true
-┗━━ 📓 Use proxy DNS when using SOCKS v5: false
-
-### Example 3 - -#### config/03/config.yml - - -```yml ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net -proxy_dns_socks5: true -``` -#### Output - -```shell -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/03/config.yml -``` -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/03/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v5
-┣━━ 📓 Address for which proxy will be desactivated: 
-┣━━ 📓 Prompt for authentication if password is saved: true
-┗━━ 📓 Use proxy DNS when using SOCKS v5: true ◀ loaded from the YAML file "config/03/config.yml" (⏳ false)
-
-### Example 4 - -#### config/04/config.yml - - -```yml ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net - socks_proxy: - version: v4 -``` -#### Output - -```shell -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/04/config.yml -``` -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/04/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/04/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v4 ◀ loaded from the YAML file "config/04/config.yml" (⏳ v5)
-┣━━ 📓 Address for which proxy will be desactivated: 
-┗━━ 📓 Prompt for authentication if password is saved: true
+┣━━ 📓 Configure Proxy Access to the Internet: No proxy
+┗━━ 📂 DNS over HTTPS
+    ┗━━ 📓 Enable DNS over HTTPS: false
 
-- [[tutorial v1.1_100] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_100/README.md) ([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) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_101~1..v1.1_101)) diff --git a/config/01/output_ro.html b/config/01/output_ro.html index ea9c2266..045443cb 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -2,5 +2,7 @@ │ Variable Default value │ ╰────────────────────────╯ Variables: -┗━━ 📓 Configure Proxy Access to the Internet: No proxy +┣━━ 📓 Configure Proxy Access to the Internet: No proxy +┗━━ 📂 DNS over HTTPS + ┗━━ 📓 Enable DNS over HTTPS: false diff --git a/config/02/cmd_ro.txt b/config/02/cmd_ro.txt deleted file mode 100644 index b9994d96..00000000 --- a/config/02/cmd_ro.txt +++ /dev/null @@ -1 +0,0 @@ -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/02/config.yml \ No newline at end of file diff --git a/config/02/config.yml b/config/02/config.yml deleted file mode 100644 index 135d8b3a..00000000 --- a/config/02/config.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net diff --git a/config/02/output_ro.html b/config/02/output_ro.html deleted file mode 100644 index 47357d58..00000000 --- a/config/02/output_ro.html +++ /dev/null @@ -1,20 +0,0 @@ -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/02/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/02/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v5
-┣━━ 📓 Address for which proxy will be desactivated: 
-┣━━ 📓 Prompt for authentication if password is saved: true
-┗━━ 📓 Use proxy DNS when using SOCKS v5: false
-
diff --git a/config/03/cmd_ro.txt b/config/03/cmd_ro.txt deleted file mode 100644 index 0c8e9046..00000000 --- a/config/03/cmd_ro.txt +++ /dev/null @@ -1 +0,0 @@ -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/03/config.yml \ No newline at end of file diff --git a/config/03/config.yml b/config/03/config.yml deleted file mode 100644 index d04e72ce..00000000 --- a/config/03/config.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net -proxy_dns_socks5: true diff --git a/config/03/output_ro.html b/config/03/output_ro.html deleted file mode 100644 index 4910cdca..00000000 --- a/config/03/output_ro.html +++ /dev/null @@ -1,20 +0,0 @@ -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/03/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v5
-┣━━ 📓 Address for which proxy will be desactivated: 
-┣━━ 📓 Prompt for authentication if password is saved: true
-┗━━ 📓 Use proxy DNS when using SOCKS v5: true ◀ loaded from the YAML file "config/03/config.yml" (⏳ false)
-
diff --git a/config/04/cmd_ro.txt b/config/04/cmd_ro.txt deleted file mode 100644 index 84818e51..00000000 --- a/config/04/cmd_ro.txt +++ /dev/null @@ -1 +0,0 @@ -rougail -m firefox/ --modes_level basic standard advanced -u yaml -yf config/04/config.yml \ No newline at end of file diff --git a/config/04/config.yml b/config/04/config.yml deleted file mode 100644 index 8ceca7bc..00000000 --- a/config/04/config.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -proxy_mode: Manual proxy configuration -manual: - http_proxy: - address: http.proxy.net - socks_proxy: - version: v4 diff --git a/config/04/output_ro.html b/config/04/output_ro.html deleted file mode 100644 index ad69d5e7..00000000 --- a/config/04/output_ro.html +++ /dev/null @@ -1,19 +0,0 @@ -
╭────────────── Caption ───────────────╮
-│ Variable Default value               │
-│          Modified value              │
-│          (⏳ Original default value) │
-╰──────────────────────────────────────╯
-Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/04/config.yml" (⏳ No proxy)
-┣━━ 📂 Manual proxy configuration
-┣━━ 📂 HTTP Proxy
-┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/04/config.yml"
-┗━━ 📓 HTTP Port: 8080
-┣━━ 📓 Also use this proxy for HTTPS: true
-┗━━ 📂 SOCKS Proxy
-    ┣━━ 📓 SOCKS address: http.proxy.net
-    ┣━━ 📓 SOCKS port: 8080
-    ┗━━ 📓 SOCKS host version used by proxy: v4 ◀ loaded from the YAML file "config/04/config.yml" (⏳ v5)
-┣━━ 📓 Address for which proxy will be desactivated: 
-┗━━ 📓 Prompt for authentication if password is saved: true
-
diff --git a/firefox.png b/firefox.png index 34e6c084..d368003e 100644 Binary files a/firefox.png and b/firefox.png differ diff --git a/tree.html b/tree.html index bea9b911..aee83da1 100644 --- a/tree.html +++ b/tree.html @@ -25,18 +25,19 @@

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
+ .
+ └── 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


-2 directories, 7 files +2 directories, 8 files