chicha-ip-proxy

command module
v0.0.0-...-335065d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT Imports: 14 Imported by: 0

README

chicha-ip-proxy

BLAZING FAST and SECURE TCP/UDP port proxy written in GO.

chicha-ip-proxy

TCP UDP Autostart Config

Go Reference Go Report Card Coverage

cross-platform-release


Downloads / Скачать

linux Linux amd64 / arm64

amd64 · download

sudo curl -L -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-amd64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

arm64 · download

sudo curl -L -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-arm64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

mac macOS Intel / Apple Silicon

Intel / amd64 · download

sudo mkdir -p /usr/local/bin; sudo curl -L -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-darwin-amd64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

Apple Silicon / arm64 · download

sudo mkdir -p /usr/local/bin; sudo curl -L -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-darwin-arm64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

windows Windows amd64 / arm64

Run PowerShell as Administrator / Запустите PowerShell от администратора.



amd64 · download

$p="$env:ProgramFiles\chicha-ip-proxy\chicha-ip-proxy.exe"; New-Item -ItemType Directory -Force -Path (Split-Path $p) | Out-Null; Invoke-WebRequest -Uri "https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-windows-amd64.exe" -OutFile $p; & $p

arm64 · download

$p="$env:ProgramFiles\chicha-ip-proxy\chicha-ip-proxy.exe"; New-Item -ItemType Directory -Force -Path (Split-Path $p) | Out-Null; Invoke-WebRequest -Uri "https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-windows-arm64.exe" -OutFile $p; & $p

freebsd FreeBSD amd64 / arm64

amd64 · download

sudo fetch -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-freebsd-amd64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

arm64 · download

sudo fetch -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-freebsd-arm64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

openbsd OpenBSD amd64 / arm64

amd64 · download

sudo ftp -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-openbsd-amd64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

arm64 · download

sudo ftp -o /usr/local/bin/chicha-ip-proxy https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-openbsd-arm64; sudo chmod +x /usr/local/bin/chicha-ip-proxy; sudo chicha-ip-proxy

All releases / Все релизы: github.com/matveynator/chicha-ip-proxy/releases


Usage / Как пользоваться

Run without arguments / Запустите без параметров:

sudo chicha-ip-proxy

The wizard asks / Мастер спросит:

target IP
remote port
local port
tcp / udp
allowed client IPs

Then it can save the proxy as an autostart service. После этого можно сохранить прокси в автозапуск.


Examples / Примеры

TCP
sudo chicha-ip-proxy -local=8080 -remote=203.0.113.10:80 -proto=tcp
UDP DNS
sudo chicha-ip-proxy -local=53 -remote=8.8.8.8:53 -proto=udp
IPv6 target
sudo chicha-ip-proxy -local=8443 -remote=[2001:db8::10]:443 -proto=tcp
Allow only one client IP / Разрешить только один IP
sudo chicha-ip-proxy -local=8080 -remote=203.0.113.10:80 -allow=198.51.100.7

Flags / Флаги

-local   local port / локальный порт
-remote  target IP[:PORT] or [IPv6]:PORT / куда пересылать
-proto   tcp or udp
-allow   allowed IP/CIDR

If -allow is not set, all clients are allowed. Если -allow не указан, разрешены все клиенты.

Common TCP/UDP Proxy Problems Solved by chicha-ip-proxy

These are the most common questions people ask on forums like Stack Overflow, Server Fault, Reddit, Habr, and Linux.org.ru.

  • I just need a simple TCP proxy.
  • I just need a simple UDP proxy.
  • I need to proxy both TCP and UDP.
  • Forward a TCP/UDP port to another server.
  • Expose a service through a VPS with a public IP.
  • Bypass NAT using a VPS.
  • Proxy game servers (Minecraft, CS, Rust, etc.).
  • Proxy VPN traffic (OpenVPN, WireGuard, etc.).
  • Proxy SSH, RDP, VNC, FTP, SMTP, IMAP, and other non-HTTP protocols.
  • Move a service to another server without changing the client configuration.
  • Replace nginx stream for simple port forwarding.
  • Avoid HAProxy for basic TCP/UDP proxying.
  • Replace socat, xinetd, or rinetd with a single tool.
  • Avoid writing iptables/nftables rules.
  • Start a proxy with a single command.
  • Run automatically after reboot.
  • Restrict access by IP address.
  • Manage dozens or hundreds of forwarded ports.
  • Use a solution without configuration files.
  • Use the same tool on Linux, Windows, macOS, FreeBSD, and OpenBSD.
  • Replace several networking utilities with one lightweight application.
  • Temporarily redirect traffic during migrations.
  • Hide the real backend behind a relay server.
  • Proxy raw TCP/UDP traffic instead of HTTP.

In short, most forum questions come down to one simple request:

“I just need to proxy a TCP or UDP port, but everyone recommends nginx, HAProxy, socat, xinetd, rinetd, iptables, WireGuard, or some other complex setup.”

chicha-ip-proxy is designed specifically for this use case: a lightweight, cross-platform TCP/UDP port proxy with no configuration files, simple setup, automatic startup, and optional IP-based access control.

Documentation

Overview

Package main wires CLI parsing with TCP and UDP proxy workers. The application favors channels and goroutines to follow Go proverbs about communication over shared memory.

Directories

Path Synopsis
pkg
branding
Package branding contains terminal identity strings shared by CLI entrypoints.
Package branding contains terminal identity strings shared by CLI entrypoints.
config
Package config contains configuration structures and parsing helpers for the proxy.
Package config contains configuration structures and parsing helpers for the proxy.
limits
Package limits manages OS-specific resource limits to keep the proxy responsive under heavy load.
Package limits manages OS-specific resource limits to keep the proxy responsive under heavy load.
logging
Package logging centralizes logger creation and rotation logic.
Package logging centralizes logger creation and rotation logic.
proxy
Package proxy hosts both TCP and UDP forwarding logic.
Package proxy hosts both TCP and UDP forwarding logic.
setup
Package setup contains helpers for boot-time autostart configuration.
Package setup contains helpers for boot-time autostart configuration.
version
Package version centralizes version resolution for the proxy binary.
Package version centralizes version resolution for the proxy binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL