nlcurl 0.14.0 → 0.15.0
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/README.md +3 -2
- package/dist/cookies/psl-data.d.ts +2 -2
- package/dist/cookies/psl-data.d.ts.map +1 -1
- package/dist/cookies/psl-data.js +78 -11
- package/dist/cookies/psl-data.js.map +1 -1
- package/dist/cookies/public-suffix.d.ts.map +1 -1
- package/dist/cookies/public-suffix.js +41 -33
- package/dist/cookies/public-suffix.js.map +1 -1
- package/dist/core/session.d.ts.map +1 -1
- package/dist/core/session.js +2 -0
- package/dist/core/session.js.map +1 -1
- package/dist/core/validation.d.ts +9 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +18 -5
- package/dist/core/validation.js.map +1 -1
- package/dist/http/h1/encoder.d.ts.map +1 -1
- package/dist/http/h1/encoder.js +6 -0
- package/dist/http/h1/encoder.js.map +1 -1
- package/dist/http/h2/client.d.ts.map +1 -1
- package/dist/http/h2/client.js +6 -1
- package/dist/http/h2/client.js.map +1 -1
- package/dist/http/h2/hpack.d.ts.map +1 -1
- package/dist/http/h2/hpack.js +51 -31
- package/dist/http/h2/hpack.js.map +1 -1
- package/dist/http/negotiator.d.ts.map +1 -1
- package/dist/http/negotiator.js +1 -0
- package/dist/http/negotiator.js.map +1 -1
- package/dist/tls/stealth/handshake.js +6 -0
- package/dist/tls/stealth/handshake.js.map +1 -1
- package/dist/tls/stealth/tls12-handshake.d.ts.map +1 -1
- package/dist/tls/stealth/tls12-handshake.js +4 -0
- package/dist/tls/stealth/tls12-handshake.js.map +1 -1
- package/dist/utils/encoding.d.ts.map +1 -1
- package/dist/utils/encoding.js +11 -3
- package/dist/utils/encoding.js.map +1 -1
- package/dist/utils/happy-eyeballs.d.ts +7 -0
- package/dist/utils/happy-eyeballs.d.ts.map +1 -1
- package/dist/utils/happy-eyeballs.js +17 -1
- package/dist/utils/happy-eyeballs.js.map +1 -1
- package/dist/ws/frame.d.ts.map +1 -1
- package/dist/ws/frame.js +38 -3
- package/dist/ws/frame.js.map +1 -1
- package/package.json +6 -6
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@ For full API reference, configuration options, and advanced usage examples, plea
|
|
|
21
21
|
- **HSTS (RFC 6797)** — Automatic `http://` to `https://` upgrading with `includeSubDomains` support and configurable preload lists.
|
|
22
22
|
- **DNS-over-HTTPS (RFC 8484)** — Wire-format DoH with GET/POST methods, EDNS(0) with padding (RFC 6891/7830), bootstrap resolution, and integrated DNS caching.
|
|
23
23
|
- **HTTPS Resource Records (RFC 9460)** — SVCB/HTTPS DNS record resolution for ALPN hints, ECH config delivery, and address hints.
|
|
24
|
+
- **SSRF Protection** — Optional private/reserved IP and dangerous-port blocking, including redirect validation and DNS-resolved address filtering.
|
|
24
25
|
- **Proxy Support** — HTTP CONNECT tunneling, HTTPS proxies, SOCKS4/4a, and SOCKS5 with optional username/password authentication. Environment variable resolution (`HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY`).
|
|
25
26
|
- **WebSocket (RFC 6455)** — Full WebSocket client with TLS fingerprinting, per-message deflate compression (RFC 7692), control frame validation (≤125 bytes), ping/pong, and binary/text framing.
|
|
26
27
|
- **Server-Sent Events** — W3C EventSource-compliant SSE parser with streaming async generator interface, UTF-8 BOM stripping, and cross-chunk CRLF handling.
|
|
@@ -28,7 +29,7 @@ For full API reference, configuration options, and advanced usage examples, plea
|
|
|
28
29
|
- **Retry with Backoff** — Configurable automatic retry with linear or exponential backoff, jitter, `Retry-After` header respect, and custom retry predicates.
|
|
29
30
|
- **Rate Limiting** — Token-bucket rate limiter with configurable request quotas and automatic queuing.
|
|
30
31
|
- **Request Body Compression** — Outgoing body compression with gzip, deflate, and Brotli.
|
|
31
|
-
- **Response Decompression** — Automatic decompression of gzip, deflate, Brotli, and zstd (Node.js 20.10+) with multi-layer encoding support.
|
|
32
|
+
- **Response Decompression** — Automatic decompression of gzip, deflate, Brotli, and zstd (Node.js 20.10+) with multi-layer encoding support, ratio checks, and buffered output limits.
|
|
32
33
|
- **Happy Eyeballs v2 (RFC 8305)** — Dual-stack connection racing with 250ms stagger for optimal latency.
|
|
33
34
|
- **Alt-Svc (RFC 7838)** — HTTP Alternative Services tracking with automatic protocol upgrade preference.
|
|
34
35
|
- **FormData (RFC 7578)** — Multipart form-data encoding with file upload support.
|
|
@@ -183,4 +184,4 @@ NLcURL implements or references the following RFCs and standards:
|
|
|
183
184
|
|
|
184
185
|
## License
|
|
185
186
|
|
|
186
|
-
MIT
|
|
187
|
+
MIT
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Complete Mozilla Public Suffix List rules.
|
|
5
5
|
* Generated from: https://publicsuffix.org/list/public_suffix_list.dat
|
|
6
|
-
* Generated on: 2026-
|
|
7
|
-
* Total rules:
|
|
6
|
+
* Generated on: 2026-07-06T00:27:22.467Z
|
|
7
|
+
* Total rules: 10228
|
|
8
8
|
*
|
|
9
9
|
* To regenerate: npx tsx scripts/update-psl.ts
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"psl-data.d.ts","sourceRoot":"","sources":["../../src/cookies/psl-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"psl-data.d.ts","sourceRoot":"","sources":["../../src/cookies/psl-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,eAAO,MAAM,SAAS,EAAE,SAAS,MAAM,EAq/TtC,CAAC"}
|
package/dist/cookies/psl-data.js
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Complete Mozilla Public Suffix List rules.
|
|
5
5
|
* Generated from: https://publicsuffix.org/list/public_suffix_list.dat
|
|
6
|
-
* Generated on: 2026-
|
|
7
|
-
* Total rules:
|
|
6
|
+
* Generated on: 2026-07-06T00:27:22.467Z
|
|
7
|
+
* Total rules: 10228
|
|
8
8
|
*
|
|
9
9
|
* To regenerate: npx tsx scripts/update-psl.ts
|
|
10
10
|
*/
|
|
@@ -1093,6 +1093,7 @@ export const PSL_RULES = [
|
|
|
1093
1093
|
"video.hu",
|
|
1094
1094
|
"id",
|
|
1095
1095
|
"ac.id",
|
|
1096
|
+
"ai.id",
|
|
1096
1097
|
"biz.id",
|
|
1097
1098
|
"co.id",
|
|
1098
1099
|
"desa.id",
|
|
@@ -5501,8 +5502,6 @@ export const PSL_RULES = [
|
|
|
5501
5502
|
"lib.mt.us",
|
|
5502
5503
|
"cc.nc.us",
|
|
5503
5504
|
"lib.nc.us",
|
|
5504
|
-
"cc.nd.us",
|
|
5505
|
-
"lib.nd.us",
|
|
5506
5505
|
"cc.ne.us",
|
|
5507
5506
|
"lib.ne.us",
|
|
5508
5507
|
"cc.nh.us",
|
|
@@ -7854,6 +7853,7 @@ export const PSL_RULES = [
|
|
|
7854
7853
|
"eero-stage.online",
|
|
7855
7854
|
"opentunnel.xyz",
|
|
7856
7855
|
"antagonist.cloud",
|
|
7856
|
+
"claude.app",
|
|
7857
7857
|
"apigee.io",
|
|
7858
7858
|
"panel.dev",
|
|
7859
7859
|
"siiites.com",
|
|
@@ -7890,6 +7890,9 @@ export const PSL_RULES = [
|
|
|
7890
7890
|
"potager.org",
|
|
7891
7891
|
"sweetpepper.org",
|
|
7892
7892
|
"myasustor.com",
|
|
7893
|
+
"*.atlassian-3p.com",
|
|
7894
|
+
"*.atlassian-3p-us-gov-mod.com",
|
|
7895
|
+
"*.atlassian-isolated-3p.com",
|
|
7893
7896
|
"cdn.prod.atlassian-dev.net",
|
|
7894
7897
|
"myfritz.link",
|
|
7895
7898
|
"myfritz.net",
|
|
@@ -7949,10 +7952,12 @@ export const PSL_RULES = [
|
|
|
7949
7952
|
"cafjs.com",
|
|
7950
7953
|
"canva-apps.cn",
|
|
7951
7954
|
"my.canvasite.cn",
|
|
7955
|
+
"khsj.cn",
|
|
7952
7956
|
"canva-apps.com",
|
|
7953
7957
|
"canva-hosted-embed.com",
|
|
7954
7958
|
"canvacode.com",
|
|
7955
7959
|
"rice-labs.com",
|
|
7960
|
+
"canva.link",
|
|
7956
7961
|
"canva.run",
|
|
7957
7962
|
"my.canva.site",
|
|
7958
7963
|
"drr.ac",
|
|
@@ -8094,7 +8099,6 @@ export const PSL_RULES = [
|
|
|
8094
8099
|
"static-access.net",
|
|
8095
8100
|
"craft.me",
|
|
8096
8101
|
"realm.cz",
|
|
8097
|
-
"on.crisp.email",
|
|
8098
8102
|
"*.cryptonomic.net",
|
|
8099
8103
|
"cfolks.pl",
|
|
8100
8104
|
"cyon.link",
|
|
@@ -8132,6 +8136,9 @@ export const PSL_RULES = [
|
|
|
8132
8136
|
"deno-staging.dev",
|
|
8133
8137
|
"deno.net",
|
|
8134
8138
|
"sandbox.deno.net",
|
|
8139
|
+
"deployagent.com",
|
|
8140
|
+
"piebox.site",
|
|
8141
|
+
"deployagent.space",
|
|
8135
8142
|
"dedyn.io",
|
|
8136
8143
|
"deta.app",
|
|
8137
8144
|
"deta.dev",
|
|
@@ -8170,7 +8177,20 @@ export const PSL_RULES = [
|
|
|
8170
8177
|
"cc.cd",
|
|
8171
8178
|
"us.ci",
|
|
8172
8179
|
"de5.net",
|
|
8180
|
+
"dnshome.at",
|
|
8181
|
+
"resolve.bar",
|
|
8182
|
+
"ddns.berlin",
|
|
8183
|
+
"dnshome.cloud",
|
|
8184
|
+
"ddnssec.de",
|
|
8173
8185
|
"dnshome.de",
|
|
8186
|
+
"dyndnssec.de",
|
|
8187
|
+
"heimdns.de",
|
|
8188
|
+
"srvdns.de",
|
|
8189
|
+
"dnshome.eu",
|
|
8190
|
+
"dnshome.it",
|
|
8191
|
+
"dyn.now",
|
|
8192
|
+
"heimdns.online",
|
|
8193
|
+
"ddns.wtf",
|
|
8174
8194
|
"online.th",
|
|
8175
8195
|
"shop.th",
|
|
8176
8196
|
"co.scot",
|
|
@@ -8586,6 +8606,7 @@ export const PSL_RULES = [
|
|
|
8586
8606
|
"staging.expo.app",
|
|
8587
8607
|
"on.staging.expo.app",
|
|
8588
8608
|
"onfabrica.com",
|
|
8609
|
+
"fspages.org",
|
|
8589
8610
|
"ru.net",
|
|
8590
8611
|
"adygeya.ru",
|
|
8591
8612
|
"bashkiria.ru",
|
|
@@ -8877,6 +8898,7 @@ export const PSL_RULES = [
|
|
|
8877
8898
|
"whitesnow.jp",
|
|
8878
8899
|
"zombie.jp",
|
|
8879
8900
|
"heteml.net",
|
|
8901
|
+
"vibehost.space",
|
|
8880
8902
|
"graphic.design",
|
|
8881
8903
|
"goip.de",
|
|
8882
8904
|
"*.hosted.app",
|
|
@@ -8900,8 +8922,6 @@ export const PSL_RULES = [
|
|
|
8900
8922
|
"cloudfunctions.net",
|
|
8901
8923
|
"goupile.fr",
|
|
8902
8924
|
"pymnt.uk",
|
|
8903
|
-
"cloudapps.digital",
|
|
8904
|
-
"london.cloudapps.digital",
|
|
8905
8925
|
"gov.nl",
|
|
8906
8926
|
"grafana-dev.net",
|
|
8907
8927
|
"grayjayleagues.com",
|
|
@@ -8957,6 +8977,7 @@ export const PSL_RULES = [
|
|
|
8957
8977
|
"ltd.ng",
|
|
8958
8978
|
"ngo.ng",
|
|
8959
8979
|
"plc.ng",
|
|
8980
|
+
"hstgr.cloud",
|
|
8960
8981
|
"hostyhosting.io",
|
|
8961
8982
|
"hf.space",
|
|
8962
8983
|
"static.hf.space",
|
|
@@ -9130,6 +9151,15 @@ export const PSL_RULES = [
|
|
|
9130
9151
|
"webadorsite.com",
|
|
9131
9152
|
"jouwweb.site",
|
|
9132
9153
|
"js.org",
|
|
9154
|
+
"elastic.k2.cloud",
|
|
9155
|
+
"lb.ru-msk.k2.cloud",
|
|
9156
|
+
"s3.ru-msk.k2.cloud",
|
|
9157
|
+
"website.ru-msk.k2.cloud",
|
|
9158
|
+
"lb.ru-spb.k2.cloud",
|
|
9159
|
+
"s3.ru-spb.k2.cloud",
|
|
9160
|
+
"website.ru-spb.k2.cloud",
|
|
9161
|
+
"s3.k2.cloud",
|
|
9162
|
+
"website.k2.cloud",
|
|
9133
9163
|
"kaas.gg",
|
|
9134
9164
|
"khplay.nl",
|
|
9135
9165
|
"kapsi.fi",
|
|
@@ -9256,7 +9286,6 @@ export const PSL_RULES = [
|
|
|
9256
9286
|
"mwcloudnonprod.com",
|
|
9257
9287
|
"polyspace.com",
|
|
9258
9288
|
"mayfirst.info",
|
|
9259
|
-
"mayfirst.org",
|
|
9260
9289
|
"mcdir.me",
|
|
9261
9290
|
"mcdir.ru",
|
|
9262
9291
|
"vps.mcdir.ru",
|
|
@@ -9270,6 +9299,7 @@ export const PSL_RULES = [
|
|
|
9270
9299
|
"messerli.app",
|
|
9271
9300
|
"atmeta.com",
|
|
9272
9301
|
"apps.fbsbx.com",
|
|
9302
|
+
"*.metaaiusercontent.com",
|
|
9273
9303
|
"*.cloud.metacentrum.cz",
|
|
9274
9304
|
"custom.metacentrum.cz",
|
|
9275
9305
|
"flt.cloud.muni.cz",
|
|
@@ -9325,6 +9355,7 @@ export const PSL_RULES = [
|
|
|
9325
9355
|
"mittwaldserver.info",
|
|
9326
9356
|
"typo3server.info",
|
|
9327
9357
|
"project.space",
|
|
9358
|
+
"mkm.fan",
|
|
9328
9359
|
"mocha.app",
|
|
9329
9360
|
"mochausercontent.com",
|
|
9330
9361
|
"mocha-sandbox.dev",
|
|
@@ -9468,6 +9499,31 @@ export const PSL_RULES = [
|
|
|
9468
9499
|
"*.code.run",
|
|
9469
9500
|
"*.database.run",
|
|
9470
9501
|
"*.migration.run",
|
|
9502
|
+
"aberdeen.wa.us",
|
|
9503
|
+
"bainbridge-isl.wa.us",
|
|
9504
|
+
"bellevue.wa.us",
|
|
9505
|
+
"bremerton.wa.us",
|
|
9506
|
+
"centralia.wa.us",
|
|
9507
|
+
"chehalis.wa.us",
|
|
9508
|
+
"forks.wa.us",
|
|
9509
|
+
"gig-harbor.wa.us",
|
|
9510
|
+
"hoquiam.wa.us",
|
|
9511
|
+
"keyport.wa.us",
|
|
9512
|
+
"kingston.wa.us",
|
|
9513
|
+
"olympia.wa.us",
|
|
9514
|
+
"port-angeles.wa.us",
|
|
9515
|
+
"port-ludlow.wa.us",
|
|
9516
|
+
"port-orchard.wa.us",
|
|
9517
|
+
"port-townsend.wa.us",
|
|
9518
|
+
"poulsbo.wa.us",
|
|
9519
|
+
"redmond.wa.us",
|
|
9520
|
+
"renton.wa.us",
|
|
9521
|
+
"sea.wa.us",
|
|
9522
|
+
"seattle.wa.us",
|
|
9523
|
+
"sequim.wa.us",
|
|
9524
|
+
"shelton.wa.us",
|
|
9525
|
+
"silverdale.wa.us",
|
|
9526
|
+
"yarrow-point.wa.us",
|
|
9471
9527
|
"noticeable.news",
|
|
9472
9528
|
"notion.site",
|
|
9473
9529
|
"dnsking.ch",
|
|
@@ -9522,6 +9578,7 @@ export const PSL_RULES = [
|
|
|
9522
9578
|
"is-local.org",
|
|
9523
9579
|
"opensocial.site",
|
|
9524
9580
|
"*.oaiusercontent.com",
|
|
9581
|
+
"chatgpt.site",
|
|
9525
9582
|
"opencraft.hosting",
|
|
9526
9583
|
"16-b.it",
|
|
9527
9584
|
"32-b.it",
|
|
@@ -9548,7 +9605,6 @@ export const PSL_RULES = [
|
|
|
9548
9605
|
"ox.rs",
|
|
9549
9606
|
"oy.lc",
|
|
9550
9607
|
"pgfog.com",
|
|
9551
|
-
"pagexl.com",
|
|
9552
9608
|
"gotpantheon.com",
|
|
9553
9609
|
"pantheonsite.io",
|
|
9554
9610
|
"*.paywhirl.com",
|
|
@@ -9597,6 +9653,9 @@ export const PSL_RULES = [
|
|
|
9597
9653
|
"nyc.mn",
|
|
9598
9654
|
"*.cn.st",
|
|
9599
9655
|
"pubtls.org",
|
|
9656
|
+
"puter.app",
|
|
9657
|
+
"puter.site",
|
|
9658
|
+
"puter.work",
|
|
9600
9659
|
"pythonanywhere.com",
|
|
9601
9660
|
"eu.pythonanywhere.com",
|
|
9602
9661
|
"qa2.com",
|
|
@@ -9848,6 +9907,9 @@ export const PSL_RULES = [
|
|
|
9848
9907
|
"co.ua",
|
|
9849
9908
|
"pp.ua",
|
|
9850
9909
|
"as.sh.cn",
|
|
9910
|
+
"vicp.fun",
|
|
9911
|
+
"yicp.fun",
|
|
9912
|
+
"zicp.fun",
|
|
9851
9913
|
"sheezy.games",
|
|
9852
9914
|
"myshopblocks.com",
|
|
9853
9915
|
"myshopify.com",
|
|
@@ -10017,6 +10079,8 @@ export const PSL_RULES = [
|
|
|
10017
10079
|
"cust.testing.thingdust.io",
|
|
10018
10080
|
"reservd.testing.thingdust.io",
|
|
10019
10081
|
"tickets.io",
|
|
10082
|
+
"t3.storage.dev",
|
|
10083
|
+
"t3.storageapi.dev",
|
|
10020
10084
|
"arvo.network",
|
|
10021
10085
|
"azimuth.network",
|
|
10022
10086
|
"tlon.network",
|
|
@@ -10085,6 +10149,8 @@ export const PSL_RULES = [
|
|
|
10085
10149
|
"v-info.info",
|
|
10086
10150
|
"vistablog.ir",
|
|
10087
10151
|
"deus-canvas.com",
|
|
10152
|
+
"vivenushop.com",
|
|
10153
|
+
"vivenushop.dev",
|
|
10088
10154
|
"voorloper.cloud",
|
|
10089
10155
|
"*.vultrobjects.com",
|
|
10090
10156
|
"wafflecell.com",
|
|
@@ -10093,10 +10159,9 @@ export const PSL_RULES = [
|
|
|
10093
10159
|
"webflow.io",
|
|
10094
10160
|
"webflowtest.io",
|
|
10095
10161
|
"*.webhare.dev",
|
|
10096
|
-
"bookonline.app",
|
|
10097
10162
|
"hotelwithflight.com",
|
|
10098
|
-
"reserve-online.com",
|
|
10099
10163
|
"reserve-online.net",
|
|
10164
|
+
"book.online",
|
|
10100
10165
|
"cprapid.com",
|
|
10101
10166
|
"pleskns.com",
|
|
10102
10167
|
"wp2.host",
|
|
@@ -10164,6 +10229,8 @@ export const PSL_RULES = [
|
|
|
10164
10229
|
"zap.cloud",
|
|
10165
10230
|
"zeabur.app",
|
|
10166
10231
|
"*.zerops.app",
|
|
10232
|
+
"prg1-zerops.zone",
|
|
10233
|
+
"*.zerops.zone",
|
|
10167
10234
|
"bss.design",
|
|
10168
10235
|
"basicserver.io",
|
|
10169
10236
|
"virtualserver.io",
|