mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-19 06:22:41 +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
|
|
@ -318,4 +318,139 @@ sudo ufw allow from 0400::/7 to 505:6847:c778:61a1:5c6d:e802:d291:8191 port 8780
|
|||
Якщо встановлено Alfis DNS:
|
||||
|
||||
=> 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