연결 문제 해결 · Clash 기술 블로그

FlClash 종료 후 프록시 변경? v0.9.2 유지·복원

Windows에서 FlClash를 종료해도 프록시가 남거나 기존 프록시가 꺼지나요? v0.9.2에서 이번 실행 중 시스템 프록시를 설정했는지 구분하세요. 시스템 설정을 기록하고 정상 종료한 뒤 원래 값으로 복원해 실제 요청으로 확인하세요.

  • FlClash
  • v0.9.2
  • 시스템 프록시
  • Windows
  • 정상 종료
이 글의 목차

Windows에서 FlClash를 정상 종료한 뒤에도 시스템 프록시가 켜져 있다고 반드시 정리 실패는 아닙니다. 기존 프록시가 꺼졌다고 앱이 이전 설정을 저장해 두었다가 복원에 실패했다는 뜻도 아닙니다. 먼저 누가 설정한 값인지 확인한 뒤 유지할지, 끌지, 원래 값으로 복원할지 결정하세요.

종료 후 프록시가 남는 경우와 꺼지는 경우 구분하기

FlClash v0.9.2 정식 릴리스에는 앱이 설정하지 않은 시스템 프록시를 유지한다는 내용이 있습니다. 이 글은 Windows 10/11에서 해당 버전의 시스템 프록시 스위치와 정상 종료를 다룹니다. TUN, WinHTTP, 터미널 환경 변수나 앱 자체 프록시 설정을 같은 설정으로 취급하지 않습니다.

종료 전후 실제 설정에 따라 점검할 항목 고르기

확인한 현상먼저 할 일
이번 실행 중 켜기를 시도하지 않았거나 이미 정상적으로 껐으며, 종료 후 기존 프록시가 남아 있음계속 필요한 기존 서버나 스크립트인지 먼저 확인하세요. 스위치가 켜져 있다는 이유만으로 지우지 마세요.
FlClash를 켜서 사용한 뒤 종료했지만 기존 기업 프록시나 PAC가 복원되지 않음이 버전이 원래 값을 자동으로 복원한다고 보장하지는 않습니다. 미리 기록한 값으로 필요한 설정을 복원하세요.
FlClash는 종료됐지만 수동 프록시가 여전히 켜져 있고 이전 로컬 포트를 가리키며 요청도 실패함실제로 정상 종료했는지, 시스템 설정과 실패 로그가 어떤지 확인한 뒤 원래 네트워크에 필요한 설정으로 복원하세요.
브라우저는 정상이지만 터미널이나 특정 앱만 실패함해당 프로그램이 어떤 프록시 설정을 쓰는지 따로 확인하세요. 시스템 프록시 스위치 하나로 모든 프로그램을 판단할 수는 없습니다.

v0.9.2는 어떤 설정을 유지하나요?

이 버전은 시스템 프록시를 켜는 절차에 들어가면 해제 대기 상태를 남깁니다. 종료할 때는 이 상태가 남아 있을 때만 끄기를 호출합니다. 앞서 정상적으로 껐다면 대기 상태가 지워지므로, 이번 실행에서 켜기를 시도하지 않은 경우와 마찬가지로 종료 시 다시 해제하지 않습니다. 이는 Windows의 현재 프록시를 읽어 누가 설정했는지 판단하는 방식이 아닙니다.

고정된 소스 코드는 이 상태를 _applied라고 부르며, startProxy를 호출하기 전에 true로 설정합니다. 따라서 켜기를 시도했다는 뜻이지 시스템 프록시 쓰기에 성공했다는 증거는 아닙니다. 켜기와 끄기에 실패하면 update system proxy failed 로그가 남을 수 있습니다.

Windows의 stopProxy는 WinINet을 통해 연결 옵션을 PROXY_TYPE_DIRECT로 바꿉니다. 이전 서버, PAC 또는 모든 예외를 저장해 두었다가 복원하지는 않습니다. 시스템 프록시 해제와 원래 기업 네트워크 설정 복원은 서로 다른 작업입니다.

스위치를 직접 눌렀는지만으로도 판단할 수 없습니다. 이 버전의 systemProxy 기본값은 true이며, 저장된 자동 시작 상태 등에 따라 켜기 절차에 들어갈 수 있습니다. 구분해야 할 것은 이번 프로세스에서 설정을 적용하려고 했는지이지, 클릭한 기억이 있는지가 아닙니다.

Windows 원래 값과 FlClash 현재 상태부터 기록하기

