Files
drip/README.md
Gouryella 89f67ab145 feat(client): Add bandwidth limit function support
- Implement client bandwidth limitation parameter --bandwidth, supporting 1M, 1MB, 1G and other formats
- Added parseBandwidth function to parse bandwidth values and verify them
- Added bandwidth limit option in HTTP, HTTPS, TCP commands
- Pass bandwidth configuration to the server through protocol
- Add relevant test cases to verify the bandwidth analysis function

feat(server): implements server-side bandwidth limitation function

- Add bandwidth limitation logic in connection processing, using token bucket algorithm
- Implement an effective rate limiting strategy that minimizes the bandwidth of the client and server
- Added QoS limiter and restricted connection wrapper
- Integrated bandwidth throttling in HTTP and WebSocket proxies
- Added global bandwidth limit and burst multiplier settings in server configuration

docs: Updated documentation to describe bandwidth limiting functionality

- Add 2025-02-14 version update instructions in README and README_CN
- Add bandwidth limit function description and usage examples
- Provide client and server configuration examples and parameter descriptions
2026-02-15 02:39:50 +08:00

2.5 KiB

Drip Logo

Drip

Your Tunnel, Your Domain, Anywhere

A self-hosted tunneling solution to securely expose your services to the internet.

Documentation | 中文文档

Go License TLS

Drip is a quiet, disciplined tunnel. You light a small lamp on your network, and it carries that light outward—through your own infrastructure, on your own terms.

Why Drip?

  • Control your data - No third-party servers, traffic stays between your client and server
  • No limits - Unlimited tunnels, bandwidth, and requests
  • Actually free - Use your own domain, no paid tiers or feature restrictions
  • Open source - BSD 3-Clause License

Recent Changes

2025-02-14

  • Bandwidth Limiting (QoS) - Per-tunnel bandwidth control with token bucket algorithm, server enforces min(client, server) as effective limit
  • Transport Protocol Control - Support independent configuration for service domain and tunnel domain
# Client: limit to 1MB/s
drip http 3000 --bandwidth 1M
# Server: global limit (config.yaml)
bandwidth: 10M
burst_multiplier: 2.5

2025-01-29

  • Bearer Token Authentication - Added bearer token authentication support for tunnel access control
  • Code Optimization - Refactored large modules into smaller, focused components for better maintainability

Quick Start

Install

bash <(curl -sL https://driptunnel.app/install.sh)

Basic Usage

# Configure (first time only)
drip config init

# Expose local HTTP server
drip http 3000

# With custom subdomain
drip http 3000 -n myapp
# → https://myapp.your-domain.com

Documentation

For complete documentation, visit Docs

License

BSD 3-Clause License - see LICENSE for details