proxy.pacでのmyIpAddress()
Firefox 1.0だったか1.5だったかのときに、myIpAddress()が127.0.0.1しか返さなくなって、それ以来ションボリンヌだったんですが、昨日、となりのとなりの人にいわれて試してみたら、またちゃんと自分のIPアドレスが取れるようになってたす。
ただ、about:configでnetwork.dns.disableIPv6がfalseになってると、常に「::1」(IPV6のループバックアドレス)が返ってくるようなので、trueにする。
これで、自分のIPアドレスを元につながってるネットワークを判別して、今いるネットワークに応じてproxyを自動設定可能になったす。さようなら、Switch Proxy。
function FindProxyForURL(url,host) { var myipaddr = myIpAddress(); var proxy = 'DIRECT'; if (isInNet(myipaddr, "10.6.25.0", "255.255.255.0")) { // Home proxy = findProxyHome(url,host); } else if (isInNet(myipaddr, "10.10.0.0", "255.255.0.0")) { // Achi proxy = findProxyAchi(url,host); } else if (isInNet(myipaddr, "10.11.0.0", "255.255.0.0")) { // Kochi proxy = findProxyKochi(url,host); } else { proxy = 'DIRECT'; } return proxy; } function findProxyHome(url,host) { var proxyLocal = "proxy localhost:8888" var proxyExample = "proxy proxy.example.jp:8888" if (host.indexOf("irori.org") >= 0) { return proxyLocal; } else if (host.indexOf("example.jp") >= 0) { return proxyExample; } return "DIRECT"; } function findProxyAchi(url,host) { //... } function findProxyKochi(url,host) { //... }
thx >rigarashi
あと、proxy.pacの中で出したalert()は、FirebugのConsoleには出なくて、標準のError Consoleの方に出るので注意。