From f8dd8a772837ad7336028a747b5271e941a704db Mon Sep 17 00:00:00 2001 From: "kihwan.song" Date: Mon, 13 Jul 2026 11:49:58 +0900 Subject: [PATCH] =?UTF-8?q?vpn=20=EC=84=B8=ED=8C=85=20=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A6=BD=ED=8A=B8=20=EC=88=98=EC=A0=95=203?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- connect-vpn/action.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/connect-vpn/action.yml b/connect-vpn/action.yml index bddf7fa..88139cf 100644 --- a/connect-vpn/action.yml +++ b/connect-vpn/action.yml @@ -164,17 +164,26 @@ runs: echo "VPN 연결 시도: ${VPN_HOST} (user=${VPN_USER}, otp-mode=${OTP_MODE})" # 참고: f5fpc 플래그는 클라이언트 버전마다 다를 수 있음 (`f5fpc --help`로 확인). - # 비대화식 실행을 위해 --nogui/--nocheck 사용. - $SUDO f5fpc --start \ + # 이 클라이언트의 비동기 실행 옵션은 --nonblock이며, --nogui는 지원되지 않는 버전이 있음. + if ! $SUDO f5fpc --start \ --host "$VPN_HOST" \ --user "$VPN_USER" \ --password "$PASSFIELD" \ - --nocheck --nogui || true + --nocheck --nonblock; then + echo "VPN 시작 명령 실패. f5fpc --help 출력과 입력값을 확인하세요." + $SUDO f5fpc --info 2>/dev/null || true + exit 1 + fi # 연결은 백그라운드 데몬에서 비동기로 진행 → --info를 폴링해 완료 대기 echo "연결 완료 대기 중 (최대 ${TIMEOUT}초)..." + DISCONNECTED_PATTERN="not connected|Client not connected|Please login|Unable to open message queue|disconnected|로그인" for i in $(seq 1 "$TIMEOUT"); do INFO=$($SUDO f5fpc --info 2>/dev/null || true) + if echo "$INFO" | grep -Eqi "$DISCONNECTED_PATTERN"; then + sleep 1 + continue + fi if echo "$INFO" | grep -Eqi "$CONNECTED_PATTERN"; then echo "VPN 연결 완료" echo "$INFO"