Firefox의 전역 프록시 설정은 일반 창과 비공개 창 모두에 적용됩니다. 따라서 proxy.settings API는 작업이 일반 창에서 시작되었더라도 확장 프로그램에 비공개 창 접근 권한을 요구합니다.

확장 프로그램은 설정을 변경하기 전에 이 조건을 확인할 수 있습니다:

const allowed = await browser.extension.isAllowedIncognitoAccess();
if (!allowed) {
  throw new Error('Private-window access is required for global proxy settings');
}
await browser.proxy.settings.set({ value: proxyConfig });

proxyConfig는 기존 Firefox 형식의 구성 객체입니다. 확장 프로그램에는 일반 프록시 API 권한도 필요합니다.

매니페스트가 비공개 사용을 허용하면 사용자는 확장 프로그램의 관리 세부정보에서 Run in Private Windows를 통해 해당 접근을 제어합니다. 검사는 그 선택을 보고할 뿐 권한을 자동으로 부여하지는 않습니다.

필요한 접근 권한이 없으면 proxy.settings.set이 예외를 던집니다. 이는 확장 프로그램이 제안된 프록시에 대한 연결을 전혀 보여주기 전에 발생하므로, IP나 포트를 바꾸는 것은 이 실패와 무관합니다.

확장 프로그램 UI에서 거부를 처리하고 사용자의 선택을 유지하세요. 권한과 구성 적용이 성공한 뒤에는 실제 목적지 경로를 별도로 평가하세요.

관련 글