Recent Changes

2008-05-09

Latest File Release

This Project Has Not Released Any Files

Wiki Guide

Side Bar

FoxyProxy を使ってみる。

  • nsIProxyObjectManager
  • firefox
    • pageInfo.js
    • pageInfo.xul
  1. browser.js の BrowserPageInfo() が pageInfo.xul を開く。
    1. そのとき渡されるのがそのページオブジェクト(フレームの場合は親ページ)
  2. pageInfo.js の onLoadPageInfo() が呼ばれる。
  3. でもって、DOMInspector で見る限り、呼ばれるページオブジェクトには proxy の情報はなし。
  1. ボタンを押すと browser.js#handleURLBarCommand() が呼ばれる
  2. browser.js#BrowserLoadURL()
    1. openUILink()
    2. loadURI()
      1. utilityOverlay.js#openUILinkIn()
        1. interface nsIExternalProtocolService
  1. components/nsProxyAutoConfig.js#reloadPAC()
    1. init() -> _sandBox.FindProxyForURL()
      1. <- getProxyForURI()
 70      * Get the proxy string for the specified URI.  The proxy string is
 71      * given by the following:
 72      *   
 73      *   result      = proxy-spec *( proxy-sep proxy-spec )
 74      *   proxy-spec  = direct-type | proxy-type LWS proxy-host [":" proxy-port]
 75      *   direct-type = "DIRECT"
 76      *   proxy-type  = "PROXY" | "SOCKS" | "SOCKS4" | "SOCKS5"
 77      *   proxy-sep   = ";" LWS
 78      *   proxy-host  = hostname | ipv4-address-literal
 79      *   proxy-port  = <any 16-bit unsigned integer>
 80      *   LWS         = *( SP | HT )
 81      *   SP          = <US-ASCII SP, space (32)>
 82      *   HT          = <US-ASCII HT, horizontal-tab (9)>
 83      *
 84      * NOTE: direct-type and proxy-type are case insensitive
 85      * NOTE: SOCKS implies SOCKS4
 86      *
 87      * Examples:
 88      *   "PROXY proxy1.foo.com:8080; PROXY proxy2.foo.com:8080; DIRECT"
 89      *   "SOCKS socksproxy"
 90      *   "DIRECT"
 91      *
 92      * XXX add support for IPv6 address literals.
 93      * XXX quote whatever the official standard is for PAC.
 94      *