Tinyproxy - A light-weight HTTP/HTTPS proxy
2013-03-29 14:05
856 查看
Tinyproxy - A light-weight HTTP/HTTPS proxy
Features
Downloads
Documentation
Support
Development
Authors
Tinyproxy requires only a minimal POSIX environment to build and operate. It can use additional libraries to add functionality though.
Tinyproxy allows forwarding of HTTPS connections without modifying traffic in any way through the
Tinyproxy supports being configured as a transparent proxy, so that a proxy can be used without requiring any client-side configuration. You can also use it as a reverse proxy front-end to your websites.
Using the
If you're looking to build a custom web proxy, Tinyproxy is easy to modify to your custom needs. The source is straightforward, adhering to the KISS principle. As such, it can be used as a foundation for anything you may need a web proxy to do.
Tinyproxy has privacy features which can let you configure which HTTP headers should be allowed through, and which should be blocked. This allows you to restrict both what data comes to your web browser from the HTTP server (e.g., cookies), and to restrict what data is allowed through from your web browser to the HTTP server (e.g., version information).
Using the remote monitoring facility, you can access proxy statistics from afar, letting you know exactly how busy the proxy is.
You can configure Tinyproxy to control access by only allowing requests from a certain subnet, or from a certain interface, thus ensuring that random, unauthorized people will not be using your proxy.
With a bit of configuration (specifically, making Tinyproxy created files owned by a non-root user and running it on a port greater than 1024), Tinyproxy can be made to run without any special privileges, thus minimizing the chance of system compromise. Furthermore, it was designed with an eye towards preventing buffer overflows. The simplicity of the code ensures it remains easy to spot such bugs.
On Fedora, install Tinyproxy by running
On Debian and derived distributions, run
Arch users can install the Tinyproxy package from the
FreeBSD, OpenBSD or NetBSD users can use the
Mac OS X users can check MacPorts to see if the Tinyproxy port there is recent enough.
If you feel that the Tinyproxy binary package in your operating system is not recent, please contact the package maintainer for that particular operating system. If this fails, you can always compile the latest stable version from source code.
We distribute Tinyproxy in source code form, and it has to be compiled in order to be used on your system. Please see the
We use Git as the version control system for the Tinyproxy source code repository. To get a copy of the Tinyproxy repository, use the command:
Feel free to report a new bug if you are sure it is a bug. If you are unsure, please ask on the mailing list.
Tinyproxy developers hang out in
Banu Blog has a Tinyproxy category.
Bug backlog for current sprint
Meeting logs
The Tinyproxy calendar (.ics) contains release and meeting dates
How to make a release
Build status
Tinyproxy
Tinyproxy is a light-weight HTTP/HTTPS proxy daemon for POSIX operating systems. Designed from the ground up to be fast and yet small, it is an ideal solution for use cases such as embedded deployments where a full featured HTTP proxy is required, but the system resources for a larger proxy are unavailable. Tinyproxy is free software, and is distributed using the GNU GPL license (version 2 or above).Features
Downloads
Documentation
Support
Development
Authors
Features
Tinyproxy has a small footprint and requires very little in the way of system resources. The memory footprint tends to be around 2 MB with glibc, and the CPU load increases linearly with the number of simultaneous connections (depending on the speed of the connection). Thus, Tinyproxy can be run on an older machine, or on a network appliance such as a Linux-based broadband router, without any noticeable impact on performance.Tinyproxy requires only a minimal POSIX environment to build and operate. It can use additional libraries to add functionality though.
Tinyproxy allows forwarding of HTTPS connections without modifying traffic in any way through the
CONNECTmethod (see the
ConnectPortdirective).
Tinyproxy supports being configured as a transparent proxy, so that a proxy can be used without requiring any client-side configuration. You can also use it as a reverse proxy front-end to your websites.
Using the
AddHeaderdirective, you can add/insert HTTP headers to outgoing traffic.
If you're looking to build a custom web proxy, Tinyproxy is easy to modify to your custom needs. The source is straightforward, adhering to the KISS principle. As such, it can be used as a foundation for anything you may need a web proxy to do.
Tinyproxy has privacy features which can let you configure which HTTP headers should be allowed through, and which should be blocked. This allows you to restrict both what data comes to your web browser from the HTTP server (e.g., cookies), and to restrict what data is allowed through from your web browser to the HTTP server (e.g., version information).
Using the remote monitoring facility, you can access proxy statistics from afar, letting you know exactly how busy the proxy is.
You can configure Tinyproxy to control access by only allowing requests from a certain subnet, or from a certain interface, thus ensuring that random, unauthorized people will not be using your proxy.
With a bit of configuration (specifically, making Tinyproxy created files owned by a non-root user and running it on a port greater than 1024), Tinyproxy can be made to run without any special privileges, thus minimizing the chance of system compromise. Furthermore, it was designed with an eye towards preventing buffer overflows. The simplicity of the code ensures it remains easy to spot such bugs.
Downloads
On Red Hat Enterprise Linux, or its derivatives such as CentOS, install Tinyproxy from the EPEL repository by runningyum install tinyproxy.
On Fedora, install Tinyproxy by running
yum install tinyproxy.
On Debian and derived distributions, run
apt-get install tinyproxyto install Tinyproxy.
Arch users can install the Tinyproxy package from the
communityrepository. Run
pacman -S tinyproxyto install it.
FreeBSD, OpenBSD or NetBSD users can use the
pkg_addutility to install the
tinyproxypackage.
Mac OS X users can check MacPorts to see if the Tinyproxy port there is recent enough.
If you feel that the Tinyproxy binary package in your operating system is not recent, please contact the package maintainer for that particular operating system. If this fails, you can always compile the latest stable version from source code.
We distribute Tinyproxy in source code form, and it has to be compiled in order to be used on your system. Please see the
INSTALLfile in the source code tree for build instructions. The current stable version of Tinyproxy is available as tinyproxy-1.8.3.tar.bz2. It was released on August 16, 2011. The Tinyproxy 1.8.3 NEWS file contains the release notes. You can verify the tarball using its PGP signature. You can also browse the older releases of Tinyproxy.
We use Git as the version control system for the Tinyproxy source code repository. To get a copy of the Tinyproxy repository, use the command:
git clone git://banu.com/tinyproxy.git
Documentation
Manpages are the primary documentation for Tinyproxy. After installing Tinyproxy, run the following command to see its manpages:man tinyproxy tinyproxy.conf
Support
tinyproxy-listis the mailing list for Tinyproxy user and developer discussions.
tinyproxy-announce-listis the mailing list for receiving news about new Tinyproxy releases.
tinyproxy-commits-listis the mailing list for Tinyproxy commit notifications.
tinyproxy-bugs-listis the mailing list for Tinyproxy bug change notifications.
Feel free to report a new bug if you are sure it is a bug. If you are unsure, please ask on the mailing list.
Tinyproxy developers hang out in
#tinyproxyon
irc.gimp.org.
Banu Blog has a Tinyproxy category.
Development
Sprints and meetings
Every 2 weeks, on Monday at 14:30 UTC, participants in the Tinyproxy project attend a sprint planning meeting in the#tinyproxyIRC channel on
irc.gimp.org. The Tinyproxy calendar (below) contains the days on which these meetings are held. Users are also welcome to participate in these meetings.
Bug backlog for current sprint
Meeting logs
The Tinyproxy calendar (.ics) contains release and meeting dates
Notes
How to build from GitHow to make a release
Systems
Full list of open Tinyproxy bugsBuild status
Authors
The Tinyproxy AUTHORS file lists all the authors who have contributed code and documentation to Tinyproxy.相关文章推荐
- Tiny HTTP Proxy in Python
- Set Java Proxy for Http/Https
- 在包含已安装区域的系统上使用 https_proxy 和 http_proxy
- linux设置http/https proxy及忽略proxy的方法
- TinyProxy 安装 (不需要证书支持https)
- proxpy - A Python HTTP/HTTPS Proxy - Google Project Hosting
- 简单的proxy之TinyHTTPProxy.py
- CentOS TinyProxy http(s)上网代理及置代理上网的方法
- iOS开发工具-如何使用网络封包分析工具Charles,通过配置proxy对http、https、tcp、udp 等协议的请求响应过程交互信息进行分析、判断、解决我们移动开发中的遇到的各种实际问题。
- Using mod_proxy with http/https:
- ssl,proxy;部分http部分https;80,443,8080;nginx+tomcat;
- Simple Nodejs Http/Https Proxy Server
- CentOS TinyProxy http(s)上网代理及置代理上网的方法
- micro_proxy - really small HTTP/HTTPS proxy
- 如何把网址配置为http和https可以同时访问
- Using a socks proxy with git for the http transport
- https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题
- 如何为Docker build设置http_proxy
- JAVA Socket 实现HTTP与HTTPS客户端发送POST与GET方式请求
- http和https的区别以及超全局变量