SoftEtherAdmin é uma UI baseada na web para o servidor VPN SoftEther. Atualmente ele suporta apenas operações de leitura e o conjunto de recursos não está completo! O design da UI é o tema Light Bootstarp Dashboard do pessoal adorável da Creative Tim.
Primeiro, você precisa clonar/baixar os arquivos:
# 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 executar a aplicação, você deve restaurar os pacotes npm!
cd /srv/SoftEtherAdmin
sudo npm install
Siga as instruções na seção de configuração para configurar o aplicativo. Você deve ter uma configuração mais ou menos assim:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Nesta fase, o aplicativo deve ser executável:
node app.js
Abra outro shell e:
wget http://localhost:8000/
A maneira recomendada de gerenciar aplicativos node.js é 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 "
Mais informações na seção pm2
Para servir o aplicativo por meio de um servidor web, tudo o que você precisa fazer é configurar o servidor web como um proxy reverso apontando para a porta do aplicativo. exemplo 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;
}
}
Baixe o arquivo https://github.com/notisrac/SoftEtherAdmin/archive/master.zip Em seguida, extraia-o para uma pasta. Estaremos usando:
C:NodeApps
cd C: N odeApps S oftEtherAdmin
npm install
Siga as instruções na seção de configuração para configurar o aplicativo. Você deve ter uma configuração mais ou menos assim:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " C: \ Program Files \ SoftEther \ vpncmd.exe " ,
"password" : " supersecretpassword1 "
}
}
Nesta fase, o aplicativo deve ser executável:
node app.js
Abra um navegador e navegue até: http://localhost:8000/
A maneira recomendada de gerenciar aplicativos node.js é usar pm2
:
# first, you need to install pm2 globally
npm install pm2 -g
Antes de poder usar o pm2 no Windows, há algumas coisas que precisam ser feitas:
pasta pm2
C:NodeApps_pm2
Variável de ambiente PM2_HOME
PM2_HOME
, com o valor C:NodeApps_pm2
echo %PM2_HOME%
Registre o aplicativo no 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
Crie um serviço fora do pm2
Faremos isso com a ajuda do 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 às perguntas de configuração assim:
Muito obrigado a Walter Accantelli pelas instruções do Windows: https://blog.cloudboost.io/nodejs-pm2-startup-on-windows-db0906328d75
Mais informações na seção pm2
A configuração do aplicativo é feita pelo módulo do nó config
(https://www.npmjs.com/package/config). Por padrão, você precisa modificar o arquivo config/default.json
:
{
"serverPort" : 8000 ,
"softEther" : {
"address" : " localhost " ,
"port" : 5555 ,
"vpncmdPath" : " /usr/local/vpnserver/vpncmd " ,
"password" : " supersecretpassword1 "
}
}
Onde:
localhost
c:\...\...
!) Nota: se você clonou o repositório, é aconselhável ter a configuração em um arquivo config/local.json
. Dessa forma, ao extrair novas versões do repositório, sua configuração não será sobrescrita!
Mais informações relacionadas ao arquivo de configuração podem ser encontradas aqui: https://github.com/lorenwest/node-config/wiki/Configuration-Files
pm2 é um gerenciador de processos para node.js. Ele pode monitorar seu aplicativo, iniciá-lo na inicialização do servidor, etc.
Instalar:
npm install pm2 -g
Registre o aplicativo com pm2
pm2 start app.js --name " softetheradmin "
Verifique o status atual do aplicativo
pm2 show softetheradmin
Listar todos os aplicativos gerenciados pelo pm2
pm2 list
Você também pode parar pm2 stop softetheradmin
e reiniciar pm2 restart softetheradmin
o aplicativo.
cd /srv/softetheradmin
node app.js
Isso deve resultar em uma mensagem Server listening on port: <PORT>
, onde <PORT>
é o valor da configuração serverPort
. Se houver algum erro ao iniciar ou executar o aplicativo, ele será impresso aqui.
Utiliza o aplicativo vpncmd
, que é distribuído com o instalador do SoftEther VPN Server. Aqui estão dois exemplos:
Este é executado em uma caixa Linux e recupera a lista de hubs:
/usr/local/vpnserver/vpncmd < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /CMD HubList
Este é executado em uma máquina Windows e executa todos os comandos no arquivo scripts/vpncmd_hubinfofull.txt
no hub selecionado:
" c:Program FilesSoftEther VPN Client Managervpncmd_x64.exe " < SERVER > : < PORT > /SERVER /PASSWORD: < PASSWORD > /CSV /ADMINHUB: < HUBNAME > /IN: " scripts/vpncmd_hubinfofull.txt "
pm2 monit
Solicitações pull são sempre bem-vindas! :)