Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/felipejfc/udpx
A Fast UDP Proxy written in Golang
https://github.com/felipejfc/udpx
golang proxies proxy udp
Last synced: 3 days ago
JSON representation
A Fast UDP Proxy written in Golang
- Host: GitHub
- URL: https://github.com/felipejfc/udpx
- Owner: felipejfc
- License: other
- Created: 2016-10-10T23:41:59.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-03-28T12:02:11.000Z (over 2 years ago)
- Last Synced: 2024-06-18T23:02:41.110Z (5 months ago)
- Topics: golang, proxies, proxy, udp
- Language: Go
- Homepage:
- Size: 4.93 MB
- Stars: 69
- Watchers: 6
- Forks: 17
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
UDPX
=========
[![Build Status](https://travis-ci.org/felipejfc/udpx.svg?branch=master)](https://travis-ci.org/felipejfc/udpx)
[![Coverage Status](https://coveralls.io/repos/github/felipejfc/udpx/badge.svg)](https://coveralls.io/github/felipejfc/udpx)
[![Code Climate](https://codeclimate.com/github/felipejfc/udpx/badges/gpa.svg)](https://codeclimate.com/github/felipejfc/udpx)
[![Go Report Card](https://goreportcard.com/badge/github.com/felipejfc/udpx)](https://goreportcard.com/report/github.com/felipejfc/udpx)
[![](https://images.microbadger.com/badges/image/felipejfc/udpx.svg)](https://microbadger.com/images/felipejfc/udpx)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 upstreamsUsage:
udpx [command]Available Commands:
start starts UDP proxy
version Print the version number of UDPXUse "udpx [command] --help" for more information about a command.
```### TODO
- [x] Add config
- [x] Add command
- [x] Add tests infrastructure
- [x] Travis CI and Code Coverage
- [x] Support to multiple upstreams
- [x] Dynamically resolve upstreams
- [x] Dynamically add proxies
- [x] Dynamically remove proxies
- [x] Resolve new upstream addr if it changes
- [x] 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?
- [X] Docker