Skip to content
/ vproxy Public

1) proxy: LB,DNS,Socks. 2) k8s: CRD and Controllers. 3) sdn: TCP/IP Stack + Flow Tables.

License

Notifications You must be signed in to change notification settings

wkgcass/vproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

36eabe3 · Jul 23, 2019
Jun 6, 2019
Jul 23, 2019
Jul 23, 2019
Jun 18, 2019
Apr 2, 2019
Jul 23, 2019
Apr 2, 2019
Jan 17, 2019
Jul 19, 2019
Jul 19, 2019
Jun 18, 2019
Apr 2, 2019
Apr 2, 2019
Jan 17, 2019
Jan 21, 2019

Repository files navigation

vproxy

中文文档

Intro

VProxy is a zero-dependency TCP Loadbalancer based on Java NIO. The project only requires Java 11 to run.

Clone it, javac it, then everything is ready for running.

(Gradlew and Dockerfile is also provided)

Aim

  • Zero dependency: no dependency other than java standard library, and no jni extensions.
  • Simple: keep code simple and clear.
  • Modifiable when running: no need to reload for configuration update.
  • Fast: performance is one of our main priorities.
  • TCP Loadbalancer: we now support TCP and TCP based protocols, also allow your own protocols.

How to use

Simple mode

You can start a simple loadbalancer in one command:

java -Deploy=Simple -jar vproxy.jar \  
                bind {port} \
                backend {host1:port1,host2:port2} \
                [ssl {path of cert1,cert2} {path of key} \]
                [protocol {...} \]

Use help to view the parameters.

Standard mode

See docs for help.
Questions about implementation detail are also welcome (in issues).

Doc

Contribute

Currently only I myself is working on this project. I would be very happy if you want to join :)