mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
add tor/i2p config examples
This commit is contained in:
parent
dd999f62d9
commit
d7a5f7e359
1 changed files with 130 additions and 1 deletions
|
|
@ -318,3 +318,132 @@ sudo ufw allow from 0400::/7 to 505:6847:c778:61a1:5c6d:e802:d291:8191 port 8780
|
||||||
|
|
||||||
* http://ygg.ua.srv:8780
|
* http://ygg.ua.srv:8780
|
||||||
* http://myc.ua.srv:8780
|
* http://myc.ua.srv:8780
|
||||||
|
|
||||||
|
## Анонімні мережі
|
||||||
|
|
||||||
|
Веб сервіс Radicle є цілком сумісним з мережами на базі анонімних проксі I2P і Tor. Нюансом є лише обмеження політики [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS) у випадку, якщо спробуєте відвідати сіди I2P/Tor перебуваючи на сервері наприклад IPv6. Але якщо підняти окрему копію експлорера без "солянки", то користувачі зможуть переглядати та клонувати репозиторії анонімно.
|
||||||
|
|
||||||
|
Особисто я використовую наступну структуру файлової системи з релевантними для кожної теки файлами `config.json`:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
mkdir -p /var/www/radicle/yggdrasil \
|
||||||
|
/var/www/radicle/i2p \
|
||||||
|
/var/www/radicle/mycelium \
|
||||||
|
/var/www/radicle/tor
|
||||||
|
```
|
||||||
|
* з відповідними налаштуваннями `root` в Nginx
|
||||||
|
|
||||||
|
### I2P
|
||||||
|
|
||||||
|
На прикладі [i2pd](https://devzone.org.ua/post/vstanovlennia-routera-i2p-z-pidkliuchenniam-cherez-yggdrasil), до конфігурації тунелів додаються два HTTP сервери:
|
||||||
|
|
||||||
|
``` /var/lib/i2pd/tunnels.conf
|
||||||
|
[radicle-explorer]
|
||||||
|
type = http
|
||||||
|
host = ::1
|
||||||
|
port = 8780
|
||||||
|
inport = 80
|
||||||
|
keys = radicle-explorer.dat
|
||||||
|
|
||||||
|
[radicle-api]
|
||||||
|
type = http
|
||||||
|
host = 202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148
|
||||||
|
port = 8788
|
||||||
|
inport = 8788
|
||||||
|
keys = radicle-api.dat
|
||||||
|
```
|
||||||
|
* в Nginx, хост `::1` лінкується на корінь `/var/www/radicle/i2p`
|
||||||
|
* для IPv4 можна замість `::1` використовувати `127.0.0.1`
|
||||||
|
|
||||||
|
Після перезапуску роутера i2pd, засобами [i2pd-tools](https://github.com/PurpleI2P/i2pd-tools) отримуються згенеровані адреси `B32`:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ keyinfo /var/lib/i2pd/radicle-explorer.dat
|
||||||
|
k7cfad745uretan7iihkwo6x24ut6mgbhq4ccxjqkzetgbtfknbq.b32.i2p
|
||||||
|
|
||||||
|
$ keyinfo /var/lib/i2pd/radicle-explorer.dat
|
||||||
|
cfwfe2k6dropbymtddz225mbugzs5tfsmvng23zsebf6iw3cj2xa.b32.i2p
|
||||||
|
```
|
||||||
|
|
||||||
|
Додаємо адресу `radicle-api` до `preferredSeeds`:
|
||||||
|
|
||||||
|
``` /var/www/radicle/i2p/config.json
|
||||||
|
"preferredSeeds": [
|
||||||
|
{
|
||||||
|
"hostname": "cfwfe2k6dropbymtddz225mbugzs5tfsmvng23zsebf6iw3cj2xa.b32.i2p",
|
||||||
|
"port": 8788,
|
||||||
|
"scheme": "http"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
* зверніть увагу на порт `8788`: в I2P він може не використовуватись через наявність окремого "домену" і його можна приховати з URL, вказавши значення аналогічне `defaultLocalHttpdPort`
|
||||||
|
|
||||||
|
Перевіряємо:
|
||||||
|
|
||||||
|
http://k7cfad745uretan7iihkwo6x24ut6mgbhq4ccxjqkzetgbtfknbq.b32.i2p
|
||||||
|
|
||||||
|
### Tor
|
||||||
|
|
||||||
|
Я користуюсь більш сучасною реалізацією роутера - [Arti](https://devzone.org.ua/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil). Підходів налаштування "прихованого сервісу" для Radicle тут може буде декілька. Можна створити окремі `onion_services` на `80` порт, але я поки використовую підхід зі спільним доменом на різних портах:
|
||||||
|
|
||||||
|
``` /path/to/config.toml
|
||||||
|
[onion_services."radicle"]
|
||||||
|
#enabled = true
|
||||||
|
proxy_ports = [
|
||||||
|
# radicle-explorer (WebUI)
|
||||||
|
["80", "[::1]:8781"],
|
||||||
|
# radicle-httpd (JSON/API)
|
||||||
|
["8788", "[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]:8788"],
|
||||||
|
# radicle-node (public seed)
|
||||||
|
# ["8776", "[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]:8776"],
|
||||||
|
["*", "destroy"]
|
||||||
|
]
|
||||||
|
```
|
||||||
|
* Веб-інтерфейс оголошую на тому ж локальному IP `::1`, як і I2P, через що змінюю порт на будь-який вільний типу `8781` (можна також засетапити окремий локальний IP `::2` але це вимагатиме додаткових кроків з перманентними правилами `ip`)
|
||||||
|
* `radicle-node` - в контексті гайду не розглядається, утім ви можете його розкоментувати, користуючись гайдом: [Розгортання сіда Radicle в мульти-мережному середовищі](https://devzone.org.ua/post/rozhortannia-sida-radicle-v-multy-mereznomu-seredovyshchi)
|
||||||
|
|
||||||
|
Після збереження налаштувань і перезапуску роутера, для отримання адреси `.onion` виконуємо команду:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ su arti -s /bin/bash \
|
||||||
|
-c 'arti hss -c /path/to/config.toml --nickname radicle onion-address'
|
||||||
|
...
|
||||||
|
tus2sol3kcykzh6dw4adgma3yzvzex7nsizlbdjmizgeines74chk7yd.onion
|
||||||
|
```
|
||||||
|
|
||||||
|
І додаємо результат до конфігурації експлорера у відповідному неймспейсі Nginx:
|
||||||
|
|
||||||
|
``` /var/www/radicle/tor/config.json
|
||||||
|
"preferredSeeds": [
|
||||||
|
{
|
||||||
|
"hostname": "tus2sol3kcykzh6dw4adgma3yzvzex7nsizlbdjmizgeines74chk7yd.onion",
|
||||||
|
"port": 8788,
|
||||||
|
"scheme": "http"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
Пробуємо підключитись і отримати приклади команд на клонування репозиторіїв по HTTP:
|
||||||
|
|
||||||
|
http://tus2sol3kcykzh6dw4adgma3yzvzex7nsizlbdjmizgeines74chk7yd.onion
|
||||||
|
|
||||||
|
### Проксі для клієнта Git
|
||||||
|
|
||||||
|
Використання I2P і Tor - передбачає підключення клієнтських застосунків через проксі локального або віддаленого роутера. Це стосується й команди `git`. Щоб клонувати репозиторії Radicle засобами HTTP на прикладі I2P, потрібно до профілю Git додати наступний рядок:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
git config http.proxy http://127.0.0.1:4444
|
||||||
|
```
|
||||||
|
* вкажіть `--global` для глобального використання проксі
|
||||||
|
|
||||||
|
Таким чином, клонування репозиторію `heartwood` з цього інстансу відбувається командою:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
git clone http://cfwfe2k6dropbymtddz225mbugzs5tfsmvng23zsebf6iw3cj2xa.b32.i2p:8788/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git heartwood
|
||||||
|
```
|
||||||
|
|
||||||
|
Відповідно, користувачі Tor - оперуватимуть вже адресами `.onion`, використовуючи проксі з портом `9150` або `9050`, в залежності від обраного ними роутера:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
git clone http://tus2sol3kcykzh6dw4adgma3yzvzex7nsizlbdjmizgeines74chk7yd.onion:8788/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git heartwood
|
||||||
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue