[zz]"西厢计划"Ubuntu安装配置指南

 zz from 自由

"西厢计划"是今天听到的最振奋人心的消息, 穿越GFW这么多年, 基本上各种类型的方法都用过, 每每穿墙都有一种莫名的快感, 想着GFW同学被无数人一次又一次地虐待. 作为新世纪的有志青年, 翻墙已经成了一种必须掌握的技能. 俗话说得好, "不会翻墙的网民不是好公民." 看到这里你应该已经知道"西厢计划"到底是个什么东西了, 但它不同于以往的所有翻墙技术, 算是翻墙界的最新研究成果吧. "西厢计划"的优势在于可以用最直接的方式访问网站, 比如平时用的代理、VPN都是先到另一个地方绕一圈, 而按照作者的说法, "西厢计划"直接注入GFW系统, 这样当你访问敏感词网站时, GFW就变得像个傻子一样, 根本不会进行重置操作, 从而以最快的速度访问网站.

目前还只能在Linux系统中进行使用, 且要求内核版本大于等于2.6.17, 下面是我在Ubuntu中安装配置的全过程.

安装

这里下载安装文件, 解压进入目录. 先安装一些依赖软件:
$ sudo apt-get install autoconf automake libtool aptitude xtables-addons-common iptables-dev
接下来开始编译加安装:
$ ./autogen.sh
$ CFLAGS="" ./configure --prefix=/usr --libexecdir=/lib
$ make
$ sudo make install

配置

在安装文件的"examples"目录中有一些已经设定好的ipset规则, 这些规则用来过滤那些特定的网络访问, 先导入所有规则:
$ sudo ipset -R < CHINA
$ sudo ipset -R < GOOGLE
$ sudo ipset -R < YOUTUBE
$ sudo ipset -R < NOCLIP
再使用iptables设定具体的过滤规则:
$ sudo iptables -A INPUT -p tcp --sport 80 --tcp-flags FIN,SYN,RST,ACK SYN,ACK -m state --state ESTABLISHED -m set --match-set NOCLIP src -j ZHANG -m comment --comment "client-side connection obfuscation"
$ sudo iptables -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j CUI -m set --match-set CHINA src -m comment --comment "server-side connection obfuscation"
$ sudo iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -m gfw -j LOG --log-level info --log-prefix "gfw: " -m comment --comment "log gfw tcp resets"
$ sudo iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -m gfw -j DROP -m comment --comment "drop gfw dns hijacks"
最后修改主DNS, 在"/etc/dhcp3/dhclient.conf"文件中找到"prepend domain-name-servers", 将后面的IP替换为没有被感染的DNS地址, 比如"8.8.8.8", 重启网卡:
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up

大功告成! 打开浏览器试试吧, YouTube、Blogger、Picasa、Google Groups、Google Docs的Spreadsheet这些都已是畅通无阻, 不过目前Twitter、Facebook还无法访问, 但相信"西厢计划"以后将会越来越强大.

2010.3.13更新:

以上配置在重启之后都会消失, 这就麻烦了, 总不能每次开机都先输这么一长串命令吧. 在参考了Ubuntu官方Wiki之后, 有了一个很好的解决办法.

首先确定你已经设定好了上面的所有规则, 接着将当前规则导出并放到"/etc"目录中:
$ sudo ipset -S > ipset.rules
$ sudo iptables-save > iptables.rules
$ sudo mv ipset.rules iptables.rules /etc
其实我们需要做的就是让系统在每次开机的时候自动读取这些规则, 这可以有很多种方法, 比如写成脚本, 放到rc目录中, 但我觉得下面的方法更加灵活一点. 这里又要分成两种方法, 如果你使用了NetworkManager, 请看第一种, 否则看第二种. 之所以要这样分开讨论, 是因为第二种方法会导致NetworkManager不能正常工作.
  1. 这里下载NetworkManager的配置脚本, 加上可执行权限, 最后放到"/etc/NetworkManager/dispatcher.d"目录中.

  2. 在"/etc/network/interfaces"文件中添加如下几行:
    auto eth0
    iface eth0 inet dhcp
        pre-up ipset -R < /etc/ipset.rules
        pre-up iptables-restore < /etc/iptables.rules
        post-down ipset -S > /etc/ipset.rules
        post-down iptables-save > /etc/iptables.rules
    

