Skip to content

v0.1.0

Latest

Choose a tag to compare

@GoSeoTaxi GoSeoTaxi released this 30 May 12:11
85ba653

Overview

ssh2proxy is a Go-based CLI application designed to facilitate proxying and network tunneling through SSH connections. It provides a robust, modular system for managing complex proxy operations, network traffic handling, and operational monitoring.

Core Components

  • CLI (cmd/ssh2proxy): Main entry point for the application, handling CLI commands and flags.
  • SSH Client (internal/sshclient): Manages SSH connections, including keep-alive, monitoring, automatic reconnections, and channel management.
  • Proxy Logic (internal/proxy): Implements SOCKS and HTTP proxy servers to route traffic.
  • TUN Integration (internal/tun): Integrates tun2socks for network-level traffic encapsulation, with support for embedding external binaries.
  • Metrics & Limits (internal/metrics, internal/limits): Monitors network performance, resource usage (CPU/Memory), connection counts, and rate limiting to ensure stability.
  • Updater (internal/updater): Provides a self-update mechanism via GitHub releases, supporting cross-platform versioning.

Build & Infrastructure

  • Makefile: Automates the build process with cross-compilation support for Linux, macOS, and Windows (AMD64/ARM64).
  • Dependencies: Uses standard Go modules; includes tun2socks as a key external dependency.
  • Automation: Includes scripts for readme updates and artifact checksum generation.

Status

The project is architecturally modular and actively maintained, focusing on stability, observability, and robust connectivity management for SSH-based tunneling.