Download and obtain BibaVPN
This page lists official distribution channels and how to choose a version.
GitHub Releases
All published desktop, Android, and source artifacts are attached to releases:
https://github.com/Eljaja/BibaVPN/releases
Pick one release tag (for example v1.2.x) and use matching assets:
- GUI installer / APK for end users
- Or build client + server from the same tag if you run from source
Do not mix a client binary from one tag with a server from another without reading CHANGELOG.md.
Docker images (Linux server / client containers)
Multi-arch images (linux/amd64, linux/arm64) are published on Docker Hub:
| Image | Typical use |
|---|---|
| eljaja/bibavpn-server | Entry node on a VPS |
| eljaja/bibavpn-client | Sidecar or lab client exposing SOCKS5 / HTTP proxy |
Image tags
| Tag | When to use |
|---|---|
:latest |
Tracks main (CI may update frequently; good for trying edge builds) |
:vX.Y.Z |
Recommended for anything you keep running |
:sha-… |
Pin to an exact commit for rollback or reproducibility |
Example pull:
docker pull eljaja/bibavpn-server:vX.Y.Z
docker pull eljaja/bibavpn-client:vX.Y.Z
(Replace vX.Y.Z with the Release tag you intend to run.)
Compose file without cloning the repo
The repository provides docker-compose.hub.yml which pulls Hub images and exposes:
- SOCKS5 on the host at
127.0.0.1:11080 - HTTP CONNECT on the host at
127.0.0.1:11880
Download and run:
curl -fsSL https://raw.githubusercontent.com/Eljaja/BibaVPN/main/docker-compose.hub.yml \
-o docker-compose.hub.yml
export BIBA_VPN_TOKEN="$(openssl rand -hex 16)"
export BIBA_VPN_PSK="$(openssl rand -hex 32)"
docker compose -f docker-compose.hub.yml up -d
The default Hub compose tutorial uses self-signed TLS inside Docker and
--insecureon the client. That is acceptable only for a localhost lab. For a public server, see Server setup.
Clone the repository (source and scripts)
git clone https://github.com/Eljaja/BibaVPN.git
cd BibaVPN
You get:
bibavpnRust crate withbibavpn-server,bibavpn-client,bibavpn-mint-invitedocker-compose.yml— builds images from the Dockerfile in this tree (used bystart.shfor a server-only local lab)docker-compose.hub.yml— Hub images, client + serverstart.sh— generates secrets, writes.biba-start.env, startsbiba-serveronly, scrapes logs for abiba://invite
Build from source
Requirements: Rust toolchain. The repo includes rust-toolchain.toml pinned to stable.
Release binaries:
cargo build --release -p bibavpn --bin bibavpn-server
cargo build --release -p bibavpn --bin bibavpn-client
Output paths (Unix-like):
target/release/bibavpn-servertarget/release/bibavpn-client
Optional: run the workspace test suite:
cargo test --workspace
Advanced TLS stacks (e.g. BoringSSL) and feature flags are described in AGENTS.md.
What to download for each role
| Goal | Suggestion |
|---|---|
| Use BibaVPN on phone / desktop with a GUI | Latest APK / desktop bundle from Releases |
| Run server on VPS with minimal setup | Docker Hub bibavpn-server + compose or your orchestrator |
| Hack on protocol / flags | Git clone + cargo build |
| Quick two-container lab on laptop | docker-compose.hub.yml + secrets in env |
Verification
- Prefer checksums or GitHub’s release attestation when you publish your own mirror; upstream may add signing conventions per release notes—check the release page for each version.
- After download, confirm client and server report the same release (or same commit) before debugging connectivity.