Skip to content

ParaCat: A multipath UDP forwarder for high reliability/throughput

Notifications You must be signed in to change notification settings

xaionaro-go/paracat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParaCat: A multipath UDP forwarder for high reliability/throughput

In crowded Internet, all connections are not reliable. To minimize jitter and packet loss, we can send it through different routes simultaneously then get redundancy.

Structure

flowchart LR
    C[UDP Client]
    IN[Inbound]
    OUT[Outbound]
    R0(Relay Server #0)
    R1(Relay Server #1)
    Rn(Relay Server #n)
    S(UDP Server)

    C -->|UDP| IN

    IN -->|Raw TCP| R0
    IN -->|Raw UDP| R0
    IN -->|SOCKS5| R1
    IN -->|Others| Rn
    IN -->|Raw TCP| OUT
    IN -->|Raw UDP| OUT

    R0 --> OUT
    R1 --> OUT
    Rn --> OUT

    OUT -->|UDP| S
Loading

TODO

  • Remove unused UDP connections
  • Optimize delay
  • Re-connect after EOF
  • Round-robin mode
  • Congestion control algorithm

About

ParaCat: A multipath UDP forwarder for high reliability/throughput

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%