ppx-inject 0.4.2 → 0.4.3

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/lib/inject.js CHANGED
@@ -1,12 +1,11 @@
1
1
  import path from 'path';
2
- import { writeProfileFile, createTargetsFromAddressRanges, readProfileFile, updateProfile, getRuleList, createDirectRules, mergeRuleList } from "./utils/profile.js";
2
+ import { writeProfileFile, readProfileFile, updateProfile, getRuleList, createDirectRules, mergeRuleList } from "./utils/profile.js";
3
3
  import { parseAddressRangesFromStatisticsFile } from "./utils/statistics-file.js";
4
4
  export async function injectDirectRulesIntoProfile(statisticsFilename, cc, profileFilename) {
5
5
  console.info('Updating the profile...');
6
- const ipRanges = await parseAddressRangesFromStatisticsFile(statisticsFilename, cc);
7
- const targets = createTargetsFromAddressRanges(ipRanges);
8
6
  const profile = await readProfileFile(profileFilename);
9
- const newRuleList = mergeRuleList(getRuleList(profile), createDirectRules(targets));
7
+ const ipRanges = await parseAddressRangesFromStatisticsFile(statisticsFilename, cc);
8
+ const newRuleList = mergeRuleList(getRuleList(profile), createDirectRules(ipRanges));
10
9
  const newProfile = updateProfile(profile, newRuleList);
11
10
  await writeProfileFile(profileFilename, newProfile);
12
11
  console.info('Done.\n');
package/lib/inject.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACd,2BAAyB;AAC1B,OAAO,EAAE,oCAAoC,EAAE,mCAAiC;AAEhF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,kBAA0B,EAC1B,EAAY,EACZ,eAAuB;IAEvB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,oCAAoC,CACzD,kBAAkB,EAClB,EAAE,CACH,CAAA;IACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAA;IACxD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAA;IACtD,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;IACnF,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IACnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEvB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../src/inject.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACd,2BAAyB;AAC1B,OAAO,EAAE,oCAAoC,EAAE,mCAAiC;AAEhF,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,kBAA0B,EAC1B,EAAY,EACZ,eAAuB;IAEvB,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IAEvC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,oCAAoC,CACzD,kBAAkB,EAClB,EAAE,CACH,CAAA;IACD,MAAM,WAAW,GAAG,aAAa,CAC/B,WAAW,CAAC,OAAO,CAAC,EACpB,iBAAiB,CAAC,QAAQ,CAAC,CAC5B,CAAA;IACD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;IAEnD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAEvB,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACpE,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;AACxE,CAAC"}
@@ -1,8 +1,9 @@
1
- import { splitStringAccordingToLengthAndDelimiter } from "./split-string-according-to-length-and-delimiter.js";
2
1
  import { promises as fs } from 'fs';
3
2
  import * as xml2js from 'xml2js';
4
3
  import { nanoid } from 'nanoid';
5
4
  import { produce } from 'immer';
5
+ import { isEmptyArray, last } from 'extra-utils';
6
+ import { assert, isntEmptyArray } from '@blackglory/prelude';
6
7
  export async function readProfileFile(filename) {
7
8
  const text = await fs.readFile(filename, { encoding: 'utf8' });
8
9
  return await xml2js.parseStringPromise(text);
@@ -15,11 +16,6 @@ export function updateProfile(profile, newRuleList) {
15
16
  const newProfile = replaceRuleList(profile, newRuleList);
16
17
  return newProfile;
17
18
  }
18
- export function createTargetsFromAddressRanges(ranges) {
19
- return ranges
20
- .map(x => x.toString())
21
- .join(';');
22
- }
23
19
  export function getRuleList(profile) {
24
20
  return profile.ProxifierProfile.RuleList[0].Rule;
25
21
  }
@@ -27,23 +23,48 @@ export function mergeRuleList(oldRuleList, newRuleList) {
27
23
  const defaultRule = last(oldRuleList);
28
24
  return oldRuleList
29
25
  .filter(isntProgramCreated)
30
- .filter(isnt(defaultRule))
26
+ .filter(rule => rule !== defaultRule)
31
27
  .concat(newRuleList)
32
- .concat([defaultRule]);
28
+ .concat(defaultRule
29
+ ? [defaultRule]
30
+ : []);
33
31
  function isntProgramCreated(x) {
34
32
  return !x.Name[0].includes(getProgramCreatedFlag());
35
33
  }
36
- function isnt(val) {
37
- return (x) => x !== val;
34
+ }
35
+ export function createDirectRules(ipRanges, maxLengthPerRule = 32767) {
36
+ const delimiter = ';';
37
+ const rules = [];
38
+ let targetsParts = [];
39
+ let targetsLength = 0;
40
+ for (const ipRange of ipRanges) {
41
+ const ipRangeText = ipRange.toString();
42
+ if (isEmptyArray(targetsParts)) {
43
+ assert(ipRangeText.length <= maxLengthPerRule, `ipRangeText.length should less than or equal to ${maxLengthPerRule}`);
44
+ targetsParts.push(ipRangeText);
45
+ targetsLength += ipRangeText.length;
46
+ }
47
+ else {
48
+ if (targetsLength + delimiter.length + ipRangeText.length > maxLengthPerRule) {
49
+ const targets = targetsParts.join(delimiter);
50
+ const rule = createDirectRule('direct-ips', targets);
51
+ rules.push(rule);
52
+ assert(ipRangeText.length <= maxLengthPerRule, `ipRangeText.length should less than or equal to ${maxLengthPerRule}`);
53
+ targetsParts = [ipRangeText];
54
+ targetsLength = ipRangeText.length;
55
+ }
56
+ else {
57
+ targetsParts.push(ipRangeText);
58
+ targetsLength += delimiter.length + ipRangeText.length;
59
+ }
60
+ }
38
61
  }
39
- function last(xs) {
40
- return xs[xs.length - 1];
62
+ if (isntEmptyArray(targetsParts)) {
63
+ const targets = targetsParts.join(delimiter);
64
+ const rule = createDirectRule('direct-ips', targets);
65
+ rules.push(rule);
41
66
  }
42
- }
43
- export function createDirectRules(targets) {
44
- const LIMIT_PER_RULE = 32767;
45
- const group = splitStringAccordingToLengthAndDelimiter(targets, LIMIT_PER_RULE, ';');
46
- return group.map(rule => createDirectRule('directips', rule));
67
+ return rules;
47
68
  function createDirectRule(prefix, target) {
48
69
  return {
49
70
  $: { enabled: 'true' },
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/utils/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/utils/profile.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ppx-inject",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "The CLI program that inject Direct access rules into Proxifier's profile.",
5
5
  "keywords": [
6
6
  "profixier"
@@ -61,11 +61,10 @@
61
61
  },
62
62
  "dependencies": {
63
63
  "@blackglory/prelude": "^0.3.1",
64
- "@blackglory/structures": "^0.13.1",
65
64
  "address-range": "^0.2.12",
66
65
  "commander": "^10.0.0",
67
66
  "extra-filesystem": "^0.4.10",
68
- "extra-utils": "^5.1.0",
67
+ "extra-utils": "^5.20.0",
69
68
  "immer": "^9.0.19",
70
69
  "internet-number": "^3.0.3",
71
70
  "iterable-operator": "^4.0.3",
@@ -1,16 +0,0 @@
1
- import { convertConsToArray } from '@blackglory/structures';
2
- export function splitStringAccordingToLengthAndDelimiter(str, sliceMaximumLength, delimiter) {
3
- return convertConsToArray(slice(str));
4
- function slice(str) {
5
- if (str.length > sliceMaximumLength) {
6
- const endIndex = str.lastIndexOf(delimiter, sliceMaximumLength - 1);
7
- const value = str.slice(0, endIndex);
8
- const next = slice(str.slice(endIndex + delimiter.length));
9
- return [value, next];
10
- }
11
- else {
12
- return [str, null];
13
- }
14
- }
15
- }
16
- //# sourceMappingURL=split-string-according-to-length-and-delimiter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"split-string-according-to-length-and-delimiter.js","sourceRoot":"","sources":["../../src/utils/split-string-according-to-length-and-delimiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,MAAM,UAAU,wCAAwC,CACtD,GAAW,EACX,kBAA0B,EAC1B,SAAiB;IAEjB,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAErC,SAAS,KAAK,CAAC,GAAW;QACxB,IAAI,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE;YACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAA;YACnE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;YAC1D,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;SACrB;aAAM;YACL,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;SACnB;IACH,CAAC;AACH,CAAC"}