A proxy derived from SSS(scrambled shadowsocks) with a brand new architecture and a enhanced protocol.
Features include:
- Multiple threads.
- Message driven.
- Optimized for HTTPS traffic.
- Easy configuration. No domain name, certificate or web server is needed.
- Support of multiple users.
Click for details
You might need to install gcc, make, git, libev-dev, and libmbedtls-dev before any following steps.
sudo apt install gcc make git libev-dev libmbedtls-dev
A dynamically-linked binary requires libev-dev and libmbedtls-dev to be installed on your target machine(vps).
To build a dynamically-linked binary:
git clone --recurse-submodules https://github.com/sh4run/amoeba.git
cd amoeba
make
A statically-linked binary doesn't have such a requirement. To build a statically-linked binary:
make clean
make DYNAMIC=off
Click for details
Generate public/private key with:
ssh-keygen -b 1024 -m pem -t rsa -f testkey -N "" -q
ssh-keygen -m pem -e -f testkey >testkey.pub.pem
Server side:
./amoeba -c server.json
Client side:
./amoeba -c client.json
Please change the config files to suit your own needs.
Click for details
After a successful build, you can install amoeba server as a service on your build machine.
sudo ./install-amoeba-server.sh <port-number>
If your amoeba server is running on a different machine, please copy the following files to your target machine before running the above script. It is better to keep your target machine and build machine running the same version of Linux to avoid libc mismatch.
client.json
server.json
amoeba
install-amoeba-server.sh
The install script generates a tarball after it installs amoeba server. Please copy the following files to your local machine:
amoeba-client.tar.gz
install-amoeba-client.sh
And install amoeba client with:
sudo ./install-amoeba-client.sh
To uninstall amoeba server or client:
sudo ./uninstall-amoeba.sh