SoftEtherAdmin est une interface utilisateur Web pour le serveur VPN SoftEther. Actuellement, il ne prend en charge que les opérations de lecture et l'ensemble des fonctionnalités n'est pas complet ! La conception de l'interface utilisateur est le thème Light Bootstarp Dashboard des charmantes personnes de Creative Tim.
Tout d'abord, vous devez cloner/télécharger les fichiers :
# 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/SoftEtherAdminAvant d'exécuter l'application, vous devez restaurer les packages npm !
cd /srv/SoftEtherAdmin
sudo npm installSuivez les instructions de la section de configuration pour configurer l'application. Vous devriez avoir une configuration ressemblant à ceci :
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}À ce stade, l'application doit être exécutable :
node app.jsOuvrez un autre shell et :
wget http://localhost:8000/ La méthode recommandée pour gérer les applications node.js est d'utiliser 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 " Plus d'infos dans la rubrique pm2
Pour servir l'application via un serveur Web, tout ce que vous avez à faire est de configurer le serveur Web en tant que proxy inverse pointant vers le port de l'application. Exemple 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;
}
}
Téléchargez le fichier https://github.com/notisrac/SoftEtherAdmin/archive/master.zip Puis extrayez-le dans un dossier. Nous utiliserons :
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm installSuivez les instructions de la section de configuration pour configurer l'application. Vous devriez avoir une configuration ressemblant à ceci :
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}À ce stade, l'application doit être exécutable :
node app.js Ouvrez un navigateur et accédez à : http://localhost:8000/
La méthode recommandée pour gérer les applications node.js est d'utiliser pm2 :
# first, you need to install pm2 globally
npm install pm2 -gAvant de pouvoir utiliser pm2 sous Windows, vous devez effectuer certaines opérations :
dossier pm2
C:NodeApps_pm2Variable d'environnement PM2_HOME
PM2_HOME , avec la valeur C:NodeApps_pm2echo %PM2_HOME%Enregistrez l'application dans 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 saveCréer un service à partir de pm2
Nous ferons cela avec l'aide de 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 PM2Répondez aux questions de configuration comme ceci :
Un grand merci à Walter Accantelli pour les instructions Windows : https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
Plus d'infos dans la rubrique pm2
La configuration de l'application est gérée par le module de nœud config (https://www.npmjs.com/package/config). Par défaut vous devez modifier le fichier config/default.json :
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}Où:
localhostc:\...\... !) Remarque : si vous avez cloné le repo, il est conseillé d'avoir la config dans un fichier config/local.json . De cette façon, lorsque vous extrayez de nouvelles versions du dépôt, votre configuration n'est pas écrasée !
Plus d'informations sur le fichier de configuration peuvent être trouvées ici : https://github.com/lorenwest/node-config/wiki/Configuration-Files
pm2 est un gestionnaire de processus pour node.js. Il peut surveiller votre application, la lancer au démarrage du serveur, etc.
Installer:
npm install pm2 -gEnregistrez l'application avec pm2
pm2 start app.js --name " softetheradmin " Vérifiez l'état actuel de l'application
pm2 show softetheradminLister toutes les applications gérées par pm2
pm2 list Vous pouvez également arrêter pm2 stop softetheradmin et redémarrer pm2 restart softetheradmin l'application.
cd /srv/softetheradmin
node app.js Cela devrait entraîner un message Server listening on port: <PORT> , où <PORT> est la valeur du paramètre de configuration serverPort . S'il y a une erreur lors du démarrage ou de l'exécution de l'application, elle sera imprimée ici.
Il utilise l'application vpncmd , distribuée avec le programme d'installation du serveur SoftEther VPN. Voici deux exemples :
Celui-ci s'exécute sur une machine Linux, et récupère la liste des hubs :
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList Celui-ci est exécuté sur une machine Windows, et exécute toutes les commandes du fichier scripts/vpncmd_hubinfofull.txt sur le hub sélectionné :
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt " pm2 monitLes demandes de tirage sont toujours les bienvenues ! :)





