Skip to content

davidfstr/nanoproxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

nanoproxy

This is a tiny HTTP forward proxy written in Go, for me to gain experience in the Go language.

This proxy accepts all requests and forwards them directly to the origin server. It performs no caching.

Despite this not being a full proxy implementation, it is blazing fast. In particular it is significantly faster than Squid and slightly faster than Apache's mod_proxy. This demonstrates that Go's built-in HTTP library is of a very high quality and that the Go runtime is quite performant.

Only xkcd.com has been really tested with this proxy. Many other sites don't work with the current implementation.

Prerequisites

  • Go 1.3.3, or a compatible version

Installation

  • Clone this repository.
git clone git@github.com:davidfstr/nanoproxy.git
cd nanoproxy
  • Configure your web browser to route all HTTP traffic through localhost:8080.

Usage

  • Start the proxy: go run nanoproxy.go

  • Open your web browser to http://xkcd.com or some other page on that site.

Notes

  • Go's HTTP server implementation is really good. I read it all. Only missing feature I desire is the ability to process multiple pipelined HTTP requests in parallel.
  • Go's HTTP client implementation is easy to use, based on my limited experience in this proxy. I have not read its implementation.

About

Small fast HTTP forward proxy in Go.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages