urlpurify 1.3.0 → 1.4.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 CHANGED
@@ -87,7 +87,10 @@ Enabled by default:
87
87
  | Unwrapper | Description |
88
88
  | --- | --- |
89
89
  | `unwrapBing` | Bing search-result redirect (www.bing.com/ck/a?u=a1\<base64url\>) |
90
+ | `unwrapAnonymTo` | anonym.to referrer anonymizer (anonym.to/?\<target\>) |
90
91
  | `unwrapBlueskyRedirect` | Bluesky outbound link redirect (go.bsky.app/redirect?u=\<target\>) |
92
+ | `unwrapCsdn` | CSDN external link redirect (link.csdn.net/?target=\<target\>) |
93
+ | `unwrapDeviantartOutgoing` | DeviantArt outbound link shim (deviantart.com/\<user\>/outgoing?\<target\>) |
91
94
  | `unwrapDisqus` | Disqus outbound link redirect (disq.us/?url=\<target\>) |
92
95
  | `unwrapDouban` | Douban external link redirect (www.douban.com/link2/?url=\<target\>) |
93
96
  | `unwrapFacebookShim` | Meta link shim (l.facebook.com / l.messenger.com /l.php?u=\<target\>) |
@@ -106,6 +109,7 @@ Enabled by default:
106
109
  | `unwrapMedium` | Medium outbound link redirect (medium.com/r/?url=\<target\>) |
107
110
  | `unwrapMozillaOutgoing` | Mozilla outgoing-link redirector (outgoing.prod.mozaws.net/v1/\<hash\>/\<target\>) |
108
111
  | `unwrapPocket` | Pocket redirect (getpocket.com/redirect?url=\<target\>) |
112
+ | `unwrapNaverOutgoing` | Naver outbound link redirect (cc.loginfra.com/...?u=\<target\>) |
109
113
  | `unwrapRedditOut` | Reddit outbound click tracker (out.reddit.com/?url=\<target\>) |
110
114
  | `unwrapSegmentfault` | Segmentfault external link redirect (link.segmentfault.com/?enc=\<base64\>) |
111
115
  | `unwrapSspai` | Sspai external link redirect (sspai.com/link?target=\<target\>) |
package/dist/defaults.js CHANGED
@@ -1,7 +1,10 @@
1
1
  import { trackingParamsLiterals } from "./tracking/literals.js";
2
2
  import { trackingParamsPatterns } from "./tracking/patterns.js";
3
+ import { unwrapAnonymTo } from "./unwraps/anonymTo.js";
3
4
  import { unwrapBing } from "./unwraps/bing.js";
4
5
  import { unwrapBlueskyRedirect } from "./unwraps/bsky.js";
6
+ import { unwrapCsdn } from "./unwraps/csdn.js";
7
+ import { unwrapDeviantartOutgoing } from "./unwraps/deviantartOutgoing.js";
5
8
  import { unwrapDisqus } from "./unwraps/disqus.js";
6
9
  import { unwrapDouban } from "./unwraps/douban.js";
7
10
  import { unwrapFacebookShim } from "./unwraps/facebook.js";
@@ -19,6 +22,7 @@ import { unwrapJianshuGo } from "./unwraps/jianshuGo.js";
19
22
  import { unwrapJuejin } from "./unwraps/juejin.js";
20
23
  import { unwrapMedium } from "./unwraps/medium.js";
21
24
  import { unwrapMozillaOutgoing } from "./unwraps/mozillaOutgoing.js";
25
+ import { unwrapNaverOutgoing } from "./unwraps/naverOutgoing.js";
22
26
  import { unwrapPocket } from "./unwraps/pocket.js";
23
27
  import { unwrapRedditOut } from "./unwraps/redditOut.js";
24
28
  import { unwrapSegmentfault } from "./unwraps/segmentfault.js";
