存档

文章标签 ‘firefox’

你在用什么方式翻墙?

2009年7月20日 wd 2 条评论

翻墙估计应该是上网的必修课了,当然那些 90 后就别说了,他们大概只上 *qq.com 就好了。

翻墙有不少方法,比如通过找公共的 vpn,用 tor,找一些 phpproxy 网站等。我这推荐一个比较好的方法,通过 fuckgfw 提供的 ssh proxy,速度比 tor 快的不是一点半点。

我用的 linux,写了一个 expect 脚本来起代理服务,如下。里面的 USER 和 PWD 换成你申请到的用户名和密码。我把这个脚本命名叫 p, 放到了 ~/bin 下面,当然我的 ~/bin 是在 path 里面的,这样,执行一个 p 命令代理就自动起来了。用完的时候可以按 Ctrl-c 退出。

#!/bin/bash
 
expect -c '
spawn ssh -D 7070 -N USER@SERVER
expect {
	password { 
		send "PWD\r";
	}
}
 
interact {
	\001 exit;
}'

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

function FindProxyForURL(url, host)
{
    url = url.toLowerCase();
    host = host.toLowerCase();
    if (dnsDomainIs(host,"twitter.com")
        || dnsDomainIs(host,"my.opera.com")
        || dnsDomainIs(host,"hk.yahoo.com")
        || dnsDomainIs(host,"tw.yahoo.com")
        || dnsDomainIs(host,"livejournal.com")
        || dnsDomainIs(host,"mitbbs.com")
        || dnsDomainIs(host,"friendfeed.com")
        || dnsDomainIs(host,"youtube.com")
        || dnsDomainIs(host,"sshgfw.com")
        )
        return "SOCKS 127.0.0.1:7070";
    else 
		return "DIRECT";
}

这么做一个问题就是,如果你要新加某个网站进去,必须得重启 fx 才能生效。实际上 foxproxy 也可以配置使用 自动代理的,而且可以设置让他多长时间自动重载一下这个文件,算是智能一点了吧。不过我用 foxproxy 的时候发现,如果同时打开两个需要用到代理的网站,他会是一个一个打开的,不能同时,不知道是怎么回事。

我现在用的是 multiproxy swith ,这个可以设置 pac 文件,不过是不会自动重载。当然,重启这个事情也不是什么大问题,装一个 quickrestart ext,然后在 toolbar 上面加一个,点一下就重启了,再加上 fx 会 restore session ,也就是等几秒,就生效了。

再当然一个。如果觉得这个 pac 弄起来还是麻烦,那可以装一个 autoproxy,里面内置了一些列表,你只要设置一个 127.0.0.1:7070 的 socks 代理让他用就好了。哪个用 proxy 哪个不用是全自动的,不用你管。自己添加的列表也能即时生效。目前我用的这个,推荐一下哦。

分类: Linux 标签: , ,

清理 firefox places.sqlite 来提速

2009年7月18日 wd 没有评论

来自这里 http://forum.moztw.org/viewtopic.php?t=26802

使用前先备份,后悔了还能弄回去。

sqlite3 places.sqlite "DELETE FROM moz_historyvisits WHERE place_id IN (SELECT id FROM moz_places WHERE visit_count <=2 );"
 
sqlite3 places.sqlite "DELETE FROM moz_places WHERE (visit_count <=2 AND hidden <> 1 AND id NOT IN (SELECT place_id FROM moz_annos UNION SELECT fk FROM moz_bookmarks));"
 
sqlite3 places.sqlite "DELETE FROM moz_inputhistory WHERE place_id NOT IN (SELECT id FROM moz_places);"
 
sqlite3 places.sqlite "DELETE FROM moz_favicons WHERE id NOT IN (SELECT
favicon_id FROM moz_places);"
 
sqlite3 places.sqlite "VACUUM;"
分类: Linux 标签:

自动登录网站的 greasemonkey 脚本

2008年6月22日 wd 没有评论

自动登录 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==
 
//replace your seraph username and password in the following expression;
userName="wd";
passWord="*******";
 
function submitFirstPasswordForm() {
	var form=document.forms[0];
    var submitButton = null;
	var passwordElem;
	var accountElem;
	var submitButton;
    for (i=0; formElement=form[i]; ++i){
		if(formElement.type=="password"){
			passwordElem=formElement;
		}else if(formElement.name=="Email"){
			accountElem=formElement;
		}else if(formElement.type=="submit"){
			submitButton=formElement;
		}
	}
 
	accountElem.value=userName;
	passwordElem.value=passWord;
 
    if (submitButton) {
        submitButton.focus();
        submitButton.style.MozOutline = "2px solid purple";
        // Submit the form by calling click() on the submit button.
        submitButton.click();
        // Break out of both loops.
        return; 
      }
}
 
window.addEventListener(
  "load", 
  function() { 
    setTimeout(submitFirstPasswordForm, 0); 
  }, 
  false
);
分类: Linux 标签: , ,