urlpurify 1.5.0 → 1.6.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/README.md +48 -66
- package/dist/clean.mjs +65 -16
- package/dist/defaults.d.mts +10 -0
- package/dist/defaults.mjs +742 -25
- package/dist/index.d.mts +304 -5
- package/dist/index.mjs +337 -38
- package/dist/node_modules/trousse/dist/matching.mjs +6 -2
- package/dist/node_modules/trousse/dist/urls.mjs +159 -10
- package/dist/pathTarget.mjs +14 -0
- package/dist/unwraps/12ft.d.mts +4 -0
- package/dist/unwraps/12ft.mjs +9 -0
- package/dist/unwraps/2performant.d.mts +4 -0
- package/dist/unwraps/2performant.mjs +9 -0
- package/dist/unwraps/4pda.d.mts +4 -0
- package/dist/unwraps/4pda.mjs +13 -0
- package/dist/unwraps/a8Net.d.mts +4 -0
- package/dist/unwraps/a8Net.mjs +23 -0
- package/dist/unwraps/aboutCom.d.mts +4 -0
- package/dist/unwraps/aboutCom.mjs +17 -0
- package/dist/unwraps/acast.d.mts +4 -0
- package/dist/unwraps/acast.mjs +10 -0
- package/dist/unwraps/accesstrade.d.mts +4 -0
- package/dist/unwraps/accesstrade.mjs +18 -0
- package/dist/unwraps/aceml.mjs +6 -1
- package/dist/unwraps/adcell.d.mts +4 -0
- package/dist/unwraps/adcell.mjs +13 -0
- package/dist/unwraps/adfly.d.mts +4 -0
- package/dist/unwraps/adfly.mjs +16 -0
- package/dist/unwraps/adjust.mjs +25 -4
- package/dist/unwraps/admitad.d.mts +4 -0
- package/dist/unwraps/admitad.mjs +29 -0
- package/dist/unwraps/adrecord.d.mts +4 -0
- package/dist/unwraps/adrecord.mjs +9 -0
- package/dist/unwraps/adtraction.d.mts +4 -0
- package/dist/unwraps/adtraction.mjs +9 -0
- package/dist/unwraps/affilae.d.mts +4 -0
- package/dist/unwraps/affilae.mjs +8 -0
- package/dist/unwraps/affiliateFuture.d.mts +4 -0
- package/dist/unwraps/affiliateFuture.mjs +9 -0
- package/dist/unwraps/affiliatesOne.d.mts +4 -0
- package/dist/unwraps/affiliatesOne.mjs +39 -0
- package/dist/unwraps/aliexpress.d.mts +4 -0
- package/dist/unwraps/aliexpress.mjs +9 -0
- package/dist/unwraps/aliyun.d.mts +4 -0
- package/dist/unwraps/aliyun.mjs +9 -0
- package/dist/unwraps/allblog.d.mts +4 -0
- package/dist/unwraps/allblog.mjs +10 -0
- package/dist/unwraps/amazonAffiliate.mjs +16 -1
- package/dist/unwraps/amazonSes.d.mts +4 -0
- package/dist/unwraps/amazonSes.mjs +14 -0
- package/dist/unwraps/ampCache.mjs +12 -6
- package/dist/unwraps/anchor.d.mts +4 -0
- package/dist/unwraps/anchor.mjs +15 -0
- package/dist/unwraps/anonymTo.mjs +4 -1
- package/dist/unwraps/anonymouse.d.mts +4 -0
- package/dist/unwraps/anonymouse.mjs +12 -0
- package/dist/unwraps/appsflyerOnelink.d.mts +4 -0
- package/dist/unwraps/appsflyerOnelink.mjs +13 -0
- package/dist/unwraps/apptrkr.d.mts +4 -0
- package/dist/unwraps/apptrkr.mjs +13 -0
- package/dist/unwraps/archiveToday.d.mts +4 -0
- package/dist/unwraps/archiveToday.mjs +24 -0
- package/dist/unwraps/arquivo.d.mts +4 -0
- package/dist/unwraps/arquivo.mjs +12 -0
- package/dist/unwraps/arttrack.d.mts +4 -0
- package/dist/unwraps/arttrack.mjs +10 -0
- package/dist/unwraps/arxiv.d.mts +4 -0
- package/dist/unwraps/arxiv.mjs +9 -0
- package/dist/unwraps/ask.d.mts +4 -0
- package/dist/unwraps/ask.mjs +14 -0
- package/dist/unwraps/augure.d.mts +4 -0
- package/dist/unwraps/augure.mjs +28 -0
- package/dist/unwraps/ausha.d.mts +4 -0
- package/dist/unwraps/ausha.mjs +10 -0
- package/dist/unwraps/avantlink.d.mts +4 -0
- package/dist/unwraps/avantlink.mjs +13 -0
- package/dist/unwraps/awesound.d.mts +4 -0
- package/dist/unwraps/awesound.mjs +10 -0
- package/dist/unwraps/awin.mjs +10 -2
- package/dist/unwraps/axigen.d.mts +4 -0
- package/dist/unwraps/axigen.mjs +11 -0
- package/dist/unwraps/babyblog.d.mts +4 -0
- package/dist/unwraps/babyblog.mjs +9 -0
- package/dist/unwraps/bacLacWebArchive.d.mts +4 -0
- package/dist/unwraps/bacLacWebArchive.mjs +12 -0
- package/dist/unwraps/bale.d.mts +4 -0
- package/dist/unwraps/bale.mjs +9 -0
- package/dist/unwraps/bananatag.d.mts +4 -0
- package/dist/unwraps/bananatag.mjs +17 -0
- package/dist/unwraps/barracudaLinkProtect.d.mts +4 -0
- package/dist/unwraps/barracudaLinkProtect.mjs +9 -0
- package/dist/unwraps/big5Gate.d.mts +4 -0
- package/dist/unwraps/big5Gate.mjs +11 -0
- package/dist/unwraps/bing.mjs +19 -4
- package/dist/unwraps/bingAds.d.mts +4 -0
- package/dist/unwraps/bingAds.mjs +18 -0
- package/dist/unwraps/bitrix.d.mts +4 -0
- package/dist/unwraps/bitrix.mjs +14 -0
- package/dist/unwraps/bitrixBanner.d.mts +4 -0
- package/dist/unwraps/bitrixBanner.mjs +8 -0
- package/dist/unwraps/bizrate.d.mts +4 -0
- package/dist/unwraps/bizrate.mjs +9 -0
- package/dist/unwraps/blubrry.d.mts +4 -0
- package/dist/unwraps/blubrry.mjs +15 -0
- package/dist/unwraps/bolPartner.d.mts +4 -0
- package/dist/unwraps/bolPartner.mjs +13 -0
- package/dist/unwraps/bridgyFed.d.mts +4 -0
- package/dist/unwraps/bridgyFed.mjs +16 -0
- package/dist/unwraps/businessWire.d.mts +4 -0
- package/dist/unwraps/businessWire.mjs +9 -0
- package/dist/unwraps/button.d.mts +4 -0
- package/dist/unwraps/button.mjs +13 -0
- package/dist/unwraps/buyAt.d.mts +4 -0
- package/dist/unwraps/buyAt.mjs +13 -0
- package/dist/unwraps/buybox.d.mts +4 -0
- package/dist/unwraps/buybox.mjs +13 -0
- package/dist/unwraps/buzzstream.d.mts +4 -0
- package/dist/unwraps/buzzstream.mjs +13 -0
- package/dist/unwraps/bytedance.d.mts +4 -0
- package/dist/unwraps/bytedance.mjs +9 -0
- package/dist/unwraps/cake.d.mts +4 -0
- package/dist/unwraps/cake.mjs +11 -0
- package/dist/unwraps/calendly.d.mts +4 -0
- package/dist/unwraps/calendly.mjs +9 -0
- package/dist/unwraps/canva.d.mts +4 -0
- package/dist/unwraps/canva.mjs +9 -0
- package/dist/unwraps/castPlus.d.mts +4 -0
- package/dist/unwraps/castPlus.mjs +10 -0
- package/dist/unwraps/ccbill.d.mts +4 -0
- package/dist/unwraps/ccbill.mjs +9 -0
- package/dist/unwraps/chartable.d.mts +4 -0
- package/dist/unwraps/chartable.mjs +11 -0
- package/dist/unwraps/checkPointHarmony.d.mts +4 -0
- package/dist/unwraps/checkPointHarmony.mjs +25 -0
- package/dist/unwraps/chitika.d.mts +4 -0
- package/dist/unwraps/chitika.mjs +9 -0
- package/dist/unwraps/ciscoSecureWeb.d.mts +4 -0
- package/dist/unwraps/ciscoSecureWeb.mjs +16 -0
- package/dist/unwraps/cjNetwork.mjs +41 -12
- package/dist/unwraps/claritas.d.mts +4 -0
- package/dist/unwraps/claritas.mjs +11 -0
- package/dist/unwraps/cleverbridge.d.mts +4 -0
- package/dist/unwraps/cleverbridge.mjs +12 -0
- package/dist/unwraps/clevercomm.d.mts +4 -0
- package/dist/unwraps/clevercomm.mjs +9 -0
- package/dist/unwraps/cloudhq.d.mts +4 -0
- package/dist/unwraps/cloudhq.mjs +13 -0
- package/dist/unwraps/cloze.d.mts +4 -0
- package/dist/unwraps/cloze.mjs +12 -0
- package/dist/unwraps/cohst.d.mts +4 -0
- package/dist/unwraps/cohst.mjs +10 -0
- package/dist/unwraps/commissionFactory.d.mts +4 -0
- package/dist/unwraps/commissionFactory.mjs +13 -0
- package/dist/unwraps/communicationads.d.mts +4 -0
- package/dist/unwraps/communicationads.mjs +9 -0
- package/dist/unwraps/constantContact.d.mts +4 -0
- package/dist/unwraps/constantContact.mjs +9 -0
- package/dist/unwraps/contactMonkey.d.mts +4 -0
- package/dist/unwraps/contactMonkey.mjs +12 -0
- package/dist/unwraps/convertiser.d.mts +4 -0
- package/dist/unwraps/convertiser.mjs +13 -0
- package/dist/unwraps/csdn.mjs +1 -0
- package/dist/unwraps/cse360.d.mts +4 -0
- package/dist/unwraps/cse360.mjs +17 -0
- package/dist/unwraps/cuelinks.d.mts +4 -0
- package/dist/unwraps/cuelinks.mjs +9 -0
- package/dist/unwraps/dasBlog.d.mts +4 -0
- package/dist/unwraps/dasBlog.mjs +11 -0
- package/dist/unwraps/datalifeEngine.d.mts +4 -0
- package/dist/unwraps/datalifeEngine.mjs +14 -0
- package/dist/unwraps/deployer.d.mts +4 -0
- package/dist/unwraps/deployer.mjs +18 -0
- package/dist/unwraps/derefMail.d.mts +4 -0
- package/dist/unwraps/derefMail.mjs +61 -0
- package/dist/unwraps/deviantartOutgoing.mjs +3 -2
- package/dist/unwraps/digidip.mjs +6 -1
- package/dist/unwraps/digikala.d.mts +4 -0
- package/dist/unwraps/digikala.mjs +13 -0
- package/dist/unwraps/directMail.d.mts +4 -0
- package/dist/unwraps/directMail.mjs +17 -0
- package/dist/unwraps/disqus.mjs +6 -1
- package/dist/unwraps/dmmAffiliate.d.mts +4 -0
- package/dist/unwraps/dmmAffiliate.mjs +13 -0
- package/dist/unwraps/dognet.d.mts +4 -0
- package/dist/unwraps/dognet.mjs +9 -0
- package/dist/unwraps/douban.mjs +5 -1
- package/dist/unwraps/dropbox.d.mts +4 -0
- package/dist/unwraps/dropbox.mjs +22 -0
- package/dist/unwraps/dstats.d.mts +4 -0
- package/dist/unwraps/dstats.mjs +21 -0
- package/dist/unwraps/duckduckgo.mjs +1 -1
- package/dist/unwraps/duckduckgoAds.d.mts +4 -0
- package/dist/unwraps/duckduckgoAds.mjs +9 -0
- package/dist/unwraps/duomai.d.mts +4 -0
- package/dist/unwraps/duomai.mjs +9 -0
- package/dist/unwraps/dyn.d.mts +4 -0
- package/dist/unwraps/dyn.mjs +9 -0
- package/dist/unwraps/dzen.d.mts +4 -0
- package/dist/unwraps/dzen.mjs +9 -0
- package/dist/unwraps/eClick.d.mts +4 -0
- package/dist/unwraps/eClick.mjs +13 -0
- package/dist/unwraps/easyMarketing.d.mts +4 -0
- package/dist/unwraps/easyMarketing.mjs +20 -0
- package/dist/unwraps/ebayRover.mjs +10 -3
- package/dist/unwraps/ebuzzing.d.mts +4 -0
- package/dist/unwraps/ebuzzing.mjs +20 -0
- package/dist/unwraps/edgepilot.d.mts +4 -0
- package/dist/unwraps/edgepilot.mjs +13 -0
- package/dist/unwraps/effiliation.mjs +7 -2
- package/dist/unwraps/ehub.d.mts +4 -0
- package/dist/unwraps/ehub.mjs +9 -0
- package/dist/unwraps/elasticEmail.d.mts +4 -0
- package/dist/unwraps/elasticEmail.mjs +11 -0
- package/dist/unwraps/embedly.mjs +2 -1
- package/dist/unwraps/epn.d.mts +4 -0
- package/dist/unwraps/epn.mjs +19 -0
- package/dist/unwraps/esva.d.mts +4 -0
- package/dist/unwraps/esva.mjs +9 -0
- package/dist/unwraps/eulerian.d.mts +4 -0
- package/dist/unwraps/eulerian.mjs +12 -0
- package/dist/unwraps/evernote.d.mts +4 -0
- package/dist/unwraps/evernote.mjs +9 -0
- package/dist/unwraps/exciteTranslate.d.mts +4 -0
- package/dist/unwraps/exciteTranslate.mjs +17 -0
- package/dist/unwraps/expediaAffiliate.d.mts +4 -0
- package/dist/unwraps/expediaAffiliate.mjs +9 -0
- package/dist/unwraps/facebook.mjs +48 -3
- package/dist/unwraps/fanbridge.d.mts +4 -0
- package/dist/unwraps/fanbridge.mjs +9 -0
- package/dist/unwraps/federatedMedia.d.mts +4 -0
- package/dist/unwraps/federatedMedia.mjs +9 -0
- package/dist/unwraps/feedStatistics.d.mts +4 -0
- package/dist/unwraps/feedStatistics.mjs +12 -0
- package/dist/unwraps/feedblitz.d.mts +4 -0
- package/dist/unwraps/feedblitz.mjs +12 -0
- package/dist/unwraps/finalsite.d.mts +4 -0
- package/dist/unwraps/finalsite.mjs +12 -0
- package/dist/unwraps/firebaseDynamicLinks.mjs +15 -3
- package/dist/unwraps/fireeye.d.mts +4 -0
- package/dist/unwraps/fireeye.mjs +11 -0
- package/dist/unwraps/firstory.d.mts +4 -0
- package/dist/unwraps/firstory.mjs +21 -0
- package/dist/unwraps/fiveByFive.d.mts +4 -0
- package/dist/unwraps/fiveByFive.mjs +12 -0
- package/dist/unwraps/fiverr.d.mts +4 -0
- package/dist/unwraps/fiverr.mjs +9 -0
- package/dist/unwraps/flexoffers.d.mts +4 -0
- package/dist/unwraps/flexoffers.mjs +13 -0
- package/dist/unwraps/fortimail.d.mts +4 -0
- package/dist/unwraps/fortimail.mjs +11 -0
- package/dist/unwraps/ftc.d.mts +4 -0
- package/dist/unwraps/ftc.mjs +13 -0
- package/dist/unwraps/gateSc.mjs +1 -0
- package/dist/unwraps/georiot.mjs +7 -1
- package/dist/unwraps/gfnLinkProxy.d.mts +4 -0
- package/dist/unwraps/gfnLinkProxy.mjs +13 -0
- package/dist/unwraps/glueUp.d.mts +4 -0
- package/dist/unwraps/glueUp.mjs +16 -0
- package/dist/unwraps/godcaster.d.mts +4 -0
- package/dist/unwraps/godcaster.mjs +21 -0
- package/dist/unwraps/google.mjs +4 -2
- package/dist/unwraps/googleAds.d.mts +4 -0
- package/dist/unwraps/googleAds.mjs +52 -0
- package/dist/unwraps/googleScholar.mjs +1 -1
- package/dist/unwraps/googleTranslate.mjs +34 -6
- package/dist/unwraps/googleWebLight.d.mts +4 -0
- package/dist/unwraps/googleWebLight.mjs +17 -0
- package/dist/unwraps/groupMail.d.mts +4 -0
- package/dist/unwraps/groupMail.mjs +11 -0
- package/dist/unwraps/groupon.d.mts +4 -0
- package/dist/unwraps/groupon.mjs +17 -0
- package/dist/unwraps/gumball.d.mts +4 -0
- package/dist/unwraps/gumball.mjs +11 -0
- package/dist/unwraps/gurunavi.d.mts +4 -0
- package/dist/unwraps/gurunavi.mjs +9 -0
- package/dist/unwraps/hackerone.d.mts +4 -0
- package/dist/unwraps/hackerone.mjs +9 -0
- package/dist/unwraps/hasoffers.d.mts +4 -0
- package/dist/unwraps/hasoffers.mjs +11 -0
- package/dist/unwraps/hearthis.d.mts +4 -0
- package/dist/unwraps/hearthis.mjs +9 -0
- package/dist/unwraps/hellohq.d.mts +4 -0
- package/dist/unwraps/hellohq.mjs +9 -0
- package/dist/unwraps/hirkereso.d.mts +4 -0
- package/dist/unwraps/hirkereso.mjs +13 -0
- package/dist/unwraps/horde.d.mts +4 -0
- package/dist/unwraps/horde.mjs +12 -0
- package/dist/unwraps/hornetsecurity.d.mts +4 -0
- package/dist/unwraps/hornetsecurity.mjs +9 -0
- package/dist/unwraps/hrefLi.mjs +1 -1
- package/dist/unwraps/hubspotSidekick.d.mts +4 -0
- package/dist/unwraps/hubspotSidekick.mjs +13 -0
- package/dist/unwraps/icptrack.mjs +7 -3
- package/dist/unwraps/igafnl.d.mts +4 -0
- package/dist/unwraps/igafnl.mjs +9 -0
- package/dist/unwraps/impact.d.mts +4 -0
- package/dist/unwraps/impact.mjs +19 -0
- package/dist/unwraps/indexHu.d.mts +4 -0
- package/dist/unwraps/indexHu.mjs +27 -0
- package/dist/unwraps/infospace.d.mts +4 -0
- package/dist/unwraps/infospace.mjs +14 -0
- package/dist/unwraps/insiderAffiliate.d.mts +4 -0
- package/dist/unwraps/insiderAffiliate.mjs +17 -0
- package/dist/unwraps/instagram.mjs +1 -0
- package/dist/unwraps/intranetQuorum.d.mts +4 -0
- package/dist/unwraps/intranetQuorum.mjs +13 -0
- package/dist/unwraps/invisionNoExternalLinks.d.mts +4 -0
- package/dist/unwraps/invisionNoExternalLinks.mjs +14 -0
- package/dist/unwraps/involveAsia.d.mts +4 -0
- package/dist/unwraps/involveAsia.mjs +18 -0
- package/dist/unwraps/irs.d.mts +4 -0
- package/dist/unwraps/irs.mjs +9 -0
- package/dist/unwraps/jianshuGo.mjs +9 -1
- package/dist/unwraps/jive.d.mts +4 -0
- package/dist/unwraps/jive.mjs +11 -0
- package/dist/unwraps/juejin.mjs +2 -1
- package/dist/unwraps/justwatch.d.mts +4 -0
- package/dist/unwraps/justwatch.mjs +9 -0
- package/dist/unwraps/klook.d.mts +4 -0
- package/dist/unwraps/klook.mjs +10 -0
- package/dist/unwraps/lazada.d.mts +4 -0
- package/dist/unwraps/lazada.mjs +20 -0
- package/dist/unwraps/ld246.d.mts +4 -0
- package/dist/unwraps/ld246.mjs +14 -0
- package/dist/unwraps/letscast.d.mts +4 -0
- package/dist/unwraps/letscast.mjs +10 -0
- package/dist/unwraps/leverAnalytics.mjs +1 -0
- package/dist/unwraps/linkA.d.mts +4 -0
- package/dist/unwraps/linkA.mjs +18 -0
- package/dist/unwraps/linkconnector.d.mts +4 -0
- package/dist/unwraps/linkconnector.mjs +9 -0
- package/dist/unwraps/linkedin.d.mts +4 -0
- package/dist/unwraps/linkedin.mjs +12 -0
- package/dist/unwraps/linksynergy.mjs +23 -6
- package/dist/unwraps/linktrust.d.mts +4 -0
- package/dist/unwraps/linktrust.mjs +18 -0
- package/dist/unwraps/linkwise.d.mts +4 -0
- package/dist/unwraps/linkwise.mjs +13 -0
- package/dist/unwraps/livejournal.d.mts +4 -0
- package/dist/unwraps/livejournal.mjs +9 -0
- package/dist/unwraps/lnkam.d.mts +4 -0
- package/dist/unwraps/lnkam.mjs +9 -0
- package/dist/unwraps/locWebArchive.d.mts +4 -0
- package/dist/unwraps/locWebArchive.mjs +12 -0
- package/dist/unwraps/locaweb.d.mts +4 -0
- package/dist/unwraps/locaweb.mjs +9 -0
- package/dist/unwraps/logicboard.d.mts +4 -0
- package/dist/unwraps/logicboard.mjs +14 -0
- package/dist/unwraps/magellan.d.mts +4 -0
- package/dist/unwraps/magellan.mjs +10 -0
- package/dist/unwraps/magnetmail.d.mts +4 -0
- package/dist/unwraps/magnetmail.mjs +9 -0
- package/dist/unwraps/mail2easy.d.mts +4 -0
- package/dist/unwraps/mail2easy.mjs +12 -0
- package/dist/unwraps/mailRu.d.mts +4 -0
- package/dist/unwraps/mailRu.mjs +17 -0
- package/dist/unwraps/mailRuLink.d.mts +4 -0
- package/dist/unwraps/mailRuLink.mjs +9 -0
- package/dist/unwraps/mailchimp.mjs +7 -3
- package/dist/unwraps/mailinblack.d.mts +4 -0
- package/dist/unwraps/mailinblack.mjs +16 -0
- package/dist/unwraps/mailpanion.mjs +1 -0
- package/dist/unwraps/mailpgn.mjs +1 -0
- package/dist/unwraps/mailstat.d.mts +4 -0
- package/dist/unwraps/mailstat.mjs +11 -0
- package/dist/unwraps/mailtrack.mjs +6 -1
- package/dist/unwraps/mandrill.d.mts +4 -0
- package/dist/unwraps/mandrill.mjs +26 -0
- package/dist/unwraps/marketwire.d.mts +4 -0
- package/dist/unwraps/marketwire.mjs +9 -0
- package/dist/unwraps/mcas.d.mts +4 -0
- package/dist/unwraps/mcas.mjs +28 -0
- package/dist/unwraps/medium.mjs +13 -3
- package/dist/unwraps/megalodon.d.mts +4 -0
- package/dist/unwraps/megalodon.mjs +14 -0
- package/dist/unwraps/mimecast.mjs +6 -3
- package/dist/unwraps/ministryCloud.d.mts +4 -0
- package/dist/unwraps/ministryCloud.mjs +10 -0
- package/dist/unwraps/mintDownloads.d.mts +4 -0
- package/dist/unwraps/mintDownloads.mjs +11 -0
- package/dist/unwraps/mintFeeder.d.mts +4 -0
- package/dist/unwraps/mintFeeder.mjs +10 -0
- package/dist/unwraps/mohtwize.d.mts +4 -0
- package/dist/unwraps/mohtwize.mjs +20 -0
- package/dist/unwraps/moshimo.d.mts +4 -0
- package/dist/unwraps/moshimo.mjs +13 -0
- package/dist/unwraps/mozillaOutgoing.mjs +5 -1
- package/dist/unwraps/myNewsletterBuilder.d.mts +4 -0
- package/dist/unwraps/myNewsletterBuilder.mjs +9 -0
- package/dist/unwraps/narrativ.mjs +21 -2
- package/dist/unwraps/natlibNz.d.mts +4 -0
- package/dist/unwraps/natlibNz.mjs +12 -0
- package/dist/unwraps/naverOutgoing.mjs +10 -1
- package/dist/unwraps/ncls.d.mts +4 -0
- package/dist/unwraps/ncls.mjs +11 -0
- package/dist/unwraps/ndlWarp.d.mts +4 -0
- package/dist/unwraps/ndlWarp.mjs +16 -0
- package/dist/unwraps/netaffiliation.d.mts +4 -0
- package/dist/unwraps/netaffiliation.mjs +18 -0
- package/dist/unwraps/netcentrum.d.mts +4 -0
- package/dist/unwraps/netcentrum.mjs +9 -0
- package/dist/unwraps/newswire.d.mts +4 -0
- package/dist/unwraps/newswire.mjs +19 -0
- package/dist/unwraps/nicoMs.mjs +2 -1
- package/dist/unwraps/nimble.d.mts +4 -0
- package/dist/unwraps/nimble.mjs +13 -0
- package/dist/unwraps/nlaWebarchive.d.mts +4 -0
- package/dist/unwraps/nlaWebarchive.mjs +22 -0
- package/dist/unwraps/nodeseek.d.mts +4 -0
- package/dist/unwraps/nodeseek.mjs +9 -0
- package/dist/unwraps/okRu.d.mts +4 -0
- package/dist/unwraps/okRu.mjs +23 -0
- package/dist/unwraps/op3.d.mts +4 -0
- package/dist/unwraps/op3.mjs +10 -0
- package/dist/unwraps/orkut.d.mts +4 -0
- package/dist/unwraps/orkut.mjs +13 -0
- package/dist/unwraps/osnova.d.mts +4 -0
- package/dist/unwraps/osnova.mjs +9 -0
- package/dist/unwraps/outlookSafelinks.mjs +12 -2
- package/dist/unwraps/outlookWebAccess.d.mts +4 -0
- package/dist/unwraps/outlookWebAccess.mjs +12 -0
- package/dist/unwraps/pagefreezer.d.mts +4 -0
- package/dist/unwraps/pagefreezer.mjs +18 -0
- package/dist/unwraps/partnerAds.mjs +11 -2
- package/dist/unwraps/pbs.d.mts +4 -0
- package/dist/unwraps/pbs.mjs +10 -0
- package/dist/unwraps/philpapers.d.mts +4 -0
- package/dist/unwraps/philpapers.mjs +9 -0
- package/dist/unwraps/pinterest.d.mts +4 -0
- package/dist/unwraps/pinterest.mjs +17 -0
- package/dist/unwraps/pipedrive.d.mts +4 -0
- package/dist/unwraps/pipedrive.mjs +13 -0
- package/dist/unwraps/podcorn.d.mts +4 -0
- package/dist/unwraps/podcorn.mjs +10 -0
- package/dist/unwraps/podder.d.mts +4 -0
- package/dist/unwraps/podder.mjs +10 -0
- package/dist/unwraps/podkite.d.mts +4 -0
- package/dist/unwraps/podkite.mjs +12 -0
- package/dist/unwraps/podroll.d.mts +4 -0
- package/dist/unwraps/podroll.mjs +10 -0
- package/dist/unwraps/podscribe.d.mts +4 -0
- package/dist/unwraps/podscribe.mjs +10 -0
- package/dist/unwraps/podsights.d.mts +4 -0
- package/dist/unwraps/podsights.mjs +10 -0
- package/dist/unwraps/podtrac.d.mts +4 -0
- package/dist/unwraps/podtrac.mjs +21 -0
- package/dist/unwraps/podup.d.mts +4 -0
- package/dist/unwraps/podup.mjs +11 -0
- package/dist/unwraps/postAffiliatePro.d.mts +4 -0
- package/dist/unwraps/postAffiliatePro.mjs +13 -0
- package/dist/unwraps/postmark.mjs +5 -3
- package/dist/unwraps/prNewswire.d.mts +4 -0
- package/dist/unwraps/prNewswire.mjs +13 -0
- package/dist/unwraps/prezly.d.mts +4 -0
- package/dist/unwraps/prezly.mjs +17 -0
- package/dist/unwraps/priceGrabber.d.mts +4 -0
- package/dist/unwraps/priceGrabber.mjs +9 -0
- package/dist/unwraps/promoJukebox.d.mts +4 -0
- package/dist/unwraps/promoJukebox.mjs +9 -0
- package/dist/unwraps/proofpointIsolation.d.mts +4 -0
- package/dist/unwraps/proofpointIsolation.mjs +9 -0
- package/dist/unwraps/prweb.d.mts +4 -0
- package/dist/unwraps/prweb.mjs +16 -0
- package/dist/unwraps/qualityClick.d.mts +4 -0
- package/dist/unwraps/qualityClick.mjs +13 -0
- package/dist/unwraps/rakutenAffiliate.d.mts +4 -0
- package/dist/unwraps/rakutenAffiliate.mjs +29 -0
- package/dist/unwraps/ramblerMail.d.mts +4 -0
- package/dist/unwraps/ramblerMail.mjs +9 -0
- package/dist/unwraps/recruitics.mjs +1 -0
- package/dist/unwraps/redditOut.mjs +6 -1
- package/dist/unwraps/rediffmail.d.mts +4 -0
- package/dist/unwraps/rediffmail.mjs +9 -0
- package/dist/unwraps/redirectingat.mjs +6 -1
- package/dist/unwraps/researchgate.d.mts +4 -0
- package/dist/unwraps/researchgate.mjs +23 -0
- package/dist/unwraps/reverbnation.d.mts +4 -0
- package/dist/unwraps/reverbnation.mjs +17 -0
- package/dist/unwraps/reviveAdserver.d.mts +4 -0
- package/dist/unwraps/reviveAdserver.mjs +29 -0
- package/dist/unwraps/salesdoubler.d.mts +4 -0
- package/dist/unwraps/salesdoubler.mjs +13 -0
- package/dist/unwraps/salesflare.d.mts +4 -0
- package/dist/unwraps/salesflare.mjs +9 -0
- package/dist/unwraps/salesforceiq.d.mts +4 -0
- package/dist/unwraps/salesforceiq.mjs +9 -0
- package/dist/unwraps/saleshandy.d.mts +4 -0
- package/dist/unwraps/saleshandy.mjs +13 -0
- package/dist/unwraps/salsa.d.mts +4 -0
- package/dist/unwraps/salsa.mjs +12 -0
- package/dist/unwraps/sapHelp.d.mts +4 -0
- package/dist/unwraps/sapHelp.mjs +13 -0
- package/dist/unwraps/sbsAd.d.mts +4 -0
- package/dist/unwraps/sbsAd.mjs +9 -0
- package/dist/unwraps/segmentfault.mjs +1 -0
- package/dist/unwraps/serendipity.d.mts +4 -0
- package/dist/unwraps/serendipity.mjs +13 -0
- package/dist/unwraps/shareasale.mjs +1 -1
- package/dist/unwraps/shareit.d.mts +4 -0
- package/dist/unwraps/shareit.mjs +17 -0
- package/dist/unwraps/skimlinks.mjs +6 -1
- package/dist/unwraps/skyrock.d.mts +4 -0
- package/dist/unwraps/skyrock.mjs +9 -0
- package/dist/unwraps/slickdeals.d.mts +4 -0
- package/dist/unwraps/slickdeals.mjs +9 -0
- package/dist/unwraps/smartAdserver.d.mts +4 -0
- package/dist/unwraps/smartAdserver.mjs +9 -0
- package/dist/unwraps/smartredirect.mjs +12 -2
- package/dist/unwraps/smry.d.mts +4 -0
- package/dist/unwraps/smry.mjs +9 -0
- package/dist/unwraps/sophos.d.mts +4 -0
- package/dist/unwraps/sophos.mjs +16 -0
- package/dist/unwraps/soundOn.d.mts +4 -0
- package/dist/unwraps/soundOn.mjs +10 -0
- package/dist/unwraps/soundcloud.d.mts +4 -0
- package/dist/unwraps/soundcloud.mjs +9 -0
- package/dist/unwraps/soundstack.d.mts +4 -0
- package/dist/unwraps/soundstack.mjs +10 -0
- package/dist/unwraps/squarespaceEmail.d.mts +4 -0
- package/dist/unwraps/squarespaceEmail.mjs +9 -0
- package/dist/unwraps/sspai.mjs +1 -1
- package/dist/unwraps/stay22.d.mts +4 -0
- package/dist/unwraps/stay22.mjs +11 -0
- package/dist/unwraps/steamLinkfilter.mjs +1 -1
- package/dist/unwraps/storify.d.mts +4 -0
- package/dist/unwraps/storify.mjs +9 -0
- package/dist/unwraps/streak.d.mts +4 -0
- package/dist/unwraps/streak.mjs +15 -0
- package/dist/unwraps/streamsend.d.mts +4 -0
- package/dist/unwraps/streamsend.mjs +13 -0
- package/dist/unwraps/stumbleupon.d.mts +4 -0
- package/dist/unwraps/stumbleupon.mjs +19 -0
- package/dist/unwraps/subscribeRu.d.mts +4 -0
- package/dist/unwraps/subscribeRu.mjs +11 -0
- package/dist/unwraps/substack.d.mts +4 -0
- package/dist/unwraps/substack.mjs +15 -0
- package/dist/unwraps/surly.d.mts +4 -0
- package/dist/unwraps/surly.mjs +19 -0
- package/dist/unwraps/surugaya.d.mts +4 -0
- package/dist/unwraps/surugaya.mjs +9 -0
- package/dist/unwraps/swap.d.mts +4 -0
- package/dist/unwraps/swap.mjs +17 -0
- package/dist/unwraps/symantecClicktime.d.mts +4 -0
- package/dist/unwraps/symantecClicktime.mjs +13 -0
- package/dist/unwraps/symplicity.d.mts +4 -0
- package/dist/unwraps/symplicity.mjs +16 -0
- package/dist/unwraps/targetCircle.d.mts +4 -0
- package/dist/unwraps/targetCircle.mjs +13 -0
- package/dist/unwraps/teacup.d.mts +4 -0
- package/dist/unwraps/teacup.mjs +14 -0
- package/dist/unwraps/telegramIv.mjs +1 -1
- package/dist/unwraps/theRegister.d.mts +4 -0
- package/dist/unwraps/theRegister.mjs +10 -0
- package/dist/unwraps/threads.mjs +1 -0
- package/dist/unwraps/tiktok.d.mts +4 -0
- package/dist/unwraps/tiktok.mjs +9 -0
- package/dist/unwraps/titanhqLinklock.d.mts +4 -0
- package/dist/unwraps/titanhqLinklock.mjs +9 -0
- package/dist/unwraps/topsec.d.mts +4 -0
- package/dist/unwraps/topsec.mjs +9 -0
- package/dist/unwraps/toucharcade.d.mts +4 -0
- package/dist/unwraps/toucharcade.mjs +12 -0
- package/dist/unwraps/tracdelight.d.mts +4 -0
- package/dist/unwraps/tracdelight.mjs +18 -0
- package/dist/unwraps/tradedoubler.mjs +6 -1
- package/dist/unwraps/tradetracker.d.mts +4 -0
- package/dist/unwraps/tradetracker.mjs +9 -0
- package/dist/unwraps/travelpayouts.d.mts +4 -0
- package/dist/unwraps/travelpayouts.mjs +17 -0
- package/dist/unwraps/trendMicro.d.mts +4 -0
- package/dist/unwraps/trendMicro.mjs +17 -0
- package/dist/unwraps/triplelift.d.mts +4 -0
- package/dist/unwraps/triplelift.mjs +9 -0
- package/dist/unwraps/trustwaveScanmail.d.mts +4 -0
- package/dist/unwraps/trustwaveScanmail.mjs +9 -0
- package/dist/unwraps/trxHub.d.mts +4 -0
- package/dist/unwraps/trxHub.mjs +13 -0
- package/dist/unwraps/twitterRedirect.d.mts +4 -0
- package/dist/unwraps/twitterRedirect.mjs +9 -0
- package/dist/unwraps/twoCheckout.d.mts +4 -0
- package/dist/unwraps/twoCheckout.mjs +12 -0
- package/dist/unwraps/uinterbox.d.mts +4 -0
- package/dist/unwraps/uinterbox.mjs +9 -0
- package/dist/unwraps/ukWebArchive.d.mts +4 -0
- package/dist/unwraps/ukWebArchive.mjs +12 -0
- package/dist/unwraps/ukgwa.d.mts +4 -0
- package/dist/unwraps/ukgwa.mjs +14 -0
- package/dist/unwraps/unescoWebArchive.d.mts +4 -0
- package/dist/unwraps/unescoWebArchive.mjs +12 -0
- package/dist/unwraps/unhcrWebArchive.d.mts +4 -0
- package/dist/unwraps/unhcrWebArchive.mjs +12 -0
- package/dist/unwraps/unisender.d.mts +4 -0
- package/dist/unwraps/unisender.mjs +33 -0
- package/dist/unwraps/upAudio.d.mts +4 -0
- package/dist/unwraps/upAudio.mjs +10 -0
- package/dist/unwraps/vadeSecure.d.mts +4 -0
- package/dist/unwraps/vadeSecure.mjs +22 -0
- package/dist/unwraps/valuePress.d.mts +4 -0
- package/dist/unwraps/valuePress.mjs +19 -0
- package/dist/unwraps/valuecommerce.mjs +15 -1
- package/dist/unwraps/vanilla.d.mts +4 -0
- package/dist/unwraps/vanilla.mjs +12 -0
- package/dist/unwraps/vbulletin.d.mts +4 -0
- package/dist/unwraps/vbulletin.mjs +12 -0
- package/dist/unwraps/vefsafn.d.mts +4 -0
- package/dist/unwraps/vefsafn.mjs +14 -0
- package/dist/unwraps/vgWort.d.mts +4 -0
- package/dist/unwraps/vgWort.mjs +14 -0
- package/dist/unwraps/viglink.mjs +15 -2
- package/dist/unwraps/virgool.d.mts +4 -0
- package/dist/unwraps/virgool.mjs +9 -0
- package/dist/unwraps/visibli.d.mts +4 -0
- package/dist/unwraps/visibli.mjs +17 -0
- package/dist/unwraps/vkAway.mjs +8 -1
- package/dist/unwraps/vocus.d.mts +4 -0
- package/dist/unwraps/vocus.mjs +15 -0
- package/dist/unwraps/voxnest.d.mts +4 -0
- package/dist/unwraps/voxnest.mjs +10 -0
- package/dist/unwraps/vpixl.d.mts +4 -0
- package/dist/unwraps/vpixl.mjs +10 -0
- package/dist/unwraps/vuture.d.mts +4 -0
- package/dist/unwraps/vuture.mjs +11 -0
- package/dist/unwraps/webArchive.mjs +32 -6
- package/dist/unwraps/webcitation.d.mts +4 -0
- package/dist/unwraps/webcitation.mjs +13 -0
- package/dist/unwraps/webgains.d.mts +4 -0
- package/dist/unwraps/webgains.mjs +13 -0
- package/dist/unwraps/webharvest.d.mts +4 -0
- package/dist/unwraps/webharvest.mjs +12 -0
- package/dist/unwraps/wikiwix.d.mts +4 -0
- package/dist/unwraps/wikiwix.mjs +17 -0
- package/dist/unwraps/wikizero.d.mts +4 -0
- package/dist/unwraps/wikizero.mjs +22 -0
- package/dist/unwraps/wordpressEmail.d.mts +4 -0
- package/dist/unwraps/wordpressEmail.mjs +9 -0
- package/dist/unwraps/wordpressGo2.d.mts +4 -0
- package/dist/unwraps/wordpressGo2.mjs +9 -0
- package/dist/unwraps/worldNomads.d.mts +4 -0
- package/dist/unwraps/worldNomads.mjs +9 -0
- package/dist/unwraps/wpPoczta.d.mts +4 -0
- package/dist/unwraps/wpPoczta.mjs +16 -0
- package/dist/unwraps/xengentr.d.mts +4 -0
- package/dist/unwraps/xengentr.mjs +12 -0
- package/dist/unwraps/xiaoyuzhou.d.mts +4 -0
- package/dist/unwraps/xiaoyuzhou.mjs +10 -0
- package/dist/unwraps/ximalaya.d.mts +4 -0
- package/dist/unwraps/ximalaya.mjs +18 -0
- package/dist/unwraps/yahooJapan.d.mts +4 -0
- package/dist/unwraps/yahooJapan.mjs +15 -0
- package/dist/unwraps/yahooJapanAmpViewer.d.mts +4 -0
- package/dist/unwraps/yahooJapanAmpViewer.mjs +20 -0
- package/dist/unwraps/yahooSearch.mjs +11 -4
- package/dist/unwraps/yamm.d.mts +4 -0
- package/dist/unwraps/yamm.mjs +9 -0
- package/dist/unwraps/yandexMail.d.mts +4 -0
- package/dist/unwraps/yandexMail.mjs +14 -0
- package/dist/unwraps/yandexTurbo.mjs +20 -1
- package/dist/unwraps/yelp.d.mts +4 -0
- package/dist/unwraps/yelp.mjs +13 -0
- package/dist/unwraps/yesware.d.mts +4 -0
- package/dist/unwraps/yesware.mjs +19 -0
- package/dist/unwraps/yourMembership.d.mts +4 -0
- package/dist/unwraps/yourMembership.mjs +13 -0
- package/dist/unwraps/youtube.mjs +1 -1
- package/dist/unwraps/zanox.d.mts +4 -0
- package/dist/unwraps/zanox.mjs +17 -0
- package/dist/unwraps/zayads.d.mts +4 -0
- package/dist/unwraps/zayads.mjs +10 -0
- package/dist/unwraps/zemanta.d.mts +4 -0
- package/dist/unwraps/zemanta.mjs +9 -0
- package/dist/unwraps/zencastr.d.mts +4 -0
- package/dist/unwraps/zencastr.mjs +10 -0
- package/dist/unwraps/zhihu.mjs +1 -0
- package/dist/unwraps/zix.d.mts +4 -0
- package/dist/unwraps/zix.mjs +13 -0
- package/dist/unwraps/zscalerIsolation.d.mts +4 -0
- package/dist/unwraps/zscalerIsolation.mjs +13 -0
- package/dist/utils.d.mts +6 -1
- package/dist/utils.mjs +39 -4
- package/package.json +2 -2
- package/dist/unwraps/idealoPartner.d.mts +0 -4
- package/dist/unwraps/idealoPartner.mjs +0 -8
- package/dist/unwraps/pxf.d.mts +0 -4
- package/dist/unwraps/pxf.mjs +0 -8
- package/dist/unwraps/sjv.d.mts +0 -4
- package/dist/unwraps/sjv.mjs +0 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { endsWithAnyOf, isAnyOf } from "./matching.mjs";
|
|
2
2
|
//#region node_modules/trousse/dist/urls.js
|
|
3
|
-
const
|
|
3
|
+
const httpSchemes = ["http:", "https:"];
|
|
4
4
|
const parseUrl = (value, base) => {
|
|
5
5
|
if (value instanceof URL && base === void 0) return value;
|
|
6
6
|
if (URL.parse) return URL.parse(value, base) ?? void 0;
|
|
@@ -31,9 +31,9 @@ const isSubdomainOf = (url, domains) => {
|
|
|
31
31
|
return endsWithAnyOf(hostname, (typeof domains === "string" ? [domains] : domains).map((domain) => `.${normalizeDomain(domain)}`));
|
|
32
32
|
};
|
|
33
33
|
const isHttpUrl = (url) => {
|
|
34
|
-
const
|
|
35
|
-
if (!
|
|
36
|
-
return
|
|
34
|
+
const scheme = parseUrl(url)?.protocol;
|
|
35
|
+
if (!scheme) return false;
|
|
36
|
+
return httpSchemes.includes(scheme);
|
|
37
37
|
};
|
|
38
38
|
const isHostOrSubdomainOf = (url, domains) => {
|
|
39
39
|
return isHostOf(url, domains) || isSubdomainOf(url, domains);
|
|
@@ -44,14 +44,163 @@ const decodeSegment = (segment) => {
|
|
|
44
44
|
return decodeURIComponent(segment);
|
|
45
45
|
} catch {}
|
|
46
46
|
};
|
|
47
|
-
const
|
|
47
|
+
const strippedParamsCache = /* @__PURE__ */ new WeakMap();
|
|
48
|
+
const getStrippedParamsSet = (params) => {
|
|
49
|
+
let cached = strippedParamsCache.get(params);
|
|
50
|
+
if (!cached) {
|
|
51
|
+
cached = new Set(params.map((param) => param.toLowerCase()));
|
|
52
|
+
strippedParamsCache.set(params, cached);
|
|
53
|
+
}
|
|
54
|
+
return cached;
|
|
55
|
+
};
|
|
56
|
+
const ipv4Regex = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
|
|
57
|
+
const ipv6Regex = /^([0-9a-f]{0,4}:){2,7}[0-9a-f]{0,4}$/i;
|
|
58
|
+
const wwwPrefixRegex = /^(?:www\.)+(?=.*\.)/;
|
|
59
|
+
const ipv6BracketsRegex = /^\[|\]$/g;
|
|
60
|
+
const unreservedCharsRegex = /[a-zA-Z0-9._~-]/;
|
|
61
|
+
const httpsLetterRegex = /s/i;
|
|
62
|
+
const schemePrefixRegex = /^https?:\/\//;
|
|
63
|
+
const percentEscapeOrLettersRegex = /%[0-9A-Fa-f]{2}|[A-Z]+/g;
|
|
64
|
+
const plusRegex = /\+/g;
|
|
65
|
+
const repeatedSlashesRegex = /(?<!:|%3a)\/{2,}/gi;
|
|
66
|
+
const leadingWhitespaceChars = [
|
|
67
|
+
" ",
|
|
68
|
+
" ",
|
|
69
|
+
"\n"
|
|
70
|
+
];
|
|
71
|
+
const relativeLeadChars = [
|
|
72
|
+
"/",
|
|
73
|
+
".",
|
|
74
|
+
"?",
|
|
75
|
+
"#"
|
|
76
|
+
];
|
|
77
|
+
const localhostRegex = /^localhost(?:[:/?#]|$)/i;
|
|
78
|
+
const validUrlRegex = /^https?:\/\/(?:www\.|[a-vx-z0-9])/i;
|
|
48
79
|
const schemeSeparator = String.raw`\.*[:\s=\\/][:\s=.\\/]*`;
|
|
49
80
|
const leadingSchemeSeparator = String.raw`\.*(?::[:\s=.\\/]*|[\s=\\/][:\s=.\\/]+)`;
|
|
50
|
-
String.raw`^\/?[htps]{2,7}${leadingSchemeSeparator}([htps]{2,7})(?!:\d)${schemeSeparator}[.,:/]*(www[./]+)
|
|
51
|
-
String.raw`^\/?(
|
|
81
|
+
const doubledSchemeRegex = /* @__PURE__ */ new RegExp(String.raw`^\/?[htps]{2,7}${leadingSchemeSeparator}([htps]{2,7})(?!:\d|[^/?#\\]*@)(${schemeSeparator})[.,:/]*(www[./]+)?`, "i");
|
|
82
|
+
const singleMalformedRegex = /* @__PURE__ */ new RegExp(String.raw`^\/?(h[htps():]{1,10}|t{1,2}ps?)(${leadingSchemeSeparator})[.,:/]*(www[./]+)?`, "i");
|
|
83
|
+
const isSchemeToken = (token, separator) => {
|
|
84
|
+
const lowered = token.toLowerCase();
|
|
85
|
+
return `${token}${separator}`.includes(":") || lowered.includes("t") && lowered.includes("p");
|
|
86
|
+
};
|
|
87
|
+
const fixMalformedScheme = (url) => {
|
|
88
|
+
if (validUrlRegex.test(url) && !doubledSchemeRegex.test(url)) return url;
|
|
89
|
+
const doubledMatch = doubledSchemeRegex.exec(url);
|
|
90
|
+
if (doubledMatch && isSchemeToken(doubledMatch[1], doubledMatch[2])) {
|
|
91
|
+
const inner = doubledMatch[1];
|
|
92
|
+
const www = doubledMatch[3];
|
|
93
|
+
const rest = url.slice(doubledMatch[0].length);
|
|
94
|
+
return `${httpsLetterRegex.test(inner) ? "https://" : "http://"}${www ? "www." : ""}${rest}`;
|
|
95
|
+
}
|
|
96
|
+
const singleMatch = singleMalformedRegex.exec(url);
|
|
97
|
+
if (singleMatch && isSchemeToken(singleMatch[1], singleMatch[2])) {
|
|
98
|
+
const fullMatch = singleMatch[0];
|
|
99
|
+
const www = singleMatch[3];
|
|
100
|
+
const rest = url.slice(fullMatch.length);
|
|
101
|
+
return `${httpsLetterRegex.test(fullMatch) ? "https://" : "http://"}${www ? "www." : ""}${rest}`;
|
|
102
|
+
}
|
|
103
|
+
return url;
|
|
104
|
+
};
|
|
105
|
+
const addMissingScheme = (url, scheme = "https") => {
|
|
106
|
+
if (url.startsWith("[")) return parseUrl(`${scheme}://${url}`) ? `${scheme}://${url}` : url;
|
|
107
|
+
const colonIndex = url.indexOf(":");
|
|
108
|
+
if (colonIndex > 0) {
|
|
109
|
+
const beforeColon = url.slice(0, colonIndex);
|
|
110
|
+
if (!beforeColon.includes(".") && !beforeColon.includes("/") && !localhostRegex.test(url)) return url;
|
|
111
|
+
}
|
|
112
|
+
if (url.startsWith("//") && !url.startsWith("///")) {
|
|
113
|
+
const parsed = parseUrl(`${scheme}:${url}`);
|
|
114
|
+
if (!parsed) return url;
|
|
115
|
+
const hostname = parsed.hostname;
|
|
116
|
+
if (hostname.includes(".") || hostname === "localhost" || isIpAddress(hostname)) return parsed.href;
|
|
117
|
+
return url;
|
|
118
|
+
}
|
|
119
|
+
if (relativeLeadChars.includes(url.charAt(0))) return url;
|
|
120
|
+
const slashIndex = url.indexOf("/");
|
|
121
|
+
const dotIndex = url.indexOf(".");
|
|
122
|
+
if (dotIndex === -1 || slashIndex !== -1 && dotIndex > slashIndex) {
|
|
123
|
+
if (!localhostRegex.test(url)) return url;
|
|
124
|
+
}
|
|
125
|
+
const firstChar = url.charAt(0);
|
|
126
|
+
if (leadingWhitespaceChars.includes(firstChar)) return url;
|
|
127
|
+
return `${scheme}://${url}`;
|
|
128
|
+
};
|
|
129
|
+
const decodeAndNormalizeEncoding = (value) => {
|
|
130
|
+
if (!value.includes("%")) return value;
|
|
131
|
+
return value.replace(/%([0-9A-Fa-f]{2})/g, (_match, hex) => {
|
|
132
|
+
const charCode = Number.parseInt(hex, 16);
|
|
133
|
+
const char = String.fromCharCode(charCode);
|
|
134
|
+
if (unreservedCharsRegex.test(char)) return char;
|
|
135
|
+
return `%${hex.toUpperCase()}`;
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
const decodeQueryKey = (pair) => {
|
|
139
|
+
const key = pair.split("=")[0].replace(plusRegex, " ");
|
|
140
|
+
try {
|
|
141
|
+
return decodeURIComponent(key);
|
|
142
|
+
} catch {
|
|
143
|
+
return key;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
const compareQueryPairs = (a, b) => {
|
|
147
|
+
const keyA = decodeQueryKey(a);
|
|
148
|
+
const keyB = decodeQueryKey(b);
|
|
149
|
+
if (keyA < keyB) return -1;
|
|
150
|
+
if (keyA > keyB) return 1;
|
|
151
|
+
return 0;
|
|
152
|
+
};
|
|
153
|
+
const lowercaseQueryPair = (pair) => {
|
|
154
|
+
return pair.replace(percentEscapeOrLettersRegex, (match) => {
|
|
155
|
+
return match.startsWith("%") ? match : match.toLowerCase();
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
const normalizeUrl = (url, options) => {
|
|
159
|
+
try {
|
|
160
|
+
const parsed = new URL(options.normalizeUnicode ? url.normalize("NFC") : url);
|
|
161
|
+
if (options.stripHostTrailingDot && parsed.hostname.endsWith(".")) parsed.hostname = parsed.hostname.slice(0, -1);
|
|
162
|
+
if (options.stripAuthentication) {
|
|
163
|
+
parsed.username = "";
|
|
164
|
+
parsed.password = "";
|
|
165
|
+
}
|
|
166
|
+
if (options.stripWww) parsed.hostname = stripWww(parsed.hostname);
|
|
167
|
+
if (options.stripHash) parsed.hash = "";
|
|
168
|
+
let pathname = parsed.pathname;
|
|
169
|
+
if (options.normalizeEncoding) pathname = decodeAndNormalizeEncoding(pathname);
|
|
170
|
+
if (options.collapseSlashes) pathname = pathname.replace(repeatedSlashesRegex, "/");
|
|
171
|
+
if (options.stripTrailingSlash && pathname.length > 1 && pathname.endsWith("/")) pathname = pathname.slice(0, -1);
|
|
172
|
+
parsed.pathname = pathname;
|
|
173
|
+
if (options.normalizeEncoding && parsed.search.includes("%")) parsed.search = decodeAndNormalizeEncoding(parsed.search);
|
|
174
|
+
if (options.normalizeEncoding && parsed.hash.includes("%")) parsed.hash = decodeAndNormalizeEncoding(parsed.hash);
|
|
175
|
+
if (options.stripQuery) parsed.search = "";
|
|
176
|
+
if (parsed.search && (options.stripQueryParams || options.lowercaseQuery)) {
|
|
177
|
+
let pairs = parsed.search.slice(1).split("&");
|
|
178
|
+
if (options.stripQueryParams) {
|
|
179
|
+
const strippedSet = getStrippedParamsSet(options.stripQueryParams);
|
|
180
|
+
pairs = pairs.filter((pair) => pair && !strippedSet.has(decodeQueryKey(pair).toLowerCase()));
|
|
181
|
+
}
|
|
182
|
+
if (options.lowercaseQuery) pairs = pairs.map(lowercaseQueryPair);
|
|
183
|
+
parsed.search = pairs.join("&");
|
|
184
|
+
}
|
|
185
|
+
if (options.sortQueryParams && parsed.search.includes("&")) parsed.search = parsed.search.slice(1).split("&").filter(Boolean).sort(compareQueryPairs).join("&");
|
|
186
|
+
if (options.stripEmptyQuery && parsed.search === "") parsed.search = "";
|
|
187
|
+
let result = parsed.href;
|
|
188
|
+
if (options.stripRootSlash && result === `${parsed.origin}/`) result = parsed.origin;
|
|
189
|
+
if (options.stripScheme ?? options.stripProtocol) result = result.replace(schemePrefixRegex, "");
|
|
190
|
+
return result;
|
|
191
|
+
} catch {
|
|
192
|
+
return url;
|
|
193
|
+
}
|
|
194
|
+
};
|
|
52
195
|
const stripWww = (hostname) => {
|
|
53
|
-
|
|
54
|
-
|
|
196
|
+
return hostname.replace(wwwPrefixRegex, "");
|
|
197
|
+
};
|
|
198
|
+
const isIpAddress = (hostname) => {
|
|
199
|
+
return ipv4Regex.test(hostname) || ipv6Regex.test(hostname.replace(ipv6BracketsRegex, ""));
|
|
55
200
|
};
|
|
201
|
+
/** @deprecated Use `fixMalformedScheme` instead. */
|
|
202
|
+
const fixMalformedProtocol = fixMalformedScheme;
|
|
203
|
+
/** @deprecated Use `addMissingScheme` instead. */
|
|
204
|
+
const addMissingProtocol = addMissingScheme;
|
|
56
205
|
//#endregion
|
|
57
|
-
export { decodeSegment, isHostOf, isHostOrSubdomainOf, isHttpUrl, isSubdomainOf, parseUrl, stripWww };
|
|
206
|
+
export { addMissingProtocol, addMissingScheme, decodeSegment, fixMalformedProtocol, fixMalformedScheme, isHostOf, isHostOrSubdomainOf, isHttpUrl, isIpAddress, isSubdomainOf, normalizeUrl, parseUrl, stripWww };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/pathTarget.ts
|
|
2
|
+
const leadingSlashesRegex = /^\/+/;
|
|
3
|
+
const schemeRegex = /^https?:/i;
|
|
4
|
+
const getPathTarget = (url, prefixRegex, scheme = "https:") => {
|
|
5
|
+
const match = url.pathname.match(prefixRegex);
|
|
6
|
+
if (!match) return;
|
|
7
|
+
const path = url.pathname.slice(match[0].length).replace(leadingSlashesRegex, "");
|
|
8
|
+
if (!path) return;
|
|
9
|
+
const target = `${path}${url.search}${url.hash}`;
|
|
10
|
+
if (schemeRegex.test(target)) return target;
|
|
11
|
+
return `${scheme}//${target}`;
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { getPathTarget };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/2performant.ts
|
|
3
|
+
const unwrap2performant = createParamExtractor({
|
|
4
|
+
hosts: ["event.2performant.com", "event.2parale.ro"],
|
|
5
|
+
path: "/events/click",
|
|
6
|
+
params: ["redirect_to"]
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { unwrap2performant };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/4pda.ts
|
|
3
|
+
const paths = ["/pages/go", "/pages/go/"];
|
|
4
|
+
const extractTarget = createParamExtractor({
|
|
5
|
+
hosts: ["4pda.ru", "4pda.to"],
|
|
6
|
+
params: ["u"]
|
|
7
|
+
});
|
|
8
|
+
const unwrap4pda = (url) => {
|
|
9
|
+
if (!paths.includes(url.pathname)) return;
|
|
10
|
+
return extractTarget(url);
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { unwrap4pda };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/a8Net.ts
|
|
3
|
+
const extractRedirectTarget = createParamExtractor({
|
|
4
|
+
hosts: [
|
|
5
|
+
"px.a8.net",
|
|
6
|
+
"rpx.a8.net",
|
|
7
|
+
"www.a8.net",
|
|
8
|
+
"px.moba8.net"
|
|
9
|
+
],
|
|
10
|
+
path: "/svt/ejp",
|
|
11
|
+
params: ["a8ejpredirect"]
|
|
12
|
+
});
|
|
13
|
+
const extractDeeplinkTarget = createParamExtractor({
|
|
14
|
+
hosts: "ow.a8.net",
|
|
15
|
+
params: ["url"]
|
|
16
|
+
});
|
|
17
|
+
const deeplinkPathRegex = /^\/s\d+\/redirect_v2\.php$/;
|
|
18
|
+
const unwrapA8Net = (url) => {
|
|
19
|
+
if (deeplinkPathRegex.test(url.pathname)) return extractDeeplinkTarget(url);
|
|
20
|
+
return extractRedirectTarget(url);
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { unwrapA8Net };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/aboutCom.ts
|
|
3
|
+
const extractFrame = createParamExtractor({
|
|
4
|
+
domains: "about.com",
|
|
5
|
+
path: "/gi/dynamic/offsite.htm",
|
|
6
|
+
params: ["zu", "site"]
|
|
7
|
+
});
|
|
8
|
+
const extractLeaving = createParamExtractor({
|
|
9
|
+
domains: "about.com",
|
|
10
|
+
path: "/gi/o.htm",
|
|
11
|
+
params: ["zu"]
|
|
12
|
+
});
|
|
13
|
+
const unwrapAboutCom = (url) => {
|
|
14
|
+
return extractFrame(url) ?? extractLeaving(url);
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { unwrapAboutCom };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isHostOf } from "../node_modules/trousse/dist/urls.mjs";
|
|
2
|
+
import { getPathTarget } from "../pathTarget.mjs";
|
|
3
|
+
//#region src/unwraps/acast.ts
|
|
4
|
+
const flexPrefixRegex = /^\/s\/[^/]+\/u\//;
|
|
5
|
+
const unwrapAcast = (url) => {
|
|
6
|
+
if (!isHostOf(url, "flex2.acast.com")) return;
|
|
7
|
+
return getPathTarget(url, flexPrefixRegex, url.protocol);
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { unwrapAcast };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { isHostOf } from "../node_modules/trousse/dist/urls.mjs";
|
|
2
|
+
import { getParamTarget } from "../utils.mjs";
|
|
3
|
+
//#region src/unwraps/accesstrade.ts
|
|
4
|
+
const hosts = [
|
|
5
|
+
"h.accesstrade.net",
|
|
6
|
+
"www.accesstrade.net",
|
|
7
|
+
"click.accesstrade.vn",
|
|
8
|
+
"fast.accesstrade.com.vn",
|
|
9
|
+
"pub.accesstrade.vn",
|
|
10
|
+
"click.accesstrade.in.th"
|
|
11
|
+
];
|
|
12
|
+
const pathRegex = /^\/(?:sp\/cc|at\/c\.html|adv\.php|deep_link\/\d+(?:\/\d+)?)$/;
|
|
13
|
+
const unwrapAccesstrade = (url) => {
|
|
14
|
+
if (!isHostOf(url, hosts) || !pathRegex.test(url.pathname)) return;
|
|
15
|
+
return getParamTarget(url, "url");
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { unwrapAccesstrade };
|
package/dist/unwraps/aceml.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isHttpUrl } from "../node_modules/trousse/dist/urls.mjs";
|
|
2
2
|
import { createParamExtractor, decodeBase64 } from "../utils.mjs";
|
|
3
3
|
//#region src/unwraps/aceml.ts
|
|
4
|
+
const encodedSchemeRegex = /^https?%3A/i;
|
|
4
5
|
const baseExtractor = createParamExtractor({
|
|
5
6
|
hosts: /\.acemln[a-d]\.com$/,
|
|
6
7
|
path: "/Prod/link-tracker",
|
|
@@ -9,8 +10,12 @@ const baseExtractor = createParamExtractor({
|
|
|
9
10
|
const unwrapAceml = (url) => {
|
|
10
11
|
const raw = baseExtractor(url);
|
|
11
12
|
if (!raw) return;
|
|
12
|
-
|
|
13
|
+
let decoded = decodeBase64(raw);
|
|
14
|
+
if (decoded && encodedSchemeRegex.test(decoded)) try {
|
|
15
|
+
decoded = decodeURIComponent(decoded);
|
|
16
|
+
} catch {}
|
|
13
17
|
if (decoded && isHttpUrl(decoded)) return decoded;
|
|
18
|
+
if (isHttpUrl(raw)) return raw;
|
|
14
19
|
};
|
|
15
20
|
//#endregion
|
|
16
21
|
export { unwrapAceml };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/adcell.ts
|
|
3
|
+
const clickPathRegex = /^\/(?:p\/click|click\.php|promotion\/click\/promoId\/\d+\/slotId\/\d+)$/;
|
|
4
|
+
const extractTarget = createParamExtractor({
|
|
5
|
+
hosts: ["t.adcell.com", "www.adcell.de"],
|
|
6
|
+
params: ["param0"]
|
|
7
|
+
});
|
|
8
|
+
const unwrapAdcell = (url) => {
|
|
9
|
+
if (!clickPathRegex.test(url.pathname)) return;
|
|
10
|
+
return extractTarget(url);
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { unwrapAdcell };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isHostOf, isHttpUrl } from "../node_modules/trousse/dist/urls.mjs";
|
|
2
|
+
//#region src/unwraps/adfly.ts
|
|
3
|
+
const pathRegex = /^\/\d+\/(?:banner\/|int\/)?(.+)$/;
|
|
4
|
+
const schemeRegex = /^https?:/i;
|
|
5
|
+
const hostRegex = /^[\da-z-]+(?:\.[\da-z-]+)+(?:[/:]|$)/i;
|
|
6
|
+
const unwrapAdfly = (url) => {
|
|
7
|
+
if (!isHostOf(url, ["adf.ly", "q.gs"])) return;
|
|
8
|
+
const match = pathRegex.exec(url.pathname);
|
|
9
|
+
if (!match?.[1]) return;
|
|
10
|
+
const hasScheme = schemeRegex.test(match[1]);
|
|
11
|
+
if (!hasScheme && !hostRegex.test(match[1])) return;
|
|
12
|
+
const unwrapped = `${hasScheme ? match[1] : `http://${match[1]}`}${url.search}${url.hash}`;
|
|
13
|
+
if (isHttpUrl(unwrapped)) return unwrapped;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { unwrapAdfly };
|
package/dist/unwraps/adjust.mjs
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import { isHostOf, isHttpUrl } from "../node_modules/trousse/dist/urls.mjs";
|
|
2
|
+
import { createParamExtractor, getParamTarget } from "../utils.mjs";
|
|
2
3
|
//#region src/unwraps/adjust.ts
|
|
4
|
+
const hosts = ["app.adjust.com", "app.adjust.net.in"];
|
|
5
|
+
const pathRegex = /^\/[^/]+$/;
|
|
6
|
+
const trackerParams = [
|
|
7
|
+
"redirect",
|
|
8
|
+
"fallback",
|
|
9
|
+
"redirect_macos"
|
|
10
|
+
];
|
|
11
|
+
const unwrapUniversalLink = createParamExtractor({
|
|
12
|
+
hosts: /^[a-z0-9]{4}(?:\.tr)?\.adj\.st$/,
|
|
13
|
+
params: [
|
|
14
|
+
"adj_redirect",
|
|
15
|
+
"adj_fallback",
|
|
16
|
+
"adj_redirect_macos",
|
|
17
|
+
"adjust_fallback"
|
|
18
|
+
]
|
|
19
|
+
});
|
|
20
|
+
const unwrapTracker = (url) => {
|
|
21
|
+
if (!isHostOf(url, hosts) || !pathRegex.test(url.pathname)) return;
|
|
22
|
+
for (const param of trackerParams) {
|
|
23
|
+
const target = getParamTarget(url, param);
|
|
24
|
+
if (target && isHttpUrl(target)) return target;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
3
27
|
const unwrapAdjust = (url) => {
|
|
4
|
-
|
|
5
|
-
const target = url.searchParams.get("redirect");
|
|
6
|
-
if (!target || !isHttpUrl(target)) return;
|
|
7
|
-
return target;
|
|
28
|
+
return unwrapTracker(url) ?? unwrapUniversalLink(url);
|
|
8
29
|
};
|
|
9
30
|
//#endregion
|
|
10
31
|
export { unwrapAdjust };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/admitad.ts
|
|
3
|
+
const clickPathRegex = /^\/(?:g|goto)\/[0-9a-z]+\/$/;
|
|
4
|
+
const extractTarget = createParamExtractor({
|
|
5
|
+
hosts: [
|
|
6
|
+
"ad.admitad.com",
|
|
7
|
+
"aflink.ru",
|
|
8
|
+
"alitems.com",
|
|
9
|
+
"alitems.site",
|
|
10
|
+
"allgrad.site",
|
|
11
|
+
"bednari.com",
|
|
12
|
+
"dhwnh.com",
|
|
13
|
+
"iytlj.com",
|
|
14
|
+
"kjuzv.com",
|
|
15
|
+
"lenkmio.com",
|
|
16
|
+
"modato.ru",
|
|
17
|
+
"pafutos.com",
|
|
18
|
+
"rzekl.com",
|
|
19
|
+
"tjzuh.com",
|
|
20
|
+
"xpuvo.com"
|
|
21
|
+
],
|
|
22
|
+
params: ["ulp"]
|
|
23
|
+
});
|
|
24
|
+
const unwrapAdmitad = (url) => {
|
|
25
|
+
if (!clickPathRegex.test(url.pathname)) return;
|
|
26
|
+
return extractTarget(url);
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { unwrapAdmitad };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getParamTarget } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/affilae.ts
|
|
3
|
+
const unwrapAffilae = (url) => {
|
|
4
|
+
if (url.hostname !== "lb.affilae.com" || url.pathname !== "/r/") return;
|
|
5
|
+
return getParamTarget(url, "lp", -1);
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
export { unwrapAffilae };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/affiliateFuture.ts
|
|
3
|
+
const unwrapAffiliateFuture = createParamExtractor({
|
|
4
|
+
hosts: "scripts.affiliatefuture.com",
|
|
5
|
+
path: "/AFClick.asp",
|
|
6
|
+
params: ["url"]
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { unwrapAffiliateFuture };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/affiliatesOne.ts
|
|
3
|
+
const pathRegex = /^\/track\/clicks\/\d+\/c627c2b[0-9a-f]+$/;
|
|
4
|
+
const extractTarget = createParamExtractor({
|
|
5
|
+
hosts: [
|
|
6
|
+
"abzcoupon.com",
|
|
7
|
+
"affckr.site",
|
|
8
|
+
"affclk.site",
|
|
9
|
+
"affclkr.com",
|
|
10
|
+
"affclkr.online",
|
|
11
|
+
"afflnk.site",
|
|
12
|
+
"affone.site",
|
|
13
|
+
"affsrc.com",
|
|
14
|
+
"afftck.com",
|
|
15
|
+
"afftck.site",
|
|
16
|
+
"afftkr.site",
|
|
17
|
+
"aftck.com",
|
|
18
|
+
"tlcafftrax.com",
|
|
19
|
+
"track.abzcoupon.com",
|
|
20
|
+
"track.affclkr.com",
|
|
21
|
+
"track.affsrc.com",
|
|
22
|
+
"track.afftck.com",
|
|
23
|
+
"track.tlcafftrax.com",
|
|
24
|
+
"track.twcouponcenter.com",
|
|
25
|
+
"track.twshop4coupon.com",
|
|
26
|
+
"track.vbshoptrax.com",
|
|
27
|
+
"twcouponcenter.com",
|
|
28
|
+
"twshop4coupon.com",
|
|
29
|
+
"vbshoptrax.com",
|
|
30
|
+
"vbtrax.com"
|
|
31
|
+
],
|
|
32
|
+
params: ["t"]
|
|
33
|
+
});
|
|
34
|
+
const unwrapAffiliatesOne = (url) => {
|
|
35
|
+
if (!pathRegex.test(url.pathname)) return;
|
|
36
|
+
return extractTarget(url);
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { unwrapAffiliatesOne };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createParamExtractor } from "../utils.mjs";
|
|
2
|
+
//#region src/unwraps/aliexpress.ts
|
|
3
|
+
const unwrapAliexpress = createParamExtractor({
|
|
4
|
+
hosts: "s.click.aliexpress.com",
|
|
5
|
+
path: "/deep_link.htm",
|
|
6
|
+
params: ["dl_target_url"]
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
export { unwrapAliexpress };
|