From ab33e6702f3568cc5d5c308d2698478edd404e1f Mon Sep 17 00:00:00 2001 From: macm1 Date: Sun, 22 Feb 2026 19:54:51 +0300 Subject: [PATCH] added proxy configuration to haos addon config ui --- openclaw_assistant/config.yaml | 6 +++++- openclaw_assistant/run.sh | 15 +++++++++++++++ openclaw_assistant/translations/bg.yaml | 4 ++++ openclaw_assistant/translations/de.yaml | 4 ++++ openclaw_assistant/translations/en.yaml | 4 ++++ openclaw_assistant/translations/es.yaml | 4 ++++ openclaw_assistant/translations/pl.yaml | 4 ++++ openclaw_assistant/translations/pt-BR.yaml | 4 ++++ 8 files changed, 44 insertions(+), 1 deletion(-) diff --git a/openclaw_assistant/config.yaml b/openclaw_assistant/config.yaml index 1980103..3a04bf9 100644 --- a/openclaw_assistant/config.yaml +++ b/openclaw_assistant/config.yaml @@ -41,6 +41,10 @@ options: # Optional: Home Assistant long-lived token (for local HA API scripts/tools) homeassistant_token: "" + # Optional: outbound HTTP/HTTPS proxy for OpenClaw network access. + # Example: "http://192.168.2.1:3128" + http_proxy: "" + # Optional: Router SSH defaults (leave empty if you don't need router automation) # This is a generic SSH configuration intended for a router/firewall or any network device # reachable from inside the HA host LAN. @@ -91,6 +95,7 @@ schema: terminal_port: int(1024,65535)? gateway_public_url: str? homeassistant_token: str? + http_proxy: str? router_ssh_host: str router_ssh_user: str @@ -104,4 +109,3 @@ schema: enable_openai_api: bool? allow_insecure_auth: bool? force_ipv4_dns: bool? - diff --git a/openclaw_assistant/run.sh b/openclaw_assistant/run.sh index c017d65..d425437 100644 --- a/openclaw_assistant/run.sh +++ b/openclaw_assistant/run.sh @@ -20,6 +20,7 @@ fi TZNAME=$(jq -r '.timezone // "Europe/Sofia"' "$OPTIONS_FILE") GW_PUBLIC_URL=$(jq -r '.gateway_public_url // empty' "$OPTIONS_FILE") HA_TOKEN=$(jq -r '.homeassistant_token // empty' "$OPTIONS_FILE") +ADDON_HTTP_PROXY=$(jq -r '.http_proxy // empty' "$OPTIONS_FILE") ENABLE_TERMINAL=$(jq -r '.enable_terminal // true' "$OPTIONS_FILE") TERMINAL_PORT_RAW=$(jq -r '.terminal_port // 7681' "$OPTIONS_FILE") @@ -57,6 +58,20 @@ export TZ="$TZNAME" # Reduce risk of secrets ending up in logs set +x +# Optional outbound proxy from add-on settings. +# If set, apply it to both HTTP and HTTPS for Node/undici/OpenClaw tooling. +if [ -n "$ADDON_HTTP_PROXY" ]; then + if [[ "$ADDON_HTTP_PROXY" =~ ^https?://[^[:space:]]+$ ]]; then + export HTTP_PROXY="$ADDON_HTTP_PROXY" + export HTTPS_PROXY="$ADDON_HTTP_PROXY" + export http_proxy="$ADDON_HTTP_PROXY" + export https_proxy="$ADDON_HTTP_PROXY" + echo "INFO: Outbound HTTP/HTTPS proxy enabled from add-on configuration." + else + echo "WARN: Invalid http_proxy value in add-on options; expected URL like http://host:port" + fi +fi + # Optional network hardening/workaround: force IPv4-first DNS ordering for Node.js. # Helps in environments where IPv6 resolves but has no working egress. if [ "$FORCE_IPV4_DNS" = "true" ] || [ "$FORCE_IPV4_DNS" = "1" ]; then diff --git a/openclaw_assistant/translations/bg.yaml b/openclaw_assistant/translations/bg.yaml index 068af2d..e8a6514 100644 --- a/openclaw_assistant/translations/bg.yaml +++ b/openclaw_assistant/translations/bg.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Home Assistant токен description: Опционално - дълготраен токен на Home Assistant за локални API скриптове/инструменти + + http_proxy: + name: Изходящ HTTP прокси + description: Опционално - URL на прокси за изходящи HTTP/HTTPS заявки (пример - http://192.168.2.1:3128) router_ssh_host: name: SSH хост на рутер diff --git a/openclaw_assistant/translations/de.yaml b/openclaw_assistant/translations/de.yaml index f63c715..f0945b9 100644 --- a/openclaw_assistant/translations/de.yaml +++ b/openclaw_assistant/translations/de.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Home Assistant Token description: Optional - Langlebiger Home Assistant Token für lokale API-Skripte/Tools + + http_proxy: + name: Ausgehender HTTP-Proxy + description: Optional - Proxy-URL für ausgehende HTTP/HTTPS-Anfragen (Beispiel - http://192.168.2.1:3128) router_ssh_host: name: Router SSH-Host diff --git a/openclaw_assistant/translations/en.yaml b/openclaw_assistant/translations/en.yaml index 66b013f..191b024 100644 --- a/openclaw_assistant/translations/en.yaml +++ b/openclaw_assistant/translations/en.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Home Assistant Token description: Optional - Home Assistant long-lived token for local HA API scripts/tools + + http_proxy: + name: Outbound HTTP Proxy + description: Optional - Proxy URL for outbound HTTP/HTTPS requests (example - http://192.168.2.1:3128) router_ssh_host: name: Router SSH Host diff --git a/openclaw_assistant/translations/es.yaml b/openclaw_assistant/translations/es.yaml index e274275..8a7ce84 100644 --- a/openclaw_assistant/translations/es.yaml +++ b/openclaw_assistant/translations/es.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Token de Home Assistant description: Opcional - Token de larga duración de Home Assistant para scripts/herramientas de API local + + http_proxy: + name: Proxy HTTP de salida + description: Opcional - URL de proxy para solicitudes HTTP/HTTPS salientes (ejemplo - http://192.168.2.1:3128) router_ssh_host: name: Host SSH del router diff --git a/openclaw_assistant/translations/pl.yaml b/openclaw_assistant/translations/pl.yaml index 2d445eb..7b6324d 100644 --- a/openclaw_assistant/translations/pl.yaml +++ b/openclaw_assistant/translations/pl.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Token Home Assistant description: Opcjonalnie - długoterminowy token Home Assistant dla lokalnych skryptów/narzędzi API HA + + http_proxy: + name: Wychodzący proxy HTTP + description: Opcjonalnie - URL proxy dla wychodzących żądań HTTP/HTTPS (przykład - http://192.168.2.1:3128) router_ssh_host: name: Host SSH routera diff --git a/openclaw_assistant/translations/pt-BR.yaml b/openclaw_assistant/translations/pt-BR.yaml index 78f0376..d688d7f 100644 --- a/openclaw_assistant/translations/pt-BR.yaml +++ b/openclaw_assistant/translations/pt-BR.yaml @@ -18,6 +18,10 @@ configuration: homeassistant_token: name: Token do Home Assistant description: Opcional - Token de longa duração do Home Assistant para scripts/ferramentas da API local do HA + + http_proxy: + name: Proxy HTTP de saída + description: Opcional - URL de proxy para requisições HTTP/HTTPS de saída (exemplo - http://192.168.2.1:3128) router_ssh_host: name: Host SSH do Roteador