Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Undocumented change to "family" attribute in os.networkInterfaces() in Node 18 #42787

Closed
BenSjoberg opened this issue Apr 19, 2022 · 3 comments · Fixed by #42789
Closed

Undocumented change to "family" attribute in os.networkInterfaces() in Node 18 #42787

BenSjoberg opened this issue Apr 19, 2022 · 3 comments · Fixed by #42789
Labels
os Issues and PRs related to the os subsystem.

Comments

@BenSjoberg
Copy link

BenSjoberg commented Apr 19, 2022

Version

v18.0.0

Platform

Darwin Bens-MacBook-Pro-2.local 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64

Subsystem

No response

What steps will reproduce the bug?

Easy to reproduce in the REPL - just call os.networkInterfaces() Each listed IP has a "family" attribute. Before Node 18 this was a string value of "IPv4" or "IPv6", in Node 18 it's a numeric 4 or 6.

How often does it reproduce? Is there a required condition?

Happens 100% of the time. Only requirement is to be running Node 18.

What is the expected behavior?

The family attribute should be either "IPv4" or "IPv6". The Node 18 documentation still describes it this way, and the Node 18 changelog doesn't mention this change, so my assumption is that this is unintended. If it actually was intended, then the documentation and changelog should be updated to reflect it.

What do you see instead?

Example from the Node 18 REPL:

