mirror of
https://github.com/openwrt/packages.git
synced 2025-02-23 22:55:07 +00:00
105 lines
3.4 KiB
Markdown
105 lines
3.4 KiB
Markdown
# Tor Hidden service configurator
|
|
**tor-hs** packages tries to simplify creating of hidden services on OpenWrt routers.
|
|
|
|
## Requirements
|
|
To run **tor-hs**, you need Tor package with uci config support (it was added
|
|
with [this commit](https://github.com/openwrt/packages/commit/ca6528f002d74445e3d0a336aeb9074fc337307a) ).
|
|
|
|
## Instalation
|
|
To install package simple run
|
|
```
|
|
opkg update
|
|
opkg install tor-hs
|
|
```
|
|
|
|
## Configuration
|
|
Uci configuration is located in **/etc/config/tor-hs**
|
|
|
|
### Required section of configuration
|
|
There is one required section **common**
|
|
|
|
Example of this section
|
|
```
|
|
config tor-hs common
|
|
option GenConf "/etc/tor/torrc_hs"
|
|
option HSDir "/etc/tor/hidden_service"
|
|
option RestartTor "true"
|
|
option UpdateTorConf "true"
|
|
```
|
|
|
|
#### Table with options description
|
|
| Type | Name | Default | Description |
|
|
| ------ | ------ | ------ | ------ |
|
|
| option |GenConf | /etc/tor/torrc_generated|Generated config by tor-hs.|
|
|
| option | HSDir |/etc/tor/hidden_service|Directory with meta-data for hidden services (hostname,keys,etc).|
|
|
| option | RestartTor | true| It will restart tor after running **/etc/init.d/tor-hs start**.|
|
|
| option | UpdateTorConf | true|Update /etc/config/tor with config from **GenConf** option.|
|
|
|
|
### Hidden service configuration
|
|
If you want to create a new hidden service, you have to add a hidden-service section. For every hidden service, there should be a new **hidden-service** section.
|
|
|
|
Example of hidden service section for ssh server:
|
|
|
|
```
|
|
config hidden-service
|
|
option Name 'sshd'
|
|
option Description "Hidden service for ssh"
|
|
option Enabled 'false'
|
|
option IPv4 '127.0.0.1'
|
|
#public port=2222, local port=22
|
|
list PublicLocalPort '2222;22'
|
|
```
|
|
|
|
#### Table with options description
|
|
|
|
| Type | Name | Example value | Description |
|
|
| ------ | ------ | ------ | ------ |
|
|
| option | Name | sshd| Name of hidden service. It is used as directory name in **HSDir**|
|
|
| option | Description| Hidden service for ssh| Description used in **rpcd** service|
|
|
| option | Enabled |false| Enable hidden service after running **tor-hs** init script|
|
|
| option |IPv4 |127.0.0.1|Local IPv4 address of service. Service could run on another device, in that case OpenWrt will redirect comunication. |
|
|
| list | PublicLocalPort| 2222;22| Public port is port accesible via Tor network. Local port is normal port of service.|
|
|
|option| HookScript |'/etc/tor/nextcloud-update.php'| Path to script which is executed after starting tor-hs. Script is executed with paramters **--update-onion** **hostname** . Hostname is replaced with Onion v3 address for given hidden service.
|
|
|
|
## Running service
|
|
|
|
To enable tor-hs service run
|
|
```
|
|
/etc/init.d/tor-hs enable
|
|
/etc/init.d/tor-hs start
|
|
|
|
```
|
|
In case you enabled option *RestartTor* and *UpdateTorConf* hidden service should be running.
|
|
Otherwise, you should also restart tor daemon.
|
|
|
|
```
|
|
/etc/init.d/tor restart
|
|
```
|
|
|
|
After that you should also restart rpcd daemon, so you can use tor-hs RPCD service.
|
|
```
|
|
/etc/init.d/rpcd restart
|
|
```
|
|
|
|
### RPCD
|
|
|
|
RPCD servis helps users to access basic informations about hidden services on router. After running HS it contains onion url for given hidden service in hostname value.
|
|
```
|
|
root@turris:/# ubus call tor-hs-rpc list-hs '{}'
|
|
{
|
|
"hs-list": [
|
|
{
|
|
"name": "sshd",
|
|
"description": "Hidden service for ssh",
|
|
"enabled": "1",
|
|
"ipv4": "127.0.0.1",
|
|
"hostname": "****hidden-service-hostname****.onion",
|
|
"ports": [
|
|
"22;22"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|