복원할 수 있도록 비교 기록 남기기

  1. 시스템 설정 기록하기

    Windows 설정에서 ‘네트워크 및 인터넷 → 프록시’를 여세요. ‘자동으로 설정 검색’, 설정 스크립트, 수동 프록시의 스위치 상태를 각각 기록하고 스크립트 주소, 서버, 포트와 예외도 적어 두세요. 원래 프록시를 쓰지 않았다면 그 상태도 기록하세요.

  2. 앱과 트래픽 처리 방식 기록하기

    FlClash의 실제 버전이 v0.9.2인지 확인하고 현재 설정, 실제 프록시 포트, 대시보드의 ‘시스템 프록시’ 및 ‘TUN’ 상태와 자동 시작 설정을 기록하세요. 기본 포트로 실제 값을 대신하지 마세요.

  3. 따로 검증할 시간 정하기

    작업을 중단해도 되는 시간에 시스템 프록시를 검증하세요. TUN의 원래 상태를 기록한 뒤 ‘TUN’을 잠시 끄고 같은 Windows 설정을 자동으로 다시 쓰는 다른 기능도 중지하세요. 계속 필요한 기존 프록시 서비스는 실행해 두어도 됩니다.

믿을 수 있는 원래 값이 없다면 먼저 현재 상태와 기록을 보존하세요. 원래 프록시 도구나 조직에서 제공한 복원 방법을 사용하고 모르는 서버를 입력하지 마세요. Windows 설정이 조직에서 관리되어 변경할 수 없다면 기존 관리자 절차에 따라 복원하세요. 레지스트리 항목을 삭제해 제한을 우회하지 마세요.

이번 실행에서 설정하지 않았을 때 기존 프록시가 유지되는지 확인하기

새 프로세스에서 비교 조건 분명히 하기

  1. FlClash 시스템 프록시를 끈 상태로 저장하기

    통제할 수 있는 상태에서 FlClash의 ‘시스템 프록시’를 끈 다음 트레이의 ‘종료’로 정상 종료하세요. 스위치를 끄는 것 자체가 이번 프록시를 해제할 수 있으므로 원래 값을 기록했는지 먼저 확인하세요.

  2. 계속 필요한 기존 프록시 설정 복원하기

    FlClash가 종료되면 원래 도구나 Windows 프록시 페이지에서 미리 확인한 자동 검색, 스크립트와 수동 프록시 설정을 복원하고 실제 요청으로 확인하세요. 원래 직접 연결이 허용됐다면 그 상태로 복원하세요. 프록시가 필요한 작업에서 직접 연결 성공을 같은 복구 결과로 취급하지 마세요.

  3. 다시 열되 시스템 프록시는 켜지 않기

    시스템 프록시가 꺼진 상태로 저장됐는지 확인하고 자동 시작 상태를 살피면서 이번 실행 내내 스위치를 켜지 마세요. 같은 대상에 요청해 원래 경로를 확인한 뒤 트레이의 ‘종료’로 종료하세요. 창을 닫는 것은 최소화일 수 있으므로 이 단계를 대신하지 못합니다.

  4. Windows 설정과 실제 요청 비교하기

    자동 검색, 설정 스크립트와 수동 프록시의 스위치, 주소와 포트가 원래 기록과 일치하는지 다시 확인하고 같은 요청으로 검증하세요. 설정이 바뀌었다면 전후 시각, 앱 상태와 로그를 기록하세요. 아이콘만 보고 판단하지 마세요.

v0.9.2의 일반 종료 보호는 해당 절차에만 적용됩니다. 기존 프록시가 바뀌지 않았고 계속 필요하다면 그대로 유지하세요. 여전히 꺼진다면 먼저 재현 조건을 보관하세요. 한 번의 결과만으로 다른 버전, 모든 종료 방식이나 다른 소프트웨어까지 보호된다고 판단할 수는 없습니다.

이번에 시스템 프록시를 설정했다면 원래 값으로 복원하기

FlClash 자체 시스템 프록시를 검증하려면 먼저 실행 중인지 확인하고 실제 포트를 기록하세요. TUN이 여전히 꺼져 있는지 확인한 뒤 ‘시스템 프록시’를 켜세요. Windows 설정은 FlClash의 로컬 주소 127.0.0.1 및 실제 포트와 일치해야 합니다. 버튼이 켜졌다는 사실만으로 설정 쓰기 성공을 입증할 수는 없습니다.

