Compare commits

...

7 Commits

Author SHA1 Message Date
Alexandre
c8ed41695b nobuild revert 2026-03-08 08:27:10 +01:00
Alexandre
fb077a6216 nobuild revert 2026-03-08 08:26:54 +01:00
Alexandre
3b6762b111 clean nobuild 2026-03-08 07:43:32 +01:00
GitHub Actions
f6bc24fd5a Revert 'clean' [nobuild] 2026-03-08 06:40:43 +00:00
Alexandre
62a7e8e3a4 clean 2026-03-08 07:39:51 +01:00
Alexandre
a64d707bfb Merge pull request #2568 from akrigator/tor_deprecate
Deprecate Tor
2026-03-08 06:11:23 +01:00
Renat Gabdulhakov
02c6d55777 Deprecate Tor
Since a bridge support has been already added in to the community version https://github.com/hassio-addons/addon-tor/pull/170
2026-03-07 22:04:44 +00:00
28 changed files with 146 additions and 158 deletions

View File

@@ -50,4 +50,4 @@ slug: netalertx
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "26.3.7-3"
version: "26.2.6-4"

View File

@@ -51,4 +51,4 @@ slug: netalertx_fa
tmpfs: true
udev: true
url: https://github.com/alexbelgium/hassio-addons
version: "26.3.7"
version: "26.2.6-4"

View File

@@ -1,52 +0,0 @@
- The Home Assistant project has deprecated support for the armv7, armhf and i386 architectures. Support wil be fully dropped in the upcoming Home Assistant 2025.12 release
- Added support for configuring extra environment variables via the `env_vars` add-on option alongside config.yaml. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
## 5.0.1-1 (2024-08-13)
- Update apparmomr profile to fix start up
## 5.0.1-2 (2024-08-13)
- Align version
## 5.0.1-3 (2024-08-13)
- Add read permission for /etc/s6-overlay/ in apparmor
## 5.0.1-4 (2024-08-14)
- Add execution permission for permission for /etc/s6-overlay/s6-overlay/s6-rc.d/init-tor/run file
## 5.0.2-1 (2025-02-13)
- HTTP tunneling
## 5.0.2-2 (2025-02-13)
- Fix snowflake build
- Lint issues
## 5.0.2-3 (2025-02-13)
- Fix network for http tunel
## 5.0.2-4 (2025-02-13)
- Init build procedure
## 5.0.2-5 (2025-02-13)
- Init build procedure
## 5.0.2-6 (2025-02-13)
- Remove excess depents
## 5.0.3-1 (2025-02-14)
- hassio-addons/base 17.1.5
## 5.0.3-2 (2025-02-16)
- hassio-addons/base 17.2.0

View File

@@ -1,6 +0,0 @@
{
"build_from": {
"aarch64": "ghcr.io/hassio-addons/base:17.2.0",
"amd64": "ghcr.io/hassio-addons/base:17.2.0"
}
}

View File

@@ -1,45 +0,0 @@
arch:
- aarch64
- amd64
description: Protect your privacy and access Home Assistant via Tor
image: ghcr.io/alexbelgium/tor-{arch}
init: false
map:
- ssl:rw
name: Tor with bridges
options:
env_vars: []
bridges: []
client_names: []
hidden_services: true
http_tunnel: false
ports:
- "8123"
- 8123:80
socks: false
stealth: false
ports:
9050/tcp: 9050
9080/tcp: 9080
ports_description:
9050/tcp: Tor SOCKS proxy port
9080/tcp: Tor HTTP tunnel port
schema:
env_vars:
- name: match(^[A-Za-z0-9_]+$)
value: str?
bridges:
- str
client_names:
- match(^[A-Za-z0-9+-_]{1,16}$)
hidden_services: bool
http_tunnel: bool
log_level: list(trace|debug|info|notice|warning|error|fatal)?
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])?$)
socks: bool
stealth: bool
slug: tor
startup: services
url: https://github.com/alexbelgium/hassio-addons
version: 5.0.3-2

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,48 @@
## 5.0.1-1 (13-08-2024)
- Update apparmomr profile to fix start up
## 5.0.1-2 (13-08-2024)
- Align version
## 5.0.1-3 (13-08-2024)
- Add read permission for /etc/s6-overlay/ in apparmor
## 5.0.1-4 (14-08-2024)
- Add execution permission for permission for /etc/s6-overlay/s6-overlay/s6-rc.d/init-tor/run file
## 5.0.2-1 (13-02-2025)
- HTTP tunneling
## 5.0.2-2 (13-02-2025)
- Fix snowflake build
- Lint issues
## 5.0.2-3 (13-02-2025)
- Fix network for http tunel
## 5.0.2-4 (13-02-2025)
- Init build procedure
## 5.0.2-5 (13-02-2025)
- Init build procedure
## 5.0.2-6 (13-02-2025)
- Remove excess depents
## 5.0.3-1 (14-02-2025)
- hassio-addons/base 17.1.5
## 5.0.3-2 (16-02-2025)
- hassio-addons/base 17.2.0

