[tutorial v1.1_151] New "FoxyProxy" namespace (config and doc)

This commit is contained in:
egarette@silique.fr 2026-03-09 07:58:58 +01:00
parent 865cd3f2ea
commit 5265f0ae4a
11 changed files with 207 additions and 122 deletions

212
README.md
View file

@ -1,15 +1,15 @@
- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md) - [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
- [[tutorial v1.1_140] A variable with custom validation](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_140/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_150~1..v1.1_150)) - [[tutorial v1.1_150] Namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_151~1..v1.1_151))
# [tutorial v1.1_150] Namespace # [tutorial v1.1_151] New "FoxyProxy" namespace
[Read the tutorial "Namespace" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/jinja.html#namespace) [Read the tutorial "New "FoxyProxy" namespace" in the documentation](https://pedago.gwenaelremond.fr/bribes/rougail/tutorial/jinja.html#new-foxyproxy-namespace)
## Screenshot ## Screenshot
<img src="firefox.png" width=50% height=50% alt="Firefox Proxy setting"/> <img src="foxyproxy.png" width=50% height=50% alt="Firefox Proxy setting"/>
## Clone and install ## Clone and install
@ -29,7 +29,7 @@ pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-
Then switch to the tutorial page: Then switch to the tutorial page:
```shell ```shell
git switch --detach v1.1_150 git switch --detach v1.1_151
``` ```
## Structure ## Structure
@ -37,56 +37,29 @@ git switch --detach v1.1_150
<p> <p>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./">.</a><br/> <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./">.</a><br/>
├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/">firefox</a><br/> ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/">firefox</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/00-proxy.yml">00-proxy.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/10-manual.yml">10-manual.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/10-manual.yml">10-manual.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/20-manual.yml">20-manual.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/20-manual.yml">20-manual.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/30-auto.yml">30-auto.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/30-auto.yml">30-auto.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/40-no_proxy.yml">40-no_proxy.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/40-no_proxy.yml">40-no_proxy.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/50-prompt_authentication.yml">50-prompt_authentication.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/50-prompt_authentication.yml">50-prompt_authentication.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/55-proxy_dns_socks5.yml">55-proxy_dns_socks5.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/55-proxy_dns_socks5.yml">55-proxy_dns_socks5.yml</a><br/>
│   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/60-dns_over_https.yml">60-dns_over_https.yml</a><br/> │   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/60-dns_over_https.yml">60-dns_over_https.yml</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/">types</a><br/> ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./foxyproxy/">foxyproxy</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/proxy/">proxy</a><br/> │   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./foxyproxy/00-foxyproxy.yml">00-foxyproxy.yml</a><br/>
        └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/proxy/00_type.yml">00_type.yml</a><br/> └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/">types</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/proxy/">proxy</a><br/>
        └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/proxy/00_type.yml">00_type.yml</a><br/>
<br/><br/></p> <br/><br/></p>
Contents of the firefox/60-dns_over_https.yml file Contents of the foxyproxy/00-foxyproxy.yml file
```yml ```yml
%YAML 1.2 %YAML 1.2
--- ---
version: 1.1 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: |-
{{ _.custom_dns_url.startswith('http://') }}
return_type: boolean
description: must starts with 'https://' only
disabled:
jinja: |-
{{ _.provider is propertyerror or _.provider != 'Custom' }}
return_type: boolean
description: if "_.provider" is not "Custom"
... ...
``` ```
@ -95,7 +68,7 @@ dns_over_https: # DNS over HTTPS
### Let's generate the documentation ### Let's generate the documentation
```shell ```shell
rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard advanced -o doc rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -o doc
``` ```
#### Firefox #### Firefox
@ -180,52 +153,6 @@ rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard
| **<a id="firefox.dns_over_https.custom_dns_url" name="firefox.dns_over_https.custom_dns_url">firefox.dns_over_https.custom_dns_url</a>**<br/>[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Custom DNS URL.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;type domainname<br/>&nbsp;the domain name can be a hostname<br/>&nbsp;must starts with 'https://' only<br/>**Disabled**: if "[Use Provider](#firefox.dns_over_https.provider)" is not "Custom" | | **<a id="firefox.dns_over_https.custom_dns_url" name="firefox.dns_over_https.custom_dns_url">firefox.dns_over_https.custom_dns_url</a>**<br/>[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Custom DNS URL.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;type domainname<br/>&nbsp;the domain name can be a hostname<br/>&nbsp;must starts with 'https://' only<br/>**Disabled**: if "[Use Provider](#firefox.dns_over_https.provider)" is not "Custom" |
***
### Let's generate the changelog
```shell
rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard advanced -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml
```
#### New variables
| Variable | Description |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **<a id="firefox.proxy_mode" name="firefox.proxy_mode">firefox.proxy_mode</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Configure Proxy Access to the Internet.<br/>**Choices**: <br/>&nbsp;No proxy **← (default)**<br/>&nbsp;Auto-detect proxy settings for this network<br/>&nbsp;Use system proxy settings<br/>&nbsp;Manual proxy configuration<br/>&nbsp;Automatic proxy configuration URL |
| **<a id="firefox.manual.http_proxy.address" name="firefox.manual.http_proxy.address">firefox.manual.http_proxy.address</a>**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Proxy address.<br/>**Validators**: <br/>&nbsp;type domainname<br/>&nbsp;the domain name can be an IP |
| **<a id="firefox.manual.http_proxy.port" name="firefox.manual.http_proxy.port">firefox.manual.http_proxy.port</a>**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy port.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;private ports (greater than 49152) are allowed<br/>**Default**: 8080 |
| **<a id="firefox.manual.use_for_https" name="firefox.manual.use_for_https">firefox.manual.use_for_https</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.<br/>**Default**: true |
| **<a id="firefox.manual.https_proxy.address" name="firefox.manual.https_proxy.address">firefox.manual.https_proxy.address</a>**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy address.<br/>**Validators**: <br/>&nbsp;type domainname<br/>&nbsp;the domain name can be an IP<br/>**Default**: the value of the variable "[Proxy address](#firefox.manual.http_proxy.address)" |
| **<a id="firefox.manual.https_proxy.port" name="firefox.manual.https_proxy.port">firefox.manual.https_proxy.port</a>**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy port.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;private ports (greater than 49152) are allowed<br/>**Default**: the value of the variable "[Proxy port](#firefox.manual.http_proxy.port)" |
| **<a id="firefox.manual.socks_proxy.address" name="firefox.manual.socks_proxy.address">firefox.manual.socks_proxy.address</a>**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Proxy address.<br/>**Validators**: <br/>&nbsp;type domainname<br/>&nbsp;the domain name can be an IP |
| **<a id="firefox.manual.socks_proxy.port" name="firefox.manual.socks_proxy.port">firefox.manual.socks_proxy.port</a>**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy port.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;private ports (greater than 49152) are allowed<br/>**Default**: 8080 |
| **<a id="firefox.manual.socks_proxy.version" name="firefox.manual.socks_proxy.version">firefox.manual.socks_proxy.version</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | SOCKS host version used by proxy.<br/>**Choices**: <br/>&nbsp;v4<br/>&nbsp;v5 **← (default)** |
| **<a id="firefox.auto" name="firefox.auto">firefox.auto</a>**<br/>[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Automatic proxy configuration URL.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;type domainname<br/>&nbsp;the domain name can be a hostname<br/>**Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" hasn't the value "Automatic proxy configuration URL" |
| **<a id="firefox.no_proxy" name="firefox.no_proxy">firefox.no_proxy</a>**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `multiple` `standard` *`disabled`* `unique` | Address for which proxy will be desactivated.<br/>Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.<br/>**Validators**: <br/>&nbsp;type domainname<br/>&nbsp;the domain name can starts by a dot<br/>&nbsp;the domain name can be a hostname<br/>&nbsp;the domain name can be an IP<br/>&nbsp;the domain name can be network in CIDR format<br/>**Examples**: <br/>&nbsp;.mozilla.org<br/>&nbsp;.net.nz<br/>&nbsp;192.168.1.0/24<br/>**Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" has the value "No proxy" |
| **<a id="firefox.prompt_authentication" name="firefox.prompt_authentication">firefox.prompt_authentication</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Prompt for authentication if password is saved.<br/>**Default**: true<br/>**Disabled**: when the variable "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" has the value "No proxy" |
| **<a id="firefox.proxy_dns_socks5" name="firefox.proxy_dns_socks5">firefox.proxy_dns_socks5</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `advanced` `mandatory` *`disabled`* | Use proxy DNS when using SOCKS v5.<br/>**Default**: false<br/>**Disabled**: if "[Configure Proxy Access to the Internet](#firefox.proxy_mode)" is not "Manual proxy configuration"<br/>or "[SOCKS host version used by proxy](#firefox.manual.socks_proxy.version)" is "v4" |
| **<a id="firefox.dns_over_https.enable_dns_over_https" name="firefox.dns_over_https.enable_dns_over_https">firefox.dns_over_https.enable_dns_over_https</a>**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Enable DNS over HTTPS.<br/>**Default**: false |
| **<a id="firefox.dns_over_https.provider" name="firefox.dns_over_https.provider">firefox.dns_over_https.provider</a>**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` *`disabled`* | Use Provider.<br/>**Choices**: <br/>&nbsp;Cloudflare **← (default)**<br/>&nbsp;NextDNS<br/>&nbsp;Custom<br/>**Disabled**: when the variable "[Enable DNS over HTTPS](#firefox.dns_over_https.enable_dns_over_https)" has the value "false" |
| **<a id="firefox.dns_over_https.custom_dns_url" name="firefox.dns_over_https.custom_dns_url">firefox.dns_over_https.custom_dns_url</a>**<br/>[`web address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` *`disabled`* | Custom DNS URL.<br/>**Validators**: <br/>&nbsp;well-known ports (1 to 1023) are allowed<br/>&nbsp;registred ports (1024 to 49151) are allowed<br/>&nbsp;type domainname<br/>&nbsp;the domain name can be a hostname<br/>&nbsp;must starts with 'https://' only<br/>**Disabled**: if "[Use Provider](#firefox.dns_over_https.provider)" is not "Custom" |
#### Deleted variables
- proxy_mode
- manual.http_proxy.address
- manual.http_proxy.port
- manual.use_for_https
- manual.https_proxy.address
- manual.https_proxy.port
- manual.socks_proxy.address
- manual.socks_proxy.port
- manual.socks_proxy.version
- auto
- no_proxy
- prompt_authentication
- proxy_dns_socks5
- dns_over_https.enable_dns_over_https
- dns_over_https.provider
- dns_over_https.custom_dns_url
*** ***
## User datas ## User datas
@ -236,19 +163,55 @@ rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard
```yml ```yml
--- ---
dns_over_https:
enable_dns_over_https: true
``` ```
*** ***
#### Output #### Output
```shell ```shell
rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard advanced -u yaml -yf config/01/config.yml rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/01/config.yml
```
> [!NOTE]
>
> **Caption:**
> - Variable
> - <span style="color: #B8860B">Default value</span>
Variables:
- :open_file_folder: firefox (Firefox)
- :notebook: proxy_mode (Configure Proxy Access to the Internet): <span style="color: #B8860B">No proxy</span>
- :open_file_folder: dns_over_https (DNS over HTTPS)
- :notebook: enable_dns_over_https (Enable DNS over HTTPS): <span style="color: #B8860B">false</span>
***
### Example 2
#### config/02/config.yml
```yml
---
foxyproxy:
proxies:
- title: My company
color: '#66cc66'
type: HTTP
address: proxy.company.net
```
***
#### Output
```shell
rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/02/config.yml
``` ```
> [!WARNING] > [!WARNING]
> >
> - variable or family "dns_over_https" does not exist so cannot load "dns_over_https.enable_dns_over_https", it will be ignored when loading from the YAML file "config/01/config.yml" > - foxyproxy (FoxyProxy)
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.title", it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.color", it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.type", it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.address", it will be ignored when loading from the YAML file "config/02/config.yml"</span>
> [!NOTE] > [!NOTE]
> >
@ -263,6 +226,55 @@ Variables:
- :notebook: enable_dns_over_https (Enable DNS over HTTPS): <span style="color: #B8860B">false</span> - :notebook: enable_dns_over_https (Enable DNS over HTTPS): <span style="color: #B8860B">false</span>
*** ***
### Example 3
#### config/03/config.yml
- [[tutorial v1.1_151] New "FoxyProxy" namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_151~1..v1.1_151)) ```yml
---
firefox:
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
foxyproxy:
proxies:
- title: My company
color: '#66cc66'
type: HTTP
- title: An other company
color: '#cc66cc'
type: SOCKS5
username: my_user
password: my_password
- title: WPAD
color: '#1166cc'
type: WPAD
url: http://wpad.proxy.net/wpad.dat
```
***
#### Output
```shell
rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/03/config.yml
```
> [!CAUTION]
>
> - foxyproxy (FoxyProxy)
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.title", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.color", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.type", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.username", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.password", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - <span style='color: #EFBF04'>:bell: variable or family "proxies" does not exist so cannot load "foxyproxy.proxies.url", it will be ignored when loading from the YAML file "config/03/config.yml"</span>
> - firefox (Firefox)
> - manual (Manual proxy configuration)
> - socks_proxy (SOCKS Proxy)
> - address (Proxy address): :stop_sign: <span style="color: #C23636">mandatory variable but has no value</span>
***
- [[tutorial v1.1_160] A leadership family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_160/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_160~1..v1.1_160))

View file

@ -1 +1 @@
rougail -m firefox/ -s Firefox --types types/proxy --modes_level basic standard advanced -u yaml -yf config/01/config.yml rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/01/config.yml

View file

@ -1,3 +1 @@
--- ---
dns_over_https:
enable_dns_over_https: true

View file

@ -1,9 +1,4 @@
<pre><span style="font-weight: bold; color: #ffff00">🔔 Warning</span> <pre>╭─────── Caption ────────╮
<span style="color: #ffff00">┗━━ </span>variable or family "dns_over_https" does not exist so cannot load
<span style="color: #ffff00"> </span>"dns_over_https.enable_dns_over_https", it will be ignored when loading from
<span style="color: #ffff00"> </span>the YAML file "config/01/config.yml"
╭─────── Caption ────────╮
│ Variable <span style="color: #ffd700">Default value</span> │ Variable <span style="color: #ffd700">Default value</span>
╰────────────────────────╯ ╰────────────────────────╯
Variables: Variables:

1
config/02/cmd_ro.txt Normal file
View file

@ -0,0 +1 @@
rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/02/config.yml

7
config/02/config.yml Normal file
View file

@ -0,0 +1,7 @@
---
foxyproxy:
proxies:
- title: My company
color: '#66cc66'
type: HTTP
address: proxy.company.net

24
config/02/output_ro.html Normal file
View file

@ -0,0 +1,24 @@
<pre><span style="font-weight: bold; color: #ffff00">🔔 Warning</span>
<span style="color: #ffff00">┗━━ </span>foxyproxy (FoxyProxy)
<span style="color: #ffff00"> </span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.title", it will be ignored when loading from the YAML</span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/02/config.yml"</span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.color", it will be ignored when loading from the YAML</span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/02/config.yml"</span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.type", it will be ignored when loading from the YAML </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/02/config.yml"</span>
<span style="color: #ffff00"> </span><span style="color: #ffff00">┗━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"> </span><span style="color: #ffff00">"foxyproxy.proxies.address", it will be ignored when loading from the </span>
<span style="color: #ffff00"> </span><span style="color: #ffff00"> </span><span style="color: #ffff00">YAML file "config/02/config.yml"</span>
╭─────── Caption ────────╮
│ Variable <span style="color: #ffd700">Default value</span>
╰────────────────────────╯
Variables:
<span style="color: #5c5cff">┗━━ </span>📂 firefox (Firefox)
<span style="color: #5c5cff"> </span><span style="color: #5c5cff">┣━━ </span>📓 proxy_mode (Configure Proxy Access to the Internet): <span style="color: #ffd700">No proxy</span>
<span style="color: #5c5cff"> </span><span style="color: #5c5cff">┗━━ </span>📂 dns_over_https (DNS over HTTPS)
<span style="color: #5c5cff"> </span><span style="color: #5c5cff"> </span><span style="color: #5c5cff">┗━━ </span>📓 enable_dns_over_https (Enable DNS over HTTPS): <span style="color: #ffd700">false</span>
</pre>

1
config/03/cmd_ro.txt Normal file
View file

@ -0,0 +1 @@
rougail -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --types types/proxy --modes_level basic standard advanced -u yaml -yf config/03/config.yml

20
config/03/config.yml Normal file
View file

@ -0,0 +1,20 @@
---
firefox:
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
foxyproxy:
proxies:
- title: My company
color: '#66cc66'
type: HTTP
- title: An other company
color: '#cc66cc'
type: SOCKS5
username: my_user
password: my_password
- title: WPAD
color: '#1166cc'
type: WPAD
url: http://wpad.proxy.net/wpad.dat

25
config/03/output_ro.html Normal file
View file

@ -0,0 +1,25 @@
<pre><span style="font-weight: bold; color: #ff0000">🛑 Caution</span>
<span style="color: #ff0000">┣━━ </span>foxyproxy (FoxyProxy)
<span style="color: #ff0000"></span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.title", it will be ignored when loading from the YAML</span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/03/config.yml"</span>
<span style="color: #ff0000"></span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.color", it will be ignored when loading from the YAML</span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/03/config.yml"</span>
<span style="color: #ff0000"></span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.type", it will be ignored when loading from the YAML </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">file "config/03/config.yml"</span>
<span style="color: #ff0000"></span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.username", it will be ignored when loading from the </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">YAML file "config/03/config.yml"</span>
<span style="color: #ff0000"></span><span style="color: #ffff00">┣━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">"foxyproxy.proxies.password", it will be ignored when loading from the </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"></span><span style="color: #ffff00">YAML file "config/03/config.yml"</span>
<span style="color: #ff0000"></span><span style="color: #ffff00">┗━━ </span><span style="color: #ffff00">🔔 variable or family "proxies" does not exist so cannot load </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"> </span><span style="color: #ffff00">"foxyproxy.proxies.url", it will be ignored when loading from the YAML </span>
<span style="color: #ff0000"></span><span style="color: #ffff00"> </span><span style="color: #ffff00">file "config/03/config.yml"</span>
<span style="color: #ff0000">┗━━ </span>firefox (Firefox)
<span style="color: #ff0000"> </span><span style="color: #ff0000">┗━━ </span>manual (Manual proxy configuration)
<span style="color: #ff0000"> </span><span style="color: #ff0000"> </span><span style="color: #ff0000">┗━━ </span>socks_proxy (SOCKS Proxy)
<span style="color: #ff0000"> </span><span style="color: #ff0000"> </span><span style="color: #ff0000"> </span><span style="color: #ff0000">┗━━ </span>address (Proxy address): <span style="color: #ff0000">🛑 mandatory variable but has no value</span>
</pre>

View file

@ -1,15 +1,17 @@
<p> <p>
<a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./">.</a><br/> <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./">.</a><br/>
├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/">firefox</a><br/> ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/">firefox</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/00-proxy.yml">00-proxy.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/00-proxy.yml">00-proxy.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/10-manual.yml">10-manual.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/10-manual.yml">10-manual.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/20-manual.yml">20-manual.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/20-manual.yml">20-manual.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/30-auto.yml">30-auto.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/30-auto.yml">30-auto.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/40-no_proxy.yml">40-no_proxy.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/40-no_proxy.yml">40-no_proxy.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/50-prompt_authentication.yml">50-prompt_authentication.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/50-prompt_authentication.yml">50-prompt_authentication.yml</a><br/>
│   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/55-proxy_dns_socks5.yml">55-proxy_dns_socks5.yml</a><br/> │   ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/55-proxy_dns_socks5.yml">55-proxy_dns_socks5.yml</a><br/>
│   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./firefox/60-dns_over_https.yml">60-dns_over_https.yml</a><br/> │   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./firefox/60-dns_over_https.yml">60-dns_over_https.yml</a><br/>
└── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/">types</a><br/> ├── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./foxyproxy/">foxyproxy</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/proxy/">proxy</a><br/> │   └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./foxyproxy/00-foxyproxy.yml">00-foxyproxy.yml</a><br/>
        └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_150/./types/proxy/00_type.yml">00_type.yml</a><br/> └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/">types</a><br/>
    └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/proxy/">proxy</a><br/>
        └── <a href="https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_151/./types/proxy/00_type.yml">00_type.yml</a><br/>
<br/><br/></p> <br/><br/></p>