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"
|
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 \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
dante-server \
|
dante-server \
|
||||||
curl wget ca-certificates \
|
curl wget ca-certificates \
|
||||||
iproute2 iptables iputils-ping \
|
iproute2 iptables iputils-ping \
|
||||||
netcat-openbsd procps dnsutils \
|
netcat-openbsd procps dnsutils \
|
||||||
expect \
|
expect \
|
||||||
|
openvpn wireguard wireguard-tools \
|
||||||
|
net-tools openresolv \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# ── Install purevpn-cli (official installer) ──────────────────────────────────
|
# ── Install purevpn-cli ───────────────────────────────────────────────────────
|
||||||
# Running as root inside Docker — no sudo needed.
|
# 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 \
|
RUN curl -fsSL https://apps.purevpn-tools.com/cross-platform/linux-cli/production/cli-install.sh \
|
||||||
-o /tmp/cli-install.sh \
|
-o /tmp/cli-install.sh \
|
||||||
&& bash /tmp/cli-install.sh \
|
&& bash /tmp/cli-install.sh \
|
||||||
&& rm -f /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)"
|
|
||||||
|
|
||||||
# ── Add purevpn-cli to PATH (as per official docs) ────────────────────────────
|
# ── PATH: installer puts binary in /opt/purevpn-cli/bin/ ─────────────────────
|
||||||
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/etc/pure-linux-cli/
|
ENV PATH=/opt/purevpn-cli/bin:/opt/purevpn-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
# ── Location list ─────────────────────────────────────────────────────────────
|
# ── Location list ─────────────────────────────────────────────────────────────
|
||||||
COPY servers.txt /etc/vpndock/servers.txt
|
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.
|
# then starts dante SOCKS5 proxy bound to 0.0.0.0, routing out through tun0.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/etc/pure-linux-cli/
|
export PATH=/opt/purevpn-cli/bin:/opt/purevpn-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
# ── 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)"
|
|
||||||
|
|
||||||
SOCKS5_PORT="${SOCKS5_INNER_PORT:-1080}"
|
SOCKS5_PORT="${SOCKS5_INNER_PORT:-1080}"
|
||||||
VPN_IF="tun0"
|
VPN_IF="tun0"
|
||||||
|
|||||||
Reference in New Issue
Block a user