--- gitea: none include_toc: true --- # Tutorial description files ## all/proxy/20-auto.yml ```yaml version: 1.1 auto: description: Automatic proxy configuration URL type: web_address disabled: type: jinja jinja: | {% if _.proxy_mode != 'Automatic proxy configuration URL' %} the proxy mode is not automatic {% endif %} description: if proxy_mode is not "automatic proxy configuration URL" ``` ## all/proxy/50-proxy_dns_socks5.yml ```yaml version: 1.1 proxy_dns_socks5: mode: advanced description: Use proxy DNS when using SOCKS v5 default: false disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} the proxy mode is no proxy {% elif socks_version is undefined or socks_version == 'v4' %} socks version is v4 {% endif %} params: socks_version: type: variable variable: _.manual.socks_proxy.version propertyerror: false ``` ## all/proxy/00-proxy.yml ```yaml version: 1.1 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 ``` ## all/proxy/40-prompt_authentication.yml ```yaml version: 1.1 prompt_authentication: description: Prompt for authentication if password is saved default: true disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} proxy mode is no proxy {% endif %} description: if proxy is "no proxy" ``` ## all/proxy/60-dns_over_https.yml ```yaml version: 1.1 dns_over_https: description: DNS over HTTPS enable_dns_over_https: false # Enable DNS over HTTPS provider: description: Use Provider choices: - Cloudflare - NextDNS - Custom default: Cloudflare disabled: type: jinja jinja: | {% if not _.enable_dns_over_https %} Enable DNS over HTTPS is False {% endif %} description: if enable_dns_over_https is not False custom_dns_url: description: Custom DNS URL type: web_address disabled: type: jinja jinja: | {% if provider is not defined or provider != 'Custom' %} provider is not custom {% endif %} params: provider: type: variable variable: _.provider propertyerror: false description: if provider is Custom validators: - type: jinja jinja: | {% if _.custom_dns_url.startswith('http://') %} only https is allowed {% endif %} description: custom_dns_url must starts with 'https://' only ``` ## all/proxy/10-manual.yml ```yaml version: 1.1 manual: description: Manual proxy configuration disabled: type: jinja jinja: | {% if _.proxy_mode != 'Manual proxy configuration' %} the proxy mode is not manual {% endif %} description: if the value of "proxy.proxy_mode" is not "Manual proxy configuration" http_proxy: # HTTP Proxy address: description: HTTP address type: domainname port: description: HTTP Port type: port default: '8080' use_for_https: true # Also use this proxy for HTTPS '{{ suffix }}_proxy': description: '{{ suffix }} Proxy' type: dynamic dynamic: - HTTPS - SOCKS hidden: type: jinja jinja: | {% if suffix == 'HTTPS' and _.use_for_https %} HTTPS is same has HTTP {% endif %} params: suffix: type: suffix description: | if HTTPS is same has HTTP address: description: address type: domainname default: type: variable variable: __.http_proxy.address port: description: Port type: port default: type: variable variable: __.http_proxy.port version: description: SOCKS host version used by proxy choices: - v4 - v5 default: v5 disabled: type: jinja jinja: | {% if suffix == 'HTTPS' %} if HTTPS {% endif %} params: suffix: type: suffix description: | if not SOCKS ``` ## all/proxy/30-no_proxy.yml ```yaml version: 1.1 no_proxy: description: Address for which proxy will be desactivated type: domainname multi: true mandatory: false params: allow_ip: true allow_cidr_network: true allow_without_dot: true allow_startswith_dot: true disabled: type: jinja jinja: | {% if _.proxy_mode == 'No proxy' %} proxy mode is no proxy {% endif %} description: if proxy is "no proxy" test: - .mozilla.org - .net.nz - 192.168.1.0/24 help: Connections to localhost, 127.0.0.1/8 and ::1 are never proxied ``` ## all/foxyproxy/10-redefine.yml ```yaml version: 1.1 proxies: username: redefine: true mandatory: false password: redefine: true hidden: type: jinja jinja: | {% if not _.username %} no username defined {% endif %} description: if username is not defined ``` ## all/foxyproxy/00-foxyproxy.yml ```yaml version: 1.1 proxies: description: Proxy configuration _type: leadership title: description: Title or Description multi: true color: description: Color type: description: Type type: choice choices: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 - PAC URL - WPAD - System (use system settings) - Direct (no proxy) default: Direct (no proxy) address: description: IP address, DNS name, server name multi: true disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need address {% endif %} description: &needs_address | if type not in: - HTTP - HTTPS/SSL - SOCKS4 - SOCKS5 default: type: jinja jinja: | {% if firefox_address is not undefined %} {{ firefox_address }} {% endif %} params: firefox_address: type: variable variable: proxy.manual.http_proxy.address propertyerror: false description: copy HTTP address if proxy is not "Manual" port: description: Port type: port default: type: jinja jinja: | {% if firefox_port is not undefined %} {{ firefox_port }} {% endif %} params: firefox_port: type: variable variable: proxy.manual.http_proxy.port propertyerror: false description: copy HTTP port if proxy is not "Manual" disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need port {% endif %} description: *needs_address username: description: Username type: unix_user mandatory: type: jinja jinja: | {% if _.password %} username is mandatory {% endif %} disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need username {% endif %} description: *needs_address password: description: Password type: secret disabled: type: jinja jinja: | {% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %} proxy does not need password {% endif %} description: *needs_address url: description: URL type: web_address disabled: type: jinja jinja: | {% if _.type not in ['PAC URL', 'WPAD'] %} proxy does not need url {% endif %} description: | if type is not in: - PAC URL - WPAD ``` # Generated documentation ## Variables for "proxy" | Variable                                                                                                                                 | Description                                                                                                                              | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.proxy_mode**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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**: i
f

