Зеркала
Сайт могут заблокировать в России. Поэтому один и тот же подписанный выпуск сайта лежит по нескольким адресам у разных хостингов. Список зеркал входит в каждый выпуск и обновляется вместе с ним.
Адреса
- https://russialedger.com/Основной адрес · Vercel · с 9 октября 2026
- https://russialedger-mirror.github.io/Зеркало · GitHub Pages · с 12 октября 2026
Как проверить копию
Каждый выпуск сайта подписан. В файле release.json перечислены все файлы выпуска с контрольными суммами (sha256), а release.json.minisig — подпись этого списка. Любой может проверить копию программой minisign и открытым ключом ниже: если изменён хоть один файл, проверка не пройдёт.
Открытый ключ
RWRvGOpGgdZw4fGudqOt1aLEPZdd0IxZL7jdScxLzJ4G5YnWJqAmq0Jc
minisign -Vm release.json -P RWRvGOpGgdZw4fGudqOt1aLEPZdd0IxZL7jdScxLzJ4G5YnWJqAmq0Jc
Если сайт не открывается
- Откройте любое зеркало из списка выше: там те же страницы и те же данные.
- Сохранённая страница работает и без сети; её можно переслать, а подлинность проверить по подписи.
- Сайт не хранит данных о читателях: ни учётных записей, ни cookie, ни сторонних скриптов.
Как запустить зеркало
Зеркало может запустить любой человек. Программа зеркала скачивает подписанную версию сайта, проверяет подпись и каждый файл и выкладывает копию, только если всё совпало: изменить сайт на зеркале нельзя. Паролей и ключей от редакции не нужно, и программа ничего не отправляет редакции.
Мы не просим запускать зеркала никого, кто находится в России.
- pull.mjs — программа зеркала: Node.js, без дополнительных пакетов
- mirror.yml — готовое зеркало на GitHub Pages, ключ и адреса уже вписаны
На GitHub Pages: бесплатно, без своего сервера
- Создайте публичный репозиторий на GitHub.
- Положите pull.mjs в корень репозитория, а mirror.yml — в папку .github/workflows/.
- В настройках репозитория откройте Settings → Pages и выберите Source: «GitHub Actions».
- Откройте Actions → Mirror → Run workflow. Дальше зеркало обновляется само раз в час, по адресу https://<имя>.github.io/<репозиторий>/.
На своём сервере или хостинге
Раз в час запускайте программу в новую папку и заменяйте ею опубликованную, только если программа завершилась без ошибки (код 0); код 3 значит, что копия уже свежая. Публикуйте папку как обычные файлы.
node pull.mjs --key "RWRvGOpGgdZw4fGudqOt1aLEPZdd0IxZL7jdScxLzJ4G5YnWJqAmq0Jc" --out site.new --from https://russialedger.com/ --from https://russialedger-mirror.github.io/
Адрес в сети Tor
Та же папка через веб-сервер на локальном адресе и две строки в настройках Tor (torrc). Адрес зеркала будет в файле hostname в папке HiddenServiceDir.
HiddenServiceDir /var/lib/tor/mirror/ HiddenServicePort 80 127.0.0.1:8080
Зеркало работает и без списка выше. В список редакция вносит адреса, которые проверяет каждый час.
Чтобы зеркало появилось в списке выше, напишите редакции: myeel@pm.me
Адрес отправителя виден редакции: пишите с адреса, который не раскрывает вашу личность.