> os.networkInterfaces()
{
  lo0: [
    {
      address: '127.0.0.1',
      netmask: '255.0.0.0',
      family: 4,
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '127.0.0.1/8'
    },
    {
      address: '::1',
      netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
      family: 6,
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '::1/128',
      scopeid: 0
    },
    ...
]

Additional information

The changelog does say "net: make server.address() return an integer for family". If this was unintentional, maybe it could be a side effect from whatever was done in that PR? (I haven't looked at that PR, nor am I familiar with Node's internals, so this is just a guess.)

@BenSjoberg BenSjoberg changed the title Undocumented change to "family" attribute in os.networkInterfaces() in Node18 Undocumented change to "family" attribute in os.networkInterfaces() in Node 18 Apr 19, 2022
@BethGriggs
Copy link
Member

/cc @aduh95 as the author of #41431

@bl-ue
Copy link
Contributor

bl-ue commented Apr 19, 2022

Related: #41431 (comment)

aduh95 added a commit to aduh95/node that referenced this issue Apr 19, 2022
@VoltrexKeyva VoltrexKeyva added the os Issues and PRs related to the os subsystem. label Apr 20, 2022
@richardlau
Copy link
Member

richardlau commented Apr 20, 2022

#41431 has now introduced an inconsistency between os.networkInterfaces() and diagnostic reports. e.g.

> os.networkInterfaces()
{
  lo: [
    {
      address: '127.0.0.1',
      netmask: '255.0.0.0',
      family: 4,
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '127.0.0.1/8'
    },
    {
      address: '::1',
      netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
      family: 6,
      mac: '00:00:00:00:00:00',
      internal: true,
      cidr: '::1/128',
      scopeid: 0
    }
  ],

compared to:

> process.report.getReport().header.networkInterfaces
[
  {
    name: 'lo',
    internal: true,
    mac: '00:00:00:00:00:00',
    address: '127.0.0.1',
    netmask: '255.0.0.0',
    family: 'IPv4'
  },
...
  {
    name: 'lo',
    internal: true,
    mac: '00:00:00:00:00:00',
    address: '::1',
    netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
    family: 'IPv6',
    scopeid: 0
  },
...

avwo added a commit to avwo/whistle that referenced this issue Apr 20, 2022
avwo added a commit to Tencent/nohost that referenced this issue Apr 21, 2022
nodejs-github-bot pushed a commit that referenced this issue Apr 21, 2022
Refs: #41431
Fixes: #42787

PR-URL: #42789
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
xtx1130 pushed a commit to xtx1130/node that referenced this issue Apr 25, 2022
Refs: nodejs#41431
Fixes: nodejs#42787

PR-URL: nodejs#42789
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
targos pushed a commit that referenced this issue Apr 28, 2022
Refs: #41431
Fixes: #42787

PR-URL: #42789
Reviewed-By: Beth Griggs <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
issotina added a commit to CloudCommunik/jambonz-feature-server that referenced this issue May 2, 2022
Currently this project is affected by one of node 18 (latest version) breaking change which impact node-ip dependence:
indutny/node-ip#114
nodejs/node#42787
scravy added a commit to scravy/node-macaddress that referenced this issue Jun 23, 2022
Accept number coming from os.networkInterfaces() family, see nodejs/node#42787
nailuoGG added a commit to nailuoGG/iProxy that referenced this issue Jul 5, 2022
74ef62c97 docs: update README
e5d9bd0b7 docs: update README
0f28d5cad refactor: update set-global-proxy
559ffbe62 docs: brew install
469c07e39 refactor: refine code
ccbbdc6e8 refactor: refine code
68f29128c feat: intercept the message of console
6594c75df feat: load dev plugins
2ce933a1a refactor: refine code
570371752 feat: add dev log
b39c29a5e refactor: set MAX_RES_SIZE = 1024 * 1024
02774fc0c refactor: refine code
a52fb717b feat: readDevPluginPaths
dcd49f14a Release v2.9.25
eb8b7db22 Release v2.9.25
579dac8ef docs: update
ad80e6f13 docs: update README
06c530996 Release v2.9.23
aed861e90 refactor: refine code
4cd8e3ee9 refactor: update set-global-proxy
8013144f4 docs: update README
402ca4837 Release v2.9.23
063957cfc refactor: add set-global-proxy
722b3c8e9 refactor: use set-global-proxy instead of bin/proxy
d0ab05727 docs: brew install whistle
cb0a4cbaf chore: ignore .gitattributes
2d9c6d5e4 docs: update README
48f408184 docs: update README
fdc73b093 docs: update README
eb0aeb2f7 chore: refine code
b85d74984 refactor: refine code
858f6c009 style: show lineProps
9ba7e1259 Release v2.9.22
4c0538ca5 refactor: refine code
b1cd8e795 feat: use lineProps:https://important to promote rule priority
d77ffb8f2 Release v2.9.22
372220b6c fix: rules order
370127c2b style: refine editor
6f609a3a2 style: refine code
acddae573 style: refine code
402aac4a3 style: rename collapse groups
c658dfa09 docs: add group name
7e15a96d4 refactor: move group
2ff17c526 refactor: refine code
fe8ea59ac refactor: handle add rules & values
14a455482 refactor: refine w2 add
17506d53d style: add the storage key of collapse groups
ddb17c409 refactor: drag element to top
ee486d62d style: refine drag sort
870dc440e style: refine curl
7244710f4 style: refine ui
23d917791 refactor: refine code
f87b3552c style: fix import Rules & Values
42e3efb4c style: refine ui
a73361d5f Release v2.9.21
8600ec6be refactor: refine code
64457795d style: refine ui
53b859e54 refactor: refine code
f37717c17 feat: allow to create the member of group
c2905b219 style: fix next & prev
c603a4534 style: refine ui
1ba42df2b style: add group icon
907131430 style: refine ui
2397a4202 style: fix move group
862e461d5 feat: move group
23c273b08 style: refine create Rules & Values
89f24b4d3 style: add group
8a8b57c5c style: refine code
c1be0f7ae style: refine ui
7c4964f44 style: refine changed status
810fc8e4d style: show the number of group chidren
b6ff74e1f style: refine context menu
f1e9601d6 style: collapse group
b97903746 refactor: add 30x log
c7d57a093 refactor: refine code
0abfd6fc1 refactor: load remote rules
86420895c refactor: refine http-mgr
9dc31d274 style: refine context menu
b7f1e1765 style: refine code
ad3c529bd style: refine ui
bea3f25de docs: swtichyomega
1e7253056 style: set group style
d6b7d997b style: add +Group button
61c472e55 style: refine ui
4071953fa style: add list group
46ab61665 refactor: refine code
1842fefae Release v2.9.20
c2f84ab73 fix: resCors:https://*
35e0dd34f style: refine ui
9f288ca33 refactor: update pipestream
0d63f5ad8 docs: Node >= 8
45649e4e6 style: refine ui
4411ab666 refactor: refine code
dd818316e refactor: refine parseRuleJson
2d9955a67 Release v2.9.19
510acb244 refactor: refine code
ca30843ba refactor: allow to custom upgrade header
796c05f93 style: refine ui
dd0be9306 Release vv2.9.19
772f0c552 refactor: refine code
b460ab3ec fix: duplicate request
5a415f736 style: refine code
ffade0311 fix: high severity vulnerabilities
6739ce6bf refactor: refine cli
0c207af5b refactor: refine code
1804ca68f refactor: refine code
64d5a543d Release v2.9.19
5a13e813a feat: handle custom upgrade request
fc8e77ef1 feat: add WEBSOCKET method
ff396b38e refactor: refine code
6232478f6 feat: allow custom headers.upgrade
c4098f3c4 docs: pc
df82e6731 docs: mobile
c46acee90 docs: iOS
06eec6376 docs: update
4e74e88dd docs: update whistle
11d471c3e refactor: BIG_DATA_SIZE -> 10m
580f00ebf refactor: refine code
079c88dc0 feat: inject Values to Rules
d5f1398c3 style: refine ui
13fbf7b8e Release v2.9.18
877bd8614 refactor: refine code
70050afc5 style: refine ui
e6912ad21 Release v2.9.18
37a0a10a6 feat: custom tools tab
2495ab10f feat: add custom tabs of tools
81fc570cf feat: allow to custom tools tabs by plugin
f1301e0ae style: refine ui
1a99fd922 docs: update README
5956e2c3b Release v2.9.18
56da1a484 style: refine ui
7e04bbae4 refactor: refine code
71b4beaa8 Release v2.9.18
08372a6d6 fix: transform client id
1f9e822ea docs: udpate quickstart
ed10a32ca docs: update quickstart
5accebe71 docs: update quickstart
a29ff61d2 docs: update README
c923b7d1b docs: update
f0d447f9b docs: quickstart
288f0b4e4 docs: update README
6b206fdae docs: update image
ff9cca3e1 docs: w2 start
36c63c915 docs: start
69fd35c2f docs: proxy & ca
0f78a6fc5 docs: remove unused
e12643219 refactor: refine code
99d8f1939 docs: refine icp
aec981151 docs: refine wording
2f4d7325d docs: update
c8acfd0b9 refactor: check like json
2b9693745 docs: update
41813b67d docs: update feedback
32147716e docs: update README
5c61e0239 Release v2.9.17
e43c38e0e fix: drag problem
62d8c2cea docs: update README
41f6de9af docs: update qrcode
9c9b49473 docs: update qrcode
444adb829 docs: refine docs
405f1c8ea docs: remove en
48ed958bc docs: add wx & zfb qrcode
e77924f5c docs: init
61124f29b docs: update README
2cb74532f docs: update introduction to whistle
0667320e2 refactor: refine isKeepClientId
b11e073db docs: init
ac249efaa docs: update README
5dd81d692 refactor: refine enable:https://clientId
0f549ce87 style: refine x-whistle-rule-value
daad5a489 refactor: refine code
455f60bbd refactor: refine clientId
0a0bfecf5 docs: udpate README
9825d6ddc feat: read rule value from remote url
f7fee66c2 Release v2.9.16
bad79d75e feat: parse authorization from url query
9ede422cb feat: add CGI to get the currently enabled rule
e2f8a58b4 feat: add cgi /rules?name=ruleName & /values?name=valueName
0946a8a33 style: refine ui
6a0c67a42 Release v2.9.16
bd9f413c7 feat: Repeat/Replay Times
d4b973de2 refactor: refine replay times
421b27768 feat: add context menu 'Replay Times'
47548e2db feat: the Composer supports concurrent requests
5ee0f063b refactor: setMaxReplayCount=100
01a7373c0 refactor: refine code
5e59ffbbc style: refine ui
458ad94ee docs: update install whistle
02633869b docs: install whistle
e31333b70 docs: w2 ca
4c67a7da0 docs: w2 ca
f778235fa docs: proxy
eb0326077 refactor: refine code
2f7c10642 Release v2.9.15
f69fc0423 refactor: refine code
9995e8324 fix: add custom root info
b02b39798 refactor: refine code
835d6b071 feat: remove .cer & .pem cert files
da4fb5cfe feat: allow to upload .cer .pem cert files
a3acf8c20 feat: accept .cer, .pem cert file
4fde19832 style: change qrcode of root ca
6cfda632d style: custom root ca type
00030dbf1 refactor: refine code
aef630762 feat: add persistentCapture mode
4348a69a4 refactor: add rootCA.pem
439b11b19 feat: auto enable capture
abc8b914b chore: refine wording
4352e4972 refactor: refine code
35f3290e7 Release v2.9.15
d0bffb9a7 fix: is-utf8
9a1c6f01b Release v2.9.15
47e608969 chore: refine wording
b822bd677 feat: add cli option --init [bypass]
837ca85ad feat: w2 ca ...
2dedacd98 refactor: refine code
d60467db7 feat: parse w2 ca
dc1a9a3b8 feat: support process.env.WHISTLE_MODE
b3401e25f refactor: whistle needs to be started before installing the CA
d6ebf78eb feat(cli): w2 ca [filepath url host:port port ip]
b8e0ba737 chore: refine tips
f6e7808d9 refactor: check ERROR_CANCELLED
2ca507806 feat: init ca cli
9c21bd5b7 chore: refine tips
6301e8766 docs: proxy
6544ca8e8 docs: proxy
af583074d Release v2.9.14
68ba2286f feat: set global proxy cli
970f861b6 feat: parse proxy argv
f805e07fe refactor: refine code
74bef4603 chore: system -> global
b73f98993 feat: add proxy cli
11b271e63 chore: add ts types
9c2ab0ff0 refactor: add unsupported platform tips
3ab30670b refactor: check proxy result
89c93bd3f fix: xss
c605597c7 refactor: add host to log info
2f2cf80ac feat: add whistleConfig.noOption
16af21349 chore: refine code
412c9861d chore: refine code
2d754eb3c test: proxy api
c9510ccb2 refactor: refine code
f1ccd208a fix: ReinstallAll button
2b58111e6 refactor: refine cli
c59e38a42 feat: w2 proxy ...
b74e3a1a7 refactor: refine code
a5854af3a refactor: refine code
75e49097a fix: avwo/whistle#727
351880217 refactor: update deps
18861cfd1 Release v2.9.13
c44731080 refactor: refine inline rule value
3e503783a docs: update
d0853c105 refactor: refine inline rule value
6fd6771d2 refactor: prevent request loop
b1de45def refactor: refine code
79f780cdf Release v2.9.12
cfb8bf991 refactor: excludFilter:https://host=pattern
f7b8f29e1 fix: avwo/whistle#726
69fe41b2f refactor: add localhost to match <local>
361a6b932 feat: excludeFilter:https://host=<local>
c6ae46e9b feat: xxxFilter:https://host=hostname or regexp
cccccca18 feat: lineProps:https://internalProxy
2038eea1b feat: enable:https://internalProxy
470350b56 refactor: refine https-proxy
7ba14385b fix: httpH2 proxy
21da9d347 refactor: refine code
7fd7b8181 refactor: refine internal-https-proxy
5b63601ed refactor: internal-http-proxy === internal-proxy
aa34bb8a7 refactor: https2http-proxy === internal-proxy
8d0ae6c92 fix: plugin registry
d45edd367 refactor: refine proxyTunnel
97b7b9f25 refactor: refine code
7a73b9f80 Release v2.9.11
9838b63b3 refactor: refine code
693421e7f refactor: add realHost
f22d3d9f0 Release v2.9.11
5115bd356 refactor: handle websocket response
7e6410ff0 feat: -M showPluginReq
c1d9c9a88 refactor: refine code
5b48ceb9a feat: support for accessing subprocess plugins
2a970a3d9 refactor: refine internal-proxy
8d410a5a6 Release v2.9.11
5bd215823 refactor: refine code
1b31279f3 refactor: add req.origClientId
e6a72e34f refactor: refine code
5f1f46bab refactor: refine code
09230f4c7 refactor: disable h2 is https2http
2ed1b9eac refactor: disable h2 is https2http
76d008545 refactor: refine code
85664d2e6 feat: add tpl var ${RegExp.$x}
b8296bdb3 chore: add timestamp
124f2b7c0 refactor: refine code
f5d182ada feat: skip:https://protocol
5cad4fce5 style: refine code
839067d92 refactor: refine code
0d38b84e3 style: refine code
4cc958350 Release v2.9.10
41f98d518 docs: add skip
1ddffa02c feat: add skip protocol
d097eb4ab style: force update editor
7af11981a style: refine code
4d642fa93 fix: nodejs/node#42787
5302946bc docs: ignore:https://pattern=xxx ignore:https://operator=xxx
1fb202674 Release v2.9.9
984f81b90 refactor: refine code
3ec9f0ecd feat: handle exact ignore rules
628946695 feat: resolve exact ignore rules
a7a3d9e33 refactor: refine code
e963db02e feat: allow custom update plugin url
83e633eea style: refine ui
aa6774cef style: refine code
78965b2ec feat: add syncData & syncRules & syncValues to custom menu api
a354a3ecf style: refine code
76ff0b9e8 feat: add syncData & syncRules & syncValues to custom menu api
f5ef7fd5b style: refine code
990a030d3 refactor: record history selected state
bf2403096 refactor: refine code
d24bf5ad5 style: rename button
1b891f3a4 style: refine code
9998147dd refactor: refine code
4eb000540 style: limit history count
230f01594 Release v2.9.9
5001f86b5 style: refine ui
e27100fd1 refactor: refine code
c1b8dca9b feat: add Rules & Values history
17add0995 style: refine ui
e75a28507 feat: options.getPlugins
5d5c67bba refactor: refine "w2 i url"
751877e4d chore: add ts types
0aad40f72 Release v2.9.8
889a0f554 feat: add config.notUninstallPluginPath
7ece985d7 refactor: refine code
f745ec00f feat: the customPluginPath will overwrite the build-in custom plugins
10d186bcc refactor: remove config.SYSTEM_PLUGIN_PATH
697350450 refactor: refine code
2cae9259f refactor: refine code
734d7bb09 Release v2.9.8
116341ca0 refactor: refine install dir
00df70bc3 feat: w2 i url
ff53f8fa0 Release v2.9.8
3a5412a5a refactor: refine tunnel data
be4763861 refactor: refine code
00ca2bc3b fix: handling websocket tunnel proxy data transfer
46c2253f0 fix: config.TEMP_CLIENT_ID_HEADER -> config.CLIENT_ID_HEADER
9d6830141 refactor: initProxy > initialize
9887d9dc6 refactor: refine code
18348fe64 feat: add extraUrl
2683a3cbb Release v2.9.7
3235aef8b fix: unable to fully display tunnel request data problem
b629fa6c5 refactor: refine code
a7620dcab uri.host -> uri.hostname
9a4bfe3e7 fix: isRexExp -> isRegExp
4c790c5ee style: make sure to preserve tab order
2770d6fa0 Release v2.9.7
63fc955f5 style: save the opened plugin tabs
2234ec939 refactor: set max_local_rules_length=256k
0ac4b7bb5 chore: & -> &&
a39dadd80 Release v2.9.6
5805150c4 fix: transform client id to plugin server
e80786ebc refactor: make sure the close event is fired only once
711040c3b refactor: refine code
702d552c3 Release v2.9.6
699797090 refactor: handle end events
f9d28a77d fix: capture tunnel frames
62356aee9 style: refine plugin var hints
6a0fd7526 refactor: refine code
e822aa892 refactor: auto remove duplicate plugin vars
642c97eda style: refine rules mode
be51d407b feat: support %plugin.name=xxx
94a3e9a99 feat: custom content-type by x-whistle-response-type
4c5a1c93d style: set maxLength=256
659fe2cc7 feat: create root ca by ToolBox
c9a0b7419 fix: rules url regexp
1eecf7ceb feat: @$plugin/key
c2ed94bde Release v2.9.5
ace1224c2 refactor: refine code
e51b850a7 feat: add custom protocol
13c317c39 feat: allow display custom protcol by res.headers.x-whistle-transport-protocol
9ee540727 style: refine code
f0dba8a5d feat: allow display custom protocol
fdef27290 chore: update node-forge
066b4284f style: show bound ip
2a73bc088 refactor: check plugin name
f5d224931 feat: -M disableAuthUI
a5d403104 docs: update protocols
91f5f83ad chore: refine scripts
2930da555 fix: file:https:///key
cc89a6869 test: remote values
7cd04e5b4 refactor: refine code
68f4b032f chore: add npm run lint to test cmd
15ee96db1 test: refine code
7547113b9 feat: add req info to remove values cgi
3ef4d2291 refactor: refine PLUGIN_KEY_RE
060e966f5 feat: add x-whistle-rule-proto
3c3217e87 refactor: avoid install plugins infinite loops
6c52d6434 refactor: refine code
c2726c7a9 refactor: install peer plugins
a331bf308 refactor: refine code
f3944759e style: refine ui
46f2b9b4d style: add toggle tree view button
4c69ffb11 feat: add accountPluginsPath option
60ad27b62 chore: add plugin.d.ts
ad06f510b refactor: refine code
15cab62b1 refactor: maxPeerPlugins = 15
62e73550b refactor: add cwd to projectPluginsPath
8b34f9b2f refactor: refine code
fe7df1eb2 refactor: export getWhistlePath
a324390f0 refactor: use common.getWhistlePath
56e6226da refactor: refine code
64ef7cd0e refactor: refine code
d2c39f852 refactor: add version & nodeVersion to session
7a69794d0 Release v2.9.4
0ae60e6a0 refactor: refine code
5ff6a0bee feat: allow to install peerPluginList
4feba4f14 fix: auth tunnel proxy

git-subtree-dir: vendor/whistle
git-subtree-split: 74ef62c977d4d997fd38fa1242a07b088772b3e5
xcodebuild pushed a commit to xcodebuild/iProxy that referenced this issue Nov 4, 2022
71c05db286 docs: custom column
1129f50a70 Release v2.9.35
605c8b3299 feat: set width of network table columns
0419597a9b Release v2.9.34
7b57e785be docs: refine delete.md
3bd5726b8b docs: update delete
98de59a146 feat: delete:https://query.xxx delete:https://reqCookie.xxx delete:https://resCookie.xxx
efa6d4ee45 Release v2.9.34
81a47f189c Release v2.9.34
47eaecf410 fix: filter console log
c83207ed42 feat: add default account rules
e8faf73859 docs: add enable feature description
d58812ed4f Release v2.9.32
3b16dd4ea0 fix: regexp errors
00adfae825 style: refine code
25b2e9b9ec style: field -> param
08ac63b40d style: header -> +Header
8e579b4387 style: refine ui
bb4a718efb Release v2.9.23
75537ebc0a refactor: refine code
453a2169df Release v2.9.32
6565b0c28c add Delete All button
589ff28528 refactor: refine code
56dc80f4df refactor: refine code
2c95c4b6d2 style: refine ui
af64c9bd4a style: refine ui
916ad39a08 Release v2.9.31
c2583a9f52 refactor: remove files
74a8a39406 feat: add hint suffix
c108452e3d feat: add account rules
2385a4730e docs: remove files
1378ad8c5c one typo from doc
34f59d3c28 refactor: refine code
8a0d8328cd Release v2.9.30
49078b5729 fix: proxy auth
a89f353160 docs: template
087fe4a142 refactor: refine code
52575d0dfe Release v2.9.30
3098bc71f5 docs: template
e60d7e7cfe docs: template
bb74b476d2 refactor: refine code
f62c04eb81 feat: add _var
bc346949b9 feat: add plugin rules template
2fc1a193b5 refactor: refine code
5806c86e6c feat: parse plugin var tpl
74038fcc4f feat: resolve plugin rules tpl
ab5e26dd41 ci: add Node 18
86fc56b417 feat: custom agent config
46432683fc Release v2.9.29
f30672dd89 feat: -M agent
567ab94763 chore: refine wording
195b283178 feat: add destroyAll
1ce58eb2b0 fix: export har
18bacccb04 feat: allow global plugins in headless mode
8f0937e2e8 refactor: refine code
da64a2d825 feat: allow /cgi-bin/get-data in headless mode
ef870f4a65 Release v2.9.28
e14d8b1e0c fix: avwo/whistle#759
14d05fcbec style: refine ui
877a285f6b style: refine ui
394637eb43 fix: typo
fd18d53cae style: adjust the debounce interval of filter
adf23b4118 Release v2.9.27
eb7816239c style: refine update tips
a366f24498 Release v2.9.27
067eb32f34 style: refine ui
2d83b1312f Release v2.9.27
4120efd6f7 style: refine ui
76458f59e9 style: show upload form in WebForms
7ca26002c9 chore: refine wording
5f54276b53 refactor: update set-global-proxy
e341a912c0 Release v2.9.26
62437c6067 docs: headerReplace
11e297f180 fix: export saz
5f890a48c5 refactor: refine code
553e93526e Release v2.9.26
229af3446c refactor: refine code
f5e0e0c1b5 fix: repeated submit
315eb45a9e style: refine ui
74ef62c977 docs: update README
e5d9bd0b73 docs: update README
0f28d5cad1 refactor: update set-global-proxy
559ffbe625 docs: brew install
469c07e398 refactor: refine code
ccbbdc6e89 refactor: refine code
68f29128c5 feat: intercept the message of console
6594c75df0 feat: load dev plugins
2ce933a1a8 refactor: refine code
5703717521 feat: add dev log
b39c29a5e4 refactor: set MAX_RES_SIZE = 1024 * 1024
02774fc0c4 refactor: refine code
a52fb717b0 feat: readDevPluginPaths
dcd49f14a8 Release v2.9.25
eb8b7db228 Release v2.9.25
579dac8efe docs: update
ad80e6f13b docs: update README
06c5309963 Release v2.9.23
aed861e909 refactor: refine code
4cd8e3ee93 refactor: update set-global-proxy
8013144f48 docs: update README
402ca48378 Release v2.9.23
063957cfcc refactor: add set-global-proxy
722b3c8e98 refactor: use set-global-proxy instead of bin/proxy
d0ab05727a docs: brew install whistle
cb0a4cbaf8 chore: ignore .gitattributes
2d9c6d5e4c docs: update README
48f4081844 docs: update README
fdc73b0936 docs: update README
eb0aeb2f77 chore: refine code
b85d749842 refactor: refine code
858f6c0095 style: show lineProps
9ba7e1259a Release v2.9.22
4c0538ca5f refactor: refine code
b1cd8e795a feat: use lineProps:https://important to promote rule priority
d77ffb8f20 Release v2.9.22
372220b6c2 fix: rules order
370127c2bf style: refine editor
6f609a3a2f style: refine code
acddae5732 style: refine code
402aac4a34 style: rename collapse groups
c658dfa093 docs: add group name
7e15a96d48 refactor: move group
2ff17c5263 refactor: refine code
fe8ea59ac0 refactor: handle add rules & values
14a4554822 refactor: refine w2 add
17506d53d3 style: add the storage key of collapse groups
ddb17c4092 refactor: drag element to top
ee486d62da style: refine drag sort
870dc440ef style: refine curl
7244710f41 style: refine ui
23d9177918 refactor: refine code
f87b3552cd style: fix import Rules & Values
42e3efb4c5 style: refine ui
a73361d5ff Release v2.9.21
8600ec6be1 refactor: refine code
64457795db style: refine ui
53b859e542 refactor: refine code
f37717c178 feat: allow to create the member of group
c2905b2195 style: fix next & prev
c603a45348 style: refine ui
1ba42df2b9 style: add group icon
9071314300 style: refine ui
2397a42021 style: fix move group
862e461d54 feat: move group
23c273b082 style: refine create Rules & Values
89f24b4d34 style: add group
8a8b57c5c1 style: refine code
c1be0f7aef style: refine ui
7c4964f44e style: refine changed status
810fc8e4dc style: show the number of group chidren
b6ff74e1f2 style: refine context menu
f1e9601d67 style: collapse group
b97903746e refactor: add 30x log
c7d57a0930 refactor: refine code
0abfd6fc1e refactor: load remote rules
86420895ce refactor: refine http-mgr
9dc31d2743 style: refine context menu
b7f1e17659 style: refine code
ad3c529bdc style: refine ui
bea3f25de2 docs: swtichyomega
1e72530561 style: set group style
d6b7d997be style: add +Group button
61c472e55e style: refine ui
4071953fa3 style: add list group
46ab616650 refactor: refine code
1842fefaed Release v2.9.20
c2f84ab730 fix: resCors:https://*
35e0dd34f4 style: refine ui
9f288ca33f refactor: update pipestream
0d63f5ad87 docs: Node >= 8
45649e4e6a style: refine ui
4411ab6666 refactor: refine code
dd818316e5 refactor: refine parseRuleJson
2d9955a675 Release v2.9.19
510acb2448 refactor: refine code
ca30843baf refactor: allow to custom upgrade header
796c05f93c style: refine ui
dd0be9306e Release vv2.9.19
772f0c5529 refactor: refine code
b460ab3ecd fix: duplicate request
5a415f7366 style: refine code
ffade03110 fix: high severity vulnerabilities
6739ce6bf6 refactor: refine cli
0c207af5b3 refactor: refine code
1804ca68f5 refactor: refine code
64d5a543dd Release v2.9.19
5a13e813a7 feat: handle custom upgrade request
fc8e77ef17 feat: add WEBSOCKET method
ff396b38ed refactor: refine code
6232478f68 feat: allow custom headers.upgrade
c4098f3c48 docs: pc
df82e67318 docs: mobile
c46acee908 docs: iOS
06eec63763 docs: update
4e74e88dd3 docs: update whistle
11d471c3ec refactor: BIG_DATA_SIZE -> 10m
580f00ebfa refactor: refine code
079c88dc0e feat: inject Values to Rules
d5f1398c33 style: refine ui
13fbf7b8e4 Release v2.9.18
877bd8614a refactor: refine code
70050afc51 style: refine ui
e6912ad218 Release v2.9.18
37a0a10a69 feat: custom tools tab
2495ab10fd feat: add custom tabs of tools
81fc570cff feat: allow to custom tools tabs by plugin
f1301e0ae1 style: refine ui
1a99fd922d docs: update README
5956e2c3b8 Release v2.9.18
56da1a4845 style: refine ui
7e04bbae4f refactor: refine code
71b4beaa8f Release v2.9.18
08372a6d67 fix: transform client id
1f9e822ea7 docs: udpate quickstart
ed10a32ca1 docs: update quickstart
5accebe71b docs: update quickstart
a29ff61d2f docs: update README
c923b7d1b2 docs: update
f0d447f9b0 docs: quickstart
288f0b4e4c docs: update README
6b206fdae2 docs: update image
ff9cca3e13 docs: w2 start
36c63c915f docs: start
69fd35c2f0 docs: proxy & ca
0f78a6fc56 docs: remove unused
e126432194 refactor: refine code
99d8f19397 docs: refine icp
aec9811511 docs: refine wording
2f4d7325da docs: update
c8acfd0b9d refactor: check like json
2b96937450 docs: update
41813b67d0 docs: update feedback
32147716e9 docs: update README
5c61e0239d Release v2.9.17
e43c38e0e8 fix: drag problem
62d8c2ceab docs: update README
41f6de9af1 docs: update qrcode
9c9b494733 docs: update qrcode
444adb829a docs: refine docs
405f1c8ea8 docs: remove en
48ed958bca docs: add wx & zfb qrcode
e77924f5c0 docs: init
61124f29b0 docs: update README
2cb74532f6 docs: update introduction to whistle
0667320e2f refactor: refine isKeepClientId
b11e073dbd docs: init
ac249efaaa docs: update README
5dd81d6928 refactor: refine enable:https://clientId
0f549ce870 style: refine x-whistle-rule-value
daad5a4896 refactor: refine code
455f60bbd6 refactor: refine clientId
0a0bfecf51 docs: udpate README
9825d6ddc2 feat: read rule value from remote url
f7fee66c2c Release v2.9.16
bad79d75ef feat: parse authorization from url query
9ede422cb5 feat: add CGI to get the currently enabled rule
e2f8a58b4c feat: add cgi /rules?name=ruleName & /values?name=valueName
0946a8a336 style: refine ui
6a0c67a42a Release v2.9.16
bd9f413c71 feat: Repeat/Replay Times
d4b973de2f refactor: refine replay times
421b277684 feat: add context menu 'Replay Times'
47548e2dbd feat: the Composer supports concurrent requests
5ee0f063b8 refactor: setMaxReplayCount=100
01a7373c09 refactor: refine code
5e59ffbbca style: refine ui
458ad94ee1 docs: update install whistle
02633869bb docs: install whistle
e31333b70b docs: w2 ca
4c67a7da03 docs: w2 ca
f778235fae docs: proxy
eb03260773 refactor: refine code
2f7c10642c Release v2.9.15
f69fc0423f refactor: refine code
9995e83240 fix: add custom root info
b02b397980 refactor: refine code
835d6b071b feat: remove .cer & .pem cert files
da4fb5cfe4 feat: allow to upload .cer .pem cert files
a3acf8c209 feat: accept .cer, .pem cert file
4fde19832a style: change qrcode of root ca
6cfda632d6 style: custom root ca type
00030dbf14 refactor: refine code
aef6307625 feat: add persistentCapture mode
4348a69a45 refactor: add rootCA.pem
439b11b196 feat: auto enable capture
abc8b914bd chore: refine wording
4352e4972f refactor: refine code
35f3290e78 Release v2.9.15
d0bffb9a7a fix: is-utf8
9a1c6f01b6 Release v2.9.15
47e608969e chore: refine wording
b822bd677d feat: add cli option --init [bypass]
837ca85adf feat: w2 ca ...
2dedacd980 refactor: refine code
d60467db76 feat: parse w2 ca
dc1a9a3b86 feat: support process.env.WHISTLE_MODE
b3401e25f5 refactor: whistle needs to be started before installing the CA
d6ebf78eb8 feat(cli): w2 ca [filepath url host:port port ip]
b8e0ba7370 chore: refine tips
f6e7808d93 refactor: check ERROR_CANCELLED
2ca5078063 feat: init ca cli
9c21bd5b78 chore: refine tips
6301e87666 docs: proxy
6544ca8e80 docs: proxy
af583074db Release v2.9.14
68ba2286fb feat: set global proxy cli
970f861b67 feat: parse proxy argv
f805e07fec refactor: refine code
74bef46033 chore: system -> global
b73f98993c feat: add proxy cli
11b271e63c chore: add ts types
9c2ab0ff0a refactor: add unsupported platform tips
3ab30670b4 refactor: check proxy result
89c93bd3f8 fix: xss
c605597c75 refactor: add host to log info
2f2cf80acf feat: add whistleConfig.noOption
16af213498 chore: refine code
412c9861da chore: refine code
2d754eb3ce test: proxy api
c9510ccb26 refactor: refine code
f1ccd208a0 fix: ReinstallAll button
2b58111e6e refactor: refine cli
c59e38a42c feat: w2 proxy ...
b74e3a1a79 refactor: refine code
a5854af3a8 refactor: refine code
75e49097a2 fix: avwo/whistle#727
3518802179 refactor: update deps
18861cfd13 Release v2.9.13
c44731080d refactor: refine inline rule value
3e503783a0 docs: update
d0853c105c refactor: refine inline rule value
6fd6771d28 refactor: prevent request loop
b1de45def2 refactor: refine code
79f780cdf1 Release v2.9.12
cfb8bf9912 refactor: excludFilter:https://host=pattern
f7b8f29e1c fix: avwo/whistle#726
69fe41b2f3 refactor: add localhost to match <local>
361a6b9328 feat: excludeFilter:https://host=<local>
c6ae46e9b6 feat: xxxFilter:https://host=hostname or regexp
cccccca182 feat: lineProps:https://internalProxy
2038eea1b6 feat: enable:https://internalProxy
470350b566 refactor: refine https-proxy
7ba14385bb fix: httpH2 proxy
21da9d347f refactor: refine code
7fd7b81817 refactor: refine internal-https-proxy
5b63601ed9 refactor: internal-http-proxy === internal-proxy
aa34bb8a7b refactor: https2http-proxy === internal-proxy
8d0ae6c927 fix: plugin registry
d45edd367a refactor: refine proxyTunnel
97b7b9f251 refactor: refine code
7a73b9f802 Release v2.9.11
9838b63b36 refactor: refine code
693421e7fe refactor: add realHost
f22d3d9f0d Release v2.9.11
5115bd3563 refactor: handle websocket response
7e6410ff0d feat: -M showPluginReq
c1d9c9a888 refactor: refine code
5b48ceb9ae feat: support for accessing subprocess plugins
2a970a3d98 refactor: refine internal-proxy
8d410a5a68 Release v2.9.11
5bd2158231 refactor: refine code
1b31279f3d refactor: add req.origClientId
e6a72e34ff refactor: refine code
5f1f46bab7 refactor: refine code
09230f4c71 refactor: disable h2 is https2http
2ed1b9eace refactor: disable h2 is https2http
76d0085450 refactor: refine code
85664d2e66 feat: add tpl var ${RegExp.$x}
b8296bdb33 chore: add timestamp
124f2b7c08 refactor: refine code
f5d182ada7 feat: skip:https://protocol
5cad4fce51 style: refine code
839067d921 refactor: refine code
0d38b84e32 style: refine code
4cc9583506 Release v2.9.10
41f98d5187 docs: add skip
1ddffa02c7 feat: add skip protocol
d097eb4ab2 style: force update editor
7af11981a6 style: refine code
4d642fa938 fix: nodejs/node#42787
5302946bc2 docs: ignore:https://pattern=xxx ignore:https://operator=xxx
1fb2026740 Release v2.9.9
984f81b90e refactor: refine code
3ec9f0ecd3 feat: handle exact ignore rules
6289466958 feat: resolve exact ignore rules
a7a3d9e338 refactor: refine code
e963db02e3 feat: allow custom update plugin url
83e633eea4 style: refine ui
aa6774cefe style: refine code
78965b2ec7 feat: add syncData & syncRules & syncValues to custom menu api
a354a3ecf2 style: refine code
76ff0b9e80 feat: add syncData & syncRules & syncValues to custom menu api
f5ef7fd5b8 style: refine code
990a030d3b refactor: record history selected state
bf24030968 refactor: refine code
d24bf5ad5d style: rename button
1b891f3a4f style: refine code
9998147ddb refactor: refine code
4eb0005409 style: limit history count
230f01594e Release v2.9.9
5001f86b58 style: refine ui
e27100fd10 refactor: refine code
c1b8dca9b7 feat: add Rules & Values history
17add09954 style: refine ui
e75a28507b feat: options.getPlugins
5d5c67bbaa refactor: refine "w2 i url"
751877e4db chore: add ts types
0aad40f720 Release v2.9.8
889a0f554c feat: add config.notUninstallPluginPath
7ece985d78 refactor: refine code
f745ec00f7 feat: the customPluginPath will overwrite the build-in custom plugins
10d186bcc3 refactor: remove config.SYSTEM_PLUGIN_PATH
697350450a refactor: refine code
2cae9259f4 refactor: refine code
734d7bb099 Release v2.9.8
116341ca0a refactor: refine install dir
00df70bc35 feat: w2 i url
ff53f8fa0b Release v2.9.8
3a5412a5a2 refactor: refine tunnel data
be4763861f refactor: refine code
00ca2bc3b8 fix: handling websocket tunnel proxy data transfer
46c2253f07 fix: config.TEMP_CLIENT_ID_HEADER -> config.CLIENT_ID_HEADER
9d68301417 refactor: initProxy > initialize
9887d9dc6e refactor: refine code
18348fe64c feat: add extraUrl
2683a3cbb6 Release v2.9.7
3235aef8b4 fix: unable to fully display tunnel request data problem
b629fa6c5d refactor: refine code
a7620dcab1 uri.host -> uri.hostname
9a4bfe3e7d fix: isRexExp -> isRegExp
4c790c5ee9 style: make sure to preserve tab order
2770d6fa00 Release v2.9.7
63fc955f56 style: save the opened plugin tabs
2234ec939f refactor: set max_local_rules_length=256k
0ac4b7bb51 chore: & -> &&
a39dadd804 Release v2.9.6
5805150c43 fix: transform client id to plugin server
e80786ebce refactor: make sure the close event is fired only once
711040c3b7 refactor: refine code
702d552c3e Release v2.9.6
6997970906 refactor: handle end events
f9d28a77db fix: capture tunnel frames
62356aee97 style: refine plugin var hints
6a0fd7526c refactor: refine code
e822aa8924 refactor: auto remove duplicate plugin vars
642c97edaa style: refine rules mode
be51d407b9 feat: support %plugin.name=xxx
94a3e9a99d feat: custom content-type by x-whistle-response-type
4c5a1c93d8 style: set maxLength=256
659fe2cc7d feat: create root ca by ToolBox
c9a0b74193 fix: rules url regexp
1eecf7ceb9 feat: @$plugin/key
c2ed94bdeb Release v2.9.5
ace1224c2f refactor: refine code
e51b850a70 feat: add custom protocol
13c317c393 feat: allow display custom protcol by res.headers.x-whistle-transport-protocol
9ee5407279 style: refine code
f0dba8a5d3 feat: allow display custom protocol
fdef272908 chore: update node-forge
066b4284f1 style: show bound ip
2a73bc0881 refactor: check plugin name
f5d224931c feat: -M disableAuthUI
a5d403104f docs: update protocols
91f5f83ad4 chore: refine scripts
2930da5558 fix: file:https:///key
cc89a68698 test: remote values
7cd04e5b4f refactor: refine code
68f4b032f7 chore: add npm run lint to test cmd
15ee96db17 test: refine code
7547113b99 feat: add req info to remove values cgi
3ef4d22917 refactor: refine PLUGIN_KEY_RE
060e966f53 feat: add x-whistle-rule-proto
3c3217e87b refactor: avoid install plugins infinite loops
6c52d64342 refactor: refine code
c2726c7a9f refactor: install peer plugins
a331bf308e refactor: refine code
f3944759e6 style: refine ui
46f2b9b4db style: add toggle tree view button
4c69ffb117 feat: add accountPluginsPath option
60ad27b621 chore: add plugin.d.ts
ad06f510b3 refactor: refine code
15cab62b12 refactor: maxPeerPlugins = 15
62e73550b0 refactor: add cwd to projectPluginsPath
8b34f9b2f4 refactor: refine code
fe7df1eb27 refactor: export getWhistlePath
a324390f04 refactor: use common.getWhistlePath
56e6226dae refactor: refine code
64ef7cd0e6 refactor: refine code
d2c39f8526 refactor: add version & nodeVersion to session
7a69794d06 Release v2.9.4
0ae60e6a06 refactor: refine code
5ff6a0bee6 feat: allow to install peerPluginList
4feba4f14e fix: auth tunnel proxy

git-subtree-dir: vendor/whistle
git-subtree-split: 71c05db286d8eba56f33bf619f9a90055c839add
sylbru added a commit to sylbru/serve that referenced this issue Dec 7, 2022
In the output of `os.networkInterfaces()`, the `family` field in Node 18 has been changed from a string (`"IPv4"`) to an int (`4`). It’s an undocumented change ([there is an issue about it](nodejs/node#42787)) but it’s there in Node v18.1.0. 

This change supports both version of this field, improving compatibility.
yoursunny added a commit to yoursunny/NDNts that referenced this issue Jul 29, 2023
unworkaround nodejs/node#42787
unnecessary since Node v18.4.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
os Issues and PRs related to the os subsystem.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants