Total Pageviews

Sunday 7 February 2016

shadowsocks的php版:shadowsocks-php

A php port of shadowsocks based on Workerman

配置:
Applications/Shadowsocks/config.php
运行:
php start.php start -d
停止:
php start.php stop
查看状态:
php start.php status

说明:
本应用基于workerman框架开发,workerman更多信息参见 http://www.workerman.net ,
http://www.workerman.net/download/workerman,
https://github.com/walkor/workerman

from https://github.com/walkor/shadowsocks-php
-----------

我的补充-shadowsocks-php的搭建

首先在你的vps上安装php环境:
apt-get install php5 php5-gd php5-mysql php5-mcrypt php5-cli (for debian/ubuntu,这里把php5-mysql 包括进去是为了方便以后装mysql)

yum install php php-gd php-mysql php-mcrypt php-cli (for centos/fedora,这里把php-mysql 包括进去是为了方便以后装mysql)

然后安装composer:
curl http://getcomposer.org/installer | php (此命令会下载composer.phar到当前目录下)
显示:
...
Downloading...
Composer successfully installed to: /root/composer.phar
Use it: php composer.phar

cp composer.phar /usr/local/bin/composer
这样, composer就装好了。

然后, 
sudo composer.phar require workerman/workerman
显示如下:
root@AR:~# sudo composer.phar require workerman/workerman
Running composer as root/super user is highly discouraged as packages, plugins and scripts cannot always be trusted
Using version ^3.3 for workerman/workerman
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing workerman/workerman (v3.2.8)
  - Installing workerman/workerman (v3.3.1)
    Downloading: 100%        

Writing lock file
Generating autoload files
root@AR:~#

这样,workerman就装好了。

然后,
git clone https://github.com/walkor/shadowsocks-php
cd shadowsocks-php
root@AR:~/shadowsocks-php# ls
Applications README.md start.php  
MIT-LICENSE.txt  Workerman

root@AR:~/shadowsocks-php# nano Applications/Shadowsocks/config.php
root@AR:~/shadowsocks-php# cat Applications/Shadowsocks/config.php
<?php 
// 服务器地址
$SERVER = '你的vps的ip';
// 加密算法
$METHOD = 'aes-256-cfb';
// 密码
$PASSWORD = '你设置的密码';
// 服务器端口
$PORT = 你指定的服务器端口号;
// 客户端端口
$LOCAL_PORT = 1080;
// 启动多少进程
$PROCESS_COUNT = 10;
root@AR:~/shadowsocks-php# mv start.php start.php.bak
root@AR:~/shadowsocks-php# cd Applications/Shadowsocks/
oot@ar:~/shadowsocks-php/Applications/Shadowsocks# ls
Encryptor.php  config.php  local.php  server.php  start.php

root@ar:~/shadowsocks-php/Applications/Shadowsocks# php start.php start -d
(此为启动shadowsocks-php的命令,需按enter键2次.但是这样做,相应的php进程还是容易退出。所以建议用systemd来把php start.php start运行为service:
nano /etc/systemd/system/ss-php.service
内容为:
[Unit]
After=network.target
[Service]
WorkingDirectory=/root/shadowsocks-php/Applications/Shadowsocks
ExecStart=/usr/bin/php start.php start
Restart=always
[Install]
WantedBy=multi-user.target
然后运行:
systemctl daemon-reload
systemctl restart ss-php
systemctl enable ss-php
服务器端就搭建好了。

至于客户端,通用各平台下的shadowsocks客户端。
可能是设置了10个进程的缘故,用shadowsocks-php翻墙的速度挺快的。
---------------------------------

shadowsocks的php版的另一个程序:shadowrocket.
登陆linux vps.
composer require ycgambo/shadowrocket
git clone https://github.com/ycgambo/shadowrocket
cd shadowrocket
composer install

然后,把下面的代码保存为start.php,保存在当前目录shadowrocket的里面:
<?php
require_once __DIR__ . '/vendor/autoload.php';

$config = array(
    'server' => array(
        'port'        => '7388',
        'password'    => 'my-password',
        'encryption'  => 'aes-256-cfb',
        'process_num' => 12,
    ),
);

ShadowRocket\Bin\Launcher::launch($config);
 
然后运行:
php start.php start -d 
这样,服务器端就搭建完成。 
但是这样做,相应的php进程还是容易退出。所以建议用systemd来把php start.php start运行为service:
nano /etc/systemd/system/shadowrocket.service
内容为:
[Unit]
After=network.target
[Service]
WorkingDirectory=/root/shadowrocket
ExecStart=/usr/bin/php start.php start
Restart=always
[Install]
WantedBy=multi-user.target

然后运行:
systemctl daemon-reload
systemctl restart shadowrocket
systemctl enable shadowrocket
服务器端就搭建好了。

至于客户端,通用各平台下的shadowsocks客户端。
shadowrocket其实是shadowsocks-php的修改版。
from https://github.com/ycgambo/shadowrocket