diff --git a/README.md b/README.md index 5f547240..94891fe8 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 v1.1_063] Examples](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_063/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_063~1..v1.1_063)) +- [[tutorial v1.1_064] Help](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_064/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_064~1..v1.1_064)) -# [tutorial v1.1_064)] Help +# [tutorial v1.1_065)] A variable -[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_064~1..v1.1_064) +[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_065~1..v1.1_065) ## Screenshot @@ -158,11 +158,28 @@ no_proxy: when: No proxy ... +``` +### firefox/50-prompt_authentication.yml + + +```yml +%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 +... + ``` ### Let's generate the documentation ```console -foo@bar:~$ git switch --detach v1.1_064 +foo@bar:~$ git switch --detach v1.1_065 foo@bar:~$ rougail -m firefox/ -o doc -do github ``` | Variable                                                                                        | Description                                                                                     | @@ -214,18 +231,19 @@ This family builds families dynamically |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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) *`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) `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "proxy_mode" has the value "No proxy" | ### Let's generate the changelog ```console -foo@bar:~$ git switch --detach v1.1_064 +foo@bar:~$ git switch --detach v1.1_065 foo@bar:~$ rougail -m firefox/ -o doc --doc.contents changelog -do github ``` -#### Modified variable +#### New variable -| Variable                                                                                                                 | Description                                                                                                              | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) *`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" | +| Variable                                                                                                      | Description                                                                                                   | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `mandatory` *`disabled`* | Prompt for authentication if password is saved.
**Default**: true
**Disabled**: when the variable "proxy_mode" has the value "No proxy" | ## User datas @@ -242,7 +260,7 @@ foo@bar:~$ rougail -m firefox/ -o doc --doc.contents changelog -do github #### Output ```console -foo@bar:~$ git switch --detach v1.1_064 +foo@bar:~$ git switch --detach v1.1_065 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/01/config.yaml ```
╭─────── Caption ────────╮
@@ -258,24 +276,36 @@ Variables:
 
 ```yml
 ---
-proxy_mode: Automatic proxy configuration URL
-auto: https://auto.proxy.net/wpad.dat
+proxy_mode: Manual proxy configuration
+manual:
+  http_proxy:
+    address: http.proxy.net
 
 ```
 #### Output
 
 ```console
-foo@bar:~$ git switch --detach v1.1_064
+foo@bar:~$ git switch --detach v1.1_065
 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/02/config.yaml
 ```
 
╭────────────── Caption ───────────────╮
-│ Variable Modified value              │
+│ Variable Default value               │
+│          Modified value              │
 │          (⏳ Original default value) │
 ╰──────────────────────────────────────╯
 Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Automatic proxy configuration URL ◀ loaded from the YAML file "config/02/config.yaml" (⏳ No proxy)
-┣━━ 📓 Automatic proxy configuration URL: https://auto.proxy.net/wpad.dat ◀ loaded from the YAML file "config/02/config.yaml"
-┗━━ 📓 Address for which proxy will be desactivated: 
+┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/02/config.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/02/config.yaml"
+┗━━ 📓 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
 
### Example 3 @@ -284,30 +314,80 @@ Variables: ```yml --- -proxy_mode: Automatic proxy configuration URL -auto: https://auto.proxy.net/wpad.dat -no_proxy: - - .example.net - - 192.168.1.0/24 +proxy_mode: Manual proxy configuration +manual: + http_proxy: + address: http.proxy.net +proxy_dns_socks5: true ``` #### Output ```console -foo@bar:~$ git switch --detach v1.1_064 +foo@bar:~$ git switch --detach v1.1_065 foo@bar:~$ rougail -m firefox/ -u yaml -ff config/03/config.yaml ``` -
╭────────────── Caption ───────────────╮
-│ Variable Modified value              │
+
🔔 WARNINGS
+┗━━ variable or family "proxy_dns_socks5" does not exist, it will be ignored when loading from the YAML file "config/03/config.yaml"
+╭────────────── Caption ───────────────╮
+│ Variable Default value               │
+│          Modified value              │
 │          (⏳ Original default value) │
 ╰──────────────────────────────────────╯
 Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Automatic proxy configuration URL ◀ loaded from the YAML file "config/03/config.yaml" (⏳ No proxy)
