Files
fn_registry/functions/infra/nordvpn_container_run.md
T
egutierrez 2f119478af 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>
2026-04-01 20:55:08 +02:00

1.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path
nordvpn_container_run function go infra 1.0.0 impure func NordVPNContainerRun(opts NordVPNContainerRunOpts) (string, error) Ejecuta un container Docker cuyo trafico pasa por el gateway NordVPN usando --network=container:<gateway>. El container hereda la IP y tunel VPN del gateway.
vpn
nordvpn
docker
container
run
infra
network
docker_run_container_go_infra
false error_go_core
fmt
false
functions/infra/nordvpn_container_run.go

Ejemplo

// Verificar IP desde VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "curlimages/curl",
    Cmd:     []string{"https://api.ipify.org"},
    Remove:  true,
    Gateway: "nordvpn",
})

// Ejecutar scraper bajo VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "my-scraper:latest",
    Env:     map[string]string{"TARGET_URL": "https://example.com"},
    Volumes: []string{"/tmp/output:/output"},
    Detach:  true,
    Name:    "scraper-vpn",
})

// Navegador headless bajo VPN
id, err := NordVPNContainerRun(NordVPNContainerRunOpts{
    Image:   "chromedp/headless-shell",
    Detach:  true,
    Name:    "chrome-vpn",
})

Notas

Requiere que el container gateway NordVPN este corriendo (usar NordVPNContainerStart primero). El container cliente no necesita capabilities especiales — hereda la red del gateway. Con --network=container:X el container no puede exponer puertos propios; los puertos deben mapearse en el gateway.