A framework for building composable proxy protocol stack.
(此命令会在当前目录下,生成一对配置文件:
A framework for building composable proxy protocol stack.
Features
- Cross-platform: running on Linux, Windows and macOS.
- Lightweight proxy interface for Socks5/Socks4/Socks4a and HTTP(S).
- Transmit data over raw TCP/UDP, real TLS or real WebSocket.
- A variety of customizable protocols and functional middlewares: using presets.
- External preset import.
- Easy and powerful Access Control(ACL) and Traffic Control(TC).
- Executable versions available: download here.
- Out of the box distribution and deployment.
- Support shadowsocks protocols.
- Support shadowsocksR protocols.
- Support v2ray vmess protocol.
- Experimental: dynamic protocol stack.
Getting Started
Requirements
blinksocks is built on top of Node.js, if you want to use it in an ordinary way or do some hacking, please install Node.js(v6.x and above) on your operating system.
Install or Upgrade
You can get the latest blinksocks via package manager yarn or npm.
NOTE: Node.js comes with npm installed so you don't have to install npm individually.
latest stable version
$ npm install -g blinksocks
development version
$ npm install -g git+https://github.com/blinksocks/blinksocks.git
$ npm install -g git+https://github.com/blinksocks/blinksocks.git#v2.5.5
Run blinksocks
npm version(require Node.js)
$ blinksocks -c blinksocks.client.json
executable version(Node.js, not GUI)
$ ./blinksocks --help // Linux and macOS
$ blinksocks.exe --help // Windows
You can download precompiled executables for different platforms and launch it directly without having Node.js installed.
For configuring blinksocks, please refer to Configuration.
GUI ready(out-of-date)
For desktop use, you can download official blinksocks-desktop, a cross-platform GUI for blinksocks.
Documents
For Users
For Developers
from https://github.com/blinksocks/blinksocks
---------
我的补充说明
首先登陆linux vps,安装nodejs环境:
wget https://nodejs.org/dist/v9.8.0/node-v9.8.0-linux-x64.tar.xz
tar Jxvf node-v9.8.0-linux-x64.tar.xz
cd node-v9.8.0-linux-x64
root@ar:~/node-v9.8.0-linux-x64# ls
CHANGELOG.md LICENSE README.md bin etc include lib share
root@ar:~/node-v9.8.0-linux-x64# cd bin
root@ar:~/node-v9.8.0-linux-x64/bin# ls
node npm npx
root@ar:~/node-v9.8.0-linux-x64/bin# echo 'export PATH=$PATH:/root/
node-v9.8.0-linux-x64/bin' >> /etc/profile && source /etc/profile
root@ar:~/node-v9.8.0-linux-x64/bin# cd ~
root@ar:~# npm install -g blinksocks
(这样blinksocks就安装完成了)
root@ar:~# blinksocks init
(此命令会在当前目录下,生成一对配置文件:
root@ar:~# blinksocks --config
其内容为:
[Unit]
Description=blinksocks
After=network.target
[Service]
ExecStart=/root/node-v9.8.0-linux-x64/bin/blinksocks --config /root/blinksocks.server.json
Restart=always
[Install]
WantedBy=multi-user.target
启动blinksocks:
systemctl daemon-reload
systemctl start blinksocks
这其实就是以daemon(service)方式启动blinksocks程序。
systemctl enable blinksocks
可以验证一下blinksocks是否在运行中:
---------
我的补充说明
首先登陆linux vps,安装nodejs环境:
wget https://nodejs.org/dist/v9.8.0/node-v9.8.0-linux-x64.tar.xz
tar Jxvf node-v9.8.0-linux-x64.tar.xz
cd node-v9.8.0-linux-x64
root@ar:~/node-v9.8.0-linux-x64# ls
CHANGELOG.md LICENSE README.md bin etc include lib share
root@ar:~/node-v9.8.0-linux-x64# cd bin
root@ar:~/node-v9.8.0-linux-x64/bin# ls
node npm npx
root@ar:~/node-v9.8.0-linux-x64/bin# echo 'export PATH=$PATH:/root/
node-v9.8.0-linux-x64/bin' >> /etc/profile && source /etc/profile
root@ar:~/node-v9.8.0-linux-x64/bin# cd ~
(这样,安装nodejs环境完成)root@ar:~#
ln -s /root/node-v9.8.0-linux-x64/bin/node /usr/bin/node
root@ar:~# npm install -g blinksocks
(这样blinksocks就安装完成了)
root@ar:~# blinksocks init
(此命令会在当前目录下,生成一对配置文件:
blinksocks.client.json
和blinksocks.server.json)
root@ar:~# blinksocks --config
blinksocks.server.json
会显示:
info: [hub] blinksocks server is running at tcp://0.0.0.0:63511
info: [hub] blinksocks udp server is running at udp://0.0.0.0:63511
不过,
blinksocks --config blinksocks.server.json是在前台运行的,我们可以利用systemd来把
blinksocks --config blinksocks.server.json运行为service:
nano /etc/systemd/system/blinksocks.service
其内容为:
[Unit]
Description=blinksocks
After=network.target
[Service]
ExecStart=/root/node-v9.8.0-linux-x64/bin/blinksocks --config /root/blinksocks.server.json
Restart=always
[Install]
WantedBy=multi-user.target
启动blinksocks:
systemctl daemon-reload
systemctl start blinksocks
这其实就是以daemon(service)方式启动blinksocks程序。
systemctl enable blinksocks
可以验证一下blinksocks是否在运行中:
root@ar:# ps aux|grep blinksocks
root 9511 15.0 3.0 1018788 32304 ? Ssl 09:20 0:00 node /root/node-v9.8.0-linux-x64/bin/blinksocks --config /root/blinksocks.server.json
root 9522 0.0 0.0 11072 816 pts/4 S+ 09:20 0:00 grep blinksocks
root@ar:#
root 9511 15.0 3.0 1018788 32304 ? Ssl 09:20 0:00 node /root/node-v9.8.0-linux-x64/bin/blinksocks --config /root/blinksocks.server.json
root 9522 0.0 0.0 11072 816 pts/4 S+ 09:20 0:00 grep blinksocks
root@ar:#
说明blinksocks是在运行中。
(因为
blinksocks是基于nodejs构建的程序,所以我们也可使用pm2来使得
此命令blinksocks --config blinksocks.server.json在后台运行:
先运行npm install -g pm2来
安装pm2。
然后,
pm2 start blinksocks -- -c /root/blinksocks.server.json
测试一下
blinksocks是否在后台运行
:
root@ar:~/node-v9.8.0-linux-x64# ps aux|grep blinksocks
root 9210 0.5 3.1 1021552 32520 ? Ssl 06:17 0:00 node /root/node-v9.8.0-linux-x64/bin/blinksocks
root 9237 0.0 0.0 11072 816 pts/7 S+ 06:19 0:00 grep blinksocks
root@ar:~/node-v9.8.0-linux-x64#
这表明
blinksocks是在后台运行。)
在本地机器mac上,下载https://nodejs.org/dist/v9.8.0/node-v9.8.0.pkg
双击该pkg文件,即可安装node环境。
然后npm install -g blinksocks
然后
blinksocks init
(此命令会在当前目录下,生成一对配置文件:
blinksocks.client.json
和blinksocks.server.json)
nano
blinksocks.client.json
(把第2行的service的值改为socks5://127.0.0.1:2080
把第4行的service的值改为tcp://your_vps_ip:server_port
把第5行的key的值改为服务器上的配置文件
blinksocks.server.json的第3行的key的值。)
blinksocks --config
blinksocks.client.json
保持终端不要关闭。然后设置本地机器的浏览器的socks5代理服务器为127.0.0.1:2080 ,浏览器即可翻墙。
项目地址:https://github.com/blinksocks/blinksocks
https://github.com/blinksocks/blinksocks/issues/102
如果使用systemd来把blinksocks --config blinksocks.server.json运行为service失败,我们可以利用https://briteming.blogspot.com/2016/08/daemonize-daemon.html里面所说的daemonize来把命令运行为daemon。
No comments:
Post a Comment