reqrio 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/2.log ADDED
@@ -0,0 +1,28 @@
1
+ CLIENT_RANDOM 23d64b6e81b87a9c7fe0ec34e0f58894bea139a98e8b196df3f3dc7b67f248b8 afdbccc075aa3059049c3a19f01708ad1cb824f84a9debd4caec92f22738d1b5b67130ab694f19942acce5820e5b8354
2
+ CLIENT_RANDOM 3e8e438c78f16006147c74c27b7686d993f3c6291b19277d44c2188a0adf921f 734519038b5ac91324cd35e8bad70ba645fbafb35f03ace06423c1589924163cc7391cde7836fb908a1178c92db2a711
3
+ CLIENT_RANDOM 492ab0fa7bdd8b3d7482d15edfba71268198860ee750d4c9dd8774138a266474 444d17796592c8ef3910d62322bf4de1ca064cd51e9e5d2b394db49d812f86bdb101995c2227209cc889da482f06b9fb
4
+ CLIENT_RANDOM 7ac8f16a3b7a542f0264855aeb4a8537cda849697a91906711f6ed00df848b23 29b43ab6277cd38c07d50cd1421324016872ce7845c3501b4ad1ec44ec961875e8576ccd1c277e93877086ec7bef0062
5
+ CLIENT_RANDOM 38fa7ae097512a1216dbc49f6ac9bb538a1aab24827bd668782d6358f182bed7 9eab59c3bbb730867646fb21122251e5f7098e4af6790a7d90dc17fcf8f375f866b5e1d41c79a2b43dc88917dcfdf9b7
6
+ CLIENT_RANDOM 326fd0629200a271572bddfe6e9c09504d962a8bab491b2526b660b5f52009e2 b0a0dd52d4f0513a152da8347d6a1b4175b46dba445f925c2bb9b728eb4a23420fee98f343784d1dcb5ae50ebb6773d6
7
+ CLIENT_RANDOM fd2f812783ecfe4fa0ab35dcd04b1b4d31407d1999f10807b63076f1074f8b35 3d2d68db48dc4460db3d0087d0339a11a153df66b03dc2cb1951d23e790743c67f7bacd55355dc6f3a7860f0f5bb7cad
8
+ CLIENT_RANDOM ec26475e0a50cb603d73136b9590094b57cef7634a00def88e06333f11653ab3 d638173adf04099f43457be7973ad69db47263b51dde9c569310d04d89b7f0c036271889e3110cefe5ce0652abd7ad4a
9
+ CLIENT_RANDOM 2d748711a0efe6ef01298940286c91589624fbeaaf021f30f05f84733100b2cb 43a6086b9e01cb2829e75487c42d739bf85c8318b5569691ac5a8f2ee00fb21a1aa9700cfdc852dab6ed40d2f25fb297
10
+ CLIENT_RANDOM 7021d613e187e1dab2f4fa81d649488cdc02fb18e53d08366cec9e35209064ff 9d3a2e71c0690e33a8eadbe757b50d417b1bd90e85a839ac313606d919473ca1fa304053ce3d0afad2fd91a27f1d6f65
11
+ CLIENT_RANDOM 81744e18f95d095000a06c778920ae0724bb2b9346980c9b2d878eae4a05fe3d 0f5b23919a5fe340f3e0e5a8dd8d632df5e4fa585ad203d8dd54ebc6a82a59ab8ae8c75309cb282f07eb20c36e6865a8
12
+ CLIENT_RANDOM 134ef883b5cf904e67d51334da73b7961e2d08a697228c594c3f80d961ead34b 5ec6e8a546232b8b22fb5d693b77ecf5c1e8b3366d904b1be902823728e8244246388924bcbcc628c157f463d21e64a5
13
+ CLIENT_RANDOM 2700323df89d611e59dbf1ae61873f88d1a48885774c75216e64d3a37f50ac74 3e5198d9d76193cf09da6de5dcecf0a589a2520d4bbe353ee96ce9ae69690738ee5d37f0ec4cedbb1c49d05be6457de0
14
+ CLIENT_RANDOM 64cabd941d38cbc2d42510955b6903a0c9a18e24b7a0d20d951da28a411c1f2d 45a6e3c9949865c07d2ee691dcbf52071c60a8f1c2c8d6d911bc1618236c344b8b5c55a9f63f3586d9f06e2360cb60cb
15
+ CLIENT_RANDOM 33163efd14700c28e313722dab4a9864dc201bf719a7157c67b4648cd8a6644e f743544daab2b746faceb2dd9eeb3a7fefedf303622532b87407bb62b653850a4a0931504fe67f3794089c67b4428704
16
+ CLIENT_RANDOM 57916ccb53982b375d58aeec462c6168e4b71f253bd697e4f007158788b04121 01b93f1eeae846fd6dba75a737e99d0d5b34932dcd4db9321b3c3277b17fd5d077e6f8d7b70600a6ee4efdc63312c2e8
17
+ CLIENT_RANDOM ea5508bbbbda64ec3779eb8950404fb02d8af2c2d84caec2ae1eda14a4ddcfa1 ad00b59f9099bf59ba01931a822a5d32544b41e5eb9f98ead2207ed46dd3aa6828e6be5188d23cfbf9059740976ebff8
18
+ CLIENT_RANDOM f85c60d14cbe71da97163b827412553c660318b0de368e2b5837fd12488bbfb8 528f9475110304e72be4fae79fca81158007a461402453d83c823605337753432b8bd0b0eb08a430a7399ca84bd8981f
19
+ CLIENT_RANDOM 503b01a3e2e33181bff1e09075ee01fd18750e09065086ce895fc93be5bb5e30 a642c912bce0ad3450294e12a525b48d5f4badfd02f4b7959906ac4242815e16d074f54ca216152bc99efd56dcfe0a38
20
+ CLIENT_RANDOM 9ea25a0407ffeab403cecd84aa0f461394d8e00167197353658b330924c07866 cf6a7c238fee1203f6b65dafa3817c5a6658efb22bbe369228b3acab67a4ad31ece9e01848358be82d83cd1819b4776c
21
+ CLIENT_RANDOM 8091d78ce9f9fd8d3b425edab68dade8733289d4cd2df3d3d1bf4113b5a34159 f316c8fa7fe8f0133e891c7df7a87a8fdecacd3163abdb828f5bfceb2b656ee8c42eb8896669aebe4e9cf2c6c2599b65
22
+ CLIENT_RANDOM 1055e19490a6c9eaba6128978d9351df41244fc34e6e38879453ad8f5a96e0b9 18c54a03e630e77509a444f86b990855290da83e2b5f4476b3080a3ac11ec620f278c74d895eba6dd2b8450ca2eeb149
23
+ CLIENT_RANDOM 2db982e46c3c7aa149b440640d8207b482c1439f261a8222439c07b8ef582203 a1750292c392ae77c8fb4d3ee36c04b30b2ae48afac9d45163208f48228cc0b6665a0386e373fbdbf841822ddf5f7bb3
24
+ CLIENT_RANDOM 82c47384d405a3504e31175c005b397e782559ca231466270a8f715fa1caed30 fe4051c68eb0890344aa72dcbc9a1bef2613a60e94c9bc36945a51fd31ce7aa3f7a011a3c5104ab4ea79d3eda44dc04a
25
+ CLIENT_RANDOM d89265054fb145fe75fe56e224a0aac9acd23a87221c95a7b5bc0d2f94945750 abb0e3d6951e49a609497f6a0895dcdaf527accbc344ac90833e7d14f93a5c2224588830f702c6ee9859a8510ec48562
26
+ CLIENT_RANDOM c2afc383b0363f37dd448ef95aa30a8c12ec8f515e321679f70b37cd82f74836 e0bde036e403ae0cd4111db98b4ef6ee82634faccf0414392ab782ccd88e7cefe6d66db6995f5aa18f7e0a96c582b409
27
+ CLIENT_RANDOM b009e5252d97d5086723bf3ed3788000c167900c6f060449feaf2262045f69df 673f5759883a46a6f0116266a2ca24f5c217cb96360bd42ec244ad282fb92d1e636db9e438b61edae05541effdce6c60
28
+ CLIENT_RANDOM 547e11d441719d61c836cdd53f55a0828cbf9c8b1dfb7da104f890f16c2ac781 e6e67b5ea27eca02afeaee0786b285c33c90531c4e8c4b6e72c90e6897c4c66fc6c7c5305eec14e37414094a43f67adf
package/README.md CHANGED
@@ -10,8 +10,6 @@
10
10
 
