mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-03-11 03:52:40 +00:00
add kellnr-proxy-verification-using-local-index.gmi
This commit is contained in:
parent
f0b033cc81
commit
0961c3e883
3 changed files with 43 additions and 0 deletions
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
### Нотатки
|
### Нотатки
|
||||||
|
|
||||||
|
=> kellnr-proxy-verification-using-local-index.gmi 2026-02-28 Не верифіковане проксі Kellnr на базі власного індексу
|
||||||
=> rust-crates-mirroring-with-kellnr.gmi 2026-02-25 Організація локального дзеркала залежностей Cargo з Kellnr
|
=> rust-crates-mirroring-with-kellnr.gmi 2026-02-25 Організація локального дзеркала залежностей Cargo з Kellnr
|
||||||
=> radicle-p2p-traffic-leak-prevention.gmi 2026-02-24 Radicle: обмеження витоків пірингового трафіку
|
=> radicle-p2p-traffic-leak-prevention.gmi 2026-02-24 Radicle: обмеження витоків пірингового трафіку
|
||||||
=> flarum-v2-fof-redis-extension-setup.gmi 2026-02-22 Flarum v2: активація драйвера Redis (FoF/redis)
|
=> flarum-v2-fof-redis-extension-setup.gmi 2026-02-22 Flarum v2: активація драйвера Redis (FoF/redis)
|
||||||
|
|
|
||||||
41
public/uk/kellnr-proxy-verification-using-local-index.gmi
Normal file
41
public/uk/kellnr-proxy-verification-using-local-index.gmi
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
# Не верифіковане проксі Kellnr на базі власного індексу
|
||||||
|
|
||||||
|
> Повний аудит рішення не проводився, зокрема обробка [config.json](https://github.com/rust-lang/crates.io-index/blob/master/config.json). Візуально, лічильники завантажень в ланцюгу проксі працюють коректно, підміна фіктивним індексом - не дозволяє оновлень.
|
||||||
|
|
||||||
|
У попередньому гайді, я описав базове встановлення Kellnr в режимі локального та віддаленого проксі сервера:
|
||||||
|
=> rust-crates-mirroring-with-kellnr.gmi Організація локального дзеркала залежностей Cargo з Kellnr
|
||||||
|
|
||||||
|
Утім, мені не давало спокою питання потенційної компрометації дзеркала, через що я декілька днів поспіль намагався відокремити індекс з контрольними сумами від джерела кешованих пакунків.
|
||||||
|
|
||||||
|
Нарешті, мені це вдалося. Схема з'єднання виглядає наступним чином:
|
||||||
|
|
||||||
|
```
|
||||||
|
crates.io > -|- out proxy > kellnr server > kellnr client > cargo
|
||||||
|
crates.io-index > _↑ |
|
||||||
|
↑_________________[--proxy-index]__________________↓
|
||||||
|
```
|
||||||
|
|
||||||
|
У цьому ланцюгу, `kellnr server` ми не довіряємо, оскільки той ходить через не відомий нам вихідний проксі. Натомість, піднімаємо додатковий локальний інстанс `kellnr client`, який звертається до першого але використовує власний `--proxy-index`:
|
||||||
|
|
||||||
|
``` /etc/systemd/system/kellnr.service
|
||||||
|
kellnr start \
|
||||||
|
--proxy-index https://index.crates.io/ \
|
||||||
|
--proxy-url http://[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]:8180/api/v1/cratesio/dl/ \
|
||||||
|
```
|
||||||
|
* це просто фрагмент команди `kellnr start` з файлу `/etc/systemd/system/kellnr.service`, де ми задіюємо офіційний індекс, але у вас це може бути локальне дзеркало репозиторію
|
||||||
|
* `http://[202:68d0:f0d5:b88d:1d1a:555e:2f6b:3148]:8180` - не верифікований `kellnr server` на схемі
|
||||||
|
|
||||||
|
Відповідно, в локальному `~/.cargo/config.toml` вказуємо `kellnr client`, якому довіряємо:
|
||||||
|
|
||||||
|
``` ~/.cargo/config.toml
|
||||||
|
[registries.kellnr]
|
||||||
|
index = "sparse+http://127.0.0.1:8000/api/v1/cratesio/"
|
||||||
|
|
||||||
|
[source.crates-io]
|
||||||
|
replace-with = "kellnr"
|
||||||
|
|
||||||
|
[http]
|
||||||
|
timeout = 180
|
||||||
|
```
|
||||||
|
|
||||||
|
Нагадаю, що окремий індекс використовувати не обов'язково, якщо ваша копія проєкту містить файл `Cargo.lock` з хешами, що дозволяє звіряти їх аргументом `--locked`.
|
||||||
|
|
@ -308,6 +308,7 @@ crates.io > -|- out proxy > kellnr server > kellnr client > cargo
|
||||||
crates.io-index > _↑ |
|
crates.io-index > _↑ |
|
||||||
↑_________________[--proxy-index]__________________↓
|
↑_________________[--proxy-index]__________________↓
|
||||||
```
|
```
|
||||||
|
=> kellnr-proxy-verification-using-local-index.gmi Не верифіковане проксі Kellnr на базі власного індексу
|
||||||
|
|
||||||
## Посилання
|
## Посилання
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue