Go to file
2017-08-04 15:03:02 +08:00
bin bin: remove blank lines of cli-init.js 2017-08-02 16:15:10 +08:00
deploy chore(core): minor fix 2017-04-16 17:38:57 +08:00
docs docs: update config and architecture 2017-08-02 16:20:30 +08:00
lib lib: update 2017-08-04 14:51:09 +08:00
src core: hub and socket are now extends EventEmitter 2017-08-02 16:19:53 +08:00
.babelrc chore(lib): compile to higher node version 2017-04-14 10:29:48 +08:00
.dockerignore feat(deploy): add Docker stuff 2016-12-31 23:03:46 +08:00
.eslintrc chore(eslint): turn off no-undef and max-len check rules 2017-02-20 22:58:43 +08:00
.gitignore chore(.gitignore): ignore blinksocks*.js 2017-04-16 17:35:53 +08:00
.smooth-releaserc chore(release): deprecate "github_changelog_generator", integrate "smooth-release" 2017-05-24 12:50:29 +08:00
.travis.yml test(ci): use node_js v6.10.2 2017-04-13 16:01:18 +08:00
AUTHORS chore(): add AUTHORS and CHANGELOG.md 2017-03-18 15:54:16 +08:00
CHANGELOG.md 2.4.9 2017-08-04 15:03:02 +08:00
LICENSE chore(License): update copyright to 2017 2017-01-02 23:14:59 +08:00
package.json 2.4.9 2017-08-04 15:03:02 +08:00
README.md readme: update 2017-07-30 17:19:45 +08:00
yarn.lock package: update deps 2017-07-30 11:15:46 +08:00

blinksocks

version downloads license dependencies devDependencies

Travis Coverage %e2%9d%a4

A framework for building composable proxy protocol stack. Inspired by Shadowsocks, and ShadowsocksR.

Features

  • HTTP/Socks5/Socks4/Socks4a using the same port
  • Customizable Protocols(presets): simple, composable, and flexible
  • Cross-platform: running on Linux based, Windows and macOS
  • Partially compatible with shadowsocks #27
  • Dynamic server switch

GUI ready

For desktop use, you can download official blinksocks-desktop, a cross-platform GUI for blinksocks.

Quick Start

$ blinksocks client -c blinksocks.client.js
// blinksocks.client.js
module.exports = {
  host: "localhost",
  port: 1080,
  servers: [{
    enabled: true,
    transport: 'tcp',
    host: "bs.example.com",
    port: 6858,
    key: "qtPb2edK7yd7e]<K",
    presets: [
      {name: "ss-base", params: {}},
      {name: "ss-aead-cipher", params: {method: "aes-256-gcm", info: "ss-subkey"}}
    ]
  }],
  dns: ['8.8.8.8'],
  timeout: 600,
  profile: false,
  watch: true,
  log_level: "info"
};

Documents

For Users

  1. Getting Started
  2. Usage
  3. Configuration
  4. Presets

For Developers

  1. Steps
  2. Principle
  3. Architecture
  4. Performance (outdated)

Contributors

See authors.

License

Apache License 2.0