packages feed

neko-obfs-0.1.0.1: Readme.md

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
==============

* `n` is randomly generated for each packet.
* `n` is bounded by a maximum `r`, configurable by the `--randomness` argument.
* To reduce overhead, `n` is set to 0 whenever `m` is greater then a 
  threshold `b`, configurable by the `--bound` argument.

Usage
=====
* local:

        need-obfs --localHost TEXT --localPort INTEGER --remoteHost TEXT --remotePort INTEGER
* remote: 

        neko-obfs --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-tunnel` layer that protects the obfuscation, otherwise
  data and noise length are clearly visible.

Performance
===========

* No noticeable slow down yet (Jul 24, 2017)