2012年11月30日星期五

如何把已经过期的不兼容firefox插件重新活起来

前阵子,把firefox升级后发现一个一向很好用的插件 Tab mix plus 因为不兼容不能继续使用,后来还是解决了。

前几天看到一位推友的推,该推的链接是链接到mozilla针对 Tab mix plus 不能使用之解决方案的网页上,这才知道原来还有不少人实在很在乎这个插件,以下,我来谈谈我是怎么解决这个问题的,也希望以后遇到类似情况的读者能够及时(或临时)解决问题。

解决这类问题有两三个方法:
一)等待作者更新插件,不过不知道要等到猴年马月;

二)使用 checkCompatibility 插件;
     在firefox上安装这个插件后,就会阻止firefox禁用已经过期的不兼容插件。
三) 如果不愿意等和安装 checkCompatibility,可以考虑这个方法,这就是修改不兼容插件的.xpi文件,方法如下:

1)把插件文件准备好,如果没有,用另外一个浏览器进入firefox的插件网页下载,然后准备一个压缩+解压软件,这里以 winRAR 为例;

2)用压缩软件打开.xpi文件;

3)然后把一个叫 install.rdf 的文件拖出来;

4)用文字编辑器(如 NotePad)打开该文件,然后作以下修改:

NS1:minVersion和NS1:maxVersion是firefox的版本范围,也就是说,这个插件只限于在firefox的这个版本范围内可用,在这里是4.0-16.0a1。NS1:version是这个插件的版本。

5)最后把修改好文件重新拖回.xpi文件里

 6)进入firefox的插件管理页面,把修改好的.xpi文件拖进去就成事了(注:最好先卸载不兼容版本)。

警告:以上两种方法对某些插件可能无效或由于极其不兼容产生不可预测的后果,用户自行承担风险。

2012年11月17日星期六

如何制作和妙用适合自己的上网代理 PAC 文件(以GoAgent为例)

.pac(Proxy Auto-Config)文件是一个使用代理时的规则文件,它是由JavaScript编写而成,主要是告诉系统什么条件下使用代理链接互联网,什么时候不用,从而免去了使用者频繁的切换,让电脑使用者更方便地使用代理服务。

.pac文件是由Netscape在1996年设计,文件里主要是一个功能函数 FindProxyForURL(url,host),文法(syntax)是:

function FindProxyForURL(url, host)
 {
    return RetStr;
 }

url和host是参数,功能函数根据这两个参数进行分析,然后根据结果将使用代理与否的决定传回,RetStr就是决定,通常当决定不用代理时,RetStr会是"DIRECT"(即直接联网的意思)。以下一段程式片段加进了两个情况的分析句子:


 function FindProxyForURL(url, host)
 {
    //如果是谷歌,使用代理
    if (shExpMatch(url, "*://*.google.com/*") || shExpMatch(url, "*://google.com/*"))
    {
      return "PROXY 127.0.0.1:8087"
    }

   //如果是百度,不用使用代理
   if (shExpMatch(url, "*://*.baidu.com/*") || shExpMatch(url, "*://baidu.com/*"))
    {
      return "DIRECT";
    }

   return "PROXY 127.0.0.1:8087; DIRECT";
 }


'PROXY 127.0.0.1:8087' 这句的意思是使用本机(localhost)的8087端口进行代理链接(即使用代理)。这句是针对GoAgent的(因为我正在使用这个代理),其他代理,可能有其它的要求。

return "PROXY 127.0.0.1:8087; DIRECT"是当上面两个条件都不符合时的返回值,意思是"使用代理;如果代理无效则直接连接"。

以上片段的两个 if .. 分析主要是针对网址,其他的如:isPlainHostName() dnsDomainIs() localHostOrDomainIs() isResolvable() isInNet() dnsResolve() myIpAddress() dnsDomainLevels() shExpMatch() weekdayRange() dateRange() timeRange() 都可以按自己的需要加以使用,详情请参阅有关网站。

在两句的if分析句子中(第一句为例),if (shExpMatch(url, "*://*.google.com/*") || shExpMatch(url, "*://google.com/*")),其意思是:如url与"*://*.google.com/*"吻合或(||,也即or)url与"*://google.com/*"吻合则使用代理。语句中的"*"是 wild card,代表任何表述的意思,也即"*://*.google.com/*"="任何表述(包括http/https)://任何表述(www/第一/第二 ...域名).google.com/任何表述(在谷歌下的任何网页/文件)"

以上片段的目的是想让读者基本上明白代理和.pac文件是怎么一齐工作,在这里我们不打算讨论太多的编程,我们会集中在怎么把这个文件用到最好。

一旦有了.pac文件,我们可以为浏览器做上几两的减肥(也即把autoproxy/Proxy Switchy卸掉)。下载的GoAgent已经附有一个.pac文件(目前叫proxy.pac),如果需要,完全可以不用它,自己量身定做一个。

.pac文件的内容是可以添加或删减,如果你发现一个网站突然被墙了,可以按照上面的方法添加上去,如发现某个网站已经解封了,也可以把它去掉,避免.pac文件变得臃肿。

我个人是主张全局代理的,至少从安全角度看,是应该这样想的。

一般设置全局代理都会这样设置(因为不需要规则,因此也就省去.pac文件的使用)


但是这种设置有个问题,就是当需要切换到VPN时就必须进来一次,把钩去掉,我是最怕麻烦的人。解决办法就是把钩去掉,使用一个自造的.pac文件,从此,就不用进进出出了。

这个.pac文件很简单,就是用上面曾提及的一句指令: return "PROXY 127.0.0.1:8087; DIRECT",再以GoAgent为例(你可以保留它原本的.pac文件然后自创一个),以下是步骤:

1) 进入GoAgent的local目录打开proxy.ini,进行修改:


2)新建一个.pac文件,就叫它做global.pac吧,输入以下几行然后保存:

               function FindProxyForURL(url, host)
               {  
                 return "PROXY 127.0.0.1:8087; DIRECT";
                }

3)记住你.pac文件的完整路径;例如在e:program files\goagent\里,便写成:file://e:/program files/goagent/global.pac

4)进入系统的internet设置,把完整路径填入即可:

知道了.pac文件的原理,无论你懂不懂编程,按照以上的方法,都能使它活起来。

祝大家畅游互联网!


p.s.:最后要感谢一下 @Ryans233, 他使我对.pac 文件由更深入的认识

2012年11月3日星期六

安卓软件:如何利用前置镜头让那些“吾生性”的人无所遁形?

很多时候我们都会把手机暂时放在一边然后离开一下去做一些别的事情,在你不在的时候手机上发生什么事情你是完全不知道的,可能有新的短信来了,可能你微博上的发言得到了回应,也可能有“动机”不明的人曾翻阅过你的手机。

一般,手机加了屏锁就不必担心这些不明“动机” 的人了,但如果你想知道这人是谁就得利用以下的软件。

这个软件能监测屏锁密码的输入情况(要求管理员权限),一旦密码输入不对,就会利用前置摄像头把试图“入侵者”摄下来,也会发出警报声





此软件叫HiddenEye,分免费版和付费版(HiddenEye plus),免费版的功能少一点(一般已经够用了),有广告。付费版也多不了多少实用性的功能,只是能够发邮件和与DropBox同步。

最后,如果不喜欢这个软件,在卸载前记得先废除它的管理员权限。

下载:谷歌play市场


:作者在xda论坛发表时说,这个软件未必适合所有的安卓设备。