Linux VM with Cisco Secure Client VPN using qemux/qemu.
Includes pre-packaged Cisco installation and automation scripts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents architecture, network configuration, host setup,
files, Windows VM config, troubleshooting, and maintenance.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove SOCKS5 socat forwarder from start.sh
- Add SSH to VM on port 2222 (socat)
- Add port 22 DNAT for IBM i SSH via portproxy
- Remove SOCKS5 proxy startup from vpn-login.js
- Remove SOCKS5 restart from watchdog reconnect
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Container external: 172.31.0.10 (br-vpn-rego)
Windows VM internal: 172.32.0.20 (separate subnet)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Using same subnet for container external IP and VM internal IP
causes routing conflicts. Revert VM to default 172.30.0.0/24.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Windows VM now uses 172.31.0.20 via VM_NET_IP env var
- Updated get_windows_ip to look for 172.31.x.x
- Fixed get_container_ip to exclude docker bridge gateway
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Changed exit 0 to return 0 in vpn_scripts/start.sh.
When the script is sourced via entrypoint, exit terminates
the parent shell before the Windows VM entry.sh can run.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add vpn_scripts volume mount
- Install socat, openssh-client, netcat on startup
- Copy SSH key to /root/.ssh/ automatically
- Add socat forwarder for SSH (port 22)
- Expose ports 22 and 1080 in user-config
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove build folder (no longer building custom image)
- Add vpn_scripts folder with organized setup scripts
- Prefix setup scripts with numbers for execution order
- Add setup-all.bat for automated Windows setup
- Add dynamic vpn-startup.lnk shortcut (uses %USERNAME%)
- Include start.sh for container networking
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add AnyConnect 4.8 installer to build folder
- Update docker-compose to use rego-vpn:latest local image
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Convert environment from array to object format (runtipi requirement)
- Remove hardcoded KEY from docker-compose.json
- Add build folder with custom Dockerfile and rego scripts
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Removed KEY=B6QDN-RWKT8-G44CW-TXPBW-292XY that was causing activation issues
- Removed VERSION=/storage/custom.iso to allow user-config override
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>