我和骚狐狸的那点事儿
用Firefox也有些时间了,不过上手还是算晚的,大约是3.0版本的时候,09年吧。在那之前一直是opera,后来在群里听人说的多了,于是尝试了一下,结果干柴遇上烈火一发不可收拾,彻底沦陷到现在并且毫不知悔改,哈哈。
初上手时是新奇,后来是折腾,到后来是精简,到如今只追求实用。脚本和扩展是从开始的越用越多到现在越来越少,但定制内容却是越来越贴近个人习惯。火狐就是这么个浪蹄子,你用得越多就越适合你,互动得越多就越XX和谐。闲话少说,现在正式开篇:
版本选择
先从版本开始说起吧,到现在为止我依然用着3.6.23,所以请不要饱含优越感的给我来一句7.0路过、8.0飘过、9.0沙发,我知道某Firefox版区全是这种盲目追新的傻逼,事实上这些傻逼连每夜版的ftp地址都不知道,更别指望他能告诉你每夜版更新了什么内容,解决了哪些问题。
mozilla现在跟着Google学坏了,和chrome一样使劲的飙版本号,5678这些大版本其实应该视为4.2、4.21、4.3这样才对。而3.6之后的版本有一个致命缺陷就是内存泄露,再就是平时的内存释放问题(比如关闭所有标签之后内存依然居高不下),虽然有人声称7的内存控制已经有所改善,但和3.6比起来却是远远不如了。可以说在新版本的内存控制没有彻底完善之前,没有尝新的必要,事实上在Firefox.net和mozest这些论坛上,很多老人也一样的坚守着3.6。
版本固定在3.6,然后选择是用官方原版或者第三方优化编译版(那些用火狐中国版的请马上关闭页面自行滚蛋),个人建议是tete009编译的第三方,优势是JS和图片浏览,特别是对于我这样的CG和动漫爱好者以及你这样的AV自拍图片爱好者来说,这一点尤为重要,毕竟,多图杀猫那是每个爱好者心中永远的痛啊……
tete009的下载地址:(tete009官方下载)根据CPU不同自行选择SSE和SSE2 (不懂区别请自行Google,Google不到用百度,百度不到用bing,bing不到去死),下载后,其源代码目录Source 可以精简删除,除Firefox.exe之外的所有exe文件可以删除,在此我贴一下我的Firefox目录文件列表,以供参考:(dir.txt 下载)
中文化
Firefox国际版选择语言直接包含简体中文版,在此不用考虑。下载tete00、Pale Moo或者陵川版,则需要在首次启动前直接修改相关文件,在此不推荐网上所说那些什么安装中文语言扩展的不够洁癖的办法。
首先在Mozilla的Ftp找到最新版的语言包(文件格式为xpi) 并下载下来,http://stage.mozilla.org/pub/mozilla.org/firefox/releases/,在此以3.6.23为例,则地址是http://stage.mozilla.org/pub/mozilla.org/firefox/releases/3.6.23/win32/xpi/zh-CN.xpi,下载下来用winrar或其他压缩软件解压,解压后用记事本打开chrome.manifest,替换全部 ”jar:chrome/” 为 ”jar:” ,重命名为zh-CN.manifest,与解压出来的zh-CN.jar一起复制到FireFox程序所在目录的chrome文件夹里。
然后用记事本打开Firefox程序所在目录的\defaults\pref\firefox-l10n.js,替换其中的en-US改为zh-CN。
最后用下面提到的绿化引导启动之后,在地址栏里输入”about:config” 回车,然后在过滤器里输入general.useragent.locale,双击该项然后再弹出的对话框里输入”zh-CN”,确定,重启浏览器后中文化完毕。
便携绿化
作为一个有轻度洁癖的人,像Firefox这种完全可以绿色的东西我是绝对不会使用安装版的,况且我的系统分区常年呆在影子下。便携版制作其实相当方便,在此以tete009为例,说说我采用的三种方法。
1、蓝冰引导器(下载地址):这是我最喜欢的方式,省事,方便,首次启动可以选择是否设置成默认浏览器、添加桌面快捷方式等。默认会在当前目录声称一个profile文件夹。
2、参数启动Firefox.exe:利 -profile 参数来指定配置文件夹启动Firefox,最典型的办法就是用快捷方式来引导,在目标一栏添加参数,例如:D:\SOFT\FF\Firefox\firefox.exe -profile ”D:\SOFT\FF\profiles”
3、Tete009版本:tete009自带便携绿化功能,下载tmemutil.ini 到Firefox根目录和Firefox.exe一起,修改Portable=1即可。会在当前目录生成一个PortableData配置文件夹。此方式声称的配置文件夹内目录结构和常用有别,手动修改不方便,极不推荐。
我个人使用的就是蓝冰引导器,其目录结构如下(下文将以此目录为示范,不再解释)
优化参数
用引导器启动火狐后,先设置中文(见上文),然后继续优化相关参数,在about:config中设置如下(#后为说明注释,非选项或者填写内容;个人倾向严重,自己看注释决定):
新建字符串browser.cache.disk.parent_directory ,在弹出对话框输入缓存路径,比如我的是设置缓存目录到内存盘G:\Temp\Firefox
- #取消安装扩展3秒等待
security.dialog_enable_delay,0
#火狐自带平滑滚动
mousewheel.acceleration.factor,4
mousewheel.acceleration.start,3
mousewheel.withnokey.numlines,7
#书签自动保存到bookmarks.html
browser.bookmarks.autoExportHTML,ture
#标签最大宽度
browser.tabs.tabMaxWidth,187
#标签最小宽度
browser.tabs.tabMinWidth,50
#撤销关闭网页数目
browser.sessionstore.max_tabs_undo,20
#关闭最后一个标签不退出Firefox - browser.tabs.closeWindowWithLastTab,false
#禁用IPV6
network.dns.disableIPv6,true
#搜索栏新建标签打开搜索
browser.search.openintab,true
#连接数相关
network.http.max-connections,48
network.http.max-connections-per-server,24
network.http.max-persistent-connections-per-proxy,12
#允许Javascript移动改变窗口位置和尺寸
dom.disable_window_move_resize,ture
#提速相关
network.http.pipelining,true
network.http.pipelining.maxrequests,8
network.http.pipelining.ssl,ture
network.http.proxy.pipelining,ture
network.http.request.max-start-delay,5
#关闭下载后提示、查毒(鸡肋功能)
browser.download.manager.showalertOnComplete,false
browser.download.manager.scanWhenDone,false
#开启远程DNS解析
network.proxy.socks_remote_dns,ture
#去除播放flash时独立进程
dom.ipc.plugins.enabled,false
dom.ipc.plugins.enabled.npctrl.dll,false
dom.ipc.plugins.enabled.npqtplugin.dll,false
dom.ipc.plugins.enabled.npswf32.dll,false
dom.ipc.plugins.enabled.nptest.dll,false
#地址栏默认搜索
network.standard-url.encode-utf8,false
network.enableIDN,false
keyword.URL修改为
https://encrypted.google.com/search?ie=utf-8&oe=utf-8&rls=org.mozilla:en-US:unofficial&client=firefox&q=
#关闭列出所有标签页
browser.allTabs.previews,false
profiles\chrome\userChrome.css部分:
- /* 去除无用右键菜单 */
#context-back,
#context-forward,
#context-openlink,
#context-stop,
#subscribeToPageMenuitem,
#subscribeToPageMenupopup
{ display: none !important; } - /* 去除地址栏RSS图标 */
#feed-button{display:none;}
/* 更圆滑的地址栏、搜索栏、页面查找栏 */
#urlbar, .searchbar-textbox,.findbar-textbox {
-moz-appearance: none !important;
-moz-border-radius: 2px !important;
padding-right: 2px !important;
padding-left: 2px !important;}
/* 隐藏书签无用选项 */
menuitem[key="addBookmarkAsKb"],
menuitem[key="manBookmarkKb"],
menuitem[key="bookmarkAllTabsKb"],
menu[id="bookmarksToolbarFolderMenu"],
menu[id="bookmarksToolbarFolderMenu"]+menuseparator {display: none !important;}
#bookmarks-button dropmarker {display: none !important;}
/* 合并刷新及停止按钮 */
#stop-button[disabled="true"] { display:none; }
#stop-button:not([disabled]) + #reload-button { display:none; }
/* 最后标签的关闭按钮 */
.tabbrowser-tabs:not([closebuttons="noclose"]):not([closebuttons="closeatend"]) > .tabbrowser-tab[selected="true"] > .tab-close-button {display: -moz-box !important;}
.tabbrowser-tabs[closebuttons="alltabs"] > .tabbrowser-tab > .tab-close-button {display: -moz-box !important;}
/* 隐藏菜单栏 */
#toolbar-menubar {display:none;}
扩展插件推荐
直到现在,还有很多人搞不清楚扩展和插件的区别,直接上图:
扩展和插件(插件dll放入FF\Firefox\plugins中与npnul32.dll并列)打包下载地址:http://dl.dbank.com/c0b1ezvbon
油猴子、UC脚本推荐
最好使用我上文提供的油猴子旧版本扩展,不要自行下载最新版,否则部分脚本会失效,比如try_again.user.js
安装完扩展userChromeJS-1.2.xpi后,用记事本打开FF\profiles\chrome\userChrome.js,最后一行添加红色部分【 userChrome.import(“*”, “UChrm”); 】,便能正常使用UC脚本,下载UC脚本至FF\profiles\chrome目录即可(重启浏览器生效)
IEView.uc.js:个人相当欣赏的脚本,现在不兼容火狐only IE的不规范站点是越来越少了,所以没必要为了那种一个月不见得浏览一次的垃圾站点而安装IE Tab这种庞然大物,直接用右键菜单调用IE或者其他浏览器打开就行(支持空白处右键打开该页,或者链接处打开该链接),我的脚本默认是theworld,修改成IE只须两处:第7行的\u7528TheWorld\u67E 红字名称部分,可以替换成IE;第30行的路径 D:\\soft\\TheWorld\\TheWorld.exe 替换成 %ProgramFiles%\\Internet Explorer\\IEXPLORE.EXE 即可。
其他油猴子脚本,有很多被我二次修改过,在此就不一一细说了,火狐玩的就是一个折腾。油猴子和UC脚本下载地址:http://dl.dbank.com/c035ak7bu3
个人分享
一些不错的书签,直接右键“将此链接加为书签”即可:
FireGestures脚本分享示例:
1:打开文件或者文件夹
- var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
file.initWithPath(“D:\\Soft\\FF\\proxy.txt”);
file.launch();
2:菜单
- FireGestures.generatePopup(event,
[
{ label: "FF目录", oncommand: "firefox();" },
{ label: "goagent", oncommand: "goagent();" },
{ label: "ssh", oncommand: "ssh();" },
]
); - firefox= function(){
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
file.initWithPath(“D:\\SOFT\\FF\\“);
file.launch();
}
goagent= function(){
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
file.initWithPath(“D:\\SOFT\\unblock\\goagent\\local\\goagent.exe“);
file.launch();
}
ssh= function(){
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
file.initWithPath(“D:\\SOFT\\unblock\\ssh\\ssh.exe“);
file.launch();
}
3:和书签配合手势
以上面的书签“谷歌翻译”为例,修改该书签关键字为“ggfanyi”,然后在FireGestures中添加脚本,名称“整页Google翻译”,脚本:
loadURI(getShortcutOrURI(“ggfanyi”,{}));
动作为RL。 此时浏览任意外文网站时,按住鼠标右键→ ← 则可以看到翻译效果。
我的鼠标手势脚本分享(直接上备份吧,请自行备份自己的设置)http://dl.dbank.com/c0xagwayap
proxy.txt写法和应用
proxy.txt其实就是autoproxy.pac的简化版,改后缀成txt是为了方便平时修改。其写法很简单,直接示例吧:
- var patterns = new Array(
“t.co/”,
“gravatar.com/”,
“flickr.com”,
“blogger.com”,
“torproject.org”
);
function FindProxyForURL(url, host)
{for (i in patterns)
{if( url.indexOf( patterns[i] ) >= 0 )
{return ”SOCKS5 127.0.0.1:7070“;}}
return ”DIRECT”;}
注意一点即可,除了红色部分的最后一行外,前面的网址后记得有英文逗号(我是经常忘的- -#)。示例的是socks5代理端口7070,如果是http代理的话,则替换上文绿色部分为PROXY 127.0.0.1:1080 (以http代理端口1080为例)
proxy搭配前面推荐扩展multiproxy,效果极好。打开multiproxy ,新建一个auto的代理设置让其读取proxy.txt的内容,自动选择是否走代理,如图:
然后新建一个all来全局走代理,如图:
最后来张裸照: