| CARVIEW |
Select Language
HTTP/1.1 200 OK
Connection: keep-alive
Server: nginx/1.24.0 (Ubuntu)
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=300
Content-Encoding: gzip
Via: 1.1 varnish, 1.1 varnish
Accept-Ranges: bytes
Age: 0
Date: Sat, 17 Jan 2026 05:57:03 GMT
X-Served-By: cache-dfw-kdfw8210123-DFW, cache-bom-vanm7210095-BOM
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1768629423.175775,VS0,VE791
Vary: Accept, Accept-Encoding
transfer-encoding: chunked
neko-obfs: a TCP tunnel with packet length obfuscation
neko-obfs: a TCP tunnel with packet length obfuscation
Downloads
- neko-obfs-0.1.0.4.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
| Versions [RSS] | 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.4 |
|---|---|
| Change log | ChangeLog.md |
| Dependencies | async, attoparsec, base (>=4.11 && <7), binary, bytestring, lens, network, network-simple, optparse-generic, pipes, pipes-attoparsec, pipes-network, pipes-safe, random, text, transformers [details] |
| License | Apache-2.0 |
| Author | Jinjing Wang |
| Maintainer | nfjinjing@gmail.com |
| Uploaded | by JinjingWang at 2019-11-23T08:28:46Z |
| Category | Network |
| Home page | https://github.com/nfjinjing/neko-obfs |
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] |
| Executables | neko-obfs |
| Downloads | 2593 total (12 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs not available [build log] Last success reported on 2019-11-23 [all 2 reports] |
Readme for neko-obfs-0.1.0.4
[back to package description]Protocol
payload
->
n | padding | m | payload
- n (word32be): the number of bytes of padding
- padding: n bytes of noise
- m (word32be): the number of bytes of the original payload
- payload: the original packet
Implementation
nis deduced from a randomly generatedi = n + mfor each packet.- When a random
iis less thenm, payload is split top1andp2to satisfy the constrain, where the length ofp1is equal toiandp1 + p2 = payload.p2will be sent in the next iteration by the same algorithm. iis bounded by a maximumr, configurable by the--randomnessInBytesargument.- To reduce overhead,
nis set to0whenevermis greater thenr.
Usage
-
local:
neko-obfs --localHost TEXT --localPort INTEGER --remoteHost TEXT --remotePort INTEGER -
remote:
neko-obfs --role remote --remoteHost TEXT --remotePort INTEGER --forwardHost TEXT --forwardPort INTEGER -
This tunnel should be used inside an encrypted tunnel.
-
For example:
ss-local (rc4) -> neko-obfs -> ss-tunnel (aes-256-cfb) -> gfw -> internet -> ss-tunnel (aes-256-cfb) -> neko-obfs -> ss-server (rc4) -
Note it's the
ss-tunnellayer that protects the obfuscation, otherwise data and noise length are clearly visible.
Performance
- No noticeable slow down yet (Jul 24, 2017)