mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
add i2p and tor config examples
This commit is contained in:
parent
70fa43a941
commit
be58c872a5
1 changed files with 136 additions and 1 deletions
|
|
@ -319,3 +319,138 @@ 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 у випадку, якщо спробуєте відвідати сіди 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, до конфігурації тунелів додаються два HTTP сервери:
|
||||||
|
|
||||||
|
* JSON/API
|
||||||
|
* Radicle explorer
|
||||||
|
|
||||||
|
``` /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 отримуються згенеровані адреси 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`
|
||||||
|
|
||||||
|
Перевіряємо роботу `radicle-explorer`:
|
||||||
|
=> http://k7cfad745uretan7iihkwo6x24ut6mgbhq4ccxjqkzetgbtfknbq.b32.i2p
|
||||||
|
|
||||||
|
### Tor
|
||||||
|
|
||||||
|
Я користуюсь більш сучасною реалізацією роутера - Arti, детальніше про нього було написано тут:
|
||||||
|
=> arti-onion-router-with-tor-connection-over-yggdrasil.gmi Встановлення Onion-роутера Arti з підключенням до мережі Tor через Yggdrasil
|
||||||
|
|
||||||
|
Підходів налаштування "прихованого сервісу" Radicle може буде декілька. Можна створити окремі `onion_services` на `80` порт, але я поки використовую підхід зі спільним доменом на різних портах:
|
||||||
|
|
||||||
|
``` /path/to/config.toml
|
||||||
|
[onion_services."radicle"]
|
||||||
|
#enabled = true
|
||||||
|
proxy_ports = [
|
||||||
|
# radicle-explorer (Web UI)
|
||||||
|
["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-multi-network-seed-deployment.gmi Розгортання сіда Radicle в мульти-мережному середовищі
|
||||||
|
|
||||||
|
Після збереження налаштувань і перезапуску роутера, для отримання адреси `.onion` виконуємо команду:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ su arti -s /bin/bash \
|
||||||
|
-c 'arti hss -c /path/to/config.toml --nickname radicle onion-address'
|
||||||
|
...
|
||||||
|
tus2sol3kcykzh6dw4adgma3yzvzex7nsizlbdjmizgeines74chk7yd.onion
|
||||||
|
```
|
||||||
|
|
||||||
|
І додаємо її до конфігурації експлорера у відповідному неймспейсі:
|
||||||
|
|
||||||
|
``` /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