From 25a172ef57dd02757a30aa75cc71c6ffb5b8ed91 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 5 May 2026 06:53:19 +0200 Subject: [PATCH] [tutorial v1.1_083] Redefine default value in custom type variable (config and doc) --- CHANGELOG.md | 11 +++-- DOCUMENTATION.md | 18 ++++---- README.md | 94 ++++++++++++++++++++++++---------------- config/01/config.yml | 2 - config/01/output_ro.html | 9 ++-- tree.html | 16 +++---- 6 files changed, 85 insertions(+), 65 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fa309ad..1828d30a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ -# New variable +# Modified variables -| Variable | Description | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------| -| **manual.socks_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)** | +| Variable | Description | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **manual.https_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[Proxy address](#manual.http_proxy.address)". | +| **manual.https_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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~~
the value of the variable "[Proxy port](#manual.http_proxy.port)". | +| **manual.socks_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[Proxy address](#manual.http_proxy.address)". | +| **manual.socks_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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~~
the value of the variable "[Proxy port](#manual.http_proxy.port)". | diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index 7a359c80..ce6a657f 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -33,10 +33,10 @@ > *`hidden`*\ > **Hidden**: when the variable "[Also use this proxy for HTTPS](#manual.use_for_https)" has the value "true". -| Variable | Description | -|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **manual.https_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP | -| **manual.https_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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 | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **manual.https_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[Proxy address](#manual.http_proxy.address)". | +| **manual.https_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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 "[Proxy port](#manual.http_proxy.port)". | ## SOCKS Proxy @@ -44,8 +44,8 @@ > > **Path**: manual.socks_proxy -| Variable | Description | -|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **manual.socks_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP | -| **manual.socks_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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.socks_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)** | +| Variable | Description | +|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **manual.socks_proxy.address**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy address.
**Validators**:
• type domainname
• the domain name can be an IP
**Default**: the value of the variable "[Proxy address](#manual.http_proxy.address)". | +| **manual.socks_proxy.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | Proxy 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 "[Proxy port](#manual.http_proxy.port)". | +| **manual.socks_proxy.version**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` | SOCKS host version used by proxy.
**Choices**:
• v4
• v5 **← (default)** | diff --git a/README.md b/README.md index 8a8f40ab..81833602 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ - [List of all the tutorial steps](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) -- [[Previous tutorial v1.1_081] HTTPS and SOCKS Proxy with "proxy" type](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_081/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_082~1..v1.1_082)) +- [[Previous tutorial v1.1_082] Add a variable in a family with custom type](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_083~1..v1.1_083)) -# [tutorial v1.1_082] Add a variable in a family with custom type +# [tutorial v1.1_083] Redefine default value in custom type variable -- [Read the tutorial "Add a variable in a family with custom type" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/customtype.html#add-a-variable-in-a-family-with-custom-type) -- [View the changes in the files](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_082~1..v1.1_082) +- [Read the tutorial "Redefine default value in custom type variable" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/customtype.html#redefine-default-value-in-custom-type-variable) +- [View the changes in the files](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_083~1..v1.1_083) ## Screenshot @@ -26,23 +26,50 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user- Then switch to the tutorial page: ```shell -git switch --detach v1.1_082 +git switch --detach v1.1_083 ``` ## Structure

-.
- ├── firefox
- │   ├── 00-proxy.yml
- │   ├── 10-manual.yml
- │   └── 20-manual.yml
- └── types
-     └── proxy
-         └── 00-type.yml
+.
+ ├── firefox
+ │   ├── 00-proxy.yml
+ │   ├── 10-manual.yml
+ │   └── 20-manual.yml
+ └── types
+     └── proxy
+         └── 00-type.yml


-Contents of the firefox/20-manual.yml file +Contents of the types/proxy/00-type.yml type file + +```yml +%YAML 1.2 +--- +version: 1.1 + +proxy: + + address: + description: Proxy address + type: domainname + params: + allow_ip: true + default: + variable: __.http_proxy.address + + port: + description: Proxy port + type: port + default: + variable: __.http_proxy.port +... + +``` + +*** +Contents of the firefox/10-manual.yml file ```yml %YAML 1.2 @@ -50,25 +77,20 @@ Contents of the firefox/20-manual.yml file version: 1.1 manual: + description: Manual proxy configuration + disabled: + variable: _.proxy_mode + when_not: Manual proxy configuration - use_for_https: true # Also use this proxy for HTTPS - - https_proxy: - description: HTTPS Proxy - type: proxy - hidden: - variable: _.use_for_https - - socks_proxy: - description: SOCKS Proxy + http_proxy: + description: HTTP Proxy type: proxy - version: - description: SOCKS host version used by proxy - choices: - - v4 - - v5 - default: v5 + address: + default: null + + port: + default: 8080 ... ``` @@ -108,8 +130,6 @@ manual: use_for_https: false https_proxy: address: https.proxy.net - socks_proxy: - address: socks.proxy.net ``` *** @@ -134,14 +154,14 @@ Variables: - :notebook: port (Proxy port): 3128 ← loaded from the YAML file "config/01/config.yml" (:hourglass_flowing_sand: 8080) - :notebook: use_for_https (Also use this proxy for HTTPS): false ← loaded from the YAML file "config/01/config.yml" (:hourglass_flowing_sand: true) - :open_file_folder: https_proxy (HTTPS Proxy) - - :notebook: address (Proxy address): https.proxy.net ← loaded from the YAML file "config/01/config.yml" - - :notebook: port (Proxy port): 8080 + - :notebook: address (Proxy address): https.proxy.net ← loaded from the YAML file "config/01/config.yml" (:hourglass_flowing_sand: http.proxy.net) + - :notebook: port (Proxy port): 3128 - :open_file_folder: socks_proxy (SOCKS Proxy) - - :notebook: address (Proxy address): socks.proxy.net ← loaded from the YAML file "config/01/config.yml" - - :notebook: port (Proxy port): 8080 + - :notebook: address (Proxy address): http.proxy.net + - :notebook: port (Proxy port): 3128 - :notebook: version (SOCKS host version used by proxy): v5 *** -- [[Next tutorial v1.1_083] Redefine default value in custom type variable](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)) +- [[Next tutorial v1.1_084] Redefine other parameter in custom type for HTTP](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_084/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_084~1..v1.1_084)) diff --git a/config/01/config.yml b/config/01/config.yml index 06891365..84547faa 100644 --- a/config/01/config.yml +++ b/config/01/config.yml @@ -7,5 +7,3 @@ manual: use_for_https: false https_proxy: address: https.proxy.net - socks_proxy: - address: socks.proxy.net diff --git a/config/01/output_ro.html b/config/01/output_ro.html index bda4a830..0c5eaa66 100644 --- a/config/01/output_ro.html +++ b/config/01/output_ro.html @@ -17,11 +17,10 @@ Variables: the YAML file "config/01/config.yml" (⏳ true) ┣━━ 📂 https_proxy (HTTPS Proxy) ┣━━ 📓 address (Proxy address): https.proxy.net ◀ loaded from the YAML - file "config/01/config.yml" - ┗━━ 📓 port (Proxy port): 8080 + file "config/01/config.yml" (⏳ http.proxy.net) + ┗━━ 📓 port (Proxy port): 3128 ┗━━ 📂 socks_proxy (SOCKS Proxy) - ┣━━ 📓 address (Proxy address): socks.proxy.net ◀ loaded from the YAML - file "config/01/config.yml" - ┣━━ 📓 port (Proxy port): 8080 + ┣━━ 📓 address (Proxy address): http.proxy.net + ┣━━ 📓 port (Proxy port): 3128 ┗━━ 📓 version (SOCKS host version used by proxy): v5 diff --git a/tree.html b/tree.html index 26596cad..c3f72367 100644 --- a/tree.html +++ b/tree.html @@ -1,10 +1,10 @@

-.
- ├── firefox
- │   ├── 00-proxy.yml
- │   ├── 10-manual.yml
- │   └── 20-manual.yml
- └── types
-     └── proxy
-         └── 00-type.yml
+.
+ ├── firefox
+ │   ├── 00-proxy.yml
+ │   ├── 10-manual.yml
+ │   └── 20-manual.yml
+ └── types
+     └── proxy
+         └── 00-type.yml


\ No newline at end of file