{"_id":"@protontech/tidy-url","_rev":"18-442b81cf2c8fccfa39c513035fad602a","name":"@protontech/tidy-url","dist-tags":{"latest":"1.18.5"},"versions":{"1.6.17":{"name":"@protontech/tidy-url","version":"1.6.17","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"ISC","_id":"@protontech/tidy-url@1.6.17","maintainers":[{"name":"epokk","email":"richard@pm.me"},{"name":"econdepe","email":"econdepe@protonmail.com"},{"name":"larabr","email":"larabr@protonmail.com"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"28d9679406df5236619820d7aa6a5f0d596311dc","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.6.17.tgz","fileCount":25,"integrity":"sha512-uu5mky8LWNynV82WoCjr0+XAAQFmPOYZzTfBTalHlfglEcSCBEu44FWerRKn28jYMXnMCQfKgin9mfyu2FQoQw==","signatures":[{"sig":"MEUCIQCp7nU8/7ivYtKZdNKX9k26CHzjjmNtGjWxEfoG4XL9GAIgb4nx0t18rG4OWLDxnjZeeAQlBbm8mMNZYWbUXFvtzFw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":92056},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"44cf7d02afa31f0c5f36a9be03e32ddc54d43da2","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"epokk","email":"richard@pm.me"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"8.1.2","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"16.13.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^4.9.2","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.6.17_1687863081700_0.041559160052668576","host":"s3://npm-registry-packages"}},"1.7.8":{"name":"@protontech/tidy-url","version":"1.7.8","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"ISC","_id":"@protontech/tidy-url@1.7.8","maintainers":[{"name":"epokk","email":"richard@pm.me"},{"name":"econdepe","email":"econdepe@protonmail.com"},{"name":"larabr","email":"larabr@protonmail.com"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"4a6e9dbad288ed1e03a9b0c25cbc23c919b44a4f","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.7.8.tgz","fileCount":26,"integrity":"sha512-kSV2yJOWw5pRFAI/httPtUuDupJNfbDo4SNq42M6/57YxJ7h6bA42DRx1AHse1T9aLOk2SQUsaeN0mROWEu1og==","signatures":[{"sig":"MEUCIQCfpr/21Cze/kl3roBYDYKk9z9GxG0A/Q9QyG0MfvaG9AIga/aVxa6pphp4Fwd6EQgQln50J+D17EczMVHWPh7TGCI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101490},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"ab89c5baf872f3512a4941aa3e2edd55097007d8","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"epokk","email":"richard@pm.me"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"8.1.2","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"16.13.1","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^4.9.2","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.7.8_1696843623224_0.8421909047431129","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"@protontech/tidy-url","version":"1.10.1","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"ISC","_id":"@protontech/tidy-url@1.10.1","maintainers":[{"name":"guillaumez","email":"account@guillaumez.fr"},{"name":"edvincandon","email":"edvincandon@gmail.com"},{"name":"epokk","email":"richard@pm.me"},{"name":"econdepe","email":"econdepe@protonmail.com"},{"name":"larabr","email":"larabr@protonmail.com"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"864b8e202acbf28a2256b32feb5b17e9d7cc6224","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.10.1.tgz","fileCount":26,"integrity":"sha512-kahmN3FUbzp0EKgWfEVmcwRAJcG3MG808eSVELT2jQz31sQEyQ7tN+SsNUB1r80MU59TLs/fgAJ78nAkiSufJg==","signatures":[{"sig":"MEQCIG9zfgPVfCDa7YShCiC5oaqdPVlOQ7YVSnfgl2iQf6dMAiAHUPjp9DXRnIIbqu16WyKTuiur/j7ZaVitSW4seFGRaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":110480},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"af29b0d3a55b8a3bb132ad4858173cac472b1fc4","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"epokk","email":"richard@pm.me"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"10.1.0","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"20.9.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^4.9.2","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.10.1_1699344216333_0.3436065771531298","host":"s3://npm-registry-packages"}},"1.18.3":{"name":"@protontech/tidy-url","version":"1.18.3","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"MIT","_id":"@protontech/tidy-url@1.18.3","maintainers":[{"name":"e1a0a0ea","email":"npmjs.t801x@passmail.net"},{"name":"guillaumez","email":"account@guillaumez.fr"},{"name":"edvincandon","email":"edvincandon@gmail.com"},{"name":"epokk","email":"richard@pm.me"},{"name":"econdepe","email":"econdepe@protonmail.com"},{"name":"larabr","email":"larabr@protonmail.com"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"133f3add383a300a9b67bfedc15e58b1bfc87a98","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.18.3.tgz","fileCount":36,"integrity":"sha512-wfAzgFmH6M819EHG5vFvfsX6tDL23XBIUrsRBYr1PK9PAGp/0f7EEfSxvP//vPIkN3Dl9nGalmHr7LilwNIiLQ==","signatures":[{"sig":"MEYCIQD3+/OfxQLxXDsgUVmFo/yrxFTcckk+BooC5NJDXJBx3wIhAOftou3eMVwSCEy2bfAdyYaEWeN0O4DgIP2SlJouCl6f","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":185589},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"4a093c579b38176ab9bed5079724800d1e8b070f","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"guillaumez","email":"account@guillaumez.fr"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"10.8.2","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","webpack":"^5.90.3","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^5.1.4","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.18.3_1729585771454_0.26200451642329137","host":"s3://npm-registry-packages"}},"1.18.4":{"name":"@protontech/tidy-url","version":"1.18.4","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"MIT","_id":"@protontech/tidy-url@1.18.4","maintainers":[{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"},{"name":"fraser-proton","email":"fraser.dempster@proton.ch"},{"name":"epokk","email":"richard@pm.me"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"edvincandon","email":"edvincandon@gmail.com"},{"name":"flavien-bonvin","email":"flavien.bonvin@pm.me"},{"name":"e1a0a0ea","email":"npmjs.t801x@passmail.net"},{"name":"gudmundur-proton","email":"gudmundur.heimisson@proton.ch"},{"name":"dborghino","email":"dario.borghino@proton.ch"},{"name":"mhorejsek","email":"michal.horejsek@proton.ch"},{"name":"protontech-npm-bot","email":"web-chapter@proton.ch"},{"name":"ggonzalezproton","email":"guillaume.gonzalez@proton.ch"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"2e4abd417a0ccc35320986708ec3785334fbce4f","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.18.4.tgz","fileCount":36,"integrity":"sha512-RvACaqTgRRQGdVrKi+g07VWt3srLvT/VCwgKKvysPM81UeTOBZXttW0Fi5ZUuUpcRN7u0L7vQBp72uVdvjyfmQ==","signatures":[{"sig":"MEYCIQCZFebjo9sMt0m0cjpHX7Uj2ZWpgoktFjQYUu70rY8ITAIhANooFitjCzNmiSQlRzyfASoP3+XNy7ZvLDeVEgwONHOi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187229},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"a060158d40d7618690ed75e0ce8ae6ad8d55e646","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"fraser-proton","email":"fraser.dempster@proton.ch"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"11.6.0","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"24.9.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","webpack":"^5.90.3","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^5.1.4","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.18.4_1767718754039_0.2251036763823231","host":"s3://npm-registry-packages-npm-production"}},"1.18.5":{"name":"@protontech/tidy-url","version":"1.18.5","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"author":"","license":"MIT","_id":"@protontech/tidy-url@1.18.5","maintainers":[{"name":"twiss","email":"d.huigens@protonmail.com"},{"name":"bartbutler","email":"bart+npm@pm.me"},{"name":"fraser-proton","email":"fraser.dempster@proton.ch"},{"name":"epokk","email":"richard@pm.me"},{"name":"mmso","email":"mmso@mmso.se"},{"name":"edvincandon","email":"edvincandon@gmail.com"},{"name":"flavien-bonvin","email":"flavien.bonvin@pm.me"},{"name":"e1a0a0ea","email":"npmjs.t801x@passmail.net"},{"name":"gudmundur-proton","email":"gudmundur.heimisson@proton.ch"},{"name":"dborghino","email":"dario.borghino@proton.ch"},{"name":"mhorejsek","email":"michal.horejsek@proton.ch"},{"name":"protontech-npm-bot","email":"web-chapter@proton.ch"},{"name":"ggonzalezproton","email":"guillaume.gonzalez@proton.ch"}],"homepage":"https://github.com/DrKain/tidy-url#readme","bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"dist":{"shasum":"83db5f3a13d9e5f14a345b6c83f20e414cbf39cc","tarball":"https://registry.npmjs.org/@protontech/tidy-url/-/tidy-url-1.18.5.tgz","fileCount":36,"integrity":"sha512-sNHj3vbRlPhL94V9uAH2wTPrz+5YrWolrPGpW3IZVmflrA6pnyLqhcRQ0xktp2nRwnAQExO5mIZ0KR+7OBC+dQ==","signatures":[{"sig":"MEUCIQDnuuowRTtbViXRyibuyV2uSNdD0ibrMOjzd+EAKESDJQIga1szPd7y4oQIxpJOzJZvOs4XIpB7wKqCK/KeO2Eeki8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":187935},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"671bf1123f6c77ab3203dd0e6cccc51d1e5e0d8f","scripts":{"test":"ts-node test.ts","build":"tsc && webpack && ts-node src/postbuild.ts","prepare":"npm run build","version":"git add -A src","postversion":"git push && git push --tags"},"_npmUser":{"name":"fraser-proton","email":"fraser.dempster@proton.ch"},"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"_npmVersion":"11.6.0","description":"Cleans/removes tracking or garbage parameters from URLs","directories":{},"_nodeVersion":"24.9.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.12.0","webpack":"^5.90.3","prettier":"^2.3.0","ts-loader":"^9.2.8","typescript":"^4.2.4","@types/node":"^14.17.0","webpack-cli":"^5.1.4","@typescript-eslint/parser":"^5.17.0","@typescript-eslint/eslint-plugin":"^5.17.0"},"_npmOperationalInternal":{"tmp":"tmp/tidy-url_1.18.5_1768320524467_0.13618171376684907","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2023-06-27T10:51:21.639Z","modified":"2026-04-21T13:42:57.154Z","1.6.17":"2023-06-27T10:51:21.879Z","1.7.8":"2023-10-09T09:27:03.541Z","1.10.1":"2023-11-07T08:03:36.519Z","1.18.3":"2024-10-22T08:29:31.660Z","1.18.4":"2026-01-06T16:59:14.193Z","1.18.5":"2026-01-13T16:08:44.606Z"},"bugs":{"url":"https://github.com/DrKain/tidy-url/issues"},"license":"MIT","homepage":"https://github.com/DrKain/tidy-url#readme","keywords":["tidy","clean","sanitize","url","website","tracking","remove","junk"],"repository":{"url":"git+https://github.com/DrKain/tidy-url.git","type":"git"},"description":"Cleans/removes tracking or garbage parameters from URLs","maintainers":[{"email":"d.huigens@protonmail.com","name":"twiss"},{"email":"bart+npm@pm.me","name":"bartbutler"},{"email":"hi+accounts@daniguardio.la","name":"daniguardiola"},{"email":"larabr@protonmail.com","name":"larabr"},{"email":"fraser.dempster@proton.ch","name":"fraser-proton"},{"email":"richard@pm.me","name":"epokk"},{"email":"mmso@mmso.se","name":"mmso"},{"email":"edvincandon@gmail.com","name":"edvincandon"},{"email":"flavien.bonvin@pm.me","name":"flavien-bonvin"},{"email":"npmjs.t801x@passmail.net","name":"e1a0a0ea"},{"email":"gudmundur.heimisson@proton.ch","name":"gudmundur-proton"},{"email":"dario.borghino@proton.ch","name":"dborghino"},{"email":"michal.horejsek@proton.ch","name":"mhorejsek"},{"email":"web-chapter@proton.ch","name":"protontech-npm-bot"},{"email":"guillaume.gonzalez@proton.ch","name":"ggonzalezproton"}],"readme":"# [![Tidy-URL](text-logo.png)](#)\n\nA Node Package & Userscript that removes tracking or garbage parameters from URLs making them shorter, cleaner and a lot nicer to read.\n\n[![NPM](https://img.shields.io/npm/v/tidy-url)](https://www.npmjs.com/package/tidy-url)\n[![NPM](https://img.shields.io/npm/dt/tidy-url)](https://www.npmjs.com/package/tidy-url)\n[![NPM](https://img.shields.io/npm/types/tidy-url)](https://www.npmjs.com/package/tidy-url)\n\n## Install:\n\nYou can use this automatically in the browser with the [userscript](https://github.com/DrKain/tidy-url/wiki/Userscript).\n\n-   [Node Package Manager](https://github.com/DrKain/tidy-url/wiki/Node-Package) (NPM)\n-   [Browser](https://github.com/DrKain/tidy-url/wiki/Userscript) (userscript)\n-   [jsDelivr](https://github.com/DrKain/tidy-url/wiki/jsDelivr)\n\n## NodeJS\n\n```\nnpm install tidy-url\n```\n\n### Require\n\n```js\nimport { TidyURL } from 'tidy-url';\n// or\nconst { TidyURL } = require('tidy-url');\n```\n\n### Usage\n\nThen pass it a URL and let the magic happen:\n\n```js\nconst link = TidyURL.clean('https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih?si=-k8RwDQwTCK923jxZuy07w&utm_source=copy-link');\nconsole.log(link.url); // https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih\n```\n\n### Validating\n\nYou can validate a URL using the `validate` function.\n\n```js\nTidyURL.validate('https://example.com'); // true\nTidyURL.validate('cat'); // false\nTidyURL.validate('google.com'); // false (protocol is required!)\n```\n\n### AMP & Redirects\n\nBy default, tidy-url will remove redirect parameters and AMP links if the rule supports it.  \nYou can disable this feature with `allowRedirects` and `allowAMP`.\nExamples:\n\n```ts\n// These are the defaults.\nTidyURL.config.setMany({\n    allowAMP: false,\n    allowRedirects: true\n});\n\nTidyURL.clean('https://www.google.com/amp/s/github.com');\nTidyURL.clean('https://steamcommunity.com/linkfilter/?url=https://github.com');\n// Result for both: https://github.com\n```\n\n_More info about AMP on [the wiki](https://github.com/DrKain/tidy-url/wiki/AMP-Links)_.\n\n### Note\n\nYou will always receive a valid response, even if nothing was modified. For example:\n\n```js\nconst link = TidyURL.clean('https://duckduckgo.com/this-is-fine');\n\nlink.url; // https://duckduckgo.com/this-is-fine\nlink.info.reduction; // 0 (percent)\n```\n\n### Supported Sites\n\nYou can view all custom supported sites [here](https://github.com/DrKain/tidy-url/wiki/Supported-Sites).  \nHowever, the global rules will be enough to work with thousands of sites around the internet. You should be able to pass any URL for cleaning.  \nRequest direct support for a website [here](https://github.com/DrKain/tidy-url/issues/new?assignees=&labels=&template=add-website.md&title=Website%3A+example.com)\n\n### Response\n\nThe response will always be an object with details of what was cleaned or modified in the URL.  \nThis can be used for debugging, testing or a simple way of letting users know they could have sent a shorter link.\n\n```json\n{\n    \"url\": \"https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih\",\n    \"info\": {\n        \"original\": \"https://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih?si=-k8RwDQwTCK923jxZuy07w&utm_source=copy-link\",\n        \"reduction\": 47,\n        \"difference\": 47,\n        \"replace\": [],\n        \"removed\": [\n            {\n                \"key\": \"utm_source\",\n                \"value\": \"copy-link\"\n            },\n            {\n                \"key\": \"si\",\n                \"value\": \"-k8RwDQwTCK923jxZuy07w\"\n            }\n        ],\n        \"match\": [\n            {\n                \"rules\": [\"si\", \"utm_source\", \"context\"],\n                \"replace\": [],\n                \"redirect\": \"\",\n                \"name\": \"spotify.com\",\n                \"match\": \"/open.spotify.com/i\"\n            }\n        ],\n        \"decoded\": null,\n        \"isNewHost\": false,\n        \"fullClean\": true\n    }\n}\n```\n\n### Example\n\nTurn these monstrosities:\n\n```\nhttps://poetsroad.bandcamp.com/?from=search&search_item_id=1141951669&search_item_type=b&search_match_part=%3F&search_page_id=1748155363&search_page_no=1&search_rank=1&search_sig=a9a9cbdfc454df7c2999f097dc8a216b\n\nhttps://www.audible.com/pd/Project-Hail-Mary-Audiobook/B08G9PRS1K?plink=GZIIiCHG0Uo5V8ND&ref=a_hp_c9_adblp13nmpxxp13n-mpl-dt-c_1_2&pf_rd_p=164101a8-2aab-4c5e-91ee-1f39e10719e6&pf_rd_r=2Q5R6VH8HJAD48PSQRS4\n\nhttps://www.amazon.com/Alexander-Theatre-Sessions-Poets-Fall/dp/B08NT852YT/ref=sr_1_1?dchild=1&keywords=Poets+of+the+fall&qid=1621684985&sr=8-1\n\nhttps://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih?si=-k8RwDQwTCK923jxZuy07w&utm_source=copy-link\n\nhttps://www.aliexpress.com/item/1005001913861188.html?spm=a2g0o.productlist.0.0.b1c55e86sFKsxH&algo_pvid=b4648621-2371-4d1e-9a9c-89b4d6c59395&algo_expid=b4648621-2371-4d1e-9a9c-89b4d6c59395-0&btsid=0b0a556816216865399393168e562d&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_\n\nhttps://www.google.com/search?q=cat&source=hp&ei=AwGpYKzyE7uW4-EPy_CnSA&iflsig=AINFCbYAAAAAYKkPE4rmSi0Im0sHgmOVb3DYosyq2B0B&oq=cat&gs_lcp=Cgdnd3Mtd2l6EAMyBQguEJMCMgIILjICCAAyAggAMgIILjICCAAyAggAMgIILjICCC4yAgguOggIABDqAhCPAToLCC4QxwEQowIQkwI6CAguEMcBEKMCUNgEWIQHYMwIaAFwAHgAgAHIAYgB2ASSAQMyLTOYAQCgAQGqAQdnd3Mtd2l6sAEK&sclient=gws-wiz&ved=0ahUKEwjs_9PdrN3wAhU7yzgGHUv4CQkQ4dUDCAY&uact=5\n\nhttps://www.emjcd.com/links-i/?d=eyJzdXJmZXIiOiIxMDAzMDQ3Mjg5ODMzODAxMDI6VlBTbFlUN3JBeHpsIiwibGFzdENsaWNrTmFtZSI6IkxDTEsiLCJsYXN0Q2xpY2tWYWx1ZSI6ImNqbyF4aTU5LXZ0Zm1nOTkiLCJkZXN0aW5hdGlvblVybCI6Imh0dHBzOi8vd3d3LnZ1ZHUuY29tL2NvbnRlbnQvbW92aWVzL2RldGFpbHMvTW9vbmxpZ2h0LVNlYXNvbi0xLzEzMzEyMCIsInNpZCI6IltzdWJpZF92YWx1ZV0iLCJ0eXBlIjoiZGxnIiwicGlkIjo5MDExNjczLCJldmVudElkIjoiMGFjZGE1ZDdmNzNlMTFlYzgyYWM3NDliMGExYzBlMGUiLCJjalNlc3Npb24iOiIyZjBjNGNjYi1lNmVmLTQ0YzItYjIzYy02NzNjZjY2MTZlMTYiLCJsb3lhbHR5RXhwaXJhdGlvbiI6MCwicmVkaXJlY3RlZFRvTGl2ZXJhbXAiOmZhbHNlLCJjakNvbnNlbnRFbnVtIjoiTkVWRVJfQVNLRUQifQ%3D%3D\n\nhttps://www.youtube.com/redirect?event=video_description&redir_token=QCFCLUhqbUVVVVc2Vm53OGdFMi15NU1vSzloWkZveGcyUXxBQ3Jtc0tsR143azQxRVpxZ3lUampXUEkyaTdpdy1reU1OVGcyb3pmOUhzU22Ldm5QZ0tueEMzMy1TQTA1Mm85SEpCUW14UHlq11ZCUVlhU3QzdW52U2Uyd01pbTVINDRjNlhf124ySEZqMHBJbnFEWDdiMTNUVQ&q=https%3A%2F%2Ftomscott.com%2F&v=k7fXbdRH9v4\n```\n\nInto these:\n\n```\nhttps://poetsroad.bandcamp.com/\n\nhttps://www.audible.com/pd/Project-Hail-Mary-Audiobook/B08G9PRS1K\n\nhttps://www.amazon.com/Alexander-Theatre-Sessions-Poets-Fall/dp/B08NT852YT\n\nhttps://open.spotify.com/track/1hhZQVLXpg10ySFQFxGbih\n\nhttps://www.aliexpress.com/item/1005001913861188.html\n\nhttps://www.google.com/search?q=cat\n\nhttps://www.vudu.com/content/movies/details/Moonlight-Season-1/133120\n\nhttps://tomscott.com/\n```\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome and greatly appreciated!  \nFeel free to check [issues page](https://github.com/DrKain/tidy-url/issues).\nIf you find a website that is not supported, please create an issue and I'll be more than happy to add it.\n\n## 👤 Author\n\nThis project was made by **Kain (ksir.pw)**  \nFeel free to contact me if you have any trouble with this package.\n\n-   Website: [ksir.pw](https://ksir.pw)\n-   Github: [@DrKain](https://github.com/DrKain)\n-   Discord: drkain\n","readmeFilename":"README.md"}