P.S. 我终于又可以直接在Blogger里写博客了, 泪牛满面啊~~~

Posted by little lily Tue, 20 Apr 2010 01:29:29 +0800


[zz]使用BibTex管理引用文献

 

Tips:我用的是pdflatex+cjk所以不能处理中文的引用,于是在命名的时候只能用英文字符。如下文献数据库中的标注。

转自 看一粒沙中的世界

 

之所以使用 BibTeX 的理由很简单:

  • 不用在参考文献的格式上殚精竭虑
  • 你为某一篇论文所建立的参考文献,也可直接用于其它论文
  • 非常高效,使用简单

BibTeX 的使用可分为以下步骤:

  1. 创建参考文献数据库:不要害怕,这里的数据库实际上就是一个扩展名为 .bib 的文本文件,在其中记录文献信息;
  2. 在 LaTeX 文稿中指定参考文献位置与样式;
  3. 使用 LaTeX 与 BibTeX 编译文稿。

下面是一份参考文献数据库 “蜀国文献.bib”,不过里面只有 3 篇文献:

                                   |---->划线部分只能用英文字符,比如换成 zhugeliang-book

  1. @book{诸葛亮:Book,  
  2. author          ="诸葛亮",
  3. year            ="2006",
  4. title           ="木牛流马制造工艺指南 [M]",
  5. publisher       ="蜀国科技出版社"
  6. };
  7.  
  8. @article{诸葛亮:Article,
  9. author  ="诸葛亮",
  10. title   ="论六出祁山的必要性与可行性 [J]",
  11. jounal  ="蜀国军事期刊",
  12. volume ="13",
  13. number ="110"
  14. year    ="2007"
  15. };
  16.  
  17. @article{刘备:摔小孩,
  18. author  ="刘备",
  19. title   ="论怎样教育小孩子 [J]",
  20. jounal  ="蜀国生活期刊",
  21. volume ="18",
  22. number ="120"
  23. year    ="2007"
  24. };

参考文献数据库中,可以存储许多种文献类别,比如:article, book, booklet, conference, inbook, incollection, inproceedings, manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished 等等。每种参考文献类别由多个域组成,有些是必须写得,没写会给出警告,而有些是可选。譬如 book 类别中,不可省略的域有 author, title, journal, year,可省略的域有 volume, number, pages, month, note。推荐做法是在参考文献数据库中尽可能提供文献的详细信息。

在 LaTeX 文稿中引用参考文献数据库中的文献条目很简单,对于上面的参考文献数据库示例,在 LaTeX 文稿 test.tex 中按下述方法引用:

\bibliographystyle 指令是用来指定参考文献排版样式的,LaTeX 已经预定了许多种参考文献排版样式,plain 是其中的一种。\bibliography 是用来引入参考文献数据库的,它会按照正文中所引用的参考文献,按次序排版于正文之后。这里要注意一个问题:即便你的参考文献数据库中有上千条文献,但正文中只引用了两篇,那么 \bibliographystyle 指令只会导入你所引用的文献,未引用的文献不会出现在论文中的。这种机制为我们提供了参考文献数据复用的功能。

正文中引用一篇参考文献,只需要指定参考文献数据库中相应参考文献条目的标识即可,譬如 \cite{诸葛亮:Book},通过标识 “诸葛亮:Book” 引用诸葛亮同学的专著《木牛流马制造工艺指南》。

对包含参考文献的 LaTeX 文稿采用如下方式编译:

  1. $ xelatex  test
  2. $ bibtex   test
  3. $ xelatex  test
  4. $ xelatex  test

至于为啥要重复使用 xelatex 对文稿进行编译,请看以下流程图:

 

 

本节示例最终排版效果,如下图所示。

点击查看原始尺寸

Posted by little lily Wed, 07 Apr 2010 17:58:04 +0800