t
h
e

v
a
l
u
e

o
f

"
p
r
o
x
y
.
p
r
o
x
y
_
m
o
d
e
"

i
s

n
o
t

"
M
a
n
u
a
l

p
r
o
x
y

c
o
n
f
i
g
u
r
a
t
i
o
n
" | Variable                                                                                                                                 | Description                                                                                                                              | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.auto**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Automatic proxy configuration URL.
**Disabled**: i
f

p
r
o
x
y
_
m
o
d
e

i
s

n
o
t

"
a
u
t
o
m
a
t
i
c

p
r
o
x
y

c
o
n
f
i
g
u
r
a
t
i
o
n

U
R
L
" | | **proxy.no_proxy**
[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `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 only 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**: i
f

p
r
o
x
y

i
s

"
n
o

p
r
o
x
y
" | | **proxy.prompt_authentication**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Prompt for authentication if password is saved.
**Default**: True
**Disabled**: i
f

p
r
o
x
y

i
s

"
n
o

p
r
o
x
y
" | ### DNS over HTTPS `basic` | Variable                                                                                                                                 | Description                                                                                                                              | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **proxy.dns_over_https.enable_dns_over_https**
[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Enable DNS over HTTPS.
**Default**: False | | **proxy.dns_over_https.provider**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Use Provider.
**Choices**:
- Cloudflare ← (default)
- NextDNS
- Custom
**Disabled**: i
f

e
n
a
b
l
e
_
d
n
s
_
o
v
e
r
_
h
t
t
p
s

i
s

n
o
t

F
a
l
s
e | | **proxy.dns_over_https.custom_dns_url**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Custom DNS URL.
**Validators**:
- c
u
s
t
o
m
_
d
n
s
_
u
r
l

m
u
s
t

s
t
a
r
t
s

w
i
t
h

'
h
t
t
p
s
:
/
/
'

o
n
l
y
**Disabled**: i
f

p
r
o
v
i
d
e
r

i
s

C
u
s
t
o
m | ## Variables for "foxyproxy" ### Proxy configuration `basic` Cette famille contient des listes de bloc de variables. | Variable                                                                                                                    | Description                                                                                                                 | |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | **foxyproxy.proxies.title**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `unique` `multiple` | Title or Description. | | **foxyproxy.proxies.color**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | Color. | | **foxyproxy.proxies.type**
[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Type.
**Choices**:
- HTTP
- HTTPS/SSL
- SOCKS4
- SOCKS5
- PAC URL
- WPAD
- System (use system settings)
- Direct (no proxy) | | **foxyproxy.proxies.address**
[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ `multiple` | IP address, DNS name, server name.
**Default**: c
o
p
y

H
T
T
P

a
d
d
r
e
s
s

i
f

p
r
o
x
y

i
s

n
o
t

"
M
a
n
u
a
l
"
**Disabled**: i
f

t
y
p
e

n
o
t

i
n
:

-

H
T
T
P

-

H
T
T
P
S
/
S
S
L

-

S
O
C
K
S
4

-

S
O
C
K
S
5
| | **foxyproxy.proxies.port**
[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Port.
**Default**: c
o
p
y

H
T
T
P

p
o
r
t

i
f

p
r
o
x
y

i
s

n
o
t

"
M
a
n
u
a
l
"
**Disabled**: i
f

t
y
p
e

n
o
t

i
n
:

-

H
T
T
P

-

H
T
T
P
S
/
S
S
L

-

S
O
C
K
S
4

-

S
O
C
K
S
5
| | **foxyproxy.proxies.username**
[`unix_user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ | Username.
**Disabled**: i
f

t
y
p
e

n
o
t

i
n
:

-

H
T
T
P

-

H
T
T
P
S
/
S
S
L

-

S
O
C
K
S
4

-

S
O
C
K
S
5
| | **foxyproxy.proxies.password**
[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`hidden`_ _`disabled`_ | Password.
**Hidden**: i
f

u
s
e
r
n
a
m
e

i
s

n
o
t

d
e
f
i
n
e
d
**Disabled**: i
f

t
y
p
e

n
o
t

i
n
:

-

H
T
T
P

-

H
T
T
P
S
/
S
S
L

-

S
O
C
K
S
4

-

S
O
C
K
S
5
| | **foxyproxy.proxies.url**
[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | URL.
**Disabled**: i
f

t
y
p
e

i
s

n
o
t

i
n
:

-

P
A
C

U
R
L

-

W
P
A
D
| ## Exemple avec les variables obligatoires non renseignées ```yaml proxy: auto: https://example.net dns_over_https: custom_dns_url: https://example.net ``` ## Exemple avec tous les variables modifiables ```yaml proxy: proxy_mode: No proxy auto: https://example.net no_proxy: - .mozilla.org - .net.nz - 192.168.1.0/24 prompt_authentication: true dns_over_https: enable_dns_over_https: false provider: Cloudflare custom_dns_url: https://example.net foxyproxy: proxies: - title: xxx color: xxx type: Direct (no proxy) address: - None port: '8080' username: xxx password: xxx url: https://example.net ```