Summary
This commit is contained in:
parent
68d5cb5586
commit
ce66b82493
13 changed files with 96 additions and 690 deletions
539
README.md
539
README.md
|
@ -1,435 +1,108 @@
|
||||||
- [Summary](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/branch/1.1/README.md)
|
# Description
|
||||||
|
|
||||||
|
This tutorial shows to you an example of Rougail use on how to set a proxy in the Mozilla Firefox browser.
|
||||||
|
|
||||||
|
More precisely, this tutorial aims at reproducing this [Mozilla Firefox](https://www.mozilla.org/firefox/new/) settings page:
|
||||||
|
|
||||||
|
![Firefox Proxy setting](firefox.png)
|
||||||
|
|
||||||
|
And the integration of part of the [Firefox FoxyProxy plugin](https://addons.mozilla.org/firefox/addon/foxyproxy-standard/).
|
||||||
|
|
||||||
|
The idea is to have a namespace specific to FoxyProxy and to find in it part of the settings that we will have made in the main namespace.
|
||||||
|
|
||||||
|
This is what the page looks like:
|
||||||
|
|
||||||
|
![Foxyproxy Proxy setting](foxyproxy.png)
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# python -m venv rougail
|
||||||
|
# . rougail/bin/activate
|
||||||
|
# pip install rougail-cli rougail-output-exporter rougail-output-doc rougail-user-data-file
|
||||||
|
```
|
||||||
|
|
||||||
|
# Summary
|
||||||
|
|
||||||
|
Each step is a separerate commit. You can navigate to history to discover different aspect to the Rougail format.
|
||||||
|
|
||||||
|
- Getting started
|
||||||
|
- Structural file
|
||||||
|
- [[tutorial 000] A structured file with format version](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_000/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_000~1..v1.1_000))
|
||||||
|
- [[tutorial 001] The format version in commandline](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_001/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_001~1..v1.1_001))
|
||||||
|
- Variable: choice the proxy mode
|
||||||
|
- [[tutorial 010] A first variable with only a name](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_010/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_010~1..v1.1_010))
|
||||||
|
- [[tutorial 011] The variable description](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_011/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_011~1..v1.1_011))
|
||||||
|
- [[tutorial 012] A default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_012/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_012~1..v1.1_012))
|
||||||
|
- [[tutorial 013] A variable with type "choice"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_013/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_013~1..v1.1_013))
|
||||||
|
- [[tutorial 014] Choice type is optional](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_014/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_014~1..v1.1_014))
|
||||||
|
- Family: proxy manual
|
||||||
|
- [[tutorial 020] A family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_020/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_020~1..v1.1_020))
|
||||||
|
- [[tutorial 021] A sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_021/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_021~1..v1.1_021))
|
||||||
|
- [[tutorial 022] A variable inside sub family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_022/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_022~1..v1.1_022))
|
||||||
|
- [[tutorial 023] Family type is optional](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_023/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_023~1..v1.1_023))
|
||||||
|
- HTTP Manual mode
|
||||||
|
- Variable: type and type parameters
|
||||||
|
- [[tutorial 024] A variable with type "domainname"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_024/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_024~1..v1.1_024))
|
||||||
|
- [[tutorial 025] A variable with type's parameters](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_025/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_025~1..v1.1_025))
|
||||||
|
- [[tutorial 026] A variable with type "port"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_026/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_026~1..v1.1_026))
|
||||||
|
- Property: disabled
|
||||||
|
- [[tutorial 027] A disabled family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_027/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_027~1..v1.1_027))
|
||||||
|
- [[tutorial 028] A conditional disabled family with a variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_028/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_028~1..v1.1_028))
|
||||||
|
- [[tutorial 029] Type variable is optional](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_029/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_029~1..v1.1_029))
|
||||||
|
- HTTP proxy provides HTTPS proxy
|
||||||
|
- [[tutorial 030] A variable with type "boolean"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_030/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_030~1..v1.1_030))
|
||||||
|
- [[tutorial 031] Bases type is optional if default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_031/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_031~1..v1.1_031))
|
||||||
|
- HTTPS Manual mode
|
||||||
|
- Property: hidden
|
||||||
|
- [[tutorial 032] Copy HTTP manual proxy to HTTPS manual proxy](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_032/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_032~1..v1.1_032))
|
||||||
|
- [[tutorial 033] An hidden family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_033/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_033~1..v1.1_033))
|
||||||
|
- [[tutorial 034] A conditional hidden family with a variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_034/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_034~1..v1.1_034))
|
||||||
|
- Variable: calculated default value
|
||||||
|
- [[tutorial 035] A calculated default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_035/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_035~1..v1.1_035))
|
||||||
|
- [[tutorial 036] Variable type and parameters type are copied with default value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_036/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_036~1..v1.1_036))
|
||||||
|
- SOCKS Manual mode
|
||||||
|
- Family: dynamic
|
||||||
|
- [[tutorial 040] Family: a dynamic family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_040/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_040~1..v1.1_040))
|
||||||
|
- Property: Jinja and identifier condition
|
||||||
|
- [[tutorial 041] A conditional hidden family with Jinja](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_041/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_041~1..v1.1_041))
|
||||||
|
- [[tutorial 042] Jinja with a parameter](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_042/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_042~1..v1.1_042))
|
||||||
|
- [[tutorial 043] Jinja with a description](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_043/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_043~1..v1.1_043))
|
||||||
|
- [[tutorial 044] A conditional disabled variable with identifier](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_044/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_044~1..v1.1_044))
|
||||||
|
- Shorthand mode
|
||||||
|
- [[tutorial 050] Family: "shorthand" mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_050/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_050~1..v1.1_050))
|
||||||
|
- [[tutorial 051] Variable: "shorthand" mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_051/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_051~1..v1.1_051))
|
||||||
|
- Automatic proxy
|
||||||
|
- [[tutorial 060] A variable with type "web_address"](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_060/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_060~1..v1.1_060))
|
||||||
|
- [[tutorial 061] A conditional disabled variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_061/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_061~1..v1.1_061))
|
||||||
|
- Address for which proxy will be desactivated
|
||||||
|
- Variable: multi and non mandatory
|
||||||
|
- [[tutorial 070] A variable with type "domainname", parameters type and disabled](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_070/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_070~1..v1.1_070))
|
||||||
|
- [[tutorial 071] A variable with multiple value](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_071/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_071~1..v1.1_071))
|
||||||
|
- [[tutorial 072] A non mandatory variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_072/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_072~1..v1.1_072))
|
||||||
|
- Variable: extra description
|
||||||
|
- [[tutorial 073] Examples](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_073/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_073~1..v1.1_073))
|
||||||
|
- [[tutorial 074] Help](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_074/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_074~1..v1.1_074))
|
||||||
|
- Prompt for authentication if password is saved
|
||||||
|
- [[tutorial 075] A variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_075/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_075~1..v1.1_075))
|
||||||
|
- Use proxy DNS when using SOCKS v5
|
||||||
|
- [[tutorial 076] A variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_076/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_076~1..v1.1_076))
|
||||||
|
- [[tutorial 077] Jinja calculation for an hidden variable with a potential inaccessible varible](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_077/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_077~1..v1.1_077))
|
||||||
|
- [[tutorial 078] A variable in avanced mode](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_078/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_078~1..v1.1_078))
|
||||||
|
- DNS over HTTPS
|
||||||
|
- [[tutorial 080] A boolean variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_080/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_080~1..v1.1_080))
|
||||||
|
- [[tutorial 081] A choice variable](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_081/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_081~1..v1.1_081))
|
||||||
|
- [[tutorial 082] A web_address variable ](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_082/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_082~1..v1.1_082))
|
||||||
|
- [[tutorial 083] A variable with custom validation](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_083/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_083~1..v1.1_083))
|
||||||
|
- Namespace
|
||||||
|
- Relative path
|
||||||
|
- [[tutorial 090] Variable in same family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_090/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_090~1..v1.1_090))
|
||||||
|
- [[tutorial 091] Variable in parent family](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_091/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_091~1..v1.1_091))
|
||||||
|
- [[tutorial 092] Namespace](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_092/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_092~1..v1.1_092))
|
||||||
|
- [[tutorial 100] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_100/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_100~1..v1.1_100))
|
||||||
|
- [[tutorial 101] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_101/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_101~1..v1.1_101))
|
||||||
|
- [[tutorial 102] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_102/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_102~1..v1.1_102))
|
||||||
|
- [[tutorial 103] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_103/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_103~1..v1.1_103))
|
||||||
- [[tutorial 104] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_104/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_104~1..v1.1_104))
|
- [[tutorial 104] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_104/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_104~1..v1.1_104))
|
||||||
|
- [[tutorial 110] xxx](https://forge.cloud.silique.fr/stove/rougail-tutorials/src/commit/v1.1_110/README.md) ([diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_110~1..v1.1_110))
|
||||||
# [tutorial 110] xxx
|
|
||||||
|
|
||||||
[View the diff](https://forge.cloud.silique.fr/stove/rougail-tutorials/compare/v1.1_110~1..v1.1_110)
|
|
||||||
|
|
||||||
|
|
||||||
## Screenshot
|
|
||||||
|
|
||||||
|
|
||||||
<img src="firefox.png" width=50% height=50% alt="Firefox Proxy setting"/>
|
|
||||||
|
|
||||||
|
|
||||||
## Structure
|
|
||||||
|
|
||||||
|
|
||||||
### firefox/00-proxy.yml
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```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
|
|
||||||
|
|
||||||
|
|
||||||
```yml
|
|
||||||
|
|
||||||
```
|
|
||||||
### foxyproxy/00-foxyproxy.yml
|
|
||||||
|
|
||||||
|
|
||||||
```yml
|
|
||||||
---
|
|
||||||
proxies:
|
|
||||||
description: Proxy configuration
|
|
||||||
_type: leadership
|
|
||||||
|
|
||||||
title:
|
|
||||||
description: Title or Description
|
|
||||||
mandatory: false
|
|
||||||
|
|
||||||
type:
|
|
||||||
description: Proxy Type
|
|
||||||
choices:
|
|
||||||
- HTTP
|
|
||||||
- HTTPS/SSL
|
|
||||||
- SOCKS4
|
|
||||||
- SOCKS5
|
|
||||||
- PAC URL
|
|
||||||
- WPAD
|
|
||||||
- System (use system settings)
|
|
||||||
- Direct (no proxy)
|
|
||||||
default: Direct (no proxy)
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
address:
|
|
||||||
description: IP address, DNS name, server name
|
|
||||||
type: domainname
|
|
||||||
params:
|
|
||||||
allow_ip: true
|
|
||||||
allow_without_dot: true
|
|
||||||
disabled: &needs_address
|
|
||||||
jinja: |
|
|
||||||
{% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %}
|
|
||||||
disabled
|
|
||||||
{% endif %}
|
|
||||||
description: |
|
|
||||||
if type not in:
|
|
||||||
- HTTP
|
|
||||||
- HTTPS/SSL
|
|
||||||
- SOCKS4
|
|
||||||
- SOCKS5
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.manual.http_proxy.address is not propertyerror %}
|
|
||||||
{{ firefox.manual.http_proxy.address }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP address if proxy is not "Manual"
|
|
||||||
|
|
||||||
port:
|
|
||||||
description: Port
|
|
||||||
type: port
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.manual.http_proxy.port is not propertyerror %}
|
|
||||||
{{ firefox.manual.http_proxy.port }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP port if proxy is not "Manual"
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
username:
|
|
||||||
description: Username
|
|
||||||
type: unix_user
|
|
||||||
mandatory:
|
|
||||||
jinja: |
|
|
||||||
{% if _.password is not propertyerror and _.password %}
|
|
||||||
username is mandatory
|
|
||||||
{% endif %}
|
|
||||||
description: if a password is set
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
password:
|
|
||||||
description: Password
|
|
||||||
type: secret
|
|
||||||
mandatory: false
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
url:
|
|
||||||
description: URL
|
|
||||||
type: web_address
|
|
||||||
disabled:
|
|
||||||
jinja: |
|
|
||||||
{% if _.type not in ['PAC URL', 'WPAD'] %}
|
|
||||||
proxy does not need url
|
|
||||||
{% endif %}
|
|
||||||
description: |
|
|
||||||
if type is not in:
|
|
||||||
- PAC URL
|
|
||||||
- WPAD
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.auto is not propertyerror %}
|
|
||||||
{{ firefox.auto }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP address if proxy is "Auto"
|
|
||||||
|
|
||||||
```
|
|
||||||
### foxyproxy/10-redefine.yml
|
|
||||||
|
|
||||||
|
|
||||||
```yml
|
|
||||||
---
|
|
||||||
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
|
|
||||||
|
|
||||||
```
|
|
||||||
### Generated documentation
|
|
||||||
|
|
||||||
```console
|
|
||||||
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_mode**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Configure Proxy Access to the Internet.<br/>**Choices**: <br/>- No proxy ← (default)<br/>- Auto-detect proxy settings for this network<br/>- Use system proxy settings<br/>- Manual proxy configuration<br/>- 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.address**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` | HTTP address.<br/>**Validator**: the domain name can be an IP |
|
|
||||||
| **firefox.manual.http_proxy.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | HTTP Port.<br/>**Default**: 8080 |
|
|
||||||
|
|
||||||
| Variable | Description |
|
|
||||||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| **firefox.manual.use_for_https**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Also use this proxy for HTTPS.<br/>**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**: <br/>- HTTPS<br/>- SOCKS
|
|
||||||
|
|
||||||
| Variable | Description |
|
|
||||||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| **firefox.manual.https_proxy.address** or **firefox.manual.socks_proxy.address**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | "*HTTPS* address" or "*SOCKS* address".<br/>**Validator**: the domain name can be an IP<br/>**Default**: the value of the variable "firefox.manual.http_proxy.address". |
|
|
||||||
| **firefox.manual.https_proxy.port** or **firefox.manual.socks_proxy.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | "*HTTPS* port" or "*SOCKS* port".<br/>**Default**: the value of the variable "firefox.manual.http_proxy.port". |
|
|
||||||
| **firefox.manual.https_proxy.version** or **firefox.manual.socks_proxy.version**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | SOCKS host version used by proxy.<br/>**Choices**: <br/>- v4<br/>- v5 ← (default)<br/>**Disabled**: when the identifier is "HTTPS". |
|
|
||||||
|
|
||||||
| Variable | Description |
|
|
||||||
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
| **firefox.auto**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Automatic proxy configuration URL.<br/>**Disabled**: when the variable "firefox.proxy_mode" hasn't the value "Automatic proxy configuration URL". |
|
|
||||||
| **firefox.no_proxy**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ `unique` `multiple` | Address for which proxy will be desactivated.<br/>Connections to localhost, 127.0.0.1/8 and ::1 are never proxied.<br/>**Validators**:<br/>- the domain name can starts by a dot<br/>- the domain name can be a hostname<br/>- the domain name can be an IP<br/>- the domain name can be network in CIDR format<br/>**Examples**: <br/>- .mozilla.org<br/>- .net.nz<br/>- 192.168.1.0/24<br/>**Disabled**: when the variable "firefox.proxy_mode" has the value "No proxy". |
|
|
||||||
| **firefox.prompt_authentication**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Prompt for authentication if password is saved.<br/>**Default**: True<br/>**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_https**<br/>[`boolean`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Enable DNS over HTTPS.<br/>**Default**: False |
|
|
||||||
| **firefox.dns_over_https.provider**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Use Provider.<br/>**Choices**: <br/>- Cloudflare ← (default)<br/>- NextDNS<br/>- Custom<br/>**Disabled**: when the variable "firefox.dns_over_https.enable_dns_over_https" has the value "False". |
|
|
||||||
| **firefox.dns_over_https.custom_dns_url**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` _`disabled`_ | Custom DNS URL.<br/>**Validator**: must starts with 'https://' only.<br/>**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.title**<br/>[`string`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `unique` `multiple` | Title or Description. |
|
|
||||||
| **foxyproxy.proxies.type**<br/>[`choice`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` | Proxy Type.<br/>**Choices**: <br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5<br/>- PAC URL<br/>- WPAD<br/>- System (use system settings)<br/>- Direct (no proxy) ← (default) |
|
|
||||||
| **foxyproxy.proxies.color**<br/>[`regexp`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `basic` `mandatory` `auto modified` | Color.<br/>**Default**: random color value. |
|
|
||||||
| **foxyproxy.proxies.address**<br/>[`domainname`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | IP address, DNS name, server name.<br/>**Validators**:<br/>- the domain name can be a hostname<br/>- the domain name can be an IP<br/>**Default**: copy HTTP address if proxy is not "Manual".<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5. |
|
|
||||||
| **foxyproxy.proxies.port**<br/>[`port`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | Port.<br/>**Default**: copy HTTP port if proxy is not "Manual".<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5. |
|
|
||||||
| **foxyproxy.proxies.username**<br/>[`unix_user`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`disabled`_ | Username.<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5. |
|
|
||||||
| **foxyproxy.proxies.password**<br/>[`secret`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` _`hidden`_ _`disabled`_ | Password.<br/>**Hidden**: if username is not defined.<br/>**Disabled**: if type not in:<br/>- HTTP<br/>- HTTPS/SSL<br/>- SOCKS4<br/>- SOCKS5. |
|
|
||||||
| **foxyproxy.proxies.url**<br/>[`web_address`](https://rougail.readthedocs.io/en/latest/variable.html#variables-types) `standard` `mandatory` _`disabled`_ | URL.<br/>**Default**: copy HTTP address if proxy is "Auto".<br/>**Disabled**: if type is not in:<br/>- PAC URL<br/>- WPAD. |
|
|
||||||
|
|
||||||
|
|
||||||
|
|
BIN
firefox.png
BIN
firefox.png
Binary file not shown.
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 123 KiB |
|
@ -1,10 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
|
@ -1,19 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
|
@ -1,40 +0,0 @@
|
||||||
---
|
|
||||||
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'
|
|
|
@ -1,7 +0,0 @@
|
||||||
---
|
|
||||||
auto:
|
|
||||||
description: Automatic proxy configuration URL
|
|
||||||
type: web_address
|
|
||||||
disabled:
|
|
||||||
variable: _.proxy_mode
|
|
||||||
when_not: Automatic proxy configuration URL
|
|
|
@ -1,19 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
|
@ -1,7 +0,0 @@
|
||||||
---
|
|
||||||
prompt_authentication:
|
|
||||||
description: Prompt for authentication if password is saved
|
|
||||||
default: true
|
|
||||||
disabled:
|
|
||||||
variable: _.proxy_mode
|
|
||||||
when: No proxy
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
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"
|
|
|
@ -1,31 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
|
@ -1,104 +0,0 @@
|
||||||
---
|
|
||||||
proxies:
|
|
||||||
description: Proxy configuration
|
|
||||||
_type: leadership
|
|
||||||
|
|
||||||
title:
|
|
||||||
description: Title or Description
|
|
||||||
mandatory: false
|
|
||||||
|
|
||||||
type:
|
|
||||||
description: Proxy Type
|
|
||||||
choices:
|
|
||||||
- HTTP
|
|
||||||
- HTTPS/SSL
|
|
||||||
- SOCKS4
|
|
||||||
- SOCKS5
|
|
||||||
- PAC URL
|
|
||||||
- WPAD
|
|
||||||
- System (use system settings)
|
|
||||||
- Direct (no proxy)
|
|
||||||
default: Direct (no proxy)
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
address:
|
|
||||||
description: IP address, DNS name, server name
|
|
||||||
type: domainname
|
|
||||||
params:
|
|
||||||
allow_ip: true
|
|
||||||
allow_without_dot: true
|
|
||||||
disabled: &needs_address
|
|
||||||
jinja: |
|
|
||||||
{% if _.type not in ['HTTP', 'HTTPS/SSL', 'SOCKS4', 'SOCKS5'] %}
|
|
||||||
disabled
|
|
||||||
{% endif %}
|
|
||||||
description: |
|
|
||||||
if type not in:
|
|
||||||
- HTTP
|
|
||||||
- HTTPS/SSL
|
|
||||||
- SOCKS4
|
|
||||||
- SOCKS5
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.manual.http_proxy.address is not propertyerror %}
|
|
||||||
{{ firefox.manual.http_proxy.address }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP address if proxy is not "Manual"
|
|
||||||
|
|
||||||
port:
|
|
||||||
description: Port
|
|
||||||
type: port
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.manual.http_proxy.port is not propertyerror %}
|
|
||||||
{{ firefox.manual.http_proxy.port }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP port if proxy is not "Manual"
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
username:
|
|
||||||
description: Username
|
|
||||||
type: unix_user
|
|
||||||
mandatory:
|
|
||||||
jinja: |
|
|
||||||
{% if _.password is not propertyerror and _.password %}
|
|
||||||
username is mandatory
|
|
||||||
{% endif %}
|
|
||||||
description: if a password is set
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
password:
|
|
||||||
description: Password
|
|
||||||
type: secret
|
|
||||||
mandatory: false
|
|
||||||
disabled: *needs_address
|
|
||||||
|
|
||||||
url:
|
|
||||||
description: URL
|
|
||||||
type: web_address
|
|
||||||
disabled:
|
|
||||||
jinja: |
|
|
||||||
{% if _.type not in ['PAC URL', 'WPAD'] %}
|
|
||||||
proxy does not need url
|
|
||||||
{% endif %}
|
|
||||||
description: |
|
|
||||||
if type is not in:
|
|
||||||
- PAC URL
|
|
||||||
- WPAD
|
|
||||||
default:
|
|
||||||
jinja: |
|
|
||||||
{% if firefox.auto is not propertyerror %}
|
|
||||||
{{ firefox.auto }}
|
|
||||||
{% endif %}
|
|
||||||
description: copy HTTP address if proxy is "Auto"
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
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
|
|
Loading…
Reference in a new issue