@@ -51,6 +55,9 @@ const defaultUnwrappers = [
51
55
  unwrapRedditOut,
52
56
  unwrapBlueskyRedirect,
53
57
  unwrapDisqus,
58
+ unwrapAnonymTo,
59
+ unwrapDeviantartOutgoing,
60
+ unwrapNaverOutgoing,
54
61
  unwrapSteamLinkfilter,
55
62
  unwrapDouban,
56
63
  unwrapMedium,
@@ -61,6 +68,7 @@ const defaultUnwrappers = [
61
68
  unwrapJianshuGo,
62
69
  unwrapSegmentfault,
63
70
  unwrapGitee,
71
+ unwrapCsdn,
64
72
  unwrapHashnode,
65
73
  unwrapMozillaOutgoing
66
74
  ];
package/dist/index.d.ts CHANGED
@@ -7,10 +7,13 @@ import { unwrapAceml } from "./unwraps/aceml.js";
7
7
  import { unwrapAdjust } from "./unwraps/adjust.js";
8
8
  import { unwrapAmazonAffiliate } from "./unwraps/amazonAffiliate.js";
9
9
  import { unwrapAmpCache } from "./unwraps/ampCache.js";
10
+ import { unwrapAnonymTo } from "./unwraps/anonymTo.js";
10
11
  import { unwrapAwin } from "./unwraps/awin.js";
11
12
  import { unwrapBing } from "./unwraps/bing.js";
12
13
  import { unwrapBlueskyRedirect } from "./unwraps/bsky.js";
13
14
  import { unwrapCjNetwork } from "./unwraps/cjNetwork.js";
15
+ import { unwrapCsdn } from "./unwraps/csdn.js";
16
+ import { unwrapDeviantartOutgoing } from "./unwraps/deviantartOutgoing.js";
14
17
  import { unwrapDigidip } from "./unwraps/digidip.js";
15
18
  import { unwrapDisqus } from "./unwraps/disqus.js";
16
19
  import { unwrapDouban } from "./unwraps/douban.js";
@@ -48,6 +51,7 @@ import { unwrapMedium } from "./unwraps/medium.js";
48
51
  import { unwrapMimecast } from "./unwraps/mimecast.js";
49
52
  import { unwrapMozillaOutgoing } from "./unwraps/mozillaOutgoing.js";
50
53
  import { unwrapNarrativ } from "./unwraps/narrativ.js";
54
+ import { unwrapNaverOutgoing } from "./unwraps/naverOutgoing.js";
51
55
  import { unwrapNicoMs } from "./unwraps/nicoMs.js";
52
56
  import { unwrapOutlookSafelinks } from "./unwraps/outlookSafelinks.js";
53
57
  import { unwrapPartnerAds } from "./unwraps/partnerAds.js";
@@ -81,4 +85,4 @@ import { unwrapYandexTurbo } from "./unwraps/yandexTurbo.js";
81
85
  import { unwrapYouTube } from "./unwraps/youtube.js";
82
86
  import { unwrapZhihu } from "./unwraps/zhihu.js";
83
87
  import { ParamExtractorConfig, createParamExtractor } from "./utils.js";
84
- export { type CleanUrlOptions, type ParamExtractorConfig, type TrackingParam, type UrlUnwrapper, cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrapAceml, unwrapAdjust, unwrapAmazonAffiliate, unwrapAmpCache, unwrapAwin, unwrapBing, unwrapBlueskyRedirect, unwrapCjNetwork, unwrapDigidip, unwrapDisqus, unwrapDouban, unwrapDuckduckgo, unwrapEbayRover, unwrapEffiliation, unwrapEmbedly, unwrapFacebookShim, unwrapFeedsportal, unwrapFirebaseDynamicLinks, unwrapFlipboard, unwrapGateSc, unwrapGeoriot, unwrapGitee, unwrapGoogle, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapHashnode, unwrapHrefLi, unwrapIcptrack, unwrapIdealoPartner, unwrapInstagramShim, unwrapJianshuGo, unwrapJuejin, unwrapLeverAnalytics, unwrapLinksynergy, unwrapMailchimp, unwrapMailpanion, unwrapMailpgn, unwrapMailtrack, unwrapMedium, unwrapMimecast, unwrapMozillaOutgoing, unwrapNarrativ, unwrapNicoMs, unwrapOutlookSafelinks, unwrapPartnerAds, unwrapPocket, unwrapPostmark, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPxf, unwrapRecruitics, unwrapRedditOut, unwrapRedirectingat, unwrapSegmentfault, unwrapShareasale, unwrapSjv, unwrapSkimlinks, unwrapSlack, unwrapSmartredirect, unwrapSspai, unwrapSteamLinkfilter, unwrapTelegramIv, unwrapThreadsShim, unwrapTradedoubler, unwrapTumblr, unwrapUrl, unwrapValuecommerce, unwrapViglink, unwrapVkAway, unwrapWebArchive, unwrapYahooSearch, unwrapYandexTurbo, unwrapYouTube, unwrapZhihu };
88
+ export { type CleanUrlOptions, type ParamExtractorConfig, type TrackingParam, type UrlUnwrapper, cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrapAceml, unwrapAdjust, unwrapAmazonAffiliate, unwrapAmpCache, unwrapAnonymTo, unwrapAwin, unwrapBing, unwrapBlueskyRedirect, unwrapCjNetwork, unwrapCsdn, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDisqus, unwrapDouban, unwrapDuckduckgo, unwrapEbayRover, unwrapEffiliation, unwrapEmbedly, unwrapFacebookShim, unwrapFeedsportal, unwrapFirebaseDynamicLinks, unwrapFlipboard, unwrapGateSc, unwrapGeoriot, unwrapGitee, unwrapGoogle, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapHashnode, unwrapHrefLi, unwrapIcptrack, unwrapIdealoPartner, unwrapInstagramShim, unwrapJianshuGo, unwrapJuejin, unwrapLeverAnalytics, unwrapLinksynergy, unwrapMailchimp, unwrapMailpanion, unwrapMailpgn, unwrapMailtrack, unwrapMedium, unwrapMimecast, unwrapMozillaOutgoing, unwrapNarrativ, unwrapNaverOutgoing, unwrapNicoMs, unwrapOutlookSafelinks, unwrapPartnerAds, unwrapPocket, unwrapPostmark, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPxf, unwrapRecruitics, unwrapRedditOut, unwrapRedirectingat, unwrapSegmentfault, unwrapShareasale, unwrapSjv, unwrapSkimlinks, unwrapSlack, unwrapSmartredirect, unwrapSspai, unwrapSteamLinkfilter, unwrapTelegramIv, unwrapThreadsShim, unwrapTradedoubler, unwrapTumblr, unwrapUrl, unwrapValuecommerce, unwrapViglink, unwrapVkAway, unwrapWebArchive, unwrapYahooSearch, unwrapYandexTurbo, unwrapYouTube, unwrapZhihu };
package/dist/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import { trackingParamsLiterals } from "./tracking/literals.js";
2
2
  import { trackingParamsPatterns } from "./tracking/patterns.js";
3
+ import { unwrapAnonymTo } from "./unwraps/anonymTo.js";
3
4
  import { createParamExtractor } from "./utils.js";
4
5
  import { unwrapBing } from "./unwraps/bing.js";
5
6
  import { unwrapBlueskyRedirect } from "./unwraps/bsky.js";
7
+ import { unwrapCsdn } from "./unwraps/csdn.js";
8
+ import { unwrapDeviantartOutgoing } from "./unwraps/deviantartOutgoing.js";
6
9
  import { unwrapDisqus } from "./unwraps/disqus.js";
7
10
  import { unwrapDouban } from "./unwraps/douban.js";
8
11
  import { unwrapFacebookShim } from "./unwraps/facebook.js";
@@ -20,6 +23,7 @@ import { unwrapJianshuGo } from "./unwraps/jianshuGo.js";
20
23
  import { unwrapJuejin } from "./unwraps/juejin.js";
21
24
  import { unwrapMedium } from "./unwraps/medium.js";
22
25
  import { unwrapMozillaOutgoing } from "./unwraps/mozillaOutgoing.js";
26
+ import { unwrapNaverOutgoing } from "./unwraps/naverOutgoing.js";
23
27
  import { unwrapPocket } from "./unwraps/pocket.js";
24
28
  import { unwrapRedditOut } from "./unwraps/redditOut.js";
25
29
  import { unwrapSegmentfault } from "./unwraps/segmentfault.js";
@@ -80,4 +84,4 @@ import { unwrapValuecommerce } from "./unwraps/valuecommerce.js";
80
84
  import { unwrapViglink } from "./unwraps/viglink.js";
81
85
  import { unwrapWebArchive } from "./unwraps/webArchive.js";
82
86
  import { unwrapYandexTurbo } from "./unwraps/yandexTurbo.js";
83
- export { cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrapAceml, unwrapAdjust, unwrapAmazonAffiliate, unwrapAmpCache, unwrapAwin, unwrapBing, unwrapBlueskyRedirect, unwrapCjNetwork, unwrapDigidip, unwrapDisqus, unwrapDouban, unwrapDuckduckgo, unwrapEbayRover, unwrapEffiliation, unwrapEmbedly, unwrapFacebookShim, unwrapFeedsportal, unwrapFirebaseDynamicLinks, unwrapFlipboard, unwrapGateSc, unwrapGeoriot, unwrapGitee, unwrapGoogle, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapHashnode, unwrapHrefLi, unwrapIcptrack, unwrapIdealoPartner, unwrapInstagramShim, unwrapJianshuGo, unwrapJuejin, unwrapLeverAnalytics, unwrapLinksynergy, unwrapMailchimp, unwrapMailpanion, unwrapMailpgn, unwrapMailtrack, unwrapMedium, unwrapMimecast, unwrapMozillaOutgoing, unwrapNarrativ, unwrapNicoMs, unwrapOutlookSafelinks, unwrapPartnerAds, unwrapPocket, unwrapPostmark, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPxf, unwrapRecruitics, unwrapRedditOut, unwrapRedirectingat, unwrapSegmentfault, unwrapShareasale, unwrapSjv, unwrapSkimlinks, unwrapSlack, unwrapSmartredirect, unwrapSspai, unwrapSteamLinkfilter, unwrapTelegramIv, unwrapThreadsShim, unwrapTradedoubler, unwrapTumblr, unwrapUrl, unwrapValuecommerce, unwrapViglink, unwrapVkAway, unwrapWebArchive, unwrapYahooSearch, unwrapYandexTurbo, unwrapYouTube, unwrapZhihu };
87
+ export { cleanUrl, createParamExtractor, defaultTrackingParams, defaultUnwrappers, stripTrackingParams, trackingParamsLiterals, trackingParamsPatterns, unwrapAceml, unwrapAdjust, unwrapAmazonAffiliate, unwrapAmpCache, unwrapAnonymTo, unwrapAwin, unwrapBing, unwrapBlueskyRedirect, unwrapCjNetwork, unwrapCsdn, unwrapDeviantartOutgoing, unwrapDigidip, unwrapDisqus, unwrapDouban, unwrapDuckduckgo, unwrapEbayRover, unwrapEffiliation, unwrapEmbedly, unwrapFacebookShim, unwrapFeedsportal, unwrapFirebaseDynamicLinks, unwrapFlipboard, unwrapGateSc, unwrapGeoriot, unwrapGitee, unwrapGoogle, unwrapGoogleAmpViewer, unwrapGoogleNews, unwrapGoogleNewsModern, unwrapGoogleScholar, unwrapGoogleTranslate, unwrapHashnode, unwrapHrefLi, unwrapIcptrack, unwrapIdealoPartner, unwrapInstagramShim, unwrapJianshuGo, unwrapJuejin, unwrapLeverAnalytics, unwrapLinksynergy, unwrapMailchimp, unwrapMailpanion, unwrapMailpgn, unwrapMailtrack, unwrapMedium, unwrapMimecast, unwrapMozillaOutgoing, unwrapNarrativ, unwrapNaverOutgoing, unwrapNicoMs, unwrapOutlookSafelinks, unwrapPartnerAds, unwrapPocket, unwrapPostmark, unwrapProofpointV1, unwrapProofpointV2, unwrapProofpointV3, unwrapPxf, unwrapRecruitics, unwrapRedditOut, unwrapRedirectingat, unwrapSegmentfault, unwrapShareasale, unwrapSjv, unwrapSkimlinks, unwrapSlack, unwrapSmartredirect, unwrapSspai, unwrapSteamLinkfilter, unwrapTelegramIv, unwrapThreadsShim, unwrapTradedoubler, unwrapTumblr, unwrapUrl, unwrapValuecommerce, unwrapViglink, unwrapVkAway, unwrapWebArchive, unwrapYahooSearch, unwrapYandexTurbo, unwrapYouTube, unwrapZhihu };
@@ -165,6 +165,7 @@ const trackingParamsLiterals = [
165
165
  "hmb_campaign",
166
166
  "hmb_medium",
167
167
  "hmb_source",
168
+ "ck_subscriber_id",
168
169
  "ml_subscriber",
169
170
  "ml_subscriber_hash",
170
171
  "oly_anon_id",
@@ -0,0 +1,6 @@
1
+ import { UrlUnwrapper } from "../types.js";
2
+
3
+ //#region src/unwraps/anonymTo.d.ts
4
+ declare const unwrapAnonymTo: UrlUnwrapper;
5
+ //#endregion
6
+ export { unwrapAnonymTo };
@@ -0,0 +1,7 @@
1
+ //#region src/unwraps/anonymTo.ts
2
+ const unwrapAnonymTo = (url) => {
3
+ if (url.hostname !== "anonym.to" && url.hostname !== "www.anonym.to") return;
4
+ return url.search.slice(1) || void 0;
5
+ };
6
+ //#endregion
7
+ export { unwrapAnonymTo };
@@ -0,0 +1,6 @@
1
+ import { UrlUnwrapper } from "../types.js";
2
+
3
+ //#region src/unwraps/csdn.d.ts
4
+ declare const unwrapCsdn: UrlUnwrapper;
5
+ //#endregion
6
+ export { unwrapCsdn };
@@ -0,0 +1,8 @@
1
+ import { createParamExtractor } from "../utils.js";
2
+ //#region src/unwraps/csdn.ts
3
+ const unwrapCsdn = createParamExtractor({
4
+ hosts: "link.csdn.net",
5
+ params: ["target"]
6
+ });
7
+ //#endregion
8
+ export { unwrapCsdn };
@@ -0,0 +1,6 @@
1
+ import { UrlUnwrapper } from "../types.js";
2
+
3
+ //#region src/unwraps/deviantartOutgoing.d.ts
4
+ declare const unwrapDeviantartOutgoing: UrlUnwrapper;
5
+ //#endregion
6
+ export { unwrapDeviantartOutgoing };
@@ -0,0 +1,7 @@
1
+ //#region src/unwraps/deviantartOutgoing.ts
2
+ const unwrapDeviantartOutgoing = (url) => {
3
+ if (!url.hostname.endsWith("deviantart.com") || !url.pathname.endsWith("/outgoing")) return;
4
+ return url.search.slice(1) || void 0;
5
+ };
6
+ //#endregion
7
+ export { unwrapDeviantartOutgoing };
@@ -0,0 +1,6 @@
1
+ import { UrlUnwrapper } from "../types.js";
2
+
3
+ //#region src/unwraps/naverOutgoing.d.ts
4
+ declare const unwrapNaverOutgoing: UrlUnwrapper;
5
+ //#endregion
6
+ export { unwrapNaverOutgoing };
@@ -0,0 +1,8 @@
1
+ import { createParamExtractor } from "../utils.js";
2
+ //#region src/unwraps/naverOutgoing.ts
3
+ const unwrapNaverOutgoing = createParamExtractor({
4
+ hosts: "cc.loginfra.com",
5
+ params: ["u"]
6
+ });
7
+ //#endregion
8
+ export { unwrapNaverOutgoing };
package/package.json CHANGED
@@ -38,9 +38,9 @@
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/bun": "^1.3.14",
41
- "kvalita": "^1.15.0",
41
+ "kvalita": "^1.17.2",
42
42
  "trousse": "^1.0.0",
43
43
  "tsdown": "^0.22.2"
44
44
  },
45
- "version": "1.3.0"
45
+ "version": "1.4.0"
46
46
  }