11
11
  * Uses **BoringSSL** to implement TLS, consistent with browsers like Chrome and Edge.
12
12
 
13
- **Note:** std and cls cannot exist simultaneously, while sync and async can exist simultaneously.
14
-
15
13
  ### Request Header Order Table
16
14
 
17
15
  | No. | HTTP/2.0 | HTTP/1.1 |
package/bindings.js CHANGED
@@ -15,16 +15,24 @@ const Method = {
15
15
  TRACE: 6,
16
16
  CONNECT: 7,
17
17
  }
18
+ let libname;
19
+ if (process.platform === "win32") {
20
+ libname = "reqrio"
21
+ } else if (process.platform === "linux") {
22
+ libname = "libreqrio"
23
+ } else {
24
+ throw "unsupported system platform"
25
+ }
18
26
 
19
- const library = ffi.Library("./libreqrio.so", {
27
+ const library = ffi.Library("./" + libname, {
20
28
  ScReq_new: [voidPtr, []],
21
29
  ScReq_set_header_json: ['int', [voidPtr, charPtr]],
22
30
  ScReq_add_header: ["int", [voidPtr, charPtr, charPtr]],
23
31
  ScReq_set_alpn: ["int", [voidPtr, charPtr]],
24
- ScReq_set_random_fingerprint: ["int", [voidPtr]],
25
- ScReq_set_fingerprint: ["int", [voidPtr, charPtr]],
26
- ScReq_set_ja3: ["int", [voidPtr, charPtr]],
27
- ScReq_set_ja4: ['int', [voidPtr, charPtr]],
32
+ ScReq_set_random_fingerprint: ["int", [voidPtr, charPtr]],
33
+ ScReq_set_fingerprint: ["int", [voidPtr, charPtr, charPtr]],
34
+ ScReq_set_ja3: ["int", [voidPtr, charPtr, charPtr]],
35
+ ScReq_set_ja4: ['int', [voidPtr, charPtr, charPtr]],
28
36
  ScReq_set_proxy: ['int', [voidPtr, charPtr]],
29
37
  ScReq_set_url: ['int', [voidPtr, charPtr]],
30
38
  ScReq_add_param: ['int', [voidPtr, charPtr, charPtr]],
package/index.js CHANGED
@@ -8,5 +8,5 @@ module.exports = {
8
8
  ALPN,
9
9
  Websocket
10
10
  }
11
-
11
+ //npm login
12
12
  //npm publish
package/libreqrio.so CHANGED
Binary file
package/package.json CHANGED
@@ -1,25 +1,26 @@
1
- {
2
- "name": "reqrio",
3
- "version": "0.1.0",
4
- "description": "A lightweight, high concurrency HTTP request library",
5
- "main": "index.js",
6
- "keywords": [
7
- "http",
8
- "lightweight",
9
- "tls fingerprint"
10
- ],
11
- "scripts": {
12
- "test": "echo \"Error: no test specified\" && exit 1"
13
- },
14
- "repository": {
15
- "type": "git",
16
- "url": "git+https://github.com/xllgl2017/reqrio.git"
17
- },
18
- "license": "Apache-2.0",
19
- "author": {
20
- "name": "xllgl2017"
21
- },
22
- "dependencies": {
23
- "ref-napi": "^3.0.3"
24
- }
25
- }
1
+ {
2
+ "name": "reqrio",
3
+ "version": "0.1.1",
4
+ "description": "A lightweight, high concurrency HTTP request library",
5
+ "main": "index.js",
6
+ "keywords": [
7
+ "http",
8
+ "lightweight",
9
+ "tls fingerprint"
10
+ ],
11
+ "scripts": {
12
+ "test": "echo \"Error: no test specified\" && exit 1"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/xllgl2017/reqrio.git"
17
+ },
18
+ "license": "Apache-2.0",
19
+ "author": {
20
+ "name": "xllgl2017"
21
+ },
22
+ "dependencies": {
23
+ "ffi-napi": "^4.0.3",
24
+ "ref-napi": "^3.0.3"
25
+ }
26
+ }
package/reqrio.dll CHANGED
Binary file
package/session.js CHANGED
@@ -12,36 +12,36 @@ const registry = new FinalizationRegistry(req => {
12
12
  })
13
13
 
14
14
  class Session {
15
- constructor(alpn, rand_tls) {
15
+ constructor(alpn, rand_tls, token) {
16
16
  this.req = library.ScReq_new();
17
17
  if (alpn) {
18
18
  let ret = library.ScReq_set_alpn(this.req, alpn)
19
19
  if (ret === -1) throw "set_alpn error"
20
20
  }
21
- if (rand_tls) {
22
- let ret = library.ScReq_set_random_fingerprint(this.req);
23
- if (ret === -2) throw "free user, set_random_fingerprint can't be used"
21
+ if (rand_tls && token) {
22
+ let ret = library.ScReq_set_random_fingerprint(this.req, token);
23
+ if (ret === -2) console.log("free user, set_random_fingerprint can't be used")
24
24
  if (ret === -1) throw "set_random_fingerprint error"
25
25
  }
26
26
  registry.register(this, this.req)
27
27
  }
28
28
 
29
- set_fingerprint(fingerprint) {
30
- let ret = library.ScReq_set_fingerprint(this.req, fingerprint);
31
- if (ret === -2) throw "free user, set_fingerprint can't be used"
29
+ set_fingerprint(fingerprint, token) {
30
+ let ret = library.ScReq_set_fingerprint(this.req, fingerprint, token);
31
+ if (ret === -2) console.log("free user, set_fingerprint can't be used")
32
32
  if (ret === -1) throw "set_fingerprint error"
33
33
  }
34
34
 
35
- set_ja3(ja3) {
36
- let ret = library.ScReq_set_ja3(this.req, ja3);
37
- if (ret === -2) throw "free user, set_ja3 can't be used"
35
+ set_ja3(ja3, token) {
36
+ let ret = library.ScReq_set_ja3(this.req, ja3, token);
37
+ if (ret === -2) console.log("free user, set_ja3 can't be used")
38
38
  if (ret === -1) throw "set_ja3 error"
39
39
 
40
40
  }
41
41
 
42
- set_ja4(ja4) {
43
- let ret = library.ScReq_set_ja4(this.req, ja4);
44
- if (ret === -2) throw "free user, set_ja4 can't be used"
42
+ set_ja4(ja4, token) {
43
+ let ret = library.ScReq_set_ja4(this.req, ja4, token);
44
+ if (ret === -2) console.log("free user, set_ja4 can't be used")
45
45
  if (ret === -1) throw "set_ja4 error"
46
46
 
47
47
  }
package/test.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const {Session, ALPN, Websocket} = require('./index')
2
2
 
3
- let session = new Session(ALPN.HTTP20, false);
3
+ let session = new Session(ALPN.HTTP20, true, "sd");
4
4
  session.set_url("https://m.so.com");
5
5
  session.set_callback(function (data) {
6
6
  console.log(data.length)
@@ -12,6 +12,6 @@ session.close();
12
12
 
13
13
 
14
14
  let ws = new Websocket();
15
- ws.set_url("https://alive.github.com")
15
+ ws.set_url("wss://alive.github.com")
16
16
  ws.open()
17
17
  ws.read()
package/ws.js CHANGED
@@ -32,6 +32,7 @@ class Websocket {
32
32
  open(url) {
33
33
  if (url) this.set_url(url)
34
34
  this.ws = library.ws_open(this.build)
35
+ if (!this.ws || this.ws.length === 0) throw "connect error"
35
36
  registry.register(this, this.ws)
36
37
  }
37
38