No description
Find a file
2026-03-09 09:12:40 +01:00
config [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters (config and doc) 2026-03-09 09:12:40 +01:00
firefox [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters 2026-03-09 09:12:40 +01:00
types/proxy [tutorial v1.1_080] HTTP Proxy with "proxy" type 2026-03-09 09:12:36 +01:00
firefox.png [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters (config and doc) 2026-03-09 09:12:40 +01:00
foxyproxy.png [init] Discover Rougail 2026-03-09 09:12:02 +01:00
install.txt [init] Discover Rougail 2026-03-09 09:12:02 +01:00
README.md [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters (config and doc) 2026-03-09 09:12:40 +01:00
tree.html [tutorial v1.1_100] A conditional disabled variable with type domainname and parameters (config and doc) 2026-03-09 09:12:40 +01:00

[tutorial v1.1_100] A conditional disabled variable with type domainname and parameters

Read the tutorial "A conditional disabled variable with type domainname and parameters" in the documentation

Screenshot

Firefox Proxy setting

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_100

Structure

.
├── firefox
│   ├── 00-proxy.yml
│   ├── 10-manual.yml
│   ├── 20-manual.yml
│   ├── 30-auto.yml
│   └── 40-no_proxy.yml
└── types
    └── proxy
        └── 00_type.yml


Contents of the firefox/40-no_proxy.yml file

%YAML 1.2
---
version: 1.1

no_proxy:
  description: Address for which proxy will be desactivated
  type: domainname
  params:
    allow_ip: true
    allow_cidr_network: true
    allow_without_dot: true
    allow_startswith_dot: true
  disabled:
    variable: _.proxy_mode
    when: No proxy
...


Let's generate the documentation

rougail -m firefox/ --types types/proxy -o doc
Variable Description
proxy_mode
choice 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.address
domainname mandatory
Proxy address.
Validators:
• type domainname
• the domain name can be an IP
manual.http_proxy.port
port 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.use_for_https
boolean 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.address
domainname mandatory
Proxy address.
Validators:
• type domainname
• the domain name can be an IP
Default: the value of the variable "Proxy address"
manual.https_proxy.port
port 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"
SOCKS Proxy

Note

Path: manual.socks_proxy

Variable Description
manual.socks_proxy.address
domainname mandatory
Proxy address.
Validators:
• type domainname
• the domain name can be an IP
manual.socks_proxy.port
port 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 mandatory
SOCKS host version used by proxy.
Choices:
• v4
• v5 ← (default)
Variable Description
auto
web address mandatory disabled
Automatic proxy configuration URL.
Validators:
• well-known ports (1 to 1023) are allowed
• registred ports (1024 to 49151) are allowed
• type domainname
• the domain name can be a hostname
Disabled: when the variable "Configure Proxy Access to the Internet" hasn't the value "Automatic proxy configuration URL"
no_proxy
domainname mandatory disabled
Address for which proxy will be desactivated.
Validators:
• type domainname
• 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
Disabled: when the variable "Configure Proxy Access to the Internet" has the value "No proxy"

Let's generate the changelog

rougail -m firefox/ --types types/proxy -o doc --doc.contents changelog --doc.changelog.previous_json_file previous.yml

New variable

Variable Description
no_proxy
domainname mandatory disabled
Address for which proxy will be desactivated.
Validators:
• type domainname
• 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
Disabled: when the variable "Configure Proxy Access to the Internet" has the value "No proxy"

User datas

Example 1

config/01/config.yml

---

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/01/config.yml

Note

Caption:

  • Variable
  • Default value

Variables:

  • 📓 proxy_mode (Configure Proxy Access to the Internet): No proxy

Example 2

config/02/config.yml

---
proxy_mode: Automatic proxy configuration URL
auto: https://auto.proxy.net/wpad.dat
no_proxy: 192.168.1.0/24

Output

rougail -m firefox/ --types types/proxy -u yaml -yf config/02/config.yml

Note

Caption:

  • Variable
  • Modified value
  • ( Original default value)

Variables:

  • 📓 proxy_mode (Configure Proxy Access to the Internet): Automatic proxy configuration URL ← loaded from the YAML file "config/02/config.yml" ( No proxy)
  • 📓 auto (Automatic proxy configuration URL): https://auto.proxy.net/wpad.dat ← loaded from the YAML file "config/02/config.yml"
  • 📓 no_proxy (Address for which proxy will be desactivated): 192.168.1.0/24 ← loaded from the YAML file "config/02/config.yml"