-
Notifications
You must be signed in to change notification settings - Fork 100
Exit node GNU Linux
English | Русский
Linux VPS running an OpenFlux exit node 24/7 with autostart.
| Item | Details |
|---|---|
| VPS | Ubuntu 22.04 / Debian 12 / Fedora / Rocky / Arch |
| Access | Root via SSH |
| RAM | 512 MB min, 1 GB recommended |
| Traffic | 1 TB+ preferred |
Choose a provider you trust (Hetzner, Oracle Cloud, Vultr, HostVDS). Avoid Russian providers if using for bypass.
ssh root@YOUR_SERVER_IP
First connect asks for confirmation — type yes. Prompt changes to root@server-xxxx:~#.
Ubuntu / Debian:
apt update && apt upgrade -y
apt install -y git nano curl jq
Fedora / Rocky / Alma:
dnf upgrade -y
dnf install -y git nano curl jq
Arch / Manjaro:
pacman -Syu --noconfirm
pacman -S --noconfirm git nano curl jq
Alpine:
apk update && apk upgrade
apk add git nano curl jq bash
Ubuntu / Debian:
apt install -y golang-go
Fedora / Rocky / Alma:
dnf install -y golang
Arch:
pacman -S --noconfirm go
Alpine:
apk add go
Or tarball (all distros):
cd /tmp
curl -LO https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
rm -rf /usr/local/go
tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
go version
ARM64: replace linux-amd64 with linux-arm64.
curl -s https://api.github.com/repos/p1neappleXpress/OpenFlux/releases/latest | jq -r ".assets[].browser_download_url"
Pick one:
-
x86_64: universal-bypass-tool-linux-amd64
-
ARM64: universal-bypass-tool-linux-arm64
-
ARMv7: universal-bypass-tool-linux-arm
mkdir -p /opt/openflux cd /opt/openflux curl -L -o universal-bypass-tool https://github.com/p1neappleXpress/OpenFlux/releases/latest/download/universal-bypass-tool-linux-amd64 chmod +x universal-bypass-tool ./universal-bypass-tool
If help text appears — binary works.
If using Option B, replace /root/OpenFlux/universal-bypass-tool with /opt/openflux/universal-bypass-tool in systemd unit below.
cd /root
git clone https://github.com/p1neappleXpress/OpenFlux.git
cd OpenFlux
go build -o universal-bypass-tool .
iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP
nftables alternative:
nft add rule inet filter output tcp flags rst drop
- Go to https://docs.yandex.ru/
- Turn off "Try the new editor" — use legacy editor
- Create a spreadsheet
- Share -> public by link
- Copy URL: https://disk.yandex.ru/i/XXXXXXXXXXXXXXXX
./universal-bypass-tool --exit-node --url "https://disk.yandex.ru/i/YOUR_URL" --debug
Press Ctrl+C to stop.
nano /etc/systemd/system/openflux.service
Paste:
[Unit] Description=OpenFlux Universal Bypass Tool After=network.target
[Service] Type=simple User=root WorkingDirectory=/root/OpenFlux ExecStartPre=/usr/sbin/iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP ExecStart=/root/OpenFlux/universal-bypass-tool --exit-node --url "YOUR_YANDEX_URL" --debug Restart=always RestartSec=5
[Install] WantedBy=multi-user.target
Save: Ctrl+O, Enter, Ctrl+X.
nano /etc/systemd/system/openflux.service
Paste:
[Unit] Description=OpenFlux Universal Bypass Tool After=network.target
[Service] Type=simple User=root WorkingDirectory=/opt/openflux ExecStartPre=/usr/sbin/iptables -A OUTPUT -p tcp --tcp-flags RST RST -j DROP ExecStart=/opt/openflux/universal-bypass-tool --exit-node --url "YOUR_YANDEX_URL" --debug Restart=always RestartSec=5
[Install] WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable openflux.service
systemctl start openflux.service
systemctl status openflux.service
Look for green active (running) and:
=== Universal Bypass Tool ===
Live logs:
journalctl -u openflux.service -f
- Download: https://github.com/p1neappleXpress/OpenFluxAndroid/releases
- Open app -> tap + -> Manual
- Paste Yandex Docs URL
- Save -> Connect
First connections may hang ~5 minutes.
- Status: systemctl status openflux
- Logs: journalctl -u openflux -f
- Restart: systemctl restart openflux
- Stop: systemctl stop openflux
- Disable: systemctl disable openflux
- Edit: nano /etc/systemd/system/openflux.service
- Reload: systemctl daemon-reload && systemctl restart openflux
Service fails with no such file or directory -> Check ExecStart path. ls -la /root/OpenFlux/universal-bypass-tool
Service runs but clients can not connect -> iptables -L OUTPUT -n -v | grep RST
Yandex Docs errors -> Document must be public and in legacy editor
High CPU / traffic -> Remove --debug, monitor with top and iftop
WARNING: Without this your VPS is a target. Bots scan 24/7 and brute-force root passwords. If you skip this, use a strong random password.
Windows (PowerShell):
ssh-keygen -t ed25519
type $env:USERPROFILE\.ssh\id_ed25519.pub
macOS / Linux:
ssh-keygen -t ed25519
cat ~/.ssh/id_ed25519.pub
Press Enter twice. Copy the output.
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
Paste key. Save Ctrl+O, Enter, Ctrl+X.
chmod 600 ~/.ssh/authorized_keys
New terminal:
ssh root@YOUR_SERVER_IP
If no password asked — key works.
Only after key works.
nano /etc/ssh/sshd_config
Set:
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PermitRootLogin prohibit-password
Restart SSH:
Ubuntu / Debian:
systemctl restart ssh
Fedora / Rocky / Alma / Arch:
systemctl restart sshd
WARNING: Keep current session open. Test from second terminal.
Use provider web console (KVM/VNC):
PasswordAuthentication yes
Restart SSH and try again.
Enable SSH key auth and disable password login. 5-minute setup removes 99% of automated attacks.
thank you: restricted, Vladislav Zamchenko