fix: correct purevpn-cli PATH (/opt/purevpn-cli/bin) and pre-install VPN deps
This commit is contained in:
@@ -2,28 +2,28 @@ FROM debian:bookworm-slim
|
||||
|
||||
LABEL description="dante SOCKS5 + purevpn-cli exit node"
|
||||
|
||||
# ── System dependencies ───────────────────────────────────────────────────────
|
||||
# ── System dependencies (all in one layer so apt cache is fresh for installer) ─
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
dante-server \
|
||||
curl wget ca-certificates \
|
||||
iproute2 iptables iputils-ping \
|
||||
netcat-openbsd procps dnsutils \
|
||||
expect \
|
||||
openvpn wireguard wireguard-tools \
|
||||
net-tools openresolv \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# ── Install purevpn-cli (official installer) ──────────────────────────────────
|
||||
# Running as root inside Docker — no sudo needed.
|
||||
# ── Install purevpn-cli ───────────────────────────────────────────────────────
|
||||
# Pre-installing its dependencies above means the installer's own apt calls
|
||||
# find everything already present and skip cleanly.
|
||||
# Binary lands at /opt/purevpn-cli/bin/purevpn-cli
|
||||
RUN curl -fsSL https://apps.purevpn-tools.com/cross-platform/linux-cli/production/cli-install.sh \
|
||||
-o /tmp/cli-install.sh \
|
||||
&& bash /tmp/cli-install.sh \
|
||||
&& rm -f /tmp/cli-install.sh \
|
||||
&& echo ">>> purevpn-cli install search:" \
|
||||
&& find / -maxdepth 8 -name "purevpn*" 2>/dev/null || true \
|
||||
&& echo ">>> /etc/pure-linux-cli contents:" \
|
||||
&& ls -la /etc/pure-linux-cli/ 2>/dev/null || echo "(directory not found)"
|
||||
&& rm -f /tmp/cli-install.sh
|
||||
|
||||
# ── Add purevpn-cli to PATH (as per official docs) ────────────────────────────
|
||||
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/etc/pure-linux-cli/
|
||||
# ── PATH: installer puts binary in /opt/purevpn-cli/bin/ ─────────────────────
|
||||
ENV PATH=/opt/purevpn-cli/bin:/opt/purevpn-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
# ── Location list ─────────────────────────────────────────────────────────────
|
||||
COPY servers.txt /etc/vpndock/servers.txt
|
||||
|
||||
@@ -4,22 +4,7 @@
|
||||
# then starts dante SOCKS5 proxy bound to 0.0.0.0, routing out through tun0.
|
||||
set -euo pipefail
|
||||
|
||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/etc/pure-linux-cli/
|
||||
|
||||
# ── Locate purevpn-cli wherever the installer put it ─────────────────────────
|
||||
if ! command -v purevpn-cli &>/dev/null; then
|
||||
_bin=$(find / -maxdepth 8 -name "purevpn-cli" -type f 2>/dev/null | head -1)
|
||||
if [[ -n "$_bin" ]]; then
|
||||
export PATH="$(dirname "$_bin"):$PATH"
|
||||
echo "[entrypoint] purevpn-cli found at $_bin — PATH updated"
|
||||
else
|
||||
echo "[entrypoint] FATAL: purevpn-cli not found anywhere on the filesystem"
|
||||
echo "[entrypoint] All purevpn* files:"
|
||||
find / -maxdepth 8 -name "purevpn*" 2>/dev/null || true
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
echo "[entrypoint] Using purevpn-cli: $(command -v purevpn-cli)"
|
||||
export PATH=/opt/purevpn-cli/bin:/opt/purevpn-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
SOCKS5_PORT="${SOCKS5_INNER_PORT:-1080}"
|
||||
VPN_IF="tun0"
|
||||
|
||||
Reference in New Issue
Block a user