15 KiB
15 KiB
[tutorial v1.1_081] Redefine variable inside type
Read the tutorial "Redefine variable inside type" in the documentation
Screenshot
Clone and install
To test this tutorial, you need to download this repository and install Rougail:
git clone -b 1.1 https://forge.cloud.silique.fr/stove/rougail-tutorials.git
cd rougail-tutorials
python -m venv venv_rougail
. venv_rougail/bin/activate
pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-yaml
Then switch to the tutorial page:
git switch --detach v1.1_081
Structure
.
├── firefox
│ ├── 00-proxy.yml
│ ├── 10-manual.yml
│ └── 20-manual.yml
└── types
└── proxy
└── 00-type.yml
Contents of the firefox/20-manual.yml file
%YAML 1.2
---
version: 1.1
manual:
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
type: proxy
version:
description: SOCKS host version used by proxy
choices:
- v4
- v5
default: v5
...
Let's generate the documentation
rougail -m firefox/ --types types/proxy -o doc
| Variable | Description |
|---|---|
proxy_modechoice 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 proxy configuration
Note
Path: manual
disabled
Disabled: when the variable "Configure Proxy Access to the Internet" hasn't the value "Manual proxy configuration".
HTTP Proxy
Note
Path: manual.http_proxy
| Variable | Description |
|---|---|
manual.http_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.http_proxy.portport 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 |
| Variable | Description |
|---|---|
manual.use_for_httpsboolean mandatory |
Also use this proxy for HTTPS. Default: true |
HTTPS Proxy
Note
Path: manual.https_proxy
hidden
Hidden: when the variable "Also use this proxy for HTTPS" has the value "true".
| Variable | Description |
|---|---|
manual.https_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.https_proxy.portport 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 |
SOCKS Proxy
Note
Path: manual.socks_proxy
| Variable | Description |
|---|---|
manual.socks_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.socks_proxy.portport 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 |
manual.socks_proxy.versionchoice mandatory |
SOCKS host version used by proxy. Choices: • v4 • v5 ← (default) |
Let's generate the changelog
rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml
New variables
| Variable | Description |
|---|---|
manual.https_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.https_proxy.portport 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 |
manual.socks_proxy.addressdomainname mandatory |
Proxy address. Validators: • type domainname • the domain name can be an IP |
manual.socks_proxy.portport 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 |
manual.socks_proxy.versionchoice mandatory |
SOCKS host version used by proxy. Choices: • v4 • v5 ← (default) |
- manual.https_proxy.address
- manual.socks_proxy.address
- manual.https_proxy.port
- manual.socks_proxy.port
- manual.socks_proxy.version
User datas
Example 1
config/01/config.yml
---
proxy_mode: Manual proxy configuration
manual:
http_proxy:
address: http.proxy.net
port: 3128
use_for_https: false
https_proxy:
address: https.proxy.net
Output
rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml
Caution
- manual (Manual proxy configuration)
- https_proxy (HTTPS Proxy)
- port (Proxy port): 🛑 mandatory variable but has no value
- socks_proxy (SOCKS Proxy)
- address (Proxy address): 🛑 mandatory variable but has no value
- port (Proxy port): 🛑 mandatory variable but has no value