Skip to content

A secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TLS/TCP connections.

License

Notifications You must be signed in to change notification settings

NodePassProject/nodepass-core

 
 

Repository files navigation

nodepass

Mentioned in Awesome Go GitHub release GitHub downloads Go Report Card License Go Reference GitHub last commit

English | 简体中文

NodePass is an universal, lightweight TCP/UDP tunneling solution. Built on an innovative three-tier architecture (server-client-master), it elegantly separates control and data channels while offering intuitive zero-configuration syntax. The system excels with its proactive connection pool that eliminates latency by establishing connections before they're needed, alongside flexible security through tiered TLS options and optimized data transfer handling. One of its most distinctive features is seamless protocol translation between TCP and UDP, enabling applications to communicate across networks with protocol constraints. It adapts intelligently to network fluctuations, ensuring reliable performance even in challenging environments while maintaining efficient resource utilization. From navigating firewalls and NATs to bridging complex proxy configurations, it provides DevOps professionals and system administrators with a solution that balances sophisticated capabilities with remarkable ease of use.

💎 Key Features

  • 🔀 Multiple Operating Modes

    • Server mode accepting incoming tunnels with configurable security
    • Client mode for establishing outbound connections to tunnel servers
    • Master mode with RESTful API for dynamic instance management
  • 🌍 Protocol Support

    • TCP tunneling with persistent connection handling
    • UDP datagram forwarding with configurable buffer sizes
    • Intelligent routing mechanisms for both protocols
  • 🛡️ Security Options

    • TLS Mode 0: Unencrypted mode for maximum speed in trusted networks
    • TLS Mode 1: Self-signed certificates for quick secure setup
    • TLS Mode 2: Custom certificate validation for enterprise security
  • ⚡ Performance Features

    • Smart connection pooling with real-time capacity adaptation
    • Dynamic interval adjustment based on network conditions
    • Minimal resource footprint even under heavy load
  • 🧰 Simple Configuration

    • Zero configuration files required
    • Simple command-line parameters
    • Environment variables for fine-tuning performance

📋 Quick Start

📥 Installation

  • Pre-built Binaries: Download from releases page.
  • Container Image: docker pull ghcr.io/yosebyte/nodepass:latest

🚀 Basic Usage

Server Mode

nodepass "server://:10101/127.0.0.1:8080?log=debug&tls=1"

Client Mode

nodepass client://server.example.com:10101/127.0.0.1:8080

Master Mode (API)

nodepass "master://:10101/api?log=debug&tls=1"

📚 Documentation

Explore the complete documentation to learn more about NodePass:

🌐 Ecosystem

The NodePassProject organization develops various frontend applications and auxiliary tools to enhance the NodePass experience:

  • NodePassDash: A modern NodePass management interface that provides master management, instance management, traffic statistics, history records, and more.

  • npsh: A convenient script that provides simple and easy-to-use installation, configuration, and management functionality for NodePass master API mode.

💬 Discussion

📄 License

Project NodePass is licensed under the BSD 3-Clause License.

🤝 Sponsors

⭐ Stargazers

Stargazers over time

About

A secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TLS/TCP connections.

Resources

License

Stars

Watchers

Forks

Languages

  • Go 99.5%
  • Dockerfile 0.5%