{"id":1956,"date":"2013-12-26T17:10:11","date_gmt":"2013-12-26T09:10:11","guid":{"rendered":"http:\/\/www.huzs.top\/?p=1956"},"modified":"2014-02-02T15:01:26","modified_gmt":"2014-02-02T07:01:26","slug":"centos-%e4%b8%8b%e5%ae%89%e8%a3%85-shadowsocks-%e6%9c%8d%e5%8a%a1%e7%ab%af%e5%92%8c%e5%90%84%e5%b9%b3%e5%8f%b0%e5%ae%a2%e6%88%b7%e7%ab%af","status":"publish","type":"post","link":"https:\/\/www.huzs.top\/?p=1956","title":{"rendered":"CentOS \u4e0b\u5b89\u88c5 shadowsocks \u670d\u52a1\u7aef\u548c\u5404\u5e73\u53f0\u5ba2\u6237\u7aef"},"content":{"rendered":"<p><strong>=======================shadowsocks-python\u7248(\u63a8\u8350)===========================<\/strong><br \/>\u4e00\u952e\u5b89\u88c5<\/p>\n<pre>wget http:\/\/www.huzs.top\/soft\/shadowsocks-python\/shadowsocks-python.sh;sh shadowsocks-python.sh<\/pre>\n<p>\u5b89\u88c5\u7f16\u8bd1\u5de5\u5177<\/p>\n<pre>yum install bzip2-devel gcc gcc++ -y<\/pre>\n<p>\u5b89\u88c5Python 2.7.6<\/p>\n<pre>cd \/opt<br>wget http:\/\/www.python.org\/ftp\/python\/2.7.6\/Python-2.7.6.tgz<br>gunzip Python-2.7.6.tgz<br>tar xvf Python-2.7.6.tar<br>cd Python-2.7.6<br>.\/configure && make && make install<\/pre>\n<p>\u65b0\u5efa\u914d\u7f6e\u6587\u4ef6<\/p>\n<pre>vim ~\/config.json<\/pre>\n<p>\u5185\u5bb9\u4e3a\uff1a<\/p>\n<pre>{<br>    \"server\":\"0.0.0.0\",<br>    \"server_port\":18087,<br>    \"local_port\":1080,<br>    \"password\":\"scon.me\",<br>    \"timeout\":600,<br>    \"method\":\"table\"<br>}<\/pre>\n<p>\u5b89\u88c5shadowsocks<\/p>\n<pre>cd \/opt\/<br>wget http:\/\/www.huzs.top\/soft\/shadowsocks-python\/shadowsocks-1.3.3.tar.gz<br>tar xvf shadowsocks-1.3.3.tar.gz<\/pre>\n<p>\u65b0\u5efa\u542f\u52a8\u811a\u672c<\/p>\n<pre>vim \/opt\/shadowsocks-1.3.3\/check.sh<\/pre>\n<p>\u5185\u5bb9\u4e3a\uff1a<\/p>\n<pre>#!\/bin\/bash<br>if<br>ps -ef|grep \"python2.7\"|grep -v \"grep\"<br>then<br>echo \"Running!\"<br>else<br>echo \"Stopped!\"<br>nohup \/usr\/local\/bin\/python2.7 \/opt\/shadowsocks-1.3.3\/shadowsocks\/server.py > log &<br>fi<\/pre>\n<p>\u6dfb\u52a0\u6267\u884c\u6743\u9650\u5e76\u653e\u5165\u8ba1\u5212\u4efb\u52a1\uff1a<\/p>\n<pre>chmod +x \/opt\/shadowsocks-1.3.3\/check.sh<br>echo \"*\/5 * * * * \/opt\/shadowsocks-1.3.3\/check.sh\">>\/var\/spool\/cron\/root<\/pre>\n<p>\u67e5\u770b\u8ba1\u5212\u4efb\u52a1\u662f\u5426\u6dfb\u52a0\u6210\u529f<\/p>\n<pre>crontab -l<\/pre>\n<p>\u7acb\u5373\u6267\u884c\u811a\u672c<\/p>\n<pre>sh \/opt\/shadowsocks-1.3.3\/check.sh<\/pre>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\u4ee5\u4e0b\u53ef\u9009&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br \/>\u67e5\u770bpython\u7248\u672c<\/p>\n<pre>python -V<\/pre>\n<p>mv \/usr\/bin\/python \/usr\/bin\/python2.4.3<br \/>ln -s \/usr\/local\/bin\/python2.7 \/usr\/bin\/python<\/p>\n<p>\u89e3\u51b3\u7cfb\u7edf Python \u8f6f\u94fe\u63a5\u6307\u5411 Python2.7 \u7248\u672c\u540e\uff0c\u56e0\u4e3ayum\u662f\u4e0d\u517c\u5bb9 Python 2.7\u7684\uff0c\u6240\u4ee5yum\u4e0d\u80fd\u6b63\u5e38\u5de5\u4f5c\uff0c\u6211\u4eec\u9700\u8981\u6307\u5b9a yum \u7684Python\u7248\u672c<\/p>\n<pre>vi \/usr\/bin\/yum<\/pre>\n<p>\u5c06\u6587\u4ef6\u5934\u90e8\u7684<br \/>#!\/usr\/bin\/python<br \/>\u6539\u6210<br \/>#!\/usr\/bin\/python2.4.3<br \/>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\u63d0\u793a\uff1abash: pip: command not found<br \/>\u5b89\u88c5PIP\u5305\u7ba1\u7406\u5de5\u5177<\/p>\n<pre>curl -O http:\/\/python-distribute.org\/distribute_setup.py<br>python distribute_setup.py<br>curl -O https:\/\/raw.github.com\/pypa\/pip\/master\/contrib\/get-pip.py<br>python get-pip.py<\/pre>\n<p>\u5728\u5b89\u88c5node.js\u65f6\u63d0\u793aImportError: No module named bz2\u3002\u8fd9\u4e2apython\u4e2d\u6ca1\u6709\u88c5bz2\u7684\u5e93\u5bfc\u81f4\u7684\u3002<br \/>\u89e3\u51b3\u65b9\u6cd5\uff1a<\/p>\n<pre>yum install bzip2-devel<\/pre>\n<p>\u7136\u540e\u9700\u8981\u91cd\u65b0\u7f16\u8bd1\u4e00\u4e0bpython\uff0c\u4e4b\u540e\u518dimport bz2\u5c31\u4e0d\u4f1a\u63d0\u793a\u9519\u8bef\u4e86\u3002<\/p>\n<p><strong>=======================shadowsocks-libuv\u7248=======================<\/strong><\/p>\n<p><strong>1\u3001\u5b89\u88c5GIT<\/strong><br \/>\u67e5\u770b\u7cfb\u7edf\u662f5.x\u8fd8\u662f6.x<\/p>\n<pre>cat \/etc\/issue<\/pre>\n<p><strong>CentOS 5.x\u7684\u65b9\u6cd5\uff1a<\/strong><br \/>\u5b89\u88c5\u6240\u9700\u7684\u5de5\u5177\u548c\u4f9d\u8d56\u5305<\/p>\n<pre>yum install gcc automake autoconf libtool make -y<br>yum install curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel -y<\/pre>\n<p>\u4e0b\u8f7d\u6700\u65b0\u7684GIT\u5b89\u88c5\u5305\u5e76\u5b89\u88c5<\/p>\n<pre>cd \/opt<br>wget http:\/\/www.codemonkey.org.uk\/projects\/git-snapshots\/git\/git-latest.tar.gz<br>tar xvf git-latest.tar.gz<br>cd git-201x-xx-xx #\u4f60\u7684\u76ee\u5f55\u53ef\u80fd\u4e0d\u662f\u8fd9\u4e2a \u53ef\u4ee5 ls \u67e5\u770b<br>autoconf<br>.\/configure<br>make && make install<br>git --version   #\u67e5\u770b\u662f\u5426\u663e\u793a\u7248\u672c\u53f7\uff0c\u663e\u793a\u5c31\u5b89\u88c5\u6b63\u786e\u4e86\u3002<\/pre>\n<p><strong>CentOS 6.x\u7684\u65b9\u6cd5\uff1a<\/strong><\/p>\n<pre>yum install git openssl-devel -y<br>git --version   #\u67e5\u770b\u662f\u5426\u663e\u793a\u7248\u672c\u53f7\uff0c\u663e\u793a\u5c31\u5b89\u88c5\u6b63\u786e\u4e86\u3002<\/pre>\n<p><strong>2\u3001\u5b89\u88c5 shadowsocks-libuv<!--more--><\/strong><\/p>\n<pre>cd \/opt<br>git clone --recursive https:\/\/github.com\/dndx\/shadowsocks-libuv.git<br>cd shadowsocks-libuv\/<\/pre>\n<p>\u8bbe\u7f6e\u670d\u52a1\u7aef\u53e3\u53f7\u548c\u5bc6\u7801<\/p>\n<pre>sed -i 's\/#define SERVER_PORT 8888\/#define SERVER_PORT 18087\/g' config.h<br>sed -i 's\/#define PASSWORD \"foobar!\"\/#define PASSWORD \"scon.me\"\/g' config.h<\/pre>\n<p><\/p>\n<pre>make<br>nohup \/opt\/shadowsocks-libuv\/server > \/dev\/null 2>&1 &<br>echo \"nohup \/opt\/shadowsocks-libuv\/server > \/dev\/null 2>&1 &\" >> \/etc\/rc.d\/rc.local<br>iptables -I INPUT -p tcp -m tcp --dport 18087 -j ACCEPT   #\u52a0\u5165\u89c4\u5219<br>service iptables save  #\u4fdd\u5b58<br>iptables -L -n  #\u67e5\u770b\u7684iptables\u89c4\u5219<\/pre>\n<p>\u5982\u679cshadowsocks\u8fdb\u7a0b\u7ecf\u5e38\u81ea\u52a8\u9000\u51fa\uff0c\u53ef\u4ee5\u8bd5\u4e00\u4e0b\u4e0b\u9762\u8fd9\u4e2a\u811a\u672c\uff1a<\/p>\n<pre>#!\/bin\/bash<br>if<br>ps -ef|grep \"shadowsocks on\"|grep -v \"grep\"<br>then<br>echo \"Running!\"<br>else<br>echo \"Stopped!\"<br>nohup \/opt\/shadowsocks-libuv\/server > \/dev\/null 2>&1 &<br>fi<\/pre>\n<p>\u4fdd\u5b58\u4e3a \/opt\/shadowsocks-libuv\/check.sh \u5206\u522b\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4<\/p>\n<pre>chmod +x \/opt\/shadowsocks-libuv\/check.sh<br>crontab -e<br>*\/5 * * * * \/opt\/shadowsocks-libuv\/chech.sh<\/pre>\n<p>\u8fd9\u6837\u5c31\u662f 5 \u5206\u949f\u6267\u884c\u4e00\u6b21\u76d1\u63a7\u811a\u672c\uff0c\u5982\u679c\u53d1\u73b0 shadowsocks \u7684\u670d\u52a1\u4e0d\u5728\u8fd0\u884c\u5c31\u542f\u52a8\u670d\u52a1\u3002<\/p>\n<p>3\u3001\u5b89\u88c5\u5ba2\u6237\u7aef<br \/>shadowsocksgui<br \/>\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\uff1ahttp:\/\/sourceforge.net\/projects\/shadowsocksgui\/files\/dist\/<br \/>\u5982\u56fe\u82b1\u5708\u90a3\u51e0\u4e2a\u5730\u65b9\u586b\u6210\u4f60\u7684\u4fe1\u606f\u5373\u53ef\u3002<br \/><a href=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2013\/12\/20131226170803.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1957\" alt=\"20131226170803\" src=\"http:\/\/www.huzs.top\/wp-content\/uploads\/2013\/12\/20131226170803.png\" width=\"512\" height=\"475\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>=======================shadowsocks-python\u7248(\u63a8\u8350)========= [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1956","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1956"}],"version-history":[{"count":13,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1956\/revisions"}],"predecessor-version":[{"id":2041,"href":"https:\/\/www.huzs.top\/index.php?rest_route=\/wp\/v2\/posts\/1956\/revisions\/2041"}],"wp:attachment":[{"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.huzs.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}