Служба proximamp: туннели после перезагрузки сервера
Поставьте службу proximamp: она открывает туннели из файла proximamp.yml вместе с компьютером, даже если в систему никто не вошёл, и перезапускается сама после сбоя. Нужны права администратора: в Linux sudo, в Windows терминал, открытый от имени администратора.
Поставьте службу
-
Опишите туннели в файле
proximamp.yml. Служба — отдельное устройство аккаунта со своей памятью адресов: чтобы она открыла туннель на адресе, который у вас уже есть, впишите его вaddress:и остановите команду, которая сейчас держит этот адрес. -
Поставьте службу (в Windows без
sudo, сначала перейдя командойcdв папку сproximamp.ymlиkey.txt):sudo proximamp service install -c proximamp.ymlsudo proximamp service install -c proximamp.yml --key-stdin < key.txt # или ключом устройстваВ PowerShell ключ из файла передаётся так:
Get-Content key.txt | proximamp service install -c proximamp.yml --key-stdinПервая команда один раз спросит логин и пароль ProximaMP: вход хранится у службы, а не у вас. Вторая подключает службу ключом устройства. Входа через VK ID, Яндекс ID или с телефона у службы нет: если у аккаунта нет пароля, подключите её ключом или задайте пароль в приложении (способы входа) или командой на компьютере с браузером:
proximamp password setЕсли
sudoотвечаетsudo: proximamp: command not found(так бывает в RHEL, AlmaLinux, Rocky Linux и Oracle Linux и с Node.js из nvm или fnm), набирайтеsudo env "PATH=$PATH" proximampвместоsudo proximampздесь и в остальных командах службы, например:sudo env "PATH=$PATH" proximamp service install -c proximamp.yml
Без терминала, например в скрипте, передайте пароль через --password-stdin (пароль — в переменной PASS, вместо alice — ваш логин):
printf '%s\n' "$PASS" | sudo proximamp service install alice -c proximamp.yml --password-stdin
В PowerShell, в терминале администратора:
$env:PASS | proximamp service install alice -c proximamp.yml --password-stdin
Поменять, войти снова, удалить
Чтобы поменять туннели службы или закрыть один из них, поправьте proximamp.yml и поставьте службу снова:
sudo proximamp service install -c proximamp.yml
Остальное:
sudo proximamp service login # вход службы истёк
sudo proximamp service inspect # запросы к http-ссылке службы
sudo proximamp service access <адрес> # защита туннеля службы
sudo proximamp service uninstall # удалить службу
Ошибку в proximamp.yml установка назовёт ещё до того, как что-то поменяет. В вашем proximamp ls туннели службы стоят «в другом месте», и proximamp close их не закрывает. Их защиту меняет proximamp service access с теми же словами, что у proximamp access, и адресом из sudo proximamp service status. Инспектор службы тот же, что у команды, но ссылку на страницу он только печатает: откройте её сами. Удалённая служба выходит из аккаунта, а её вход и память адресов удаляются. Чтобы перевести службу на другой аккаунт, удалите её и поставьте снова.
Если ProximaMP отказал туннелю службы (например, аккаунт уже держит столько адресов, сколько даёт тариф), служба не останавливается: журнал говорит, что сделать, а туннель служба пробует открыть снова сама, до раза в 5 минут.
Где служба
-
Linux: служба systemd
proximampот системного пользователяproximamp-cli, без прав root. Журнал службы:sudo journalctl -u proximampВ системе без systemd, например в WSL, где он не включён, служба не ставится: «в этой системе нет systemd: proximamp service работает через него». В WSL включите systemd по инструкции Microsoft.
-
Windows: служба
proximampот учётной записиNT SERVICE\proximamp, без прав администратора. Её конфиг, вход и журнал лежат вC:\ProgramData\proximamp. Последние строки журнала, в терминале администратора:Get-Content C:\ProgramData\proximamp\logs\proximamp.log -Tail 50
Служба работает на своей копии программы. Как перевести её на новую версию, написано на странице «Как обновить proximamp».
Проверьте
Перезагрузите компьютер и посмотрите состояние службы:
sudo proximamp service status
Служба работает, и у каждого туннеля из файла есть адрес.