dynamic-forward

Create a local SOCKS proxy over SSH for flexible client traffic routing.

Updated Apr 10, 2026
One-click install
npx skills add https://github.com/theslashdojo/dojo --skill dynamic-forward
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dynamic-forward
Source: https://github.com/theslashdojo/dojo/tree/main/nodes/ssh/tunnel/dynamic-forward
Command: npx skills add https://github.com/theslashdojo/dojo --skill dynamic-forward

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Provide flexible, ad-hoc access to multiple remote destinations through a single SSH path without predeclaring individual local forwards, enabling SOCKS-aware clients to route traffic through a bastion or jump host.

Core Features & Use Cases

  • Dynamic SOCKS proxying using ssh -D so applications can choose arbitrary destinations at runtime.
  • Works with browsers, debuggers, and other SOCKS-aware tools for testing, temporary egress, or internal service access through a bastion.
  • Supports configurable local bind address, listening port, and optional backgrounding via environment variables and accompanying orchestration scripts.

Quick Start

Run the open-dynamic-forward script with SSH_HOST set to your bastion and SSH_LOCAL_PORT set to the desired local port.

Frequently Asked Questions about dynamic-forward

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a local SOCKS proxy via SSH to route traffic through a bastion?

A local SOCKS proxy via SSH is created using the ssh -D command, enabling flexible routing of client traffic through a bastion. This allows SOCKS-aware clients to access multiple remote destinations without predeclaring individual local forwards.

When do I need dynamic SSH tunneling instead of static port forwarding?

Dynamic SSH tunneling is needed when you require ad-hoc access to multiple remote destinations through a single SSH path. Unlike static port forwarding, it lets SOCKS-aware clients like browsers or debuggers choose arbitrary remote targets at runtime without predeclared local forwards.

Can I use an SSH SOCKS proxy with browsers and package managers for temporary egress?

Yes, an SSH SOCKS proxy works with browsers, debuggers, and package managers that need temporary egress or internal service access. These SOCKS-aware clients route traffic through the bastion dynamically, choosing arbitrary destinations at runtime.

How do I configure the local bind address and port for an SSH dynamic forward?

You configure the local bind address and listening port for an SSH dynamic forward using environment variables like SSH_HOST and SSH_LOCAL_PORT. Running the open-dynamic-forward script with these variables applies your custom settings to the SSH connection.

Does this SSH tunneling approach support backgrounding and orchestration scripts?

Yes, this SSH tunneling approach supports optional backgrounding and integration with tunnel orchestration scripts. Environment variables configure the background process, allowing the dynamic SOCKS proxy to run persistently alongside other automated network tasks.

Why route client traffic through a bastion using a SOCKS proxy over SSH?

Routing client traffic through a bastion using a SOCKS proxy over SSH provides secure, flexible access to internal services. It satisfies requirements for an SSH client supporting -D, allowing temporary testing and egress without exposing multiple individual local forwards.