2016-12-09 14:54:58 +00:00
# blinksocks
2016-12-10 07:33:30 +00:00
[![version ](https://img.shields.io/npm/v/blinksocks.svg )](https://www.npmjs.com/package/blinksocks)
[![downloads ](https://img.shields.io/npm/dt/blinksocks.svg )](https://www.npmjs.com/package/blinksocks)
2017-02-26 13:43:03 +00:00
[![license ](https://img.shields.io/npm/l/blinksocks.svg )](https://github.com/blinksocks/blinksocks/blob/master/LICENSE)
[![dependencies ](https://img.shields.io/david/blinksocks/blinksocks.svg )](https://www.npmjs.com/package/blinksocks)
[![devDependencies ](https://img.shields.io/david/dev/blinksocks/blinksocks.svg )](https://www.npmjs.com/package/blinksocks)
2016-12-10 06:09:58 +00:00
2017-02-26 13:43:03 +00:00
[![Travis ](https://img.shields.io/travis/blinksocks/blinksocks.svg )](https://travis-ci.org/blinksocks/blinksocks)
[![Coverage ](https://img.shields.io/codecov/c/github/blinksocks/blinksocks/master.svg )](https://codecov.io/gh/blinksocks/blinksocks)
[![%e2%9d%a4 ](https://img.shields.io/badge/made%20with-%e2%9d%a4-ff69b4.svg )](https://github.com/blinksocks/blinksocks)
2016-12-09 14:54:58 +00:00
2017-08-09 06:55:13 +00:00
A framework for building composable proxy protocol stack.
2016-12-09 14:54:58 +00:00
2017-08-22 02:54:50 +00:00
![](docs/blinksocks.png)
2016-12-14 13:53:59 +00:00
## Features
2017-08-22 02:54:50 +00:00
* Simple proxy interface for Socks5/Socks4/Socks4a and HTTP.
* Cross-platform: running on Linux, Windows and macOS.
* Transmit over TCP or [TLS ](docs/config ).
* Customizable protocols and middlewares: using [Presets ](docs/presets ).
* Customizable relay behaviours: using [Behaviours ](docs/behaviours ).
* Portable/Executable versions available. [Download Here ](https://github.com/blinksocks/blinksocks/releases )
* Partially compatible with **shadowsocks** . [#27 ](https://github.com/blinksocks/blinksocks/issues/27 )
2016-12-09 14:54:58 +00:00
2017-06-06 13:10:57 +00:00
## GUI ready
For desktop use, you can download official [blinksocks-desktop ](https://github.com/blinksocks/blinksocks-desktop ),
a cross-platform GUI for blinksocks.
2017-08-08 06:50:14 +00:00
## Getting Started
### Requirements
2017-08-09 06:55:13 +00:00
blinksocks is built on top of [Node.js ](https://nodejs.org ), 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.
2017-08-08 06:50:14 +00:00
### Install or Upgrade
2017-08-09 06:55:13 +00:00
You can get the latest blinksocks via package manager **yarn** or **npm** .
2017-08-08 06:50:14 +00:00
> NOTE: Node.js comes with npm installed so you don't have to install npm individually.
2017-08-13 09:20:18 +00:00
**stable version**
2017-08-08 06:50:14 +00:00
```
$ npm install -g blinksocks
```
2017-08-13 09:20:18 +00:00
**unstable version**
```
$ npm install -g blinksocks@next
```
2017-08-09 06:55:13 +00:00
### Without yarn or npm?
2017-08-08 06:50:14 +00:00
2017-08-13 09:20:18 +00:00
If you hate to install and want to get a even more portable version, we have all in one script:
**the latest build(maybe unstable)**
2017-08-08 06:50:14 +00:00
```
$ wget https://raw.githubusercontent.com/blinksocks/blinksocks/master/build/blinksocks.js
```
2017-08-13 09:20:18 +00:00
**previous build(with tag in url, stable)**
```
$ wget https://raw.githubusercontent.com/blinksocks/blinksocks/v2.5.1/build/blinksocks.js
```
2017-08-08 06:50:14 +00:00
## Run blinksocks
2017-04-13 09:10:25 +00:00
2017-08-13 09:20:18 +00:00
**npm version(require Node.js)**
2017-08-08 07:17:40 +00:00
2017-04-13 09:10:25 +00:00
```
2017-08-10 01:13:22 +00:00
$ blinksocks -c blinksocks.client.json
2017-04-13 09:10:25 +00:00
```
2017-08-09 06:55:13 +00:00
**portable version(require Node.js)**
2017-08-08 06:50:14 +00:00
```
2017-08-08 07:17:40 +00:00
$ node blinksocks.js -c blinksocks.client.json
2017-04-13 09:10:25 +00:00
```
2017-08-13 09:20:18 +00:00
**executable version(~~Node.js~~, not GUI)**
2017-08-09 06:55:13 +00:00
```
$ ./blinksocks(.exe) --help
```
2017-08-13 09:20:18 +00:00
You can [download ](https://github.com/blinksocks/blinksocks/releases ) precompiled executables for different platforms and launch it directly without having Node.js installed.
> For configuring blinksocks, please refer to [Configuration](docs/config).
2017-08-08 07:17:40 +00:00
2017-03-24 09:09:37 +00:00
## Documents
2016-12-09 14:54:58 +00:00
2017-04-22 13:49:06 +00:00
### For Users
2017-08-08 06:50:14 +00:00
1. [Usage ](docs/usage )
2. [Configuration ](docs/config )
3. [Presets ](docs/presets )
2017-08-20 09:13:57 +00:00
4. [Behaviours ](docs/behaviours )
2017-04-22 13:49:06 +00:00
### For Developers
2017-06-16 01:34:39 +00:00
1. [Steps ](docs/development/steps )
2017-04-22 13:49:06 +00:00
2. [Principle ](docs/development/principle )
3. [Architecture ](docs/development/architecture )
2017-08-13 09:20:18 +00:00
4. [Benchmark ](docs/benchmark )
2017-03-15 12:40:03 +00:00
2017-03-24 09:09:37 +00:00
## Contributors
See [authors ](AUTHORS ).
2016-12-09 14:54:58 +00:00
## License
Apache License 2.0