認証付きプロキシの環境でPackage Controlを導入する方法

More than 1 year has passed since last update.

認証付きプロキシ環境下でもSublime Text3のPackage Controlを使えるようにする方法です。

コンソール経由でPackage Controlの導入

Sublime Textの"View" -> "Show Console"でコンソールを表示した後、↓のコマンドを入力します。

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler({"http": "http://[username]:[password]@[proxy_server]:[port]", "https": "https://[username]:[password]@[proxy_address]:[port]"})) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

通常のインストールコマンドと殆ど同じですが、urllib.request.ProxyHandler()の引数でhttp・httpsのプロキシサーバー関連の設定を行う必要があります。

コマンド中の

  • [username]
  • [password]
  • [proxy_server]
  • [port]

は、実行する環境に応じて書き換えてください。

Package Controlの設定

首尾よくインストールできれば、次にPackage Controlにプロキシの情報を設定します。
"Preferences" -> "Package Settings" -> "Package Control" -> "Settings - User"で、プロキシサーバー等の情報を入力しましょう。

{
    "http_proxy": "http://[proxy_server]:[port]",
    "https_proxy": "https://[proxy_server]:[port]",
    "proxy_username": "username",
    "proxy_password": "password"
}

ここまで設定が終われば無事使えるはず!

(必要あれば)証明書設定の変更

ただし、Windows環境で上記の設定が終わってもPackage Control経由のインストールに失敗する場合があります。
SSL証明書の失効リスト更新が上手く行かない場合に失敗している模様なので、「インターネット オプション」->「詳細設定」で「サーバー証明書の失効リストを確認する」のチェックを外してください。
設定後、Sublime Textを再起動するとインストールできるようになります。

参考

Package Control - Docs - Settings
wbond / sublime_package_control - Error checking for server certificate revocation (errno 12057)