끄기, 복원, 재확인

  1. 이번 프록시 설정 해제하기

    ‘시스템 프록시’ 스위치를 끄거나 트레이의 ‘종료’로 정상 종료한 뒤 작업이 끝날 때까지 기다리세요. update system proxy failed가 나타나면 로그와 Windows의 현재 값을 보관하세요. 차이를 알아볼 수 없게 계속 전환하지 마세요.

  2. 원래 필요한 설정 복원하기

    원래 직접 연결했다면 수동 프록시를 원래대로 끄세요. 다른 서버나 PAC를 사용했다면 미리 기록한 자동 검색, 스크립트와 수동 프록시의 각 스위치, 주소, 포트와 예외를 복원하거나 원래 도구로 다시 설정하세요. 종료만 하면 자동 복원된다고 가정하지 마세요.

  3. 실제 요청을 각각 확인하기

    복원한 같은 네트워크에서 원래 대상에 접속해 예상한 프록시나 직접 연결을 사용하는지 확인하세요. 특정 프로그램만 실패한다면 그 프로그램의 설정을 따로 점검하세요. WinHTTP, 환경 변수와 모든 프록시 설정을 한꺼번에 초기화하지 마세요.

FlClash가 설정을 적용한 뒤 다른 도구가 시스템 설정을 다시 썼더라도 이번 프로세스의 기록이 신뢰할 수 있는 ‘현재 설정 주체’ 판단으로 자동 전환되지는 않습니다. 설정을 쓰는 작업을 하나씩 순서대로 마친 뒤 필요한 원래 값을 복원하세요. 여러 클라이언트를 자동으로 조율하는 기능으로 생각하지 마세요.

어떤 결과를 확인해야 완료된 건가요?

종료와 복원 확인 목록

  • 앱의 전체 버전, 실제 포트와 Windows 자동 검색, 설정 스크립트 및 수동 프록시의 원래 값을 기록했습니다.
  • 이번 실행 중 설정 적용을 시도하지 않은 경우, 시도한 경우, 켜기에 실패한 경우를 구분했으며 클릭한 기억만으로 판단하지 않았습니다.
  • 창만 닫거나 작업 관리자에서 강제 종료하거나 설치 프로그램의 정리 절차를 이용하지 않고 트레이에서 정상 종료했습니다.
  • 종료하거나 끈 뒤 Windows 설정이 실제 요구에 맞으며, 원래 자동 검색, 기업 서버, PAC 또는 예외를 기록대로 복원했습니다.
  • 같은 대상에 대한 실제 요청이 성공했습니다. 터미널, TUN이나 앱 자체 프록시에 별도 문제가 있다면 증거를 따로 보관합니다.

설치와 제거는 다른 경로입니다. 이 버전의 설치 프로그램은 --clear-stale-proxy 인수를 전달한 프로세스를 실행해 남은 프록시를 처리합니다. 이는 이 글의 일반 종료 큐와 다릅니다. 보호 동작을 시험하려고 이 인수를 실행하지 마세요. 강제 종료나 충돌을 정상 정리가 실행된 것으로 취급해서도 안 됩니다.

설정이 계속 이상할 때 되돌리고 제보하는 방법

이번 비교를 먼저 중지하고 기록해 둔 Windows 설정, FlClash 시스템 프록시와 TUN의 원래 값, 다른 임시 변경 사항을 복원하세요. 그런 다음 일반 네트워크와 반드시 원래 프록시를 거쳐야 하는 대상을 확인하세요. 프록시 서비스 자체가 작동하지 않는다면 응답하지 않는 주소를 그대로 다시 입력하는 데 그치지 말고 그 서비스부터 복구하세요.

이 기능을 사용하려고 업그레이드해야 한다면 앱 데이터와 Windows 원래 값을 먼저 별도로 백업한 뒤 프로젝트의 정식 경로로 업데이트하세요. 업그레이드 뒤 호환성 문제가 생기면 기존에 지원되던 방법으로 해당 버전과 백업을 복원하세요. 이전 버전으로 돌아가도 Windows의 별도 설정이 자동으로 복원되지는 않습니다. 두 버전이 하나뿐인 데이터 폴더를 함께 사용하지 않게 하세요.

프로젝트에 전체 클라이언트 및 시스템 버전, 자동 시작 여부, 시스템 프록시와 TUN 상태, 이번 프로세스에서 설정 적용을 시도한 과정, 정상 종료 방법, 전후 주소와 실패 시각을 전달하세요. 공개 자료에서는 사설 서버, PAC 자격 증명과 구독 토큰을 가리고 원본 로그와 백업은 기기에 보관하세요.

참고 자료