71 lines
7.8 KiB
Text
71 lines
7.8 KiB
Text
Панели 3x-ui: общий установщик сессий PuTTY для Windows
|
||
|
||
БЫСТРОЕ НАЧАЛО
|
||
1. Распакуйте ZIP целиком в отдельную папку. Не запускайте файл внутри ZIP.
|
||
2. Запустите Install.cmd обычным пользователем. Права администратора не нужны.
|
||
3. Отметьте нужные серверы. Нажмите «Установить выбранные».
|
||
4. Выберите установленный putty.exe, если он не найден, и свой существующий .ppk.
|
||
5. На рабочем столе появятся «3x-ui <ID>» и «Панель <ID>».
|
||
Первый ярлык поднимает SSH-туннель; оставьте окно PuTTY работающим.
|
||
Затем второй ярлык открывает страницу панели в браузере.
|
||
Пароль приватного ключа при необходимости вводится в PuTTY, пароль панели — в браузере.
|
||
Установщик не устанавливает сам PuTTY или 3x-ui и не копирует приватный ключ.
|
||
ExecutionPolicy, системные службы, firewall и другие PuTTY-сессии не меняются.
|
||
|
||
НОВЫЙ СЕРВЕР БЕЗ ПЕРЕСБОРКИ
|
||
После развёртывания 3x-ui:
|
||
1. Панель должна слушать 127.0.0.1. Не открывайте её порт наружу ради этого комплекта.
|
||
2. Проверьте вход на сервер своим ключом PuTTY. При новом сервере установите именно
|
||
публичную часть этого ключа в authorized_keys нужного SSH-пользователя.
|
||
3. В консоли сервера получите отпечаток публичного host key, например:
|
||
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
|
||
Нужна строка SHA256:... из доверенной консоли. Не отключайте проверку host key.
|
||
4. Откройте Install.cmd → «Добавить сервер». Укажите:
|
||
- постоянный ID, например DK, DE2, FI или новый сервер; название — произвольное;
|
||
- IP/DNS без https:// и без порта; SSH-пользователя и SSH-порт;
|
||
- свободный локальный порт и порт панели на сервере, например 2053;
|
||
- путь панели из настроек 3x-ui и проверенный SHA256 отпечаток.
|
||
5. Сохраните и установите только нужный сервер.
|
||
Для обновления адреса/порта/пути выберите запись → «Изменить» и переустановите её.
|
||
Сохраняйте ID прежним, чтобы обновлялся прежний ярлык и прежняя PuTTY-сессия.
|
||
Одновременно работающим панелям нужны разные локальные порты.
|
||
|
||
КАТАЛОГ И ПЕРЕНОС НА ДРУГОЙ ПК
|
||
Рабочий каталог: %LOCALAPPDATA%\KAgentPanels\catalog.json.
|
||
Повторный запуск использует сохранённый каталог. «Импорт каталога» добавляет записи
|
||
из нового connections.json; замена существующей записи требует подтверждения.
|
||
«Экспорт каталога» сохраняет JSON для другого ПК. Импортируйте его там и выберите
|
||
ключ .ppk, который установлен на этом ПК и разрешён на соответствующих серверах.
|
||
Первый запуск может загрузить connections.json из папки установщика.
|
||
Старый каталог предыдущего комплекта RU/DE поддерживается; путь панели по умолчанию /.
|
||
Уточните его через «Изменить», если он отличается.
|
||
connections.example.json — только шаблон. Его адрес и отпечаток обязательно заменить.
|
||
Серверы не привязаны к фиксированному списку стран; код для их добавления не меняется.
|
||
«Убрать из списка» удаляет запись только из каталога, не удаляя установленные ярлыки.
|
||
|
||
ЗАЩИТА И ВОССТАНОВЛЕНИЕ
|
||
Ключ .ppk остаётся на выбранном месте. Пароли и содержимое ключа не сохраняются.
|
||
Метаданные включают адреса и приватный путь панели: не публикуйте свой каталог/ZIP.
|
||
Каталог защищён ACL текущего пользователя и SYSTEM. Предыдущая версия — catalog.json.previous.
|
||
Перед заменой выбранной PuTTY-сессии и её ярлыков создаётся backup-* в той же папке.
|
||
Для восстановления сессии импортируйте соответствующий *-previous.reg; старый ярлык
|
||
скопируйте из той же backup-папки на рабочий стол. Остальные серверы не переустанавливаются.
|
||
Если установка остановится, окно покажет уже установленные записи и папку резервных копий.
|
||
Проверенный отпечаток сохраняется в сессии PuTTY и передаётся ярлыком через -hostkey.
|
||
Предыдущий список разрешённых ручных ключей этой сессии заменяется точным отпечатком.
|
||
Forwarding слушает только 127.0.0.1. При смене ключа проверьте его в консоли сервера. Туннель использует удалённый127.0.0.1.
|
||
Если локальный порт занят, закройте прежнее окно туннеля этой панели либо выберите другой порт.
|
||
Система с корпоративным запретом PowerShell/WinForms может блокировать запуск:
|
||
общие ограничения безопасности установщик не отключает.
|
||
|
||
ПРОВЕРКА И СБОРКА ДЛЯ ОПЕРАТОРА
|
||
Test-Catalog.ps1 проверяет каталог, выбор серверов, ограничения полей, привязку
|
||
к loopback, host-key pin и атомарное сохранение. Требуется PowerShell5.1+.
|
||
Проверка на Linux не заменяет запуск WinForms/реестра/ярлыков на настоящем Windows.
|
||
Сборка общего ZIP из исходников:
|
||
powershell -NoProfile -File Build-Package.ps1 -OutputPath C:\Private\panels.zip
|
||
Сборка ZIP со своим каталогом (не публиковать такой архив):
|
||
powershell -NoProfile -File Build-Package.ps1 -OutputPath C:\Private\my-panels.zip -CatalogPath C:\Private\connections.json
|
||
Сборщик копирует только разрешённые исходники и нормализованный каталог,
|
||
не собирает ключи, env-файлы и пароли из соседних директорий. Готовый ZIP не перезаписывается.
|
||
Контрольные суммы файлов — SHA256SUMS.txt.
|