From 7f7da10b1bb482b0d22a906449127d06dc03bb73 Mon Sep 17 00:00:00 2001 From: Heng lu Date: Tue, 7 Oct 2025 00:29:18 +0800 Subject: [PATCH] fix(docker): fix parameter parsing and signal handling in phantun.sh (#235) - Fix awk delimiter parsing for --tun, --tun-peer, --tun-peer6 arguments - Change shebang from sh to bash to fix signal trap handling - Add missing dependencies (iproute2, iptables, procps) to Dockerfile --- docker/Dockerfile | 4 ++++ docker/phantun.sh | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 2f5c8bd..6a9d11a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -25,6 +25,10 @@ FROM debian:latest COPY --from=builder /usr/local/bin/phantun-server /usr/local/bin/ COPY --from=builder /usr/local/bin/phantun-client /usr/local/bin/ COPY docker/phantun.sh /usr/local/bin/ +RUN apt-get update && apt-get install -y \ + iproute2 \ + iptables \ + procps ENV USE_IPTABLES_NFT_BACKEND=0 ENV RUST_LOG=INFO diff --git a/docker/phantun.sh b/docker/phantun.sh index 36be794..c2b4800 100755 --- a/docker/phantun.sh +++ b/docker/phantun.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # alias ​​settings must be global, and must be defined before the function being called with the alias if [ "$USE_IPTABLES_NFT_BACKEND" = 1 ]; then @@ -70,17 +70,17 @@ _is_ipv4_only() { } _get_tun_from_args() { - local tun=$(echo "$@" | awk -F '--tun' '{print $2}' | awk '{print $1}') + local tun=$(echo "$@" | awk -F '--tun ' '{print $2}' | awk '{print $1}') echo ${tun:=tun0} } _get_peer_from_args() { - local peer=$(echo "$@" | awk -F '--tun-peer' '{print $2}' | awk '{print $1}') + local peer=$(echo "$@" | awk -F '--tun-peer ' '{print $2}' | awk '{print $1}') _is_server_mode "$1" && echo ${peer:=192.168.201.2} || echo ${peer:=192.168.200.2} } _get_peer6_from_args() { - local peer=$(echo "$@" | awk -F '--tun-peer6' '{print $2}' | awk '{print $1}') + local peer=$(echo "$@" | awk -F '--tun-peer6 ' '{print $2}' | awk '{print $1}') _is_server_mode "$1" && echo ${peer:=fcc9::2} || echo ${peer:=fcc8::2} }