SoftEtherAdmin 是 SoftEther VPN 服务器的基于 Web 的 UI。目前仅支持读操作,且功能集并不完整! UI 设计是由 Creative Tim 可爱的人们设计的 Light Bootstarp Dashboard 主题。
首先,您需要克隆/下载文件:
# 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
打开另一个 shell,然后:
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 部分
要通过 Web 服务器为应用程序提供服务,您所需要做的就是将 Web 服务器配置为指向应用程序端口的反向代理。 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
在 Windows 上使用 pm2 之前,需要完成以下几件事:
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
回答如下设置问题:
非常感谢 Walter Accantelli 提供的 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 服务器安装程序一起分发。下面是两个例子:
这个在 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
始终欢迎拉取请求! :)