Simplify rego-tunnel: remove SOCKS5, use portproxy instead
Some checks failed
Test / test (push) Has been cancelled
Some checks failed
Test / test (push) Has been cancelled
- 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>
This commit is contained in:
@@ -67,15 +67,10 @@ get_container_ip() {
|
|||||||
iptables -C FORWARD -d "$WINDOWS_IP" -j ACCEPT 2>/dev/null || \
|
iptables -C FORWARD -d "$WINDOWS_IP" -j ACCEPT 2>/dev/null || \
|
||||||
iptables -A FORWARD -d "$WINDOWS_IP" -j ACCEPT
|
iptables -A FORWARD -d "$WINDOWS_IP" -j ACCEPT
|
||||||
|
|
||||||
# Start socat to forward SSH from Windows VM
|
# Forward port 2222 to VM's SSH (22) for VM access
|
||||||
pkill -f "socat.*:22" 2>/dev/null || true
|
pkill -f "socat.*:2222" 2>/dev/null || true
|
||||||
socat TCP-LISTEN:22,fork,reuseaddr TCP:"$WINDOWS_IP":22 &
|
socat TCP-LISTEN:2222,fork,reuseaddr TCP:"$WINDOWS_IP":22 &
|
||||||
echo "[rego-tunnel] socat SSH forwarder started on port 22"
|
echo "[rego-tunnel] SSH to VM available on port 2222"
|
||||||
|
|
||||||
# Start socat to forward SOCKS5 proxy from Windows VM
|
|
||||||
pkill -f "socat.*1080" 2>/dev/null || true
|
|
||||||
socat TCP-LISTEN:1080,fork,reuseaddr TCP:"$WINDOWS_IP":1080 &
|
|
||||||
echo "[rego-tunnel] socat SOCKS5 forwarder started on port 1080"
|
|
||||||
|
|
||||||
# Add DNAT rules for port forwarding
|
# Add DNAT rules for port forwarding
|
||||||
add_dnat() {
|
add_dnat() {
|
||||||
@@ -84,10 +79,8 @@ get_container_ip() {
|
|||||||
iptables -t nat -A PREROUTING -d "$CONTAINER_IP" -p tcp --dport "$port" -j DNAT --to-destination "$WINDOWS_IP:$port"
|
iptables -t nat -A PREROUTING -d "$CONTAINER_IP" -p tcp --dport "$port" -j DNAT --to-destination "$WINDOWS_IP:$port"
|
||||||
}
|
}
|
||||||
|
|
||||||
# SSH access
|
# IBM i standard ports (via VM portproxy)
|
||||||
add_dnat 22
|
add_dnat 22
|
||||||
|
|
||||||
# IBM i standard ports
|
|
||||||
add_dnat 23
|
add_dnat 23
|
||||||
add_dnat 446
|
add_dnat 446
|
||||||
add_dnat 448
|
add_dnat 448
|
||||||
@@ -103,7 +96,7 @@ get_container_ip() {
|
|||||||
for port in $(seq 36000 36010); do add_dnat $port; done
|
for port in $(seq 36000 36010); do add_dnat $port; done
|
||||||
|
|
||||||
echo "[rego-tunnel] iptables DNAT rules configured"
|
echo "[rego-tunnel] iptables DNAT rules configured"
|
||||||
echo "[rego-tunnel] SOCKS5 proxy available at $CONTAINER_IP:1080"
|
echo "[rego-tunnel] Port forwarding ready via $CONTAINER_IP"
|
||||||
) &
|
) &
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -274,28 +274,17 @@ async function main() {
|
|||||||
await sleep(2000);
|
await sleep(2000);
|
||||||
ws.close();
|
ws.close();
|
||||||
|
|
||||||
// Verify VPN connection before starting SOCKS5
|
// Verify VPN connection
|
||||||
const vpnConnected = await verifyVpnConnection();
|
const vpnConnected = await verifyVpnConnection();
|
||||||
|
|
||||||
if (!vpnConnected) {
|
if (!vpnConnected) {
|
||||||
log("ERROR: VPN connection could not be verified");
|
log("ERROR: VPN connection could not be verified");
|
||||||
log("SOCKS5 proxy NOT started");
|
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start SOCKS5 proxy only after VPN verified
|
|
||||||
log("Starting SOCKS5 proxy on port 1080...");
|
|
||||||
run("taskkill /F /IM node.exe /FI \"WINDOWTITLE eq socks5\"");
|
|
||||||
spawn("node", ["" + require("path").join(require("os").homedir(), "vpn_scripts", "socks5.js") + ""], {
|
|
||||||
detached: true,
|
|
||||||
stdio: "ignore",
|
|
||||||
windowsHide: true
|
|
||||||
}).unref();
|
|
||||||
|
|
||||||
console.log("");
|
console.log("");
|
||||||
console.log("========================================");
|
console.log("========================================");
|
||||||
console.log(" CONNECTED!");
|
console.log(" VPN CONNECTED!");
|
||||||
console.log(" SOCKS5 proxy: 172.30.0.16:1080");
|
|
||||||
console.log(" Entering watchdog mode...");
|
console.log(" Entering watchdog mode...");
|
||||||
console.log("========================================");
|
console.log("========================================");
|
||||||
console.log("");
|
console.log("");
|
||||||
@@ -439,13 +428,6 @@ async function reconnectVpn() {
|
|||||||
const verified = await verifyVpnConnection();
|
const verified = await verifyVpnConnection();
|
||||||
if (verified) {
|
if (verified) {
|
||||||
log("Reconnection successful!");
|
log("Reconnection successful!");
|
||||||
// Restart socks5
|
|
||||||
run("taskkill /F /IM node.exe /FI \"WINDOWTITLE eq socks5\"");
|
|
||||||
spawn("node", ["" + require("path").join(require("os").homedir(), "vpn_scripts", "socks5.js") + ""], {
|
|
||||||
detached: true,
|
|
||||||
stdio: "ignore",
|
|
||||||
windowsHide: true
|
|
||||||
}).unref();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user