<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wd and cc &#187; firefox</title>
	<atom:link href="http://wdicc.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://wdicc.com</link>
	<description>Happy every day...</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:27:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>你在用什么方式翻墙？</title>
		<link>http://wdicc.com/best-way-to-fuck-gfw/</link>
		<comments>http://wdicc.com/best-way-to-fuck-gfw/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 01:38:36 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[fuckgfw]]></category>
		<category><![CDATA[GFW]]></category>

		<guid isPermaLink="false">http://wdicc.com/?p=554</guid>
		<description><![CDATA[翻墙估计应该是上网的必修课了，当然那些 90 后就别说了，他们大概只上 *qq.com 就好了。 翻墙有不少方法，比如通过找公共的 vpn，用 tor，找一些 phpproxy 网站等。我这推荐一个比较好的方法，通过 fuckgfw 提供的 ssh proxy，速度比 tor 快的不是一点半点。 我用的 linux，写了一个 expect 脚本来起代理服务，如下。里面的 USER 和 PWD 换成你申请到的用户名和密码。我把这个脚本命名叫 p, 放到了 ~/bin 下面，当然我的 ~/bin 是在 path 里面的，这样，执行一个 p 命令代理就自动起来了。用完的时候可以按 Ctrl-c 退出。 #!/bin/bash &#160; expect -c ' spawn ssh -D 7070 -N USER@SERVER expect { password { send &#34;PWD\r&#34;; } } [...]]]></description>
			<content:encoded><![CDATA[<p>翻墙估计应该是上网的必修课了，当然那些 90 后就别说了，他们大概只上 *qq.com 就好了。</p>
<p>翻墙有不少方法，比如通过找公共的 vpn，用 tor，找一些 phpproxy 网站等。我这推荐一个比较好的方法，通过 <a href="http://www.sshgfw.com/">fuckgfw</a> 提供的 ssh proxy，速度比 tor 快的不是一点半点。</p>
<p>我用的 linux，写了一个 expect 脚本来起代理服务，如下。里面的 USER 和  PWD 换成你申请到的用户名和密码。我把这个脚本命名叫 p, 放到了 ~/bin 下面，当然我的 ~/bin 是在 path 里面的，这样，执行一个 p 命令代理就自动起来了。用完的时候可以按 Ctrl-c 退出。</p>

<div class="wp_syntax"><div class="code"><pre class="bash"><span class="co0">#!/bin/bash</span>
&nbsp;
expect <span class="re5">-c</span> <span class="st_h">'
spawn ssh -D 7070 -N USER@SERVER
expect {
	password { 
		send &quot;PWD\r&quot;;
	}
}
&nbsp;
interact {
	\001 exit;
}'</span></pre></div></div>

<p>当然，我用到的不只这个脚本了，要不也没什么好写的了。(本来觉得自己写了挺好的一个文章，最后还是就 expect 脚本 + autoproxy，唉，丢人。)<del datetime="2009-07-20T02:13:48+00:00">还用到了一个 proxy.pac ，自动使用代理的配置。如下，把这个文件存成 proxy.pac, 然后在 firefox 的 编辑->首选项->高级->网络->设置->自动代理配置URL 这个里面输入 “file:///home/wd/bin/proxy.pac” ，这样，你连接某个网站的时候，他会自动的去判断是不是要用代理。这个文件是 linuxsir 的 狱卒 给我的。:)</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span class="kw2">function</span> FindProxyForURL<span class="br0">&#40;</span>url<span class="sy0">,</span> host<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
    url <span class="sy0">=</span> url.<span class="me1">toLowerCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    host <span class="sy0">=</span> host.<span class="me1">toLowerCase</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="kw1">if</span> <span class="br0">&#40;</span>dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;twitter.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;my.opera.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;hk.yahoo.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;tw.yahoo.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;livejournal.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;mitbbs.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;friendfeed.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;youtube.com&quot;</span><span class="br0">&#41;</span>
        <span class="sy0">||</span> dnsDomainIs<span class="br0">&#40;</span>host<span class="sy0">,</span><span class="st0">&quot;sshgfw.com&quot;</span><span class="br0">&#41;</span>
        <span class="br0">&#41;</span>
        <span class="kw1">return</span> <span class="st0">&quot;SOCKS 127.0.0.1:7070&quot;</span><span class="sy0">;</span>
    <span class="kw1">else</span> 
		<span class="kw1">return</span> <span class="st0">&quot;DIRECT&quot;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div>

<p>这么做一个问题就是，如果你要新加某个网站进去，必须得重启 fx 才能生效。实际上 foxproxy 也可以配置使用 自动代理的，而且可以设置让他多长时间自动重载一下这个文件，算是智能一点了吧。不过我用 foxproxy 的时候发现，如果同时打开两个需要用到代理的网站，他会是一个一个打开的，不能同时，不知道是怎么回事。</p>
<p>我现在用的是 multiproxy swith ，这个可以设置 pac 文件，不过是不会自动重载。当然，重启这个事情也不是什么大问题，装一个 quickrestart ext，然后在 toolbar 上面加一个，点一下就重启了，再加上 fx 会 restore session ，也就是等几秒，就生效了。</del></p>
<p>再当然一个。如果觉得这个 pac 弄起来还是麻烦，那可以装一个 autoproxy，里面内置了一些列表，你只要设置一个 127.0.0.1:7070 的 socks 代理让他用就好了。哪个用 proxy 哪个不用是全自动的，不用你管。自己添加的列表也能即时生效。目前我用的这个，推荐一下哦。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/best-way-to-fuck-gfw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>清理 firefox places.sqlite 来提速</title>
		<link>http://wdicc.com/clean-places-sqlite/</link>
		<comments>http://wdicc.com/clean-places-sqlite/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 10:54:53 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://wdicc.com/?p=550</guid>
		<description><![CDATA[来自这里 http://forum.moztw.org/viewtopic.php?t=26802 使用前先备份，后悔了还能弄回去。 sqlite3 places.sqlite &#34;DELETE FROM moz_historyvisits WHERE place_id IN (SELECT id FROM moz_places WHERE visit_count &#60;=2 );&#34; &#160; sqlite3 places.sqlite &#34;DELETE FROM moz_places WHERE (visit_count &#60;=2 AND hidden &#60;&#62; 1 AND id NOT IN (SELECT place_id FROM moz_annos UNION SELECT fk FROM moz_bookmarks));&#34; &#160; sqlite3 places.sqlite &#34;DELETE FROM moz_inputhistory WHERE place_id NOT IN [...]]]></description>
			<content:encoded><![CDATA[<p>来自这里 http://forum.moztw.org/viewtopic.php?t=26802</p>
<p>使用前先备份，后悔了还能弄回去。</p>

<div class="wp_syntax"><div class="code"><pre class="sql">sqlite3 places<span class="sy0">.</span>sqlite <span class="st0">&quot;DELETE FROM moz_historyvisits WHERE place_id IN (SELECT id FROM moz_places WHERE visit_count &lt;=2 );&quot;</span>
&nbsp;
sqlite3 places<span class="sy0">.</span>sqlite <span class="st0">&quot;DELETE FROM moz_places WHERE (visit_count &lt;=2 AND hidden &lt;&gt; 1 AND id NOT IN (SELECT place_id FROM moz_annos UNION SELECT fk FROM moz_bookmarks));&quot;</span>
&nbsp;
sqlite3 places<span class="sy0">.</span>sqlite <span class="st0">&quot;DELETE FROM moz_inputhistory WHERE place_id NOT IN (SELECT id FROM moz_places);&quot;</span>
&nbsp;
sqlite3 places<span class="sy0">.</span>sqlite <span class="st0">&quot;DELETE FROM moz_favicons WHERE id NOT IN (SELECT
favicon_id FROM moz_places);&quot;</span>
&nbsp;
sqlite3 places<span class="sy0">.</span>sqlite <span class="st0">&quot;VACUUM;&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/clean-places-sqlite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自动登录网站的 greasemonkey 脚本</title>
		<link>http://wdicc.com/greasemonkey-autologin-script/</link>
		<comments>http://wdicc.com/greasemonkey-autologin-script/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 13:04:17 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[greasemonkey]]></category>

		<guid isPermaLink="false">http://wdicc.cn/?p=414</guid>
		<description><![CDATA[自动登录 gmail 的 greasemonkey 脚本，可以根据需要修改 formElement.name==”Email” 为别的，来登录别的网站。注意修改 name, include 这些相关的东东 // (c) 2007, Yabin Guo // To install, you need Greasemonkey: http://greasemonkey.mozdev.org/ // // -------------------------------------------------------------------- // ==UserScript== // @name gmail Login // @description Auto-login of gmail // @include https://www.google.com/a/wdicc.com/* // ==/UserScript== &#160; //replace your seraph username and password in the following expression; userName=&#34;wd&#34;; passWord=&#34;*******&#34;; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>自动登录 gmail 的 greasemonkey 脚本，可以根据需要修改 formElement.name==”Email” 为别的，来登录别的网站。注意修改 name, include 这些相关的东东</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span class="co1">// (c) 2007, Yabin Guo</span>
<span class="co1">// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/</span>
<span class="co1">//</span>
<span class="co1">// --------------------------------------------------------------------</span>
<span class="co1">// ==UserScript==</span>
<span class="co1">// @name          gmail Login</span>
<span class="co1">// @description   Auto-login of gmail</span>
<span class="co1">// @include       https://www.google.com/a/wdicc.com/*</span>
<span class="co1">// ==/UserScript==</span>
&nbsp;
<span class="co1">//replace your seraph username and password in the following expression;</span>
userName<span class="sy0">=</span><span class="st0">&quot;wd&quot;</span><span class="sy0">;</span>
passWord<span class="sy0">=</span><span class="st0">&quot;*******&quot;</span><span class="sy0">;</span>
&nbsp;
<span class="kw2">function</span> submitFirstPasswordForm<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
	<span class="kw2">var</span> form<span class="sy0">=</span>document.<span class="me1">forms</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span>
    <span class="kw2">var</span> submitButton <span class="sy0">=</span> <span class="kw2">null</span><span class="sy0">;</span>
	<span class="kw2">var</span> passwordElem<span class="sy0">;</span>
	<span class="kw2">var</span> accountElem<span class="sy0">;</span>
	<span class="kw2">var</span> submitButton<span class="sy0">;</span>
    <span class="kw1">for</span> <span class="br0">&#40;</span>i<span class="sy0">=</span><span class="nu0">0</span><span class="sy0">;</span> formElement<span class="sy0">=</span>form<span class="br0">&#91;</span>i<span class="br0">&#93;</span><span class="sy0">;</span> <span class="sy0">++</span>i<span class="br0">&#41;</span><span class="br0">&#123;</span>
		<span class="kw1">if</span><span class="br0">&#40;</span>formElement.<span class="me1">type</span><span class="sy0">==</span><span class="st0">&quot;password&quot;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
			passwordElem<span class="sy0">=</span>formElement<span class="sy0">;</span>
		<span class="br0">&#125;</span><span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>formElement.<span class="kw3">name</span><span class="sy0">==</span><span class="st0">&quot;Email&quot;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
			accountElem<span class="sy0">=</span>formElement<span class="sy0">;</span>
		<span class="br0">&#125;</span><span class="kw1">else</span> <span class="kw1">if</span><span class="br0">&#40;</span>formElement.<span class="me1">type</span><span class="sy0">==</span><span class="st0">&quot;submit&quot;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
			submitButton<span class="sy0">=</span>formElement<span class="sy0">;</span>
		<span class="br0">&#125;</span>
	<span class="br0">&#125;</span>
&nbsp;
	accountElem.<span class="me1">value</span><span class="sy0">=</span>userName<span class="sy0">;</span>
	passwordElem.<span class="me1">value</span><span class="sy0">=</span>passWord<span class="sy0">;</span>
&nbsp;
    <span class="kw1">if</span> <span class="br0">&#40;</span>submitButton<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        submitButton.<span class="kw3">focus</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        submitButton.<span class="me1">style</span>.<span class="me1">MozOutline</span> <span class="sy0">=</span> <span class="st0">&quot;2px solid purple&quot;</span><span class="sy0">;</span>
        <span class="co1">// Submit the form by calling click() on the submit button.</span>
        submitButton.<span class="me1">click</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="co1">// Break out of both loops.</span>
        <span class="kw1">return</span><span class="sy0">;</span> 
      <span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&nbsp;
window.<span class="me1">addEventListener</span><span class="br0">&#40;</span>
  <span class="st0">&quot;load&quot;</span><span class="sy0">,</span> 
  <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> 
    setTimeout<span class="br0">&#40;</span>submitFirstPasswordForm<span class="sy0">,</span> <span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span> 
  <span class="br0">&#125;</span><span class="sy0">,</span> 
  <span class="kw2">false</span>
<span class="br0">&#41;</span><span class="sy0">;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/greasemonkey-autologin-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