[zz]linux chrome修改默认字体

 

一次过又解决字体问题

转自一方净土

 

今天在linux下面安装了google chrome浏览器,但是默认的显示字体看起来很小很模糊,不知道是不是19寸浏览器的问题(本本的系统还没有装),不过字体修改起来也方便,下面是我现在使用的字体,看起来比原来好多了:

     1.打开Chrome浏览器。选项->高级设置->(往下面拖一下)网页内容->更改字体和语言设置

     2.将Serif字体修改成 Sans 16,Sans-Serif字体修改成 Sans 16,宽度固定字体:修改成Monospace 13 ;

     这样网页的字体应该就好看多了。

Posted by little lily Sun, 04 Apr 2010 19:20:10 +0800


中文字体显示为方块解决方案

 

其实是历史遗留问题,纯粹是为了解决QQ农场的中文字体不能显示才搜索解决方案的。

Flash 中文字体显示为方块的解决办法 某些软件或网站(如QQ农场!)的中文字体会显示为方块,进行如下设置即可解决:

cd /etc/fonts/conf.d

sudo vi 49-sansserif.conf (管理员身份)

把倒数第 4 行的“sans-serif” 改为“sans serif”,保存后关闭文件,重新打开网站,即可正常显示。

ps.今晚装了chrome for linux,恩,用起来不错,不过字体有点不习惯,这也是历史遗留的linux系统下的字体问题,再看看有无解决办法,再者就是ie-tab for chrome linux还不ok,继续摸索~~

Posted by little lily Sun, 04 Apr 2010 19:05:19 +0800


Start with LaTex

 

感谢国家!

灰常感谢师兄提供的LaTex参考配置指南,昨晚开始配置,在等生成中文字体的时候好慢好慢,于是开着机去睡觉了。今天早上起来肯定是生成好了,还好不用联网的不会受限制。然后按照接下来的步骤,刷刷5分钟内就搞定了^_^

唔,自己之前找了那么多参考的安装配置都没有搞定,弱死了。

ok,现在搞定了排版的工具了,还有个那么好用的模板,程序也算是写完了,可以开始码字啦,加油加油,只有三个星期~~

Posted by little lily Sun, 28 Mar 2010 08:30:07 +0800


[zz]在Ubuntu下简易配置Tex UTF-8中文环境

 

写在前面:问到TigerSoldier师兄找到的相关参考Ubuntu下配置latex的中文环境,正在尝试,应该会ok的吧。之前自己配很多次都不成功>_<转载过来纯粹记录

转自画猫不成反类虎转自LDCN

在Ubuntu下配置使用Tex中文环境有好几种选择和相关方法,有些比较简单(比如直接用XeTeX),有些则相对麻烦一点(比如手动去生成相关字体)。

现在应用最广的一般是TexLive CJK,如果想尽量使你的Tex文档在Windows/Linux下互相通用,一般都选择这种组合,而且这也是目前最成熟的(相对于XeTeX)。

今天这篇文章中的方法,是利用目前已经成功的方法,再结合Ubuntu的特定环境所作的。希望能给想在Ubuntu下配置Tex中文环境的朋友一个参考。

—–

先介绍一下之前最流行的在Linux下配置Tex的方法,一般是参考这篇文章:

http://mailboxpublic.googlepages.com/texlive2007cjkchinesehowto

下载1GB左右的ISO档,挂载ISO并安装其中的TexLive,再自己生动生成相关字体文件。一般都能顺利的配置好Tex UTF-8的中文环境。

但是对于习惯了apt-get的用户,可能不愿意从外部安装Tex套件。因此,我参考了一些文章,琢磨出了这个利用Ubuntu源里的TexLive,再手动生成字体包的方法,优点是:

  • 不需要下载1GB的ISO档,只需要下载我准备的几百KB的字体生成要用的相关文件。
  • 只从Ubuntu源里安装相关Tex套件,不往系统目录写入其他文件,方便删除。
  • 仍需要手动生成字体文件,不过是安装在自己的主目录下。

好。请看详细方法:

一、安装TexLive Latex CJK:

