diff --git a/README.md b/README.md index 18f57088..ff52c4a8 100644 --- a/README.md +++ b/README.md @@ -1109,10 +1109,10 @@ SOFTWARE. [thelounge-armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg [thelounge-armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg [thelounge-i386-shield]: https://img.shields.io/badge/i386-no-red.svg -[addon-tor]: https://github.com/hassio-addons/addon-tor/tree/v5.0.1 -[addon-doc-tor]: https://github.com/hassio-addons/addon-tor/blob/v5.0.1/README.md +[addon-tor]: https://github.com/hassio-addons/addon-tor/tree/v6.0.0 +[addon-doc-tor]: https://github.com/hassio-addons/addon-tor/blob/v6.0.0/README.md [tor-issue]: https://github.com/hassio-addons/addon-tor/issues -[tor-version-shield]: https://img.shields.io/badge/version-v5.0.1-blue.svg +[tor-version-shield]: https://img.shields.io/badge/version-v6.0.0-blue.svg [tor-aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg [tor-amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg [tor-armhf-shield]: https://img.shields.io/badge/armhf-no-red.svg diff --git a/tor/CHANGELOG.md b/tor/CHANGELOG.md index 5b2dd93c..9ba72506 100644 --- a/tor/CHANGELOG.md +++ b/tor/CHANGELOG.md @@ -1,15 +1,50 @@ ## What’s changed +## ✨ New features + +- Support webtunnel, obfs and snowflake bridges @akrigator ([#170](https://github.com/hassio-addons/addon-tor/pull/170)) + +## 🧰 Maintenance + +- 🎆 Updates maintenance/license year to 2025 @frenck ([#261](https://github.com/hassio-addons/addon-tor/pull/261)) + ## ⬆️ Dependency updates -- ⬆️ Update alpine_3_19/openssl to v3.1.4-r3 @renovate ([#209](https://github.com/hassio-addons/addon-tor/pull/209)) -- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.4 @renovate ([#210](https://github.com/hassio-addons/addon-tor/pull/210)) -- ⬆️ Update alpine_3_19/openssl to v3.1.4-r4 @renovate ([#211](https://github.com/hassio-addons/addon-tor/pull/211)) -- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.5 @renovate ([#212](https://github.com/hassio-addons/addon-tor/pull/212)) -- ⬆️ Update alpine_3_19/coreutils to v9.4-r2 @renovate ([#213](https://github.com/hassio-addons/addon-tor/pull/213)) -- ⬆️ Update alpine_3_19/openssl to v3.1.4-r5 @renovate ([#214](https://github.com/hassio-addons/addon-tor/pull/214)) -- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.6 @renovate ([#215](https://github.com/hassio-addons/addon-tor/pull/215)) -- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.7 @renovate ([#216](https://github.com/hassio-addons/addon-tor/pull/216)) -- ⬆️ Update alpine_3_19/openssl to v3.1.4-r6 @renovate ([#217](https://github.com/hassio-addons/addon-tor/pull/217)) -- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.8 @renovate ([#219](https://github.com/hassio-addons/addon-tor/pull/219)) -- ⬆️ Update alpine_3_19/tor to v0.4.8.11-r0 @renovate ([#218](https://github.com/hassio-addons/addon-tor/pull/218)) +- ⬆️ Update alpine_3_19/openssl to v3.1.5-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#220](https://github.com/hassio-addons/addon-tor/pull/220)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v15.0.9 @[renovate[bot]](https://github.com/apps/renovate) ([#221](https://github.com/hassio-addons/addon-tor/pull/221)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16 @[renovate[bot]](https://github.com/apps/renovate) ([#222](https://github.com/hassio-addons/addon-tor/pull/222)) +- ⬆️ Update alpine_3_20/openssl to v3.3.1-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#223](https://github.com/hassio-addons/addon-tor/pull/223)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.0.1 @[renovate[bot]](https://github.com/apps/renovate) ([#224](https://github.com/hassio-addons/addon-tor/pull/224)) +- ⬆️ Update alpine_3_20/tor to v0.4.8.12-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#225](https://github.com/hassio-addons/addon-tor/pull/225)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.1.0 @[renovate[bot]](https://github.com/apps/renovate) ([#226](https://github.com/hassio-addons/addon-tor/pull/226)) +- ⬆️ Update alpine_3_20/openssl to v3.3.1-r1 @[renovate[bot]](https://github.com/apps/renovate) ([#228](https://github.com/hassio-addons/addon-tor/pull/228)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.1.2 @[renovate[bot]](https://github.com/apps/renovate) ([#227](https://github.com/hassio-addons/addon-tor/pull/227)) +- ⬆️ Update alpine_3_20/openssl to v3.3.1-r3 @[renovate[bot]](https://github.com/apps/renovate) ([#229](https://github.com/hassio-addons/addon-tor/pull/229)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.1.3 @[renovate[bot]](https://github.com/apps/renovate) ([#230](https://github.com/hassio-addons/addon-tor/pull/230)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.2.0 @[renovate[bot]](https://github.com/apps/renovate) ([#231](https://github.com/hassio-addons/addon-tor/pull/231)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.2.1 @[renovate[bot]](https://github.com/apps/renovate) ([#232](https://github.com/hassio-addons/addon-tor/pull/232)) +- ⬆️ Update alpine_3_20/openssl to v3.3.2-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#233](https://github.com/hassio-addons/addon-tor/pull/233)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.0 @[renovate[bot]](https://github.com/apps/renovate) ([#234](https://github.com/hassio-addons/addon-tor/pull/234)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.1 @[renovate[bot]](https://github.com/apps/renovate) ([#235](https://github.com/hassio-addons/addon-tor/pull/235)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.2 @[renovate[bot]](https://github.com/apps/renovate) ([#237](https://github.com/hassio-addons/addon-tor/pull/237)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.3 @[renovate[bot]](https://github.com/apps/renovate) ([#238](https://github.com/hassio-addons/addon-tor/pull/238)) +- ⬆️ Update alpine_3_20/openssl to v3.3.2-r1 @[renovate[bot]](https://github.com/apps/renovate) ([#239](https://github.com/hassio-addons/addon-tor/pull/239)) +- ⬆️ Update alpine_3_20/tor to v0.4.8.13-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#241](https://github.com/hassio-addons/addon-tor/pull/241)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.4 @[renovate[bot]](https://github.com/apps/renovate) ([#240](https://github.com/hassio-addons/addon-tor/pull/240)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.5 @[renovate[bot]](https://github.com/apps/renovate) ([#242](https://github.com/hassio-addons/addon-tor/pull/242)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v16.3.6 @[renovate[bot]](https://github.com/apps/renovate) ([#243](https://github.com/hassio-addons/addon-tor/pull/243)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17 @[renovate[bot]](https://github.com/apps/renovate) ([#245](https://github.com/hassio-addons/addon-tor/pull/245)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.0.1 @[renovate[bot]](https://github.com/apps/renovate) ([#246](https://github.com/hassio-addons/addon-tor/pull/246)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.0.2 @[renovate[bot]](https://github.com/apps/renovate) ([#247](https://github.com/hassio-addons/addon-tor/pull/247)) +- ⬆️ Update alpine_3_21/coreutils to v9.5-r2 @[renovate[bot]](https://github.com/apps/renovate) ([#248](https://github.com/hassio-addons/addon-tor/pull/248)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.1.0 @[renovate[bot]](https://github.com/apps/renovate) ([#249](https://github.com/hassio-addons/addon-tor/pull/249)) +- ⬆️ Update alpine_3_21/tor to v0.4.8.14-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#251](https://github.com/hassio-addons/addon-tor/pull/251)) +- ⬆️ Update alpine_3_21/openssl to v3.3.2-r5 @[renovate[bot]](https://github.com/apps/renovate) ([#253](https://github.com/hassio-addons/addon-tor/pull/253)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.1.2 @[renovate[bot]](https://github.com/apps/renovate) ([#252](https://github.com/hassio-addons/addon-tor/pull/252)) +- ⬆️ Update alpine_3_21/openssl to v3.3.2-r6 @[renovate[bot]](https://github.com/apps/renovate) ([#255](https://github.com/hassio-addons/addon-tor/pull/255)) +- ⬆️ Update alpine_3_21/tor to v0.4.8.14-r1 @[renovate[bot]](https://github.com/apps/renovate) ([#254](https://github.com/hassio-addons/addon-tor/pull/254)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.1.3 @[renovate[bot]](https://github.com/apps/renovate) ([#256](https://github.com/hassio-addons/addon-tor/pull/256)) +- ⬆️ Update alpine_3_21/openssl to v3.3.3-r0 @[renovate[bot]](https://github.com/apps/renovate) ([#257](https://github.com/hassio-addons/addon-tor/pull/257)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.1.4 @[renovate[bot]](https://github.com/apps/renovate) ([#258](https://github.com/hassio-addons/addon-tor/pull/258)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.2.0 @[renovate[bot]](https://github.com/apps/renovate) ([#259](https://github.com/hassio-addons/addon-tor/pull/259)) +- ⬆️ Update ghcr.io/hassio-addons/base Docker tag to v17.2.1 @[renovate[bot]](https://github.com/apps/renovate) ([#260](https://github.com/hassio-addons/addon-tor/pull/260)) diff --git a/tor/DOCS.md b/tor/DOCS.md index 2b31b1d6..4afa07ad 100644 --- a/tor/DOCS.md +++ b/tor/DOCS.md @@ -44,6 +44,7 @@ Example add-on configuration: ```yaml log_level: info socks: true +http_tunnel: false hidden_services: true stealth: true client_names: @@ -51,6 +52,7 @@ client_names: - haremote2 ports: - 8123 +bridges: [] ``` **Note**: _This is just an example, don't copy and past it! Create your own!_ @@ -85,6 +87,12 @@ applications on your network to use the Tor network. so exposing it in this way could leak your information to anybody watching your network, and allow anybody to use your computer as an open proxy._ +### Option: `http_tunnel` + +Setting this option to `true` opens port `9080` to listen for connections from +HTTP-speaking applications. Enabling this feature allows you to use other +applications on your network to access the Tor network via the HTTP proxy. + ### Option: `hidden_services` The `hidden_services` options allows you to enable @@ -150,6 +158,62 @@ The accepted syntaxs of this configuration is: If you do not define a published port, the local port will be used. If you do not define a hostname or IP adress `homeassistant` will be used. +### Option: `bridges` + +> Ensure the option value is clear to avoid unintended use of transport plugins and bridges. + +Bridges are Tor relays that help you circumvent censorship. +Access to bridges is provided by supported transport plugins: + +#### OBFS + +Because bridge addresses are not public, you will need to request them yourself. You have a few options: + +- Visit [Tor][tor-bridges-obfs4] project and follow the instructions, or +- Email `bridges@torproject.org` from a Gmail, or Riseup email address +- Send a message to @GetBridgesBot on Telegram. Tap on 'Start' or write /start or /bridges in the chat. + +For example: + +```yaml +bridges: + - >- + obfs4 123.45.67.89:443 EFC6A00EE6272355C023862378AC77F935F091E4 + cert=KkdWiWlfetJG9SFrzX8g1teBbgxtsc0zPiN5VLxqNNH+iudVW48CoH/XVXPQntbivXIqZA + iat-mode=0 +``` + +#### Webtunnel + +Visit [Tor][tor-bridges-webtunnel] project and follow the instructions + +For example: + +```yaml +bridges: + - >- + webtunnel 192.0.2.3:1 + DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF + url=https://akbwadp9lc5fyyz0cj4d76z643pxgbfh6oyc-167-71-71-157.sslip.io/5m9yq0j4ghkz0fz7qmuw58cvbjon0ebnrsp0 + ver=0.0.1 +``` + +#### Snowflake + +What is [snowflake][what-is-snowflake], example: + +```yaml +bridges: + - >- + snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 + fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 + url=https://snowflake-broker.torproject.net/ + ampcache=https://cdn.ampproject.org/ + front=www.google.com + ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 + utls-imitate=hellorandomizedalpn +``` + ## Tor client access setup Using this add-on, you can access your Home Assistant instance over Tor from @@ -227,7 +291,7 @@ check [the contributor's page][contributors]. MIT License -Copyright (c) 2017-2024 Franck Nijhof +Copyright (c) 2017-2025 Franck Nijhof Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -261,3 +325,6 @@ SOFTWARE. [releases]: https://github.com/hassio-addons/addon-tor/releases [semver]: http://semver.org/spec/v2.0.0.htm [tor-hidden-service]: https://www.torproject.org/docs/hidden-services.html.en +[tor-bridges-obfs4]: https://bridges.torproject.org/bridges/?transport=obfs4 +[tor-bridges-webtunnel]: https://bridges.torproject.org/bridges/?transport=webtunnel +[what-is-snowflake]: https://support.torproject.org/censorship/what-is-snowflake/ diff --git a/tor/README.md b/tor/README.md index 6cfb1d47..8453aba2 100644 --- a/tor/README.md +++ b/tor/README.md @@ -54,10 +54,10 @@ If you are more interested in stable releases of our add-ons: [forum]: https://community.home-assistant.io/t/home-assistant-community-add-on-tor/33822?u=frenck [github-sponsors-shield]: https://frenck.dev/wp-content/uploads/2019/12/github_sponsor.png [github-sponsors]: https://github.com/sponsors/frenck -[maintenance-shield]: https://img.shields.io/maintenance/yes/2024.svg +[maintenance-shield]: https://img.shields.io/maintenance/yes/2025.svg [patreon-shield]: https://frenck.dev/wp-content/uploads/2019/12/patreon.png [patreon]: https://www.patreon.com/frenck [project-stage-shield]: https://img.shields.io/badge/project%20stage-production%20ready-brightgreen.svg -[release-shield]: https://img.shields.io/badge/version-v5.0.1-blue.svg -[release]: https://github.com/hassio-addons/addon-tor/tree/v5.0.1 +[release-shield]: https://img.shields.io/badge/version-v6.0.0-blue.svg +[release]: https://github.com/hassio-addons/addon-tor/tree/v6.0.0 [tor-hidden-service]: https://www.torproject.org/docs/hidden-services.html.en \ No newline at end of file diff --git a/tor/config.yaml b/tor/config.yaml index d263684a..bb079ab5 100644 --- a/tor/config.yaml +++ b/tor/config.yaml @@ -1,5 +1,5 @@ name: Tor -version: 5.0.1 +version: 6.0.0 slug: tor description: Protect your privacy and access Home Assistant via Tor url: https://github.com/hassio-addons/addon-tor @@ -12,25 +12,32 @@ arch: init: false ports: 9050/tcp: 9050 + 9080/tcp: 9080 ports_description: 9050/tcp: Tor SOCKS proxy port + 9080/tcp: Tor HTTP proxy port map: - ssl:rw options: socks: false + http_tunnel: false hidden_services: true stealth: false client_names: [] ports: - '8123' - 8123:80 + bridges: [] schema: log_level: list(trace|debug|info|notice|warning|error|fatal)? socks: bool + http_tunnel: bool hidden_services: bool stealth: bool client_names: - match(^[A-Za-z0-9+-_]{1,16}$) ports: - match(^(.*:)?(?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])?$) + bridges: + - str image: ghcr.io/hassio-addons/tor/{arch} diff --git a/tor/translations/en.yaml b/tor/translations/en.yaml index 61fc685c..e7a46816 100644 --- a/tor/translations/en.yaml +++ b/tor/translations/en.yaml @@ -30,5 +30,16 @@ configuration: description: >- Configures hosts and ports to publish via a Tor Hidden Service. Check the add-on documentation for the exact format to enter here. + bridges: + name: Bridges + description: >- + Configures bridges to establish a connection with the Tor network. Check the + add-on documentation for the exact format to enter here. + http_tunnel: + name: HTTP proxy + description: >- + Open this port to listen for proxy connections using the HTTP protocol + instead of SOCKS. network: 9050/tcp: Tor SOCKS proxy port + 9080/tcp: Tor HTTP proxy port