|
1 | 1 | # Chicha IP Proxy |
2 | 2 |
|
3 | | -<img width="50%" alt="chicha-ip-proxy" src="https://github.com/user-attachments/assets/0dc3b863-583f-41ea-b6a4-cfcf773a249c" /> |
| 3 | +<img width="45%" alt="chicha-ip-proxy" src="https://github.com/user-attachments/assets/0dc3b863-583f-41ea-b6a4-cfcf773a249c" /> |
4 | 4 |
|
5 | | -Small TCP/UDP port proxy with an automatic setup wizard. |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
6 | 9 |
|
7 | | -Run it without arguments, answer a few questions, and it can install itself into the right autostart system for your operating system. |
| 10 | +> **RU:** маленький TCP/UDP прокси портов. |
| 11 | +> **EN:** small TCP/UDP port proxy. |
8 | 12 |
|
9 | | -```bash |
10 | | -chicha-ip-proxy |
11 | | -``` |
12 | | - |
13 | | -No config files are required. |
14 | | - |
15 | | -## What It Does |
| 13 | +--- |
16 | 14 |
|
17 | | -Chicha IP Proxy opens a local port and forwards traffic to another IP address. |
| 15 | +## Downloads / Скачать |
18 | 16 |
|
19 | | -Common uses: |
| 17 | +### Linux |
20 | 18 |
|
21 | | -* expose a service from another server through this machine |
22 | | -* forward one public port to one private IP |
23 | | -* create a simple TCP or UDP relay |
24 | | -* restrict who can connect by source IP |
25 | | -* install a persistent proxy service without writing system files by hand |
| 19 | +| Arch | Download | |
| 20 | +|---|---| |
| 21 | +| amd64 | [Linux amd64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-amd64) | |
| 22 | +| arm64 | [Linux arm64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-arm64) | |
26 | 23 |
|
27 | | -## Automatic Setup |
| 24 | +### macOS |
28 | 25 |
|
29 | | -Start the binary with no route flags: |
30 | | - |
31 | | -```bash |
32 | | -chicha-ip-proxy |
33 | | -``` |
| 26 | +| Arch | Download | |
| 27 | +|---|---| |
| 28 | +| Intel / amd64 | [macOS Intel](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-darwin-amd64) | |
| 29 | +| Apple Silicon / arm64 | [macOS Apple Silicon](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-darwin-arm64) | |
34 | 30 |
|
35 | | -The wizard asks for: |
| 31 | +### Windows |
36 | 32 |
|
37 | | -1. target IP |
38 | | -2. remote port |
39 | | -3. local port, default is the same as remote port |
40 | | -4. protocol, default `tcp` |
41 | | -5. allowed client IPs or CIDR ranges, optional |
| 33 | +| Arch | Download | |
| 34 | +|---|---| |
| 35 | +| amd64 | [Windows amd64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-windows-amd64.exe) | |
| 36 | +| arm64 | [Windows arm64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-windows-arm64.exe) | |
42 | 37 |
|
43 | | -When you enter the local port, the wizard immediately checks whether that port is free or already busy for TCP and UDP. |
| 38 | +### FreeBSD |
44 | 39 |
|
45 | | -Then it shows a simple connection diagram. You can change any field, save and continue, press `Ctrl+C`, or choose exit without saving. |
| 40 | +| Arch | Download | |
| 41 | +|---|---| |
| 42 | +| amd64 | [FreeBSD amd64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-freebsd-amd64) | |
| 43 | +| arm64 | [FreeBSD arm64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-freebsd-arm64) | |
46 | 44 |
|
47 | | -By default, the wizard can: |
| 45 | +### OpenBSD |
48 | 46 |
|
49 | | -* create an autostart entry |
50 | | -* enable it on boot |
51 | | -* start it immediately |
52 | | -* follow the log file |
| 47 | +| Arch | Download | |
| 48 | +|---|---| |
| 49 | +| amd64 | [OpenBSD amd64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-openbsd-amd64) | |
| 50 | +| arm64 | [OpenBSD arm64](https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-openbsd-arm64) | |
53 | 51 |
|
54 | | -Supported autostart systems: |
| 52 | +**All releases / Все релизы:** |
| 53 | +[github.com/matveynator/chicha-ip-proxy/releases](https://github.com/matveynator/chicha-ip-proxy/releases/) |
55 | 54 |
|
56 | | -* Linux: `systemd` or SysV init |
57 | | -* macOS: `launchd` |
58 | | -* FreeBSD: `rc.d` |
59 | | -* OpenBSD: `rc.d` / `rcctl` |
60 | | -* Windows: Task Scheduler |
| 55 | +--- |
61 | 56 |
|
62 | | -## Quick Examples |
| 57 | +## Быстрый старт / Quick start |
63 | 58 |
|
64 | | -Forward local TCP port `8080` to `203.0.113.10:8080`: |
| 59 | +### Linux install |
65 | 60 |
|
66 | 61 | ```bash |
67 | | -chicha-ip-proxy -local=8080 -remote=203.0.113.10 |
| 62 | +sudo curl -L https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-amd64 -o /usr/local/bin/chicha-ip-proxy |
| 63 | +sudo chmod +x /usr/local/bin/chicha-ip-proxy |
| 64 | +sudo chicha-ip-proxy |
68 | 65 | ``` |
69 | 66 |
|
70 | | -Forward local TCP port `8080` to remote port `80`: |
| 67 | +### macOS / FreeBSD / OpenBSD |
71 | 68 |
|
72 | 69 | ```bash |
73 | | -chicha-ip-proxy -local=8080 -remote=203.0.113.10:80 |
| 70 | +chmod +x chicha-ip-proxy-* |
| 71 | +sudo ./chicha-ip-proxy-* |
74 | 72 | ``` |
75 | 73 |
|
76 | | -Forward UDP DNS traffic: |
| 74 | +### Windows |
77 | 75 |
|
78 | | -```bash |
79 | | -chicha-ip-proxy -local=5353 -remote=203.0.113.20:53 -proto=udp |
80 | | -``` |
| 76 | +Download `.exe` and run it as Administrator. |
81 | 77 |
|
82 | | -Allow only one client IP: |
| 78 | +--- |
83 | 79 |
|
84 | | -```bash |
85 | | -chicha-ip-proxy -local=8080 -remote=203.0.113.10 -allow=198.51.100.7 |
86 | | -``` |
| 80 | +## Как пользоваться / Usage |
87 | 81 |
|
88 | | -Allow a whole network: |
| 82 | +Запустите без параметров: |
89 | 83 |
|
90 | 84 | ```bash |
91 | | -chicha-ip-proxy -local=8080 -remote=203.0.113.10 -allow=10.0.0.0/24 |
| 85 | +sudo chicha-ip-proxy |
92 | 86 | ``` |
93 | 87 |
|
94 | | -Allow several sources: |
| 88 | +Мастер спросит: |
95 | 89 |
|
96 | | -```bash |
97 | | -chicha-ip-proxy -local=8080 -remote=203.0.113.10 -allow=198.51.100.7 -allow=10.0.0.0/24 |
| 90 | +```text |
| 91 | +target IP |
| 92 | +remote port |
| 93 | +local port |
| 94 | +tcp / udp |
| 95 | +allowed client IPs |
98 | 96 | ``` |
99 | 97 |
|
100 | | -If no `-allow` flag is provided, all client IPs are allowed. |
| 98 | +После этого можно сохранить прокси в автозапуск. |
101 | 99 |
|
102 | | -## Install On Linux |
103 | | - |
104 | | -Run as root: |
| 100 | +Run without arguments: |
105 | 101 |
|
106 | 102 | ```bash |
107 | | -curl -L https://github.com/matveynator/chicha-ip-proxy/releases/latest/download/chicha-ip-proxy-linux-amd64 > /usr/local/bin/chicha-ip-proxy |
108 | | -chmod +x /usr/local/bin/chicha-ip-proxy |
109 | | -chicha-ip-proxy |
| 103 | +sudo chicha-ip-proxy |
110 | 104 | ``` |
111 | 105 |
|
112 | | -The wizard will guide the rest. |
113 | | - |
114 | | -## Flags |
| 106 | +The wizard asks for: |
115 | 107 |
|
116 | 108 | ```text |
117 | | --local PORT |
118 | | - Local port to listen on. |
| 109 | +target IP |
| 110 | +remote port |
| 111 | +local port |
| 112 | +tcp / udp |
| 113 | +allowed client IPs |
| 114 | +``` |
119 | 115 |
|
120 | | --remote IP[:PORT] |
121 | | - Remote target IP and optional port. |
122 | | - If the port is omitted, the local port is used. |
| 116 | +Then it can save the proxy as an autostart service. |
123 | 117 |
|
124 | | --proto tcp|udp |
125 | | - Protocol to proxy. Default is tcp. |
| 118 | +--- |
126 | 119 |
|
127 | | --allow IP|CIDR |
128 | | - Source IP or network allowed to connect. |
129 | | - Repeat the flag to allow multiple sources. |
| 120 | +## Examples / Примеры |
130 | 121 |
|
131 | | --log PATH |
132 | | - Log file path. |
| 122 | +### TCP |
133 | 123 |
|
134 | | --rotation DURATION |
135 | | - Log rotation interval, for example 24h or 1h. |
| 124 | +```bash |
| 125 | +sudo chicha-ip-proxy -local=8080 -remote=203.0.113.10:80 -proto=tcp |
136 | 126 | ``` |
137 | 127 |
|
138 | | -## Notes |
| 128 | +### UDP DNS |
139 | 129 |
|
140 | | -Denied TCP clients receive a reset. Denied UDP packets are dropped before a proxy session is created. |
| 130 | +```bash |
| 131 | +sudo chicha-ip-proxy -local=54 -remote=8.8.8.8:53 -proto=udp |
| 132 | +``` |
141 | 133 |
|
142 | | -Legacy `-routes` and `-udp-routes` flags still work for existing multi-route scripts, but new setups should use `-local`, `-remote`, and `-proto`. |
| 134 | +### Allow only one client IP |
143 | 135 |
|
144 | | -## Downloads |
| 136 | +```bash |
| 137 | +sudo chicha-ip-proxy -local=8080 -remote=203.0.113.10:80 -allow=198.51.100.7 |
| 138 | +``` |
| 139 | + |
| 140 | +--- |
145 | 141 |
|
146 | | -Releases are available here: |
| 142 | +## Flags / Флаги |
| 143 | + |
| 144 | +```text |
| 145 | +-local local port / локальный порт |
| 146 | +-remote target IP[:PORT] / куда пересылать |
| 147 | +-proto tcp or udp |
| 148 | +-allow allowed IP/CIDR |
| 149 | +``` |
147 | 150 |
|
148 | | -[https://github.com/matveynator/chicha-ip-proxy/releases/](https://github.com/matveynator/chicha-ip-proxy/releases/) |
| 151 | +If `-allow` is not set, all clients are allowed. |
| 152 | +Если `-allow` не указан, разрешены все клиенты. |
0 commit comments