SoftEtherAdmin es una interfaz de usuario basada en web para el servidor SoftEther VPN. Actualmente solo admite operaciones de lectura y el conjunto de funciones no está completo. El diseño de la interfaz de usuario es el tema Light Bootstarp Dashboard de la encantadora gente de Creative Tim.
Primero, necesitas clonar/descargar los archivos:
# 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
¡Antes de ejecutar la aplicación, debe restaurar los paquetes npm!
cd /srv/SoftEtherAdmin
sudo npm install
Siga las instrucciones en la sección de configuración para configurar la aplicación. Deberías tener una configuración similar a esta:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
En esta etapa la aplicación debería ser ejecutable:
node app.js
Abra otro shell y:
wget http://localhost:8000/
La forma recomendada de administrar aplicaciones node.js es usar 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 "
Más información en la sección pm2
Para servir la aplicación a través de un servidor web, todo lo que necesita hacer es configurar el servidor web como un proxy inverso que apunte al puerto de la aplicación. ejemplo de 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;
}
}
Descargue el archivo https://github.com/notisrac/SoftEtherAdmin/archive/master.zip Luego extráigalo a una carpeta. Usaremos:
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm install
Siga las instrucciones en la sección de configuración para configurar la aplicación. Deberías tener una configuración similar a esta:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}
En esta etapa la aplicación debería ser ejecutable:
node app.js
Abra un navegador y navegue hasta: http://localhost:8000/
La forma recomendada de administrar aplicaciones node.js es usar pm2
:
# first, you need to install pm2 globally
npm install pm2 -g
Antes de poder usar pm2 en Windows, hay algunas cosas que se deben hacer:
carpeta pm2
C:NodeApps_pm2
Variable de entorno PM2_HOME
PM2_HOME
, con el valor C:NodeApps_pm2
echo %PM2_HOME%
Registra la aplicación en 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
Crear un servicio a partir de pm2
Haremos esto con la ayuda 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 PM2
Responda las preguntas de configuración de esta manera:
Muchas gracias a Walter Accantelli por las instrucciones de Windows: https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
Más información en la sección pm2
La configuración de la aplicación la maneja el módulo del nodo config
(https://www.npmjs.com/package/config). De forma predeterminada, debe modificar el archivo config/default.json
:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Dónde:
localhost
c:\...\...
!) Nota: si ha clonado el repositorio, es recomendable tener la configuración en un archivo config/local.json
. De esta manera, al extraer nuevas versiones del repositorio, ¡su configuración no se sobrescribe!
Puede encontrar más información relacionada con el archivo de configuración aquí: https://github.com/lorenwest/node-config/wiki/Configuration-Files
pm2 es un administrador de procesos para node.js. Puede monitorear su aplicación, iniciarla al iniciar el servidor, etc.
Instalar:
npm install pm2 -g
Registra la aplicación con pm2
pm2 start app.js --name " softetheradmin "
Comprueba el estado actual de la aplicación.
pm2 show softetheradmin
Listar todas las aplicaciones administradas por pm2
pm2 list
También puede detener pm2 stop softetheradmin
y reiniciar pm2 restart softetheradmin
la aplicación.
cd /srv/softetheradmin
node app.js
Esto debería dar como resultado un mensaje Server listening on port: <PORT>
, donde <PORT>
es el valor de la configuración de serverPort
. Si hubo un error al iniciar la aplicación o ejecutarla, se imprimirá aquí.
Utiliza la aplicación vpncmd
, que se distribuye con el instalador del servidor SoftEther VPN. Aquí hay dos ejemplos:
Este se ejecuta en una máquina Linux y recupera la lista de concentradores:
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList
Este se ejecuta en una máquina con Windows y ejecuta todos los comandos en el archivo scripts/vpncmd_hubinfofull.txt
en el centro seleccionado:
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt "
pm2 monit
¡Las solicitudes de extracción siempre son bienvenidas! :)