-┣━━ 📓 Automatic proxy configuration URL: https://auto.proxy.net/wpad.dat ◀ loaded from the YAML file "config/03/config.yaml"
-┗━━ 📓 Address for which proxy will be desactivated:
-    ┣━━ .example.net ◀ loaded from the YAML file "config/03/config.yaml"
-    ┗━━ 192.168.1.0/24 ◀ loaded from the YAML file "config/03/config.yaml"
+┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/03/config.yaml"
+┗━━ 📓 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
+
+### Example 4 + +#### config/04/config.yaml + + +```yml +--- +proxy_mode: Manual proxy configuration +manual: + http_proxy: + address: http.proxy.net + socks_proxy: + version: v4 + +``` +#### Output + +```console +foo@bar:~$ git switch --detach v1.1_065 +foo@bar:~$ rougail -m firefox/ -u yaml -ff config/04/config.yaml +``` +
╭────────────── 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.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/04/config.yaml"
+┗━━ 📓 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.yaml" (⏳ v5)
+┣━━ 📓 Address for which proxy will be desactivated: 
+┗━━ 📓 Prompt for authentication if password is saved: true
 
-- [[tutorial v1.1_065] A variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_065/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_065~1..v1.1_065)) +- [[tutorial v1.1_066] A variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_066/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_066~1..v1.1_066)) diff --git a/config/02/config.yaml b/config/02/config.yaml index 307e175b..135d8b3a 100644 --- a/config/02/config.yaml +++ b/config/02/config.yaml @@ -1,3 +1,5 @@ --- -proxy_mode: Automatic proxy configuration URL -auto: https://auto.proxy.net/wpad.dat +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 index 040a86c6..c0707f32 100644 --- a/config/02/output_ro.html +++ b/config/02/output_ro.html @@ -1,9 +1,19 @@
╭────────────── Caption ───────────────╮
-│ Variable Modified value              │
+│ Variable Default value               │
+│          Modified value              │
 │          (⏳ Original default value) │
 ╰──────────────────────────────────────╯
 Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Automatic proxy configuration URL ◀ loaded from the YAML file "config/02/config.yaml" (⏳ No proxy)
-┣━━ 📓 Automatic proxy configuration URL: https://auto.proxy.net/wpad.dat ◀ loaded from the YAML file "config/02/config.yaml"
-┗━━ 📓 Address for which proxy will be desactivated: 
+┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/02/config.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/02/config.yaml"
+┗━━ 📓 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
 
diff --git a/config/03/config.yaml b/config/03/config.yaml index 53198970..d04e72ce 100644 --- a/config/03/config.yaml +++ b/config/03/config.yaml @@ -1,6 +1,6 @@ --- -proxy_mode: Automatic proxy configuration URL -auto: https://auto.proxy.net/wpad.dat -no_proxy: - - .example.net - - 192.168.1.0/24 +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 index 01c275a7..e041954c 100644 --- a/config/03/output_ro.html +++ b/config/03/output_ro.html @@ -1,11 +1,21 @@ -
╭────────────── Caption ───────────────╮
-│ Variable Modified value              │
+
🔔 WARNINGS
+┗━━ variable or family "proxy_dns_socks5" does not exist, it will be ignored when loading from the YAML file "config/03/config.yaml"
+╭────────────── Caption ───────────────╮
+│ Variable Default value               │
+│          Modified value              │
 │          (⏳ Original default value) │
 ╰──────────────────────────────────────╯
 Variables:
-┣━━ 📓 Configure Proxy Access to the Internet: Automatic proxy configuration URL ◀ loaded from the YAML file "config/03/config.yaml" (⏳ No proxy)
-┣━━ 📓 Automatic proxy configuration URL: https://auto.proxy.net/wpad.dat ◀ loaded from the YAML file "config/03/config.yaml"
-┗━━ 📓 Address for which proxy will be desactivated:
-    ┣━━ .example.net ◀ loaded from the YAML file "config/03/config.yaml"
-    ┗━━ 192.168.1.0/24 ◀ loaded from the YAML file "config/03/config.yaml"
+┣━━ 📓 Configure Proxy Access to the Internet: Manual proxy configuration ◀ loaded from the YAML file "config/03/config.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/03/config.yaml"
+┗━━ 📓 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
 
diff --git a/config/04/config.yaml b/config/04/config.yaml new file mode 100644 index 00000000..8ceca7bc --- /dev/null +++ b/config/04/config.yaml @@ -0,0 +1,7 @@ +--- +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 new file mode 100644 index 00000000..cb68c0ff --- /dev/null +++ b/config/04/output_ro.html @@ -0,0 +1,19 @@ +
╭────────────── 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.yaml" (⏳ No proxy)
+┣━━ 📂 Manual proxy configuration
+┣━━ 📂 HTTP Proxy
+┣━━ 📓 HTTP address: http.proxy.net ◀ loaded from the YAML file "config/04/config.yaml"
+┗━━ 📓 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.yaml" (⏳ 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 16f5931c..34e6c084 100644 Binary files a/firefox.png and b/firefox.png differ