SoftEtherAdmin — это веб-интерфейс для VPN-сервера SoftEther. В настоящее время он поддерживает только операции чтения, и набор функций не полон! Дизайн пользовательского интерфейса представляет собой тему Light Bootstarp Dashboard, созданную прекрасными ребятами из Creative Tim.
Сначала вам необходимо клонировать/загрузить файлы:
# GIT clone (Note: git should be installed on your system!)
cd /srv
sudo git clone https://github.com/notisrac/SoftEtherAdmin.git
# # OR ##
# Download (Note: unzip should be installed on your system!)
wget -O SoftEtherAdmin.zip https://github.com/notisrac/SoftEtherAdmin/archive/master.zip
sudo unzip SoftEtherAdmin.zip -d /srv/SoftEtherAdmin
Перед запуском приложения необходимо восстановить пакеты npm!
cd /srv/SoftEtherAdmin
sudo npm install
Следуйте инструкциям в разделе конфигурации, чтобы настроить приложение. У вас должна быть примерно такая конфигурация:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
На этом этапе приложение должно быть работоспособным:
node app.js
Откройте другую оболочку и:
wget http://localhost:8000/
Рекомендуемый способ управления приложениями node.js — использовать pm2
:
# first, you need to install pm2 globally
npm install pm2 -g
# enter the dir wher SoftEtherAdmin is installed
cd /srv/SoftEtherAdmin
# Register the app with pm2
pm2 start app.js --name " softetheradmin "
Больше информации в разделе pm2
Для обслуживания приложения через веб-сервер все, что вам нужно сделать, — это настроить веб-сервер как обратный прокси-сервер, указывающий на порт приложения. пример nginx :
server {
listen 80;
listen [::]:80;
server_name SoftEtherAdmin;
location / {
proxy_pass http://localhost:8000; # <- this is where out app is listening
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Загрузите файл https://github.com/notisrac/SoftEtherAdmin/archive/master.zip. Затем извлеките его в папку. Мы будем использовать:
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm install
Следуйте инструкциям в разделе конфигурации, чтобы настроить приложение. У вас должна быть примерно такая конфигурация:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}
На этом этапе приложение должно быть работоспособным:
node app.js
Откройте браузер и перейдите по адресу: http://localhost:8000/
Рекомендуемый способ управления приложениями node.js — использовать pm2
:
# first, you need to install pm2 globally
npm install pm2 -g
Прежде чем вы сможете использовать pm2 в Windows, необходимо сделать несколько вещей:
папка pm2
C:NodeApps_pm2
Переменная среды PM2_HOME
PM2_HOME
со значением C:NodeApps_pm2
echo %PM2_HOME%
Зарегистрируйте приложение в pm2
# enter the dir wher SoftEtherAdmin is installed
cd /srv/SoftEtherAdmin
# Register the app with pm2
pm2 start app.js --name " softetheradmin "
# If everything went fine, save the config
pm2 save
Создать сервис из pm2
Сделаем это с помощью pm2-windows-service
# # Make sure, you do this in an ADMINISTRATOR cmd ##
# install
npm install -g pm2-windows-service
# Create the service
pm2-service-install -n PM2
Ответьте на вопросы по настройке следующим образом:
Большое спасибо Уолтеру Аккантелли за инструкции для Windows: https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
Больше информации в разделе pm2
Конфигурация приложения обрабатывается модулем узла config
(https://www.npmjs.com/package/config). По умолчанию вам необходимо изменить файл config/default.json
:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Где:
localhost
c:\...\...
!) Примечание. Если вы клонировали репозиторий, желательно сохранить конфигурацию в файле config/local.json
. Таким образом, при получении новых версий репозитория ваша конфигурация не будет перезаписана!
Дополнительную информацию, связанную с файлом конфигурации, можно найти здесь: https://github.com/lorenwest/node-config/wiki/Configuration-Files.
pm2 — менеджер процессов для node.js. Он может отслеживать ваше приложение, запускать его при запуске сервера и т. д.
Установить:
npm install pm2 -g
Зарегистрируйте приложение с помощью pm2
pm2 start app.js --name " softetheradmin "
Проверьте текущий статус приложения
pm2 show softetheradmin
Список всех приложений, управляемых pm2
pm2 list
Вы также можете остановить pm2 stop softetheradmin
и перезапустить pm2 restart softetheradmin
приложение.
cd /srv/softetheradmin
node app.js
Это должно привести к тому, что Server listening on port: <PORT>
, где <PORT>
— это значение параметра конфигурации serverPort
. Если при запуске или запуске приложения произошла ошибка, она будет распечатана здесь.
Он использует приложение vpncmd
, которое распространяется вместе с установщиком SoftEther VPN Server. Вот два примера:
Этот запускается на Linux-системе и получает список хабов:
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList
Он запускается на компьютере с Windows и выполняет все команды из файла scripts/vpncmd_hubinfofull.txt
на выбранном хабе:
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt "
pm2 monit
Запросы на вытягивание всегда приветствуются! :)