Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidfstr/nanoproxy
Small fast HTTP forward proxy in Go.
https://github.com/davidfstr/nanoproxy
go golang http-proxy
Last synced: about 5 hours ago
JSON representation
Small fast HTTP forward proxy in Go.
- Host: GitHub
- URL: https://github.com/davidfstr/nanoproxy
- Owner: davidfstr
- License: mit
- Created: 2014-12-13T04:53:35.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2021-04-23T13:51:02.000Z (over 3 years ago)
- Last Synced: 2024-11-05T20:47:12.676Z (5 days ago)
- Topics: go, golang, http-proxy
- Language: Go
- Size: 5.86 KB
- Stars: 52
- Watchers: 4
- Forks: 19
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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 [email protected]: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.
[Go]: https://golang.org
## 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.