chrome을 browser로 이름만 바꾸는 것은 프록시 확장의 완전한 포팅이 아닙니다.

Chrome의 고정 서버 구성은 모드와 규칙 객체를 사용합니다. Firefox는 자체 전역 프록시 설정 인터페이스와 요청별 proxy.onRequest API를 제공합니다. 이름이 비슷하다고 해서 입력 객체가 서로 바꿔 쓸 수 있는 것은 아닙니다.

표현하려는 정책부터 정하세요. 하나의 고정 엔드포인트, PAC 구성, 또는 요청마다 따로 선택하는 경로입니다. 그다음 각 브라우저에 문서화된 인터페이스를 사용하세요.

Firefox의 요청별 리스너는 확장 코드에서 프록시 정보를 반환할 수 있습니다. 프록시 권한과 가로챈 요청에 대한 적절한 호스트 접근이 필요합니다. Chrome의 고정 서버 설정 객체를 복사해 브라우저가 모든 필드를 알아볼 것이라 기대하는 것과는 다른 설계입니다.

지원되는 Firefox 버전과 manifest 요구 사항도 확인하세요. proxy.register()을 사용하는 오래된 예제는 이전 API를 설명하므로 현재 확장의 기반이 되어서는 안 됩니다.

공유 정책 데이터는 브라우저별 적응과 분리해 두세요. 테스트와 진단은 각 브라우저에서 목적지에 대해 선택된 경로를 보여 주어야 하며, 의도적으로 직접 연결한 결과도 포함해야 합니다. 유효한 manifest와 예외를 던지지 않는 API 호출은 시작에 불과합니다.

관련 글