56 KiB
56 KiB
[tutorial 102] xxx
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 _.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: __.http_proxy.address
port:
description: "{{ identifier }} port"
default:
variable: __.http_proxy.port
version:
description: SOCKS host version used by proxy
choices:
- v4
- v5
default: v5
disabled:
type: identifier
when: 'HTTPS'
firefox/30-auto.yml
---
auto:
description: Automatic proxy configuration URL
type: web_address
disabled:
variable: _.proxy_mode
when_not: Automatic proxy configuration URL
firefox/40-no_proxy.yml
---
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
multi: true
mandatory: false
disabled:
variable: _.proxy_mode
when: No proxy
examples:
- .mozilla.org
- .net.nz
- 192.168.1.0/24
help: Connections to localhost, 127.0.0.1/8 and ::1 are never proxied
firefox/50-prompt_authentication.yml
---
prompt_authentication:
description: Prompt for authentication if password is saved
default: true
disabled:
variable: _.proxy_mode
when: No proxy
firefox/55-proxy_dns_socks5.yml
---
proxy_dns_socks5:
description: Use proxy DNS when using SOCKS v5
default: false
mode: advanced
disabled:
jinja: |
{% if _.manual.socks_proxy.version is propertyerror %}
the proxy mode is not manual
{% elif _.manual.socks_proxy.version == 'v4' %}
socks version is v4
{% endif %}
description: |
if "firefox.proxy_mode" is not "Manual proxy configuration"
or "firefox.manual.socks_proxy.version" is "v4"
firefox/60-dns_over_https.yml
---
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
disabled:
jinja: |
{% if _.provider is propertyerror or _.provider != 'Custom' %}
provider is not custom
{% endif %}
description: if "dns_over_https.provider" is not "Custom"
validators:
- jinja: |
{% if dns_over_https.custom_dns_url.startswith('http://') %}
only https is allowed
{% endif %}
description: must starts with 'https://' only
firefox/empty.yml
foxyproxy/00-foxyproxy.yml
---
proxies:
description: Proxy configuration
type: leadership
title:
description: Title or Description
mandatory: false
color:
description: Color
regexp: "^#(?:[0-9a-f]{3}){1,2}$"
auto_save: true
default:
jinja: |
#
{%- for i in range(6) -%}
{{- '0123456789abcdef' | random -}}
{%- endfor -%}
description: random color value
Generated documentation
foo@bar:~$ rougail -v 1.1 -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -o doc -do github
Variables for "firefox"
Variable | Description |
---|---|
firefox.proxy_modechoice standard 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
basic
disabled
Disabled: when the variable "firefox.proxy_mode" hasn't the value "Manual proxy configuration".
HTTP Proxy
basic
Variable | Description |
---|---|
firefox.manual.http_proxy.addressdomainname basic mandatory |
HTTP address. Validator: the domain name can be an IP |
firefox.manual.http_proxy.portport standard mandatory |
HTTP Port. Default: 8080 |
Variable | Description |
---|---|
firefox.manual.use_for_httpsboolean standard mandatory |
Also use this proxy for HTTPS. Default: True |
"HTTPS Proxy" or "SOCKS Proxy"
standard
hidden
Hidden: in HTTPS case if "manual.use_for_https" is set to True.
This family builds families dynamically.
Identifiers:
- HTTPS
- SOCKS
Variable | Description |
---|---|
firefox.manual.https_proxy.address or firefox.manual.socks_proxy.addressdomainname standard mandatory |
"HTTPS address" or "SOCKS address". Validator: the domain name can be an IP Default: the value of the variable "firefox.manual.http_proxy.address". |
firefox.manual.https_proxy.port or firefox.manual.socks_proxy.portport standard mandatory |
"HTTPS port" or "SOCKS port". Default: the value of the variable "firefox.manual.http_proxy.port". |
firefox.manual.https_proxy.version or firefox.manual.socks_proxy.versionchoice standard mandatory disabled |
SOCKS host version used by proxy. Choices: - v4 - v5 ← (default) Disabled: when the identifier is "HTTPS". |
Variable | Description |
---|---|
firefox.autoweb_address basic mandatory disabled |
Automatic proxy configuration URL. Disabled: when the variable "firefox.proxy_mode" hasn't the value "Automatic proxy configuration URL". |
firefox.no_proxydomainname standard 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 "firefox.proxy_mode" has the value "No proxy". |
firefox.prompt_authenticationboolean standard mandatory disabled |
Prompt for authentication if password is saved. Default: True Disabled: when the variable "firefox.proxy_mode" has the value "No proxy". |
DNS over HTTPS
basic
Variable | Description |
---|---|
firefox.dns_over_https.enable_dns_over_httpsboolean standard mandatory |
Enable DNS over HTTPS. Default: False |
firefox.dns_over_https.providerchoice standard mandatory disabled |
Use Provider. Choices: - Cloudflare ← (default) - NextDNS - Custom Disabled: when the variable "firefox.dns_over_https.enable_dns_over_https" has the value "False". |
firefox.dns_over_https.custom_dns_urlweb_address basic mandatory disabled |
Custom DNS URL. Validator: must starts with 'https://' only. Disabled: if "dns_over_https.provider" is not "Custom". |
Variables for "foxyproxy"
Proxy configuration
basic
This family contains lists of variable blocks.
Variable | Description |
---|---|
foxyproxy.proxies.titlestring standard unique multiple |
Title or Description. |
foxyproxy.proxies.colorregexp basic mandatory auto modified |
Color. Default: random color value. |
User data
Example 1
config/01/config.yaml
---
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -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: ┣━━ 📂 firefox ┃ ┣━━ 📓 proxy_mode: No proxy ┃ ┗━━ 📂 dns_over_https ┃ ┗━━ 📓 enable_dns_over_https: False ┗━━ 📂 foxyproxy ┗━━ 📂 proxies
Example 2
config/02/config.yaml
---
foxyproxy:
proxies:
- title: My company
color: '#66cc66'
type: HTTP
address: proxy.company.net
Output
foo@bar:~$ rougail -v 1.1 -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -u file -ff config/02/config.yaml
🛑 ERRORS ┣━━ unknown option "type" in optiondescription "foxyproxy.proxies" (Proxy configuration) ┗━━ unknown option "address" in optiondescription "foxyproxy.proxies" (Proxy configuration) ╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📂 firefox ┃ ┣━━ 📓 proxy_mode: No proxy ┃ ┗━━ 📂 dns_over_https ┃ ┗━━ 📓 enable_dns_over_https: False ┗━━ 📂 foxyproxy ┗━━ 📂 proxies ┗━━ 📂 title ┣━━ 📓 title: My company ┗━━ 📓 color: #66cc66
Example 3
config/03/config.yaml
---
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
foo@bar:~$ rougail -v 1.1 -m firefox/ -s Firefox -xn FoxyProxy -xd 0 foxyproxy/ --modes_level basic standard advanced -u file -ff config/03/config.yaml
🛑 ERRORS ┣━━ unknown option "url" in optiondescription "foxyproxy.proxies" (Proxy configuration) ┣━━ unknown option "username" in optiondescription "foxyproxy.proxies" (Proxy configuration) ┣━━ unknown option "password" in optiondescription "foxyproxy.proxies" (Proxy configuration) ┗━━ unknown option "type" in optiondescription "foxyproxy.proxies" (Proxy configuration) ╭────────────────────────── Caption ──────────────────────────╮ │ Variable Default value │ │ Undocumented variable Modified value │ │ Undocumented but modified variable (Original default value) │ │ Unmodifiable variable │ ╰─────────────────────────────────────────────────────────────╯ Variables: ┣━━ 📂 firefox ┃ ┣━━ 📓 proxy_mode: Manual proxy configuration (No proxy) ┃ ┣━━ 📂 manual ┃ ┃ ┣━━ 📂 http_proxy ┃ ┃ ┃ ┣━━ 📓 address: http.proxy.net ┃ ┃ ┃ ┗━━ 📓 port: 8080 ┃ ┃ ┣━━ 📓 use_for_https: True ┃ ┃ ┣━━ 📂 https_proxy ┃ ┃ ┃ ┣━━ 📓 address: http.proxy.net ┃ ┃ ┃ ┗━━ 📓 port: 8080 ┃ ┃ ┗━━ 📂 socks_proxy ┃ ┃ ┣━━ 📓 address: http.proxy.net ┃ ┃ ┣━━ 📓 port: 8080 ┃ ┃ ┗━━ 📓 version: v5 ┃ ┣━━ 📓 no_proxy : ┃ ┣━━ 📓 prompt_authentication: True ┃ ┣━━ 📓 proxy_dns_socks5: False ┃ ┗━━ 📂 dns_over_https ┃ ┗━━ 📓 enable_dns_over_https: False ┗━━ 📂 foxyproxy ┗━━ 📂 proxies ┣━━ 📂 title ┃ ┣━━ 📓 title: My company ┃ ┗━━ 📓 color: #66cc66 ┣━━ 📂 title ┃ ┣━━ 📓 title: An other company ┃ ┗━━ 📓 color: #cc66cc ┗━━ 📂 title ┣━━ 📓 title: WPAD ┗━━ 📓 color: #1166cc