KCPTUN-SERVER(1)
π NAME π
kcptun-server β a Simple UDP Tunnel Based On KCP, bestie. fr fr, that's the whole vibe.
β¨ DESCRIPTION β¨
okay so. picture this: you want a tunnel. a lil UDP tunnel. and it runs on KCP. that's her. that's the girl. π
π NAME:
kcptun β but make it the server (with SMUX). yes queen, SMUX is coming along for the ride.
πΈ USAGE:
kcptun-server [global options] command [command options] [arguments...]
that's it. that's the shape of it. globals first, then the command, then that command's own options, then any arguments you're handing over. π«Ά
π¦ VERSION:
SELFBUILD
not me building myself π
π COMMANDS:
help,hβ shows you a list of commands, or help for one specific command. the classic "help me help you" moment. π
π GLOBAL OPTIONS:
these are the levers, bestie. every single one. no skipping, we're doing all of them. β¨
--listen value,-l valueβ the address your kcp server listens on (default:":29900")--target value,-t valueβ the target server address, or apath/to/unix_socketif you're feeling unix-y (default:"127.0.0.1:12948")--key valueβ the pre-shared secret between client and server (default:"it's a secrect") [$KCPTUN_KEY]
ngl the default key is literally spelled "it's a secrect". iconic typo behavior, and we are keeping it exactly as-is. change it though, please, for your own sake π
--crypt valueβ pick your cipher. the menu is:aes,aes-128,aes-192,salsa20,blowfish,twofish,cast5,3des,tea,xtea,xor,sm4,none(default:"aes")--mode valueβ the profiles, bestie:fast3,fast2,fast,normal,manual(default:"fast")--mtu valueβ sets the maximum transmission unit for UDP packets (default:1350)--sndwnd valueβ sets the send window size, in number of packets (default:1024)--rcvwnd valueβ sets the receive window size, in number of packets (default:1024)--datashard value,--ds valueβ sets the reed-solomon erasure coding datashard (default:10)--parityshard value,--ps valueβ sets the reed-solomon erasure coding parityshard (default:3)--dscp valueβ sets DSCP, 6 bits of it (default:0)--nocompβ disables compression. justβ¦ turns it off. no comp. periodt.--sockbuf valueβ per-socket buffer, in bytes (default:4194304)--smuxver valueβ specify the smux version, available:1,2(default:1)--smuxbuf valueβ the overall de-mux buffer, in bytes (default:4194304)--streambuf valueβ per stream receive buffer, in bytes, smuxv2+(default:2097152)--keepalive valueβ seconds between heartbeats π (default:10)--snmplog valueβ collect snmp to a file, aware of timeformat in golang, like:./snmp-20060102.log--snmpperiod valueβ snmp collect period, in seconds (default:60)--pprofβ start the profiling server on:6060--log valueβ specify a log file to output to; by default it goes to stderr--quietβ to suppress the'stream open/close'messages. shhh. π€«--tcpβ to emulate a TCP connection (linux)-c valueβ config from a json file, which will override the command from shell. yeah, the file wins. lowkey dramatic but that's the rules.--help,-hβ show help--version,-vβ print the version
heads up bestie: -c value overriding your shell command is not a suggestion, it's a fact. json said what it said. π
okay that's genuinely the whole page. go tunnel something. slay. ππ
signing off, my love π β this was kcptun-server, version 20210922+ds-1build1, from August 2023. take care of her, she's iconic. ππ¦πΈ
π¦ where this page comes from
- ubuntu noble: kcptun 20210922+ds-1build1 Β· MIT
- ubuntu questing: kcptun 20210922+ds-1build1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms