Firefox 애드온을 직접 게시(self hosted)하는 방법

7855 단어 firefox확장 기능
<2018년 한 명 뭐든지 어드벤트 캘린더 1일째>

소개



Firefox 확장 프로그램을 게시하려는 경우 상점에 신청하고 게시하는 것이 일반적인 방법이지만 게시 조건을 충족해야 합니다.
예를 들어, 사내 응용 프로그램을 사용하여 직원만이 사용하는 확장 기능의 경우, 용도와 사용자가 너무 제한되기 때문에 거부됩니다.
그 때 '스스로 공개(self hosted)'라는 방법이 있습니다.

updates.json 준비



우선 업데이트 정보를 기술하는 updates.json를 준비합니다.
나중에 설명하지만 확장 프로그램의 manifest.json에이 updates.json 파일의 URL을 설명하면 확장 프로그램이 업데이트가 있는지 여부를 알 수 있습니다.

updates.json
{
  "addons": {
    "<拡張機能のUUID>": {
      "updates": [
        {
          "version": "1.0.0.0",
          "update_link": "https://server.com/myextension.xpi"
        },
        {
          "version": "1.0.1.0",
          "update_link": "https://server.com/myextension.xpi"
        }
      ]
    }
  }
}
version 에 확장 기능의 버젼 번호를, update_link 에 나중에 둘 것이 되는 xpi 파일의 URL를 지정해 둡니다.
여기서는 https://server.com/myextension.xpi 에 넣었다고 합니다.

manifest.json을 서버에 넣기



브라우저에서 https로 액세스할 수 있으면 어디서나 좋습니다.
여기에서는 https://server.com/updates.json 에 넣었다고 합시다.

manifest.json에 updates.json의 URL 추가



manifest.json
抜粋
 "applications": {
    "gecko": {
      "id": "<拡張機能のUUID>",
      "update_url":"https://server.com/updates.json",
      "strict_min_version": "42.0"
    }
  },
applications 속성에 update_url 속성을 추가하고 이전 updates.json 파일의 URL을 https://에서 작성합니다.

개발자 센터에서 확장 프로그램에 서명



게시하려면 확장 프로그램에 서명해야 합니다.
개발자 센터에 로그인하고 새 애드온 등록을 클릭합니다.


배포 수단에 "자신으로."를 선택하고 "계속"을 클릭하십시오.


확장 프로그램의 .xpi 파일을 업로드하고 추가 기능 서명을 클릭합니다.



여기에서는 아니오를 선택하고 계속을 클릭합니다.


이것으로 서명이 완료되었습니다.
다운로드 버튼을 눌러 xpi 파일을 다운로드합니다.



xpi 파일을 서버에 넣기


updates.json 에 기술한 xpi 파일의 URL 과 같은 장소에 놓습니다.
여기에서는 https://server.com/myextension.xpi 네요.

이제 공개되었습니다.

최초 설치



xpi 파일의 URL에 액세스하면 설치됩니다.

확장 기능 업데이트



확장 프로그램을 업데이트할 때는 프로그래밍 방식으로 변경한 후 다음 작업을 수행합니다.
  • manifest.json 버전 변경
  • updates.json에 새 버전의 정보 추가
  • 개발자 센터에서 확장 프로그램에 서명
  • xpi 파일과 updates.json을 서버에 넣습니다.

    2 버전 정보를 추가하려면 다음을 수행합니다.
    예를 들어 새 버전 1.0.1.1를 추가합니다.

    updates.json
    {
      "addons": {
        "<拡張機能のUUID>": {
          "updates": [
            {
              "version": "1.0.0.0",
              "update_link": "https://server.com/myextension.xpi"
            },
            {
              "version": "1.0.1.0",
              "update_link": "https://server.com/myextension.xpi"
            },
            {
              "version": "1.0.1.1",
              "update_link": "https://server.com/myextension.xpi"
            }
          ]
        }
      }
    }
    
  • 좋은 웹페이지 즐겨찾기