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
始終歡迎拉取請求! :)