package,docs: drop executable support
This commit is contained in:
parent
dcb90b0393
commit
3024cccf5a
11
README.md
11
README.md
@ -51,21 +51,10 @@ Please check out [blinksocks-nightly-releases](https://github.com/blinksocks/bli
|
|||||||
|
|
||||||
## Run blinksocks
|
## Run blinksocks
|
||||||
|
|
||||||
**npm version(require Node.js, recommended)**
|
|
||||||
|
|
||||||
```
|
```
|
||||||
$ blinksocks --help
|
$ blinksocks --help
|
||||||
```
|
```
|
||||||
|
|
||||||
**executable version(~~Node.js~~, not GUI)**
|
|
||||||
|
|
||||||
Tips: You can [download](https://github.com/blinksocks/blinksocks/releases) precompiled executables for different platforms and launch it directly without having Node.js installed.
|
|
||||||
|
|
||||||
```
|
|
||||||
$ ./blinksocks --help // Linux and macOS
|
|
||||||
$ blinksocks.exe --help // Windows
|
|
||||||
```
|
|
||||||
|
|
||||||
For configuring blinksocks, please refer to [Configuration](docs/config).
|
For configuring blinksocks, please refer to [Configuration](docs/config).
|
||||||
|
|
||||||
## Documents
|
## Documents
|
||||||
|
@ -65,13 +65,3 @@ After compile, we can change version in `package.json` then publish a package to
|
|||||||
```
|
```
|
||||||
$ npm publish
|
$ npm publish
|
||||||
```
|
```
|
||||||
|
|
||||||
## Package
|
|
||||||
|
|
||||||
For users don't have Node.js installed, we use [zeit/pkg](https://github.com/zeit/pkg) to prepare compiled executables:
|
|
||||||
|
|
||||||
```
|
|
||||||
$ npm run pkg
|
|
||||||
```
|
|
||||||
|
|
||||||
This will generate compressed executables for different platforms named `blinksocks-{platform}-${arch}-${version}.gz`. And can be distribute to target platform at once.
|
|
||||||
|
@ -117,25 +117,6 @@ WantedBy=multi-user.target
|
|||||||
# journalctl -u blinksocks.service
|
# journalctl -u blinksocks.service
|
||||||
```
|
```
|
||||||
|
|
||||||
### Using executables
|
|
||||||
|
|
||||||
```
|
|
||||||
// download archive from releases page
|
|
||||||
$ wget https://github.com/blinksocks/blinksocks/releases/download/v2.5.3/blinksocks-linux-x64-v2.5.3.gz
|
|
||||||
|
|
||||||
// you'd better check sha256sum listed in sha256sum.txt
|
|
||||||
$ wget https://github.com/blinksocks/blinksocks/releases/download/v2.5.3/sha256sum.txt
|
|
||||||
|
|
||||||
// decompress
|
|
||||||
$ gunzip blinksocks-linux-x64-v2.5.3.gz
|
|
||||||
|
|
||||||
// grant executable permission
|
|
||||||
$ chmod +x blinksocks-linux-x64-v2.5.3
|
|
||||||
|
|
||||||
// run directly
|
|
||||||
$ ./blinksocks-linux-x64-v2.5.3 --help
|
|
||||||
```
|
|
||||||
|
|
||||||
## Work with browsers
|
## Work with browsers
|
||||||
|
|
||||||
Most of the time, you are surfing the Internet via web browsers such as Firefox or Google Chrome.
|
Most of the time, you are surfing the Internet via web browsers such as Firefox or Google Chrome.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
exports.presets = undefined;
|
exports.builtInPresetMap = undefined;
|
||||||
exports.getPresetClassByName = getPresetClassByName;
|
exports.getPresetClassByName = getPresetClassByName;
|
||||||
|
|
||||||
var _mux = require('./_mux');
|
var _mux = require('./_mux');
|
||||||
@ -64,7 +64,20 @@ var _aeadRandomCipher2 = _interopRequireDefault(_aeadRandomCipher);
|
|||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
const presetMap = {
|
function checkPresetClass(clazz) {
|
||||||
|
if (typeof clazz !== 'function') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const requiredMethods = ['onDestroy', 'onInit', 'beforeOut', 'beforeIn', 'clientOut', 'serverIn', 'serverOut', 'clientIn', 'beforeOutUdp', 'beforeInUdp', 'clientOutUdp', 'serverInUdp', 'serverOutUdp', 'clientInUdp'];
|
||||||
|
if (requiredMethods.some(method => typeof clazz.prototype[method] !== 'function')) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const requiredStaticMethods = ['onCheckParams', 'onCache'];
|
||||||
|
return !requiredStaticMethods.some(method => typeof clazz[method] !== 'function');
|
||||||
|
}
|
||||||
|
|
||||||
|
const builtInPresetMap = exports.builtInPresetMap = {
|
||||||
'mux': _mux2.default,
|
'mux': _mux2.default,
|
||||||
|
|
||||||
'base-auth': _baseAuth2.default,
|
'base-auth': _baseAuth2.default,
|
||||||
@ -87,24 +100,8 @@ const presetMap = {
|
|||||||
'aead-random-cipher': _aeadRandomCipher2.default
|
'aead-random-cipher': _aeadRandomCipher2.default
|
||||||
};
|
};
|
||||||
|
|
||||||
function checkPresetClass(clazz) {
|
|
||||||
if (typeof clazz !== 'function') {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const requiredMethods = ['onDestroy', 'onInit', 'beforeOut', 'beforeIn', 'clientOut', 'serverIn', 'serverOut', 'clientIn', 'beforeOutUdp', 'beforeInUdp', 'clientOutUdp', 'serverInUdp', 'serverOutUdp', 'clientInUdp'];
|
|
||||||
if (requiredMethods.some(method => typeof clazz.prototype[method] !== 'function')) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
const requiredStaticMethods = ['onCheckParams', 'onCache'];
|
|
||||||
if (requiredStaticMethods.some(method => typeof clazz[method] !== 'function')) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getPresetClassByName(name, allowPrivate = false) {
|
function getPresetClassByName(name, allowPrivate = false) {
|
||||||
let clazz = presetMap[name];
|
let clazz = builtInPresetMap[name];
|
||||||
if (clazz === undefined) {
|
if (clazz === undefined) {
|
||||||
try {
|
try {
|
||||||
clazz = require(name);
|
clazz = require(name);
|
||||||
@ -119,6 +116,4 @@ function getPresetClassByName(name, allowPrivate = false) {
|
|||||||
throw Error(`cannot load private preset "${name}"`);
|
throw Error(`cannot load private preset "${name}"`);
|
||||||
}
|
}
|
||||||
return clazz;
|
return clazz;
|
||||||
}
|
}
|
||||||
|
|
||||||
const presets = exports.presets = Object.keys(presetMap);
|
|
483
package-lock.json
generated
483
package-lock.json
generated
@ -192,15 +192,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"acorn-object-rest-spread": {
|
|
||||||
"version": "1.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/acorn-object-rest-spread/-/acorn-object-rest-spread-1.1.0.tgz",
|
|
||||||
"integrity": "sha1-eGma790Y7DGCyq2t9S4ml8BI9HY=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"acorn": "^5.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "5.5.2",
|
"version": "5.5.2",
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||||
@ -1340,12 +1331,6 @@
|
|||||||
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"byline": {
|
|
||||||
"version": "5.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/byline/-/byline-5.0.0.tgz",
|
|
||||||
"integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"cache-base": {
|
"cache-base": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
|
||||||
@ -2234,12 +2219,6 @@
|
|||||||
"fill-range": "^2.1.0"
|
"fill-range": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"expand-template": {
|
|
||||||
"version": "1.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.0.3.tgz",
|
|
||||||
"integrity": "sha1-bDAzIxd6YrGyLAcCefeGEoe2mxo=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"expect": {
|
"expect": {
|
||||||
"version": "23.1.0",
|
"version": "23.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/expect/-/expect-23.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/expect/-/expect-23.1.0.tgz",
|
||||||
@ -2468,17 +2447,6 @@
|
|||||||
"map-cache": "^0.2.2"
|
"map-cache": "^0.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fs-extra": {
|
|
||||||
"version": "4.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.1.tgz",
|
|
||||||
"integrity": "sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"graceful-fs": "^4.1.2",
|
|
||||||
"jsonfile": "^3.0.0",
|
|
||||||
"universalify": "^0.1.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fs-readdir-recursive": {
|
"fs-readdir-recursive": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
|
||||||
@ -3319,12 +3287,6 @@
|
|||||||
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
|
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"in-publish": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
|
|
||||||
"integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"inflight": {
|
"inflight": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||||
@ -4322,15 +4284,6 @@
|
|||||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json-stable-stringify": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
|
|
||||||
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"jsonify": "~0.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"json-stable-stringify-without-jsonify": {
|
"json-stable-stringify-without-jsonify": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
|
||||||
@ -4349,21 +4302,6 @@
|
|||||||
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jsonfile": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
|
|
||||||
"integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"graceful-fs": "^4.1.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"jsonify": {
|
|
||||||
"version": "0.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
|
|
||||||
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"jsprim": {
|
"jsprim": {
|
||||||
"version": "1.4.1",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||||
@ -4693,16 +4631,6 @@
|
|||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"multistream": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/multistream/-/multistream-2.1.0.tgz",
|
|
||||||
"integrity": "sha1-YlwmfVxEQkrWKUeItbtNo9yzLx0=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"inherits": "^2.0.1",
|
|
||||||
"readable-stream": "^2.0.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mute-stream": {
|
"mute-stream": {
|
||||||
"version": "0.0.7",
|
"version": "0.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
|
||||||
@ -5136,135 +5064,6 @@
|
|||||||
"pinkie": "^2.0.0"
|
"pinkie": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pkg": {
|
|
||||||
"version": "4.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/pkg/-/pkg-4.3.1.tgz",
|
|
||||||
"integrity": "sha512-QaOXdF9doVkrXpeu0D5ODLDLjYE4LE2WAk7/wSgNiCsCajg4ExjApxwkVIanz61tR8oIe+8vkmW0WpAwfV1ExA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"acorn": "5.5.3",
|
|
||||||
"acorn-object-rest-spread": "1.1.0",
|
|
||||||
"babel-runtime": "6.25.0",
|
|
||||||
"chalk": "2.1.0",
|
|
||||||
"escodegen": "1.8.1",
|
|
||||||
"fs-extra": "4.0.1",
|
|
||||||
"globby": "6.1.0",
|
|
||||||
"minimist": "1.2.0",
|
|
||||||
"multistream": "2.1.0",
|
|
||||||
"pkg-fetch": "2.5.4",
|
|
||||||
"progress": "2.0.0",
|
|
||||||
"resolve": "1.4.0",
|
|
||||||
"simple-bufferstream": "1.0.0",
|
|
||||||
"stream-meter": "1.0.4"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"babel-runtime": {
|
|
||||||
"version": "6.25.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz",
|
|
||||||
"integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"core-js": "^2.4.0",
|
|
||||||
"regenerator-runtime": "^0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chalk": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-styles": "^3.1.0",
|
|
||||||
"escape-string-regexp": "^1.0.5",
|
|
||||||
"supports-color": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"escodegen": {
|
|
||||||
"version": "1.8.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
|
|
||||||
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"esprima": "^2.7.1",
|
|
||||||
"estraverse": "^1.9.1",
|
|
||||||
"esutils": "^2.0.2",
|
|
||||||
"optionator": "^0.8.1",
|
|
||||||
"source-map": "~0.2.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"esprima": {
|
|
||||||
"version": "2.7.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
|
|
||||||
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"estraverse": {
|
|
||||||
"version": "1.9.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
|
|
||||||
"integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"globby": {
|
|
||||||
"version": "6.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
|
|
||||||
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"array-union": "^1.0.1",
|
|
||||||
"glob": "^7.0.3",
|
|
||||||
"object-assign": "^4.0.1",
|
|
||||||
"pify": "^2.0.0",
|
|
||||||
"pinkie-promise": "^2.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has-flag": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
|
|
||||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"minimist": {
|
|
||||||
"version": "1.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"regenerator-runtime": {
|
|
||||||
"version": "0.10.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
|
|
||||||
"integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"resolve": {
|
|
||||||
"version": "1.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
|
|
||||||
"integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"path-parse": "^1.0.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"source-map": {
|
|
||||||
"version": "0.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
|
|
||||||
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
|
|
||||||
"dev": true,
|
|
||||||
"optional": true,
|
|
||||||
"requires": {
|
|
||||||
"amdefine": ">=0.0.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"supports-color": {
|
|
||||||
"version": "4.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
|
|
||||||
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"has-flag": "^2.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pkg-dir": {
|
"pkg-dir": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
|
||||||
@ -5274,229 +5073,6 @@
|
|||||||
"find-up": "^2.1.0"
|
"find-up": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pkg-fetch": {
|
|
||||||
"version": "2.5.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/pkg-fetch/-/pkg-fetch-2.5.4.tgz",
|
|
||||||
"integrity": "sha512-KASiP5yytve4otDY242Zp3r+e11whyoSl79QmmBS3Qg4rvZsYOC5RE0szM0SZrVxg93sqYcINxHlXmzBTJDOeA==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"babel-runtime": "6.25.0",
|
|
||||||
"byline": "5.0.0",
|
|
||||||
"chalk": "2.1.0",
|
|
||||||
"expand-template": "1.0.3",
|
|
||||||
"fs-extra": "4.0.1",
|
|
||||||
"in-publish": "2.0.0",
|
|
||||||
"minimist": "1.2.0",
|
|
||||||
"progress": "2.0.0",
|
|
||||||
"request": "2.81.0",
|
|
||||||
"request-progress": "3.0.0",
|
|
||||||
"semver": "5.4.1",
|
|
||||||
"unique-temp-dir": "1.0.0"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"ajv": {
|
|
||||||
"version": "4.11.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
|
|
||||||
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"co": "^4.6.0",
|
|
||||||
"json-stable-stringify": "^1.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"assert-plus": {
|
|
||||||
"version": "0.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
|
|
||||||
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"aws-sign2": {
|
|
||||||
"version": "0.6.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
|
|
||||||
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"babel-runtime": {
|
|
||||||
"version": "6.25.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.25.0.tgz",
|
|
||||||
"integrity": "sha1-M7mOql1IK7AajRqmtDetKwGuxBw=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"core-js": "^2.4.0",
|
|
||||||
"regenerator-runtime": "^0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"boom": {
|
|
||||||
"version": "2.10.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
|
|
||||||
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"hoek": "2.x.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"chalk": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ansi-styles": "^3.1.0",
|
|
||||||
"escape-string-regexp": "^1.0.5",
|
|
||||||
"supports-color": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"cryptiles": {
|
|
||||||
"version": "2.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
|
|
||||||
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"boom": "2.x.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"form-data": {
|
|
||||||
"version": "2.1.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
|
|
||||||
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.5",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"har-schema": {
|
|
||||||
"version": "1.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
|
|
||||||
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"har-validator": {
|
|
||||||
"version": "4.2.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
|
|
||||||
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"ajv": "^4.9.1",
|
|
||||||
"har-schema": "^1.0.5"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"has-flag": {
|
|
||||||
"version": "2.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
|
|
||||||
"integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"hawk": {
|
|
||||||
"version": "3.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
|
|
||||||
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"boom": "2.x.x",
|
|
||||||
"cryptiles": "2.x.x",
|
|
||||||
"hoek": "2.x.x",
|
|
||||||
"sntp": "1.x.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hoek": {
|
|
||||||
"version": "2.16.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
|
|
||||||
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"http-signature": {
|
|
||||||
"version": "1.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
|
|
||||||
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"assert-plus": "^0.2.0",
|
|
||||||
"jsprim": "^1.2.2",
|
|
||||||
"sshpk": "^1.7.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"minimist": {
|
|
||||||
"version": "1.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
|
||||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"performance-now": {
|
|
||||||
"version": "0.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
|
|
||||||
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"qs": {
|
|
||||||
"version": "6.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
|
|
||||||
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"regenerator-runtime": {
|
|
||||||
"version": "0.10.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
|
|
||||||
"integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"request": {
|
|
||||||
"version": "2.81.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
|
|
||||||
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"aws-sign2": "~0.6.0",
|
|
||||||
"aws4": "^1.2.1",
|
|
||||||
"caseless": "~0.12.0",
|
|
||||||
"combined-stream": "~1.0.5",
|
|
||||||
"extend": "~3.0.0",
|
|
||||||
"forever-agent": "~0.6.1",
|
|
||||||
"form-data": "~2.1.1",
|
|
||||||
"har-validator": "~4.2.1",
|
|
||||||
"hawk": "~3.1.3",
|
|
||||||
"http-signature": "~1.1.0",
|
|
||||||
"is-typedarray": "~1.0.0",
|
|
||||||
"isstream": "~0.1.2",
|
|
||||||
"json-stringify-safe": "~5.0.1",
|
|
||||||
"mime-types": "~2.1.7",
|
|
||||||
"oauth-sign": "~0.8.1",
|
|
||||||
"performance-now": "^0.2.0",
|
|
||||||
"qs": "~6.4.0",
|
|
||||||
"safe-buffer": "^5.0.1",
|
|
||||||
"stringstream": "~0.0.4",
|
|
||||||
"tough-cookie": "~2.3.0",
|
|
||||||
"tunnel-agent": "^0.6.0",
|
|
||||||
"uuid": "^3.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"semver": {
|
|
||||||
"version": "5.4.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
|
|
||||||
"integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"sntp": {
|
|
||||||
"version": "1.0.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
|
|
||||||
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"hoek": "2.x.x"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"supports-color": {
|
|
||||||
"version": "4.5.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
|
|
||||||
"integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"has-flag": "^2.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pluralize": {
|
"pluralize": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
|
||||||
@ -5821,15 +5397,6 @@
|
|||||||
"uuid": "^3.1.0"
|
"uuid": "^3.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"request-progress": {
|
|
||||||
"version": "3.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz",
|
|
||||||
"integrity": "sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"throttleit": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"request-promise-core": {
|
"request-promise-core": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
|
||||||
@ -6376,12 +5943,6 @@
|
|||||||
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
|
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"simple-bufferstream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/simple-bufferstream/-/simple-bufferstream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-XKsQ6FGqccZnt3th/hux2QpguqQ=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"slash": {
|
"slash": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
||||||
@ -6656,15 +6217,6 @@
|
|||||||
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
|
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"stream-meter": {
|
|
||||||
"version": "1.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/stream-meter/-/stream-meter-1.0.4.tgz",
|
|
||||||
"integrity": "sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"readable-stream": "^2.1.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"string-length": {
|
"string-length": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz",
|
||||||
@ -6728,12 +6280,6 @@
|
|||||||
"safe-buffer": "~5.1.0"
|
"safe-buffer": "~5.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stringstream": {
|
|
||||||
"version": "0.0.6",
|
|
||||||
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
|
|
||||||
"integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
|
||||||
@ -7098,12 +6644,6 @@
|
|||||||
"integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
|
"integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"throttleit": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"through": {
|
"through": {
|
||||||
"version": "2.3.8",
|
"version": "2.3.8",
|
||||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||||
@ -7275,12 +6815,6 @@
|
|||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
"uid2": {
|
|
||||||
"version": "0.0.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
|
|
||||||
"integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"union-value": {
|
"union-value": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
|
||||||
@ -7316,23 +6850,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"unique-temp-dir": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/unique-temp-dir/-/unique-temp-dir-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-bc6VsmgcoAPuv7MEpBX5y6vMU4U=",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"mkdirp": "^0.5.1",
|
|
||||||
"os-tmpdir": "^1.0.1",
|
|
||||||
"uid2": "0.0.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"universalify": {
|
|
||||||
"version": "0.1.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
|
|
||||||
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"unset-value": {
|
"unset-value": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
|
||||||
|
@ -15,15 +15,13 @@
|
|||||||
"test:coverage": "jest --runInBand --silent --coverage --bail",
|
"test:coverage": "jest --runInBand --silent --coverage --bail",
|
||||||
"lint": "eslint bin src test pkg",
|
"lint": "eslint bin src test pkg",
|
||||||
"compile": "cross-env NODE_ENV=production babel src --out-dir lib --ignore __tests__,__mocks__",
|
"compile": "cross-env NODE_ENV=production babel src --out-dir lib --ignore __tests__,__mocks__",
|
||||||
"prepkg": "npm run compile && rimraf pkg/blinksocks-* pkg/sha256sum.txt",
|
|
||||||
"pkg": "pkg --out-path pkg/ --targets node8.9.0-linux-x64,node8.9.0-macos-x64,node8.9.0-win-x64 .",
|
|
||||||
"postpkg": "node pkg/postpkg.js",
|
|
||||||
"debug:client": "cross-env NODE_ENV=development node --inspect --inspect-port=9200 bin/cli.js blinksocks.client.json",
|
"debug:client": "cross-env NODE_ENV=development node --inspect --inspect-port=9200 bin/cli.js blinksocks.client.json",
|
||||||
"debug:server": "cross-env NODE_ENV=development node --inspect --inspect-port=9300 bin/cli.js blinksocks.server.json",
|
"debug:server": "cross-env NODE_ENV=development node --inspect --inspect-port=9300 bin/cli.js blinksocks.server.json",
|
||||||
"client": "cross-env NODE_ENV=production node bin/cli.js blinksocks.client.json",
|
"client": "cross-env NODE_ENV=production node bin/cli.js blinksocks.client.json",
|
||||||
"server": "cross-env NODE_ENV=production node bin/cli.js blinksocks.server.json",
|
"server": "cross-env NODE_ENV=production node bin/cli.js blinksocks.server.json",
|
||||||
"prebenchmark": "npm run compile",
|
"prebenchmark": "npm run compile",
|
||||||
"benchmark": "node benchmark/bootstrap.js"
|
"benchmark": "node benchmark/bootstrap.js",
|
||||||
|
"prepublishOnly": "npm run compile"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^2.4.1",
|
"chalk": "^2.4.1",
|
||||||
@ -56,8 +54,6 @@
|
|||||||
"jest": "^23.1.0",
|
"jest": "^23.1.0",
|
||||||
"lodash.clonedeep": "^4.5.0",
|
"lodash.clonedeep": "^4.5.0",
|
||||||
"mkdirp": "^0.5.1",
|
"mkdirp": "^0.5.1",
|
||||||
"pkg": "^4.3.1",
|
|
||||||
"rimraf": "^2.6.2",
|
|
||||||
"socks": "^2.2.0"
|
"socks": "^2.2.0"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
@ -1,46 +0,0 @@
|
|||||||
const crypto = require('crypto');
|
|
||||||
const fs = require('fs');
|
|
||||||
const path = require('path');
|
|
||||||
const utils = require('util');
|
|
||||||
const zlib = require('zlib');
|
|
||||||
|
|
||||||
const { version } = require('../package.json');
|
|
||||||
|
|
||||||
const readdir = utils.promisify(fs.readdir);
|
|
||||||
const remove = utils.promisify(fs.unlink);
|
|
||||||
const appendFile = utils.promisify(fs.appendFile);
|
|
||||||
const readFile = utils.promisify(fs.readFile);
|
|
||||||
|
|
||||||
async function sha256sum(file) {
|
|
||||||
const sha256 = crypto.createHash('sha256');
|
|
||||||
const input = await readFile(file);
|
|
||||||
return sha256.update(input).digest('hex');
|
|
||||||
}
|
|
||||||
|
|
||||||
(async function main() {
|
|
||||||
try {
|
|
||||||
let files = await readdir(path.resolve(__dirname));
|
|
||||||
files = files.filter((f) => f.startsWith('blinksocks-'));
|
|
||||||
for (const file of files) {
|
|
||||||
const name = path.basename(file, '.exe');
|
|
||||||
const ext = path.extname(file);
|
|
||||||
const newName = `${name}-x64-v${version}${ext}.gz`;
|
|
||||||
|
|
||||||
const input = path.join(__dirname, file);
|
|
||||||
const output = path.join(__dirname, newName);
|
|
||||||
const hashFile = path.join(__dirname, 'sha256sum.txt');
|
|
||||||
|
|
||||||
// compress into .gz
|
|
||||||
const stream = fs.createReadStream(input).pipe(zlib.createGzip()).pipe(fs.createWriteStream(output));
|
|
||||||
|
|
||||||
stream.on('finish', async () => {
|
|
||||||
// calc sha256sum
|
|
||||||
await appendFile(hashFile, `${path.basename(output)} ${await sha256sum(output)}\n`);
|
|
||||||
// remove original
|
|
||||||
await remove(input);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
console.error(err.message);
|
|
||||||
}
|
|
||||||
})();
|
|
Loading…
Reference in New Issue
Block a user