tinyproxy/README.md
gary-wzl77 f8407b5f7b Enable tinyproxy packaging as a snap.
This PR enable tinyproxy to package as a snap. Also added conditional
for snap packaging by testing "--enable-snap". The reason here for
'--enable-snap' is that all services run as root thanks to confinement
in snap world and regarding system call(setuid, setgid) will trigger
apparmor "DENIED" error when running tinyproxy snap in confined mode.
Please refer to syslog here http://paste.ubuntu.com/24063282/.
2017-02-25 15:02:47 +08:00

3.3 KiB

Tinyproxy

Tinyproxy is a small, efficient HTTP/SSL proxy daemon released under the GNU General Public License. Tinyproxy is very useful in a small network setting, where a larger proxy would either be too resource intensive, or a security risk. One of the key features of Tinyproxy is the buffering connection concept. In effect, Tinyproxy will buffer a high speed response from a server, and then relay it to a client at the highest speed the client will accept. This feature greatly reduces the problems with sluggishness on the Internet. If you are sharing an Internet connection with a small network, and you only want to allow HTTP requests to be allowed, then Tinyproxy is a great tool for the network administrator.

For more info, please visit the Tinyproxy web site.

Installation

Tinyproxy uses a standard GNU configure script based on the automake system. If compiling from a git checkout, you need to first run

./autogen.sh

from the top level directory to generate the configure script. The release tarball contains the pre-created configure script, so when building fom a release, you can skip this step. Then basically all you need to do is

./configure
make
make install

in the top level directory to compile and install Tinyproxy. There are additional command line arguments you can supply to configure. They include:

  • --enable-debug: If you would like to turn on full debugging support.

  • --enable-xtinyproxy: Compile in support for the XTinyproxy header, which is sent to any web server in your domain.

  • --enable-filter: Allows Tinyproxy to filter out certain domains and URLs.

  • --enable-upstream: Enable support for proxying connections through another proxy server.

  • --enable-transparent: Allow Tinyproxy to be used as a transparent proxy daemon.

  • --enable-static: Compile a static version of Tinyproxy.

  • --enable-reverse: Enable reverse proxying.

  • --with-stathost=HOST: Set the default name of the stats host.

  • --enable-snap: Enable snap packaging and running tinyproxy in snap world.

For more information about the build system, read the INSTALL file that is generated by autogen.sh and comes with the release tar ball.

Snap

If you would like to build tinyproxy as a snap package, please make sure you have snapd and snapcraft packages installed firstly.

sudo apt-get install snapd snapcraft
sudo snap install core

Then run the following command to create a snap package.

cd snap && snapcraft

After it's done, you can simply run the following command to install it locally.

sudo snap install --dangerous tinyproxy-snap_[VER]_[ARCH].snap

Also you can install tinyproxy from the store by running the following command.

sudo snap install tinyproxy

Support

If you are having problems with Tinyproxy, please raise an issue on github.

Contributing

If you would like to contribute a feature, or a bug fix to the Tinyproxy source, please clone the git repository from github and create a pull request.

Community

You can meet developers and users to discuss development, patches and deployment issues in the #tinyproxy IRC channel on Freenode (irc.freenode.net).