seamless /

Filename Size Date modified Message
49 B
48 B
204 B
1.1 KB
302 B
1.2 KB
183 B
3.3 KB
664 B

seamless is a TCP proxy that allow you to deploy new code then switch traffic to new backend without downtime.

Switching backends is done with HTTP interface (on a different port) with the following API:

switch traffic to new backend
return (in plain text) current server


  • Start first backend at port 4444

  • Run

    seamless 8080 localhost:4444
  • Direct all traffic to port 8080 on local machine.

When you need to upgrade the backend, start a new one (with new code on a different port, say 4445). Then:

curl http://localhost:6777/switch?backend=localhost:4445

(Note that management port is different from the one we proxy).


You can download a statically linked executable at the downloads section.

Or if you have a Go development environment, you can

go get


Miki Tebeka <> or here.