Misuzi's Nest

Never believe in fate but keeping trapped by Karma

Home Categories About Link

We can't find the internet

Attempting to reconnect

Something went wrong!

Hang in there while we get back on track

Misuzi's Nest

Tag: PAC

1 published posts

15 Jul

Mac手动调教PAC文件(用处大家都懂的

2011-07-15 · 20 comments

首先,本篇不是一篇如何翻×的教程,类似文章网上已经有很多了,于是也不打算多废话了。这里只对几种常见的翻×方式作个简单的介绍。

1:SSH动态映射+Autoproxy/SwitchyProxy/Privoxy/CCProxy

2:VPN

3: HTTPS Proxy(包括GAE等方式)

 

这里本质上1,3方式都是通过在本地与服务器间建立安全连接后来作代理请求,本文所涉及的全部都仅仅对应于1,3情况,与VPN无关(当然有人愿意VPN+SSH也不是不可能的)

这里简单说下为什么要采用PAC的方式来翻墙:

原因唯一:灵活性极高,在有基础的计算机基础以及便利的工具(之前是SPwitchyroxy)的情况下是灵活性最高的方式。

缺点:

1:在SPwitchyroxy因为兼容问题失效后,目前只能手动修改Config文件,并且每次需要手动启动PAC模式。

本文目标解决的问题:

1:由于SwitchyProxy与Chrome的不兼容带来的设置无效问题

2:手动设置PAC文件后无法立即启用的问题

 

 

直奔主题,

什么是PAC文件?

摘自<Wikipedia>

A proxy auto-config (PAC) file defines how web browsers and other user agents can automatically choose the appropriate proxy server (access method) for fetching a given URL.

A PAC file contains a JavaScript function "FindProxyForURL(url, host)". This function returns a string with one or more access method specifications. These specifications cause the user agent to use a particular proxy server or to connect directly.

Multiple specifications provide a fallback when a proxy fails to respond. The browser fetches this PAC file before retrieving other pages. The URL of the PAC file is either configured manually or determined automatically by the Web Proxy Autodiscovery Protocol.

 

简单的说就是根据域名来决定网络传输是否经过配置好的代理服务器。

例如Firefox大家常用的autoproxy就是一个针对某fw的匹配名单。

下面这个是一个典型的pac文件的结构

 

 

function regExpMatch(url, pattern) {
    try { return new RegExp(pattern).test(url); } catch(ex) { return false; }
}

function FindProxyForURL(url, host) {
    if (shExpMatch(url, '*mail-archive.com/*')) return 'SOCKS5 192.168.0.1:6000;SOCKS 192.168.0.1:6000';
    if (shExpMatch(url, '*feedburner.com/*')) return 'SOCKS5 192.168.0.1:6000;SOCKS 192.168.0.1:6000';
    return 'DIRECT';
}

 

 

对于SwitchyProxy作者没更新的情况下我还是建议手工建立此文件,便于后期修改。

如果愿意手工复制或者修改SwitchyProxy配置的话,其文件夹为(~/Library/Application Support/Google/Chrome/Default/Extensions)

return 'SOCKS5 192.168.0.1:6000;SOCKS 192.168.0.1:6000'

上面这句语句表示符合前述域名后用192.168.0.1:6000代理请求连接,这里需要注意的是一般情况下(用SwitchyProxy)不会有SOCKS 192.168.0.1:6000这条语句,因为Safari在代理应用过程中不会识别返回的SOCKS5语句,所以这里需要注意一下。

 

这里简单给一下图示

选择Network网络

单击所用的网络连接后选择高级

注意这里:在选择了pac文件后别忘了添加?和一些随机数字,这里是即时修改起效的关键。

 

每当添加修改了PAC文件,为使其生效,必须每次手动打开该设置页面,然后修改pac?123456后面的随机数字,修改后确认则可即刻生效。

发此文单单是因为SwitchyProxy的失效且目前未找到更好的替代工具,等Lion发布后或许会有更新吧,倘若短期没有的话自己也在考虑写一个pac文件修改器吧,以便于操作。

 

以上。

Search

Feeds

All posts Comments

Recent posts

  • 2026,复活
  • Dualwan(Tomato)或DDWRT上架设pwx-dns-proxy
  • 新年祝福——附恋物语随笔(剧透有)
  • 论坛微博化的一种实现的可行性
  • Ninjakit for safari修改版本

Categories

  • Anime
  • Galgame
  • Games
  • GeekTools
  • Language_Learning
  • Life
  • Literatures
  • Mavericks
  • Private
  • Technology
  • Uncategorized
  • WPFriend

Tags

2011交易截止 Air Aria2atom Bilidown Birthday Bite_me! Bookmarks Complain Django EP Emotion English Falcom GFW GM_Script Gal JSMC Life Links MACOS MCATOM Mavericks Mavs Milestone Music NBA OPENFIRE PAC PSP Python RazerBlog RazerGallery Razerblog Reading Rhetoric Study_Plan TORA Timestamp Tools Tora Travel Tunnelier UBUNTU Ukagaka Wordpress XMPP Xmarks ajax aria2c bt delimiter.us dreamhost goDaddy ipv6 linux perl scripts ssh vps web  日本語 ぐち ガールゲー ゲーム ツッコミ パッす守り ミパ ムンケーキ 中二病 主机 伏見 参った 发布 哲学なんで大嫌いだ! 年度总结 废柴命 悲しい 愚痴 憂鬱 技術ファーマー 撒花 教程 日本語 日記 漫罵 生命 绿坝 習俗 翻译 语言 趣味 轻小说 頭痛い

Copyright © 2010–2012 Misuzi's Nest

Powered by Phoenix. Designed and created for the RazerBlog archive.

Feeds Email