SoftEtherAdmin ist eine webbasierte Benutzeroberfläche für den SoftEther VPN-Server. Derzeit werden nur Lesevorgänge unterstützt und der Funktionsumfang ist nicht vollständig! Das UI-Design ist das Light Bootstarp Dashboard-Theme von den netten Leuten von Creative Tim.
Zuerst müssen Sie die Dateien klonen/herunterladen:
# 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
Bevor Sie die Anwendung ausführen, müssen Sie die npm-Pakete wiederherstellen!
cd /srv/SoftEtherAdmin
sudo npm install
Befolgen Sie die Anweisungen im Konfigurationsabschnitt, um die Anwendung einzurichten. Sie sollten eine Konfiguration wie diese haben:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Zu diesem Zeitpunkt sollte die Anwendung lauffähig sein:
node app.js
Öffnen Sie eine andere Shell und:
wget http://localhost:8000/
Die empfohlene Methode zum Verwalten von node.js-Apps ist die Verwendung von 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 "
Weitere Informationen im Abschnitt pm2
Um die App über einen Webserver bereitzustellen, müssen Sie lediglich den Webserver als Reverse-Proxy konfigurieren, der auf den Port der Anwendung verweist. Nginx-Beispiel :
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;
}
}
Laden Sie die Datei https://github.com/notisrac/SoftEtherAdmin/archive/master.zip herunter und extrahieren Sie sie dann in einen Ordner. Wir werden Folgendes verwenden:
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm install
Befolgen Sie die Anweisungen im Konfigurationsabschnitt, um die Anwendung einzurichten. Sie sollten eine Konfiguration wie diese haben:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}
Zu diesem Zeitpunkt sollte die Anwendung lauffähig sein:
node app.js
Öffnen Sie einen Browser und navigieren Sie zu: http://localhost:8000/
Die empfohlene Methode zum Verwalten von node.js-Apps ist die Verwendung von pm2
:
# first, you need to install pm2 globally
npm install pm2 -g
Bevor Sie pm2 unter Windows verwenden können, müssen einige Dinge erledigt werden:
pm2-Ordner
C:NodeApps_pm2
PM2_HOME-Umgebungsvariable
PM2_HOME
auf Systemebene mit dem Wert C:NodeApps_pm2
echo %PM2_HOME%
Registrieren Sie die App in 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
Erstellen Sie einen Dienst aus pm2
Wir werden dies mit Hilfe von pm2-windows-service tun
# # Make sure, you do this in an ADMINISTRATOR cmd ##
# install
npm install -g pm2-windows-service
# Create the service
pm2-service-install -n PM2
Beantworten Sie die Setup-Fragen wie folgt:
Vielen Dank an Walter Accantelli für die Windows-Anleitung: https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
Weitere Informationen im Abschnitt pm2
Die Konfiguration der App wird vom config
(https://www.npmjs.com/package/config) übernommen. Standardmäßig müssen Sie die Datei config/default.json
ändern:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Wo:
localhost
c:\...\...
!) Hinweis: Wenn Sie das Repo geklont haben, empfiehlt es sich, die Konfiguration in einer config/local.json
-Datei zu haben. Auf diese Weise wird Ihre Konfiguration beim Abrufen neuer Versionen des Repos nicht überschrieben!
Weitere Informationen zur Konfigurationsdatei finden Sie hier: https://github.com/lorenwest/node-config/wiki/Configuration-Files
pm2 ist ein Prozessmanager für node.js. Es kann Ihre App überwachen, beim Serverstart starten usw.
Installieren:
npm install pm2 -g
Registrieren Sie die App bei pm2
pm2 start app.js --name " softetheradmin "
Überprüfen Sie den aktuellen Status der App
pm2 show softetheradmin
Listet alle von pm2 verwalteten Apps auf
pm2 list
Sie können auch die App pm2 stop softetheradmin
stoppen und pm2 restart softetheradmin
neu starten.
cd /srv/softetheradmin
node app.js
Dies sollte zu einer Meldung Server listening on port: <PORT>
führen, wobei <PORT>
der Wert der serverPort
-Konfigurationseinstellung ist. Wenn beim Starten oder Ausführen der App ein Fehler aufgetreten ist, wird dieser hier ausgedruckt.
Es verwendet die vpncmd
-Anwendung, die mit dem SoftEther VPN Server-Installationsprogramm verteilt wird. Hier zwei Beispiele:
Dieser wird auf einer Linux-Box ausgeführt und ruft die Liste der Hubs ab:
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList
Dieser wird auf einem Windows-Computer ausgeführt und führt alle Befehle in der Datei scripts/vpncmd_hubinfofull.txt
auf dem ausgewählten Hub aus:
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt "
pm2 monit
Pull-Anfragen sind jederzeit willkommen! :) :)