Skip to content

a0s/3proxy-install

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3proxy-install

Lint

This project is a bash script that aims to setup a 3proxy proxy server on a Linux server, as easily as possible!

This project was inspired by openvpn-install and wireguard-install

3proxy is a tiny free proxy server that supports HTTP, HTTPS, SOCKS4, and SOCKS5 protocols. This installer script helps you quickly set up a secure 3proxy server with user authentication.

Please check the issues for ongoing development, bugs and planned features!

Requirements

Supported distributions (installer OS). 3proxy is built from upstream commit 7c1bc48 (PROXY3_SOURCE_COMMIT in 3proxy-install.sh).

  • Ubuntu 18.04 (tested in Docker)
  • Ubuntu 20.04 (tested in Docker)
  • Ubuntu 22.04 (tested in Docker)
  • Ubuntu 24.04 (tested in Docker)
  • Ubuntu 26.04 (tested in Docker)
  • Fedora 42 (tested in Docker)
  • Fedora 43 (tested in Docker)
  • CentOS Stream 9 (tested in Docker, image quay.io/centos/centos:stream9)
  • CentOS Stream 10 (tested in Docker, image quay.io/centos/centos:stream10)
  • Debian 11 (bullseye, tested in Docker)
  • Debian 12 (bookworm, tested in Docker)
  • Debian 13 (trixie, tested in Docker)
  • AlmaLinux >= 8 (not tested yet)
  • Alpine Linux (not tested yet)
  • Arch Linux (not tested yet)
  • Oracle Linux (not tested yet)
  • Rocky Linux >= 8 (not tested yet)

Usage

Download and execute the script. Answer the questions asked by the script and it will take care of the rest.

curl -O https://raw.githubusercontent.com/a0s/3proxy-install/master/3proxy-install.sh
chmod +x 3proxy-install.sh
./3proxy-install.sh

It will install 3proxy on the server, configure it, create a systemd service and set up user authentication.

Run the script again to add or remove users!

Contributing

Contributions are welcome! Here's how you can help:

Setup development environment

After cloning the repository, configure git to use pre-commit hooks:

git config core.hooksPath .githooks

This will enable automatic code quality checks that run shellcheck and shfmt on your staged shell scripts before each commit.

Discuss changes

Please open an issue before submitting a PR if you want to discuss a change, especially if it's a big one.

Code formatting

We use shellcheck and shfmt to enforce bash styling guidelines and good practices. They are executed for each commit / PR with GitHub Actions, so you can check the lint workflow configuration.

Testing

Docker (Ubuntu 18.04–26.04, Debian 11–13, Fedora 42/43, CentOS Stream 9/10): ./tests/docker/run.sh — needs Docker. One distro: ./tests/docker/run.sh --dist debian-12. On a real Ubuntu host: sudo ./tests/3proxy-install-test.sh.

Credits & Licence

This project is under the MIT Licence

About

Set up your own Proxy server on Debian, Ubuntu, Fedora, CentOS, Arch Linux and more

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages