Как установить proximamp на Linux, Windows и в Docker
Поставьте proximamp, чтобы открывать порты компьютера или сервера из терминала, без приложения ProximaClient. Программа работает на Linux x86_64 и arm64 с glibc 2.28 или новее (Debian 10, Ubuntu 20.04, RHEL 8 и новее, Raspberry Pi 3 и новее с 64-битной системой) и на 64-битной Windows.
Установите
- Linux
- Debian, Ubuntu
- Fedora, RHEL
- Windows
- npm
- Docker
curl -fsSL https://s3.proximamp.com/cli/install.sh | sh
Скрипт скачивает последнюю версию для вашего процессора и кладёт программу в /usr/local/bin, если нужно, спросив пароль sudo. Без sudo программа ляжет в ~/.local/bin. Другую папку задаёт PROXIMAMP_INSTALL_DIR, а определённую версию вместо последней — PROXIMAMP_VERSION:
curl -fsSL https://s3.proximamp.com/cli/install.sh | PROXIMAMP_VERSION=1.0.0 sh
Если прав sudo у вас нет, нажмите Ctrl+C и поставьте программу в свою папку:
curl -fsSL https://s3.proximamp.com/cli/install.sh | PROXIMAMP_INSTALL_DIR=~/.local/bin sh
Если скрипт пишет, что папки нет в PATH, добавьте ~/.local/bin в bash и откройте новое окно терминала:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
В RHEL, AlmaLinux, Rocky Linux и Oracle Linux sudo не видит программ из /usr/local/bin: там ставьте программу из dnf или набирайте sudo env "PATH=$PATH" proximamp вместо sudo proximamp, например:
sudo env "PATH=$PATH" proximamp update
sudo apt update && sudo apt install -y curl ca-certificates
curl -fsSL https://s3.proximamp.com/cli/proximamp.gpg | sudo tee /usr/share/keyrings/proximamp.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/proximamp.gpg] https://s3.proximamp.com/cli/apt stable main" | sudo tee /etc/apt/sources.list.d/proximamp.list
sudo apt update && sudo apt install proximamp
Новые версии приходят вместе с остальными пакетами системы.
sudo curl -fsSL -o /etc/yum.repos.d/proximamp.repo https://s3.proximamp.com/cli/rpm/proximamp.repo
sudo dnf install proximamp
На вопрос об импорте ключа ProximaMP ответьте y. Так же ставится на AlmaLinux, Rocky Linux и Oracle Linux 8 и новее. Новые версии приходят вместе с остальными пакетами системы.
В PowerShell:
$ProgressPreference = 'SilentlyContinue'
$dir = "$env:LOCALAPPDATA\Programs\proximamp"
New-Item -ItemType Directory -Force $dir | Out-Null
$v = (Invoke-RestMethod https://s3.proximamp.com/cli/latest.txt).Trim()
Invoke-WebRequest "https://s3.proximamp.com/cli/$v/proximamp.exe" -OutFile "$dir\proximamp.exe"
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path', 'User') + ";$dir", 'User')
Команды скачивают последнюю версию в папку ваших программ и добавляют её в PATH. Откройте новое окно терминала: в нём команда proximamp уже работает.
Если у вас есть Node.js 18 или новее (в Windows PowerShell, где запрещены скрипты, а так по умолчанию, набирайте npm.cmd, npx.cmd и proximamp.cmd вместо npm, npx и proximamp):
npm i -g proximamp
Если в Linux npm i -g отвечает EACCES, поставьте с sudo:
sudo npm i -g proximamp
Без установки набирайте npx -y proximamp@latest вместо proximamp на всех страницах, кроме службы: её ставьте из программы, поставленной npm i -g. С -y npx ничего не спрашивает, а с @latest каждый раз берёт новую версию; свои строки npm может писать в поток ошибок. Например, вход:
npx -y proximamp@latest login
Программу ставить не нужно: Docker сам скачает образ proximamp/proximamp для Linux x86_64 и arm64 с Docker Hub. Проверьте, что образ запускается:
docker run --rm proximamp/proximamp version
Команда скачивает образ и печатает название и номер версии, например proximamp 1.0.1.
Проверьте
Проверьте программу (образ Docker проверяет команда на его вкладке):
proximamp version
npx -y proximamp@latest version # без установки
Команда печатает название и номер версии, например proximamp 1.0.1. Если команда не находится, откройте новое окно терминала или запустите программу по полному пути: после скрипта — по тому, который он назвал, в Windows — из папки %LOCALAPPDATA%\Programs\proximamp:
~/.local/bin/proximamp version # скрипт без прав администратора
& "$env:LOCALAPPDATA\Programs\proximamp\proximamp.exe" version # Windows
Дальше: первый туннель, а в Docker — туннель рядом с сервером.
Удалить
Контейнер Docker удаляют шаги на странице «Как открыть сервер в Docker через proximamp». Программу на компьютере удалите так:
-
Если ставили службу, сначала удалите её (в Windows без
sudo, в терминале администратора):sudo proximamp service uninstallОна работает на своей копии программы и без этого шага не остановится.
-
Выйдите из аккаунта:
proximamp logoutnpx -y proximamp@latest logout # без установки -
Удалите программу тем же способом, которым ставили:
sudo apt remove proximamp # aptsudo dnf remove proximamp # dnfnpm uninstall -g proximamp # npm (ставили с sudo — с sudo)sudo rm /usr/local/bin/proximamp # скриптrm ~/.local/bin/proximamp # скрипт без прав администратора# npx: достаточно шага 2Если скрипту задавали свою папку (
PROXIMAMP_INSTALL_DIR), удалитеproximampиз неё.В Windows остановите команды
proximamp, в том числе запущенные скрытым окном, затем удалите папку программы и уберите её изPATH, в PowerShell:$dir = "$env:LOCALAPPDATA\Programs\proximamp"Get-Process proximamp -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq "$dir\proximamp.exe" } | Stop-Process -PassThru | Wait-ProcessRemove-Item -Recurse -Force $dir$p = ([Environment]::GetEnvironmentVariable('Path', 'User') -split ';') -ne $dir[Environment]::SetEnvironmentVariable('Path', ($p -join ';'), 'User')
Проверьте:
proximamp version
Терминал отвечает, что команда не найдена.