No description
config | ||
firefox | ||
firefox.png | ||
foxyproxy.png | ||
README.md |
[tutorial 041] Variable: "shorthand" mode
Screenshot
Structure
firefox/00-proxy.yml
---
proxy_mode:
description: Configure Proxy Access to the Internet
choices:
- No proxy
- Auto-detect proxy settings for this network
- Use system proxy settings
- Manual proxy configuration
- Automatic proxy configuration URL
default: No proxy
firefox/10-manual.yml
---
manual:
description: Manual proxy configuration
disabled:
variable: proxy_mode
when_not: 'Manual proxy configuration'
http_proxy: # HTTP Proxy
address:
description: HTTP address
type: domainname
params:
allow_ip: true
port:
description: HTTP Port
type: port
default: 8080
firefox/20-manual.yml
---
manual:
use_for_https: true # Also use this proxy for HTTPS
"{{ identifier }}_proxy":
description: "{{ identifier }} Proxy"
dynamic:
- HTTPS
- SOCKS
hidden:
jinja: |
{% if my_identifier == 'HTTPS' and manual.use_for_https %}
HTTPS is same has HTTP
{% endif %}
params:
my_identifier:
type: identifier
description: |
in HTTPS case if "manual.use_for_https" is set to True
address:
description: "{{ identifier }} address"
default:
variable: manual.http_proxy.address
port:
description: "{{ identifier }} port"
default:
variable: manual.http_proxy.port
version:
description: SOCKS host version used by proxy
choices:
- v4
- v5
default: v5
disabled:
type: identifier
when: 'HTTPS'
Generated documentation
foo@bar:~$ rougail -v 1.1 -m firefox/ -o doc -do github
Variables
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
disabled
Disabled: proxy_mode.
HTTP Proxy
Variable | Description |
---|---|
manual.http_proxy.addressdomainname mandatory |
HTTP address. Validator: the domain name can be an IP |
manual.http_proxy.portport mandatory |
HTTP Port. Default: 8080 |
Variable | Description |
---|---|
manual.use_for_httpsboolean mandatory |
Also use this proxy for HTTPS. Default: True |
"HTTPS Proxy" or "SOCKS Proxy"
hidden
Hidden: in HTTPS case if "manual.use_for_https" is set to True.
This family builds families dynamically.
Identifiers:
- HTTPS
- SOCKS
Variable | Description |
---|---|
manual.https_proxy.address or manual.socks_proxy.addressdomainname mandatory |
"HTTPS address" or "SOCKS address". Validator: the domain name can be an IP Default: the value of the variable "manual.http_proxy.address". |
manual.https_proxy.port or manual.socks_proxy.portport mandatory |
"HTTPS port" or "SOCKS port". Default: the value of the variable "manual.http_proxy.port". |
manual.https_proxy.version or manual.socks_proxy.versionchoice mandatory disabled |
SOCKS host version used by proxy. Choices: - v4 - v5 ← (default) Disabled: when the identifier is "HTTPS". |
User data
Example 1
config/01/config.yaml
---
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/01/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy
Example 2
config/02/config.yaml
---
proxy_mode: No proxy
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/02/config.yaml
╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy (No proxy)
Example 3
config/03/config.yaml
---
proxy_mode: Manual proxy configuration
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/03/config.yaml
🛑 ERRORS ┣━━ The following variables are mandatory but have no value: ┣━━ - manual.http_proxy.address (HTTP address) ┗━━ - manual.socks_proxy.address (SOCKS address)
Example 4
config/04/config.yaml
---
proxy_mode: foo
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/04/config.yaml
🛑 ERRORS ┗━━ "foo" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed ╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy
Example 5
config/05/config.yaml
---
proxy_mode: 1
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -u file -ff config/05/config.yaml
🛑 ERRORS ┗━━ "1" is an invalid choice for "proxy_mode (Configure Proxy Access to the Internet)", only "Auto-detect proxy settings for this network", "Automatic proxy configuration URL", "Manual proxy configuration", "No proxy" and "Use system proxy settings" are allowed ╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┗━━ 📓 proxy_mode: No proxy