{"id":5646,"date":"2014-07-07T09:07:38","date_gmt":"2014-07-07T01:07:38","guid":{"rendered":"https:\/\/kyle.ai\/blog\/?p=5646"},"modified":"2014-07-07T09:07:38","modified_gmt":"2014-07-07T01:07:38","slug":"%e5%88%a9%e7%94%a8shadowsocks%e5%81%9asocket%e4%bb%a3%e7%90%86","status":"publish","type":"post","link":"https:\/\/kyle.ai\/blog\/5646.html","title":{"rendered":"\u5229\u7528shadowsocks\u505asocket\u4ee3\u7406"},"content":{"rendered":"<p>\u9879\u76ee\u5730\u5740 \uff1a<\/p>\n<p>https:\/\/github.com\/clowwindy\/shadowsocks<\/p>\n<p>\u5b89\u88c5\u65b9\u6cd5\uff1a <\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt-get install python-pip python-m2crypto supervisor\r\npip install shadowsocks\r\n<\/pre>\n<p>\u914d\u7f6e\u6587\u4ef6 \uff1a<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n{\r\n    &quot;server&quot;:&quot;my ip&quot;,\r\n    &quot;server_port&quot;:8388,\r\n    &quot;local_port&quot;:1080,\r\n    &quot;password&quot;:&quot;my password&quot;,\r\n    &quot;timeout&quot;:600,\r\n    &quot;method&quot;:&quot;aes-256-cfb&quot;\r\n}\r\n<\/pre>\n<p>\u4fdd\u5b58\u5230 \/etc\/shadowsocks.json\uff0cserver \u4e0e client \u5171\u7528\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6 \u3002<\/p>\n<p>\u7136\u540e \u5728server\u7aef\u542f\u52a8\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nssserver -c \/etc\/shadowsocks.json\r\n<\/pre>\n<p>\u5ba2\u6237\u7aef\u542f\u52a8\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsslocal -c \/etc\/shadowsocks.json\r\n<\/pre>\n<p>\u914d\u7f6esupervisor\u6765\u7ba1\u7406\u8fdb\u7a0b\uff1a<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\/etc\/supervisor\/conf.d\/shadowsocks.conf\r\n\r\n&#x5B;program:shadowsocks]\r\ncommand=ssserver -c \/etc\/shadowsocks.json\r\nautorestart=true\r\nuser=nobody\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u9879\u76ee\u5730\u5740 \uff1a https:\/\/github.com\/clowwindy\/shadowsocks \u5b89\u88c5\u65b9\u6cd5\uff1a a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-5646","post","type-post","status-publish","format-standard","hentry","category-skill"],"_links":{"self":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5646","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/comments?post=5646"}],"version-history":[{"count":1,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5646\/revisions"}],"predecessor-version":[{"id":5647,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/posts\/5646\/revisions\/5647"}],"wp:attachment":[{"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/media?parent=5646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/categories?post=5646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kyle.ai\/blog\/wp-json\/wp\/v2\/tags?post=5646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}