Tinyproxy

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Tinyproxy
Developer(s) Banu
Initial release 1998
Stable release 1.8.4 (January 1, 2016) [±]
Development status Active
Written in C
Operating system POSIX
Platform Cross-platform
Type proxy server
License GNU General Public License
Website https://github.com/tinyproxy/

Tinyproxy is a HTTP proxy server daemon for POSIX operating systems. Designed to be fast and small, it is useful when an HTTP/HTTPS proxy is required, but the system resources for a larger proxy are unavailable. Because of this it has been put to uses such as a tether on the iPhone,[1] and on the OpenWrt.[2]

Tinyproxy is primarily designed to run on Unix-like systems. Released under the GNU General Public License, Tinyproxy is free software[3] and has been developed for a number of years. It is currently being maintained on GitHub as a publicly accessible project. Ohloh analyses it to be a project with "mature, well-established codebase and increasing year-over-year development activity."[4]

Features

  • Anonymous mode: Allows specification of individual HTTP headers that should be allowed through, and which should be blocked.
  • HTTPS support: Tinyproxy allows forwarding of HTTPS connections without modifying traffic in any way.
  • Remote monitoring: Tinyproxy can be monitored remotely to view logs and access details.
  • Load average monitoring: Tinyproxy can be configured to refuse connections after the server load reaches a certain point.
  • Access control: Tinyproxy can be configured to only allow connections from certain subnets or IP addresses.
  • Secure: With some configuration, 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.[citation needed]
  • Small footprint: Tinyproxy requires very little in the way of system resources - the memory footprint tends to be around 2MB with glibc, and the CPU load increases linearly with the number of simultaneous connections (depending on the speed of the connection). Therefore, Tinyproxy can be run on a spare, older machine without any impact on performance.
  • URL based filtering: Tinyproxy allows domain and URL-based black- and whitelisting.
  • Transparent proxying: Tinyproxy supports being configured as a transparent proxy, so that a proxy can be used without requiring any client-side configuration.
  • Proxy chaining: Tinyproxy can use an upstream proxy server for outbound connections, instead of direct connections to the target server, creating a so-called proxy chain.

Availability in OS distributions

Tinyproxy is available in various operating systems such as openSUSE,[5] Debian,[6] Fedora,[7] FreeBSD,[8] Gentoo Linux,[9] OpenBSD,[10] Ubuntu,[11] and OpenWrt.

See also

Overview & Discussions

Proxy-Servers

  • Apache HTTP Server
  • Hiawatha - secure, easy to use, lightweight web server with reverse proxy functionality.
  • lighttpd - open-source web server, optimized for speed-critical environments
  • Nginx - lightweight, high-performance web server, reverse proxy and e-mail proxy (IMAP/POP3)
  • Polipo - lightweight pipelining, multiplexing proxy server and daemon for a small number of users
  • Pound reverse proxy
  • Privoxy - privacy enhancing proxy
  • Squid cache - a proxy server and web cache daemon
  • Varnish - a performance-focused open source reverse proxy
  • Ziproxy - lightweight forwarding, compressing, non-caching, HTTP proxy for traffic optimization
  • RabbIT4 - forwarding, compressing, caching, filtering, HTTP proxy for traffic optimization

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.