---
manual:
  description: Manual proxy configuration
  disabled:
    type: variable
    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'

  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 "use_for_https" is set to True

    address:
      description: "{{ suffix }} address"
      type: domainname
      params:
        allow_ip: true
      default:
        type: variable
        variable: __.http_proxy.address

    port:
      description: "{{ suffix }} 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
