feat: funciones NordVPN bash y Go — CLI, contenedor Docker y parser de estado
Funciones bash para instalar, conectar, desconectar, estado, IP, ciudades, países y protocolo. Funciones Go para gestionar contenedor NordVPN (run/start/stop) y parsear estado. Incluye tipo NordVPNStatus y tests para el parser. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
package infra
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// NordVPNContainerStop detiene y elimina el container gateway NordVPN.
|
||||
// Tambien detiene containers que usen su red si se proporcionan.
|
||||
func NordVPNContainerStop(gateway string, clientNames ...string) error {
|
||||
if gateway == "" {
|
||||
gateway = "nordvpn"
|
||||
}
|
||||
|
||||
// Primero parar los clientes que usan la red del gateway
|
||||
for _, name := range clientNames {
|
||||
_ = DockerStopContainer(name, 5)
|
||||
_ = DockerRemoveContainer(name, true)
|
||||
}
|
||||
|
||||
// Parar y eliminar el gateway
|
||||
if err := DockerStopContainer(gateway, 10); err != nil {
|
||||
return fmt.Errorf("nordvpn container stop: %w", err)
|
||||
}
|
||||
if err := DockerRemoveContainer(gateway, true); err != nil {
|
||||
return fmt.Errorf("nordvpn container remove: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user