View File

@@ -1,27 +1,19 @@
## ⚠ Open Request : [✨ [REQUEST] Tandoor - Connectors (opened 2025-10-08)](https://github.com/alexbelgium/hassio-addons/issues/2135) by [@blowk](https://github.com/blowk)
## ⚠ Open Issue : [🐛 [LINKWARDEN] Never use STORAGE_FOLDER (opened 2025-10-11)](https://github.com/alexbelgium/hassio-addons/issues/2137) by [@guimex22](https://github.com/guimex22)
## ⚠ Open Request : [✨ [REQUEST] qBittorrent Gluetun (opened 2024-12-10)](https://github.com/alexbelgium/hassio-addons/issues/1661) by [@xtian47](https://github.com/xtian47)
# Hass.io Add-ons: Tor with bridges
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
## Addon informations
![Version](https://img.shields.io/badge/dynamic/yaml?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.yaml)
![Ingress](https://img.shields.io/badge/dynamic/yaml?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.yaml)
![Arch](https://img.shields.io/badge/dynamic/yaml?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.yaml)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ftor%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
[![GitHub Super-Linter](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/weekly-supelinter.yaml?label=Lint%20code%20base)](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
[![Builder](https://img.shields.io/github/actions/workflow/status/alexbelgium/hassio-addons/onpush_builder.yaml?label=Builder)](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20(no%20paypal)-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
[paypal-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee%20with%20Paypal-0070BA?logo=paypal&style=flat&logoColor=white
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
@@ -48,24 +40,7 @@ The installation of this add-on is pretty straightforward and not different in c
## Configuration
Use the add-on `env_vars` option to pass extra environment variables (uppercase or lowercase names). See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
Configurations can be done through the app webUI, except for the following options.
### Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `hidden_services` | bool | `true` | Enable Tor hidden services |
| `http_tunnel` | bool | `false` | Enable HTTP tunnel on port 9080 |
| `socks` | bool | `false` | Enable SOCKS proxy |
| `stealth` | bool | `false` | Enable stealth mode |
| `bridges` | list | `[]` | List of bridge configurations |
| `client_names` | list | `[]` | Client names for stealth authentication |
| `ports` | list | `["8123", "8123:80"]` | Ports to expose via Tor |
| `log_level` | list | | Log level (trace/debug/info/notice/warning/error/fatal) |
You should follow the initial guide for configuring base addon options. Here are the extra options specific to this extended version:
You should follow to the initial guide for configuring base addon options. Here will described only extra options in comparisons with base:
### Option: `http_tunnel`
@@ -135,5 +110,3 @@ If you have in issue with your installation, please be sure to checkout github.
[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/

View File

@@ -0,0 +1,11 @@
{
"build_from": {
"aarch64": "ghcr.io/hassio-addons/base:17.2.0",
"amd64": "ghcr.io/hassio-addons/base:17.2.0",
"armv7": "ghcr.io/hassio-addons/base:17.2.0"
},
"codenotary": {
"base_image": "codenotary@frenck.dev",
"signer": "codenotary@frenck.dev"
}
}

View File

@@ -0,0 +1,55 @@
{
"arch": [
"aarch64",
"amd64",
"armv7"
],
"codenotary": "alexandrep.github@gmail.com",
"description": "Protect your privacy and access Home Assistant via Tor",
"image": "ghcr.io/alexbelgium/tor-{arch}",
"init": false,
"map": [
"ssl:rw"
],
"name": "zzz_archived - Tor with bridges",
"options": {
"bridges": [],
"client_names": [],
"hidden_services": true,
"ports": [
"8123",
"8123:80"
],
"socks": false,
"http_tunnel": false,
"stealth": false
},
"ports": {
"9050/tcp": 9050,
"9080/tcp": 9080
},
"ports_description": {
"9050/tcp": "Tor SOCKS proxy port",
"9080/tcp": "Tor HTTP tunnel port"
},
"schema": {
"bridges": [
"str"
],
"client_names": [
"match(^[A-Za-z0-9+-_]{1,16}$)"
],
"hidden_services": "bool",
"log_level": "list(trace|debug|info|notice|warning|error|fatal)?",
"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])?$)"
],
"socks": "bool",
"http_tunnel": "bool",
"stealth": "bool"
},
"slug": "tor",
"startup": "services",
"url": "https://github.com/alexbelgium/hassio-addons",
"version": "5.0.3-2"
}

BIN
zzz_archived_tor/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
zzz_archived_tor/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@@ -38,7 +38,8 @@ fi
# Checks if client names where configured when using stealth mode
if bashio::config.true 'hidden_services' \
&& bashio::config.true 'stealth' \
&& ! bashio::config.has_value 'client_names'; then
&& ! bashio::config.has_value 'client_names';
then
bashio::log.fatal
bashio::log.fatal 'Add-on configuration is incomplete.'
bashio::log.fatal
@@ -61,19 +62,19 @@ chmod -R 0700 /ssl/tor
# Find the matching Tor log level
if bashio::config.has_value 'log_level'; then
case "$(bashio::string.lower "$(bashio::config 'log_level')")" in
all | trace)
all|trace)
log_level="debug"
;;
debug)
log_level="info"
;;
info | notice)
info|notice)
log_level="notice"
;;
warning)
log_level="warn"
;;
error | fatal | off)
error|fatal|off)
log_level="err"
;;
esac
@@ -98,7 +99,7 @@ if bashio::config.true 'hidden_services'; then
echo "HiddenServiceDir ${hidden_service_dir}" >> "${torrc}"
for port in $(bashio::config 'ports'); do
count=$(echo "${port}" | sed 's/[^:]//g' | awk '{ print length }')
count=$(echo "${port}" | sed 's/[^:]//g'| awk '{ print length }')
if [[ "${count}" == 0 ]]; then
host='homeassistant'
virtual_port="${port}"
@@ -131,7 +132,8 @@ fi
# Configure bridges
if bashio::config.exists 'bridges' \
&& ! bashio::config.is_empty 'bridges'; then
&& ! bashio::config.is_empty 'bridges';
then
bashio::log.info 'Use bridges:'
echo "UseBridges 1" >> "${torrc}"
@@ -162,10 +164,10 @@ if bashio::config.true 'hidden_services'; then
sleep 1
done
address=$(< "${hostname_file}")
grep -m 1 "Bootstrapped 100% (done): Done" <&3 > /dev/null 2>&1
address=$(<"${hostname_file}")
grep -m 1 "Bootstrapped 100% (done): Done" <&3 >/dev/null 2>&1
kill "$(pgrep tor)" > /dev/null 2>&1
kill "$(pgrep tor)" >/dev/null 2>&1
bashio::log.info '---------------------------------------------------------'
bashio::log.info 'Your Home Assistant instance is available on Tor!'
@@ -174,12 +176,14 @@ if bashio::config.true 'hidden_services'; then
fi
# Configure stealth mode
if bashio::config.true 'hidden_services' && bashio::config.true 'stealth'; then
if bashio::config.true 'hidden_services' && bashio::config.true 'stealth';
then
# Following the documentation at:
# https://community.torproject.org/onion-services/advanced/client-auth/
while read -r clientname; do
# Generate key is they do not exist yet
if ! bashio::fs.file_exists "${authorized_clients_dir}/${clientname}.auth"; then
if ! bashio::fs.file_exists "${authorized_clients_dir}/${clientname}.auth"
then
key=$(openssl genpkey -algorithm x25519)
private_key=$(
@@ -194,12 +198,12 @@ if bashio::config.true 'hidden_services' && bashio::config.true 'stealth'; then
public_key=$(
openssl pkey -pubout \
<<< "${key}" \
| sed -e '/----.*PUBLIC KEY----\|^[[:space:]]*$/d' \
| base64 -d \
| tail -c 32 \
| base32 \
| sed 's/=//g'
<<< "${key}" \
| sed -e '/----.*PUBLIC KEY----\|^[[:space:]]*$/d' \
| base64 -d \
| tail -c 32 \
| base32 \
| sed 's/=//g'
)
# Create authorized client file

BIN
zzz_archived_tor/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB