Skip to content

felipejfc/udpx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e797edf · Mar 28, 2022

History

46 Commits
Jan 9, 2020
Mar 28, 2022
Jan 9, 2020
Jan 10, 2020
Jan 11, 2020
Oct 16, 2016
Oct 20, 2016
Oct 16, 2016
Jan 11, 2020
Oct 20, 2016
Oct 11, 2016
Jan 10, 2020
Jan 20, 2017
Jan 10, 2020
Jan 10, 2020
Jan 9, 2020

Repository files navigation

UDPX

Build Status Coverage Status Code Climate Go Report Card

A Super Fast UDP Proxy that works as a NAT (has support to multiple clients) written in Golang.

About

Features

  • Super Fast
  • Can Handle Multiple Clients
  • Act as a NAT
  • Dynamic upstreams
  • Multiple upstreams

Dependencies

  • GO 1.7

Compiling

make build

Usage

$ ./bin/udpx --help
A fast UDP proxy that support multiple clients and dynamic upstreams

Usage:
  udpx [command]

Available Commands:
  start       starts UDP proxy
  version     Print the version number of UDPX

Use "udpx [command] --help" for more information about a command.

TODO

  • Add config
  • Add command
  • Add tests infrastructure
  • Travis CI and Code Coverage
  • Support to multiple upstreams
  • Dynamically resolve upstreams
  • Dynamically add proxies
  • Dynamically remove proxies
  • Resolve new upstream addr if it changes
  • Make timeout logic faster by making less updates
  • Zap has a leak, maybe use another logger
  • Dynamically added proxies must be shared my multiple udpx instances
  • Can persist upstreams
  • Print statistics of messages sent and clients active /sec
  • Persist proxy state between reboots?
  • Docs
  • Example
  • Performance tests
  • Add more tests
  • Limit clients?
  • Docker