打开终端,执行下述命令安装TexLive和常用的一些Latex宏包(可以根据自己的需要增改):

sudo apt-get install texlive texlive-math-extra texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-pictures texlive-science texlive-bibtex-extra texlive-common latex-beamer

如果硬盘充裕的话,直接完整安装也可以:

sudo apt-get install texlive-full latex-beamer

安装完后,就可以安装CJK的相关软件包了,如果只需要获得中文支持,那么执行:

sudo apt-get install latex-cjk-chinese ttf-arphic-* hbf-*

否则,建议安装latex-cjk-all以获取完整支持。

二、生成中文字体包

安装好TexLive CJK以后,还需要安装一个软件──fontforge用于生成字体:

sudo apt-get install fontforge

好了,前面所做的,都是标准的Debian式安装,假如哪天你不需要了,直接remove安装即可。

生成字体前,请自己准备你需要生成的字体文件:simsun.ttc,simhei.ttf等,这里以simsun.ttc(宋体)为例。

准备好后下载下面这个包,解压到一个地方,如自己的主目录~/font:

font.tar.bz2

然后把simsun.ttc也复制到~/font里去,执行下面的命令生成字体地图:

cd ~/font
time fontforge -script subfonts.pe simsun.ttc song Unicode.sfd

加time是为了计算时间,因为比较耗时,在我的Core 2 Duo T5500下,生成song花了40分钟,生成hei花了24分钟,仅供参考。

字体生成好了,再建立一个描述文件吧。

在~/font下,建立一个makemap文件,内容如下:

for i in *.tfm
do
cat >> song.map << EOF
${i%.tfm} ${i%.tfm} < ${i%.tfm}.pfb
EOF
done

然后在终端下执行:chmod x makemap让文件加上执行权限,最后执行:

./makemap

再建立一个一个c70song.fd文件:

% This is c70song.fd for CJK package.
% created by Edward G.J. Lee
% modify by Yue Wang
\ProvidesFile{c70song.fd}
\DeclareFontFamily{C70}{song}{\hyphenchar \font\m@ne}
\DeclareFontShape{C70}{song}{m}{n}{<-> CJK * song}{}
\DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * song}{\CJKbold}
\endinput

好的,相关文件都已生成,开始复制字体使其生效。

执行下面的命令,在你的主目录下生成隐藏的个人Tex配置,如果你哪天不需要了,也可以删除:

mkdir -p ~/.texmf-var/fonts/map/dvips/CJK
mkdir -p ~/.texmf-var/fonts/tfm/CJK/song
mkdir -p ~/.texmf-var/fonts/type1/CJK/song
mkdir -p ~/.texmf-var/tex/latex/CJK/UTF8

建立完这层层叠叠的目录以后,就把刚刚生成的字体复制进去吧。

cp ~/font/song.map ~/.texmf-var/fonts/map/dvips/CJK
cp ~/font/*.tfm ~/.texmf-var/fonts/tfm/CJK/song
cp ~/font/*.pfb ~/.texmf-var/fonts/type1/CJK/song
cp ~/font/c70song.fd ~/.texmf-var/tex/latex/CJK/UTF8

复制完后就执行命令刷新缓存,让它生效:

sudo texhash
updmap --enable Map song.map

假如一切顺序的话, 就测试一下我们安装的song体是否能用吧。

在任意位置编辑这个文件,然后保存为test.tex,支持UTF-8格式:

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{song}
你好!这里是Ubuntu下的TexLive CJK环境!
\end{CJK}
\end{document}

 

执行分别生成pdf文档和用evince来查看文档:

pdflatex test.tex
evince test.pdf

看看你的过程顺不顺利,生成的PDF档也是下面这样吗?

texlive.png

texlive-2.png

用同样的方法搞定hei和kai等常用中文标准字体,开始享受你的Tex吧!

参考资料是:

Fedora上配置Tex UTF-8 中文系统

TeXLive 2007 CJK Chinese Howto

ubuntu 7.10下搞定Latex CJK

Posted by little lily Sat, 27 Mar 2010 21:38:00 +0800