2f119478af
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>
1.6 KiB
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. |
|
|
false | error_go_core |
|
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.