@igorskyflyer/adblock-header-extract
v1.1.0
Published
✂️ Parse and extract ad-block filter list headers with ease. Works on strings or files, trims whitespace, and returns clean metadata for tooling and automation. 📃
Maintainers
Readme
📃 Table of Contents
🤖 Features
- ✅ Extracts ad-block filter headers quickly
- 📂 Reads filter files with UTF-8 support
- ⚡ Returns clean header strings reliably
- 🛡️ Handles invalid input safely
🕵🏼 Usage
Install it by executing any of the following, depending on your preferred package manager:
pnpm add @igorskyflyer/adblock-header-extractyarn add @igorskyflyer/adblock-header-extractnpm i @igorskyflyer/adblock-header-extract🤹🏼 API
function extractHeaderString(
filter: string,
trimWhitespace: boolean = true
): stringExtracts the header and metadata from an Adblock filter text.
filter- the string that contains the Adblock filter,trimWhitespace- should the whitespace be trimmed or not. Defaults totrue.
Returns the extracted header.
function extractHeaderString(
filter: string,
trimWhitespace: boolean = true
): stringExtracts the header and metadata from an Adblock filter file. File is read with the UTF-8 encoding by default.
file- the path to the filter file,trimWhitespace- should the whitespace be trimmed or not. Defaults totrue.
Throws an error if the file cannot be found or there is an error in reading it.
Returns the extracted header.
🗒️ Examples
example.ts
import { extractHeaderFromFile, extractHeaderString } from '@igorskyflyer/adblock-header-extract'
console.log(extractHeaderFromFile('./filter.txt'))
// will print
/*
[Adblock Plus 2.0]
!
! ___ __ _ __ _ __
! / | ____/ / | | / /____ (_)____/ /
! / /| | / __ / | | / // __ \ / // __ /
! / ___ |/ /_/ / | |/ // /_/ // // /_/ /
! /_/ |_|\____/ |___/ \____//_/ \____/
!
!
! {@!}
! Title: AdVoid.Full
! Description: Blocks major ad-servers, trackers, malware, fake download links, cookie-consent banners, popups, modals, push notifications, survey, newsletter and subscribe popups, sharing, Google Chromecast, popup chats, post widgets, like widgets, comments, service workers, news widgets, JavaScript and CSS maps, PWA install banners, Webmanifests, SWF objects
! Version: 3.0.3340
! Last modified: 2024-07-15T02:07:07.895+02:00
! Expires: 24 hours (update frequency)
! Homepage: https://github.com/the-advoid/ad-void
! Entries: 6615
! Author: Igor Dimitrijević (@igorskyflyer)
! GitHub issues: https://github.com/the-advoid/ad-void/issues
! GitHub pull requests: https://github.com/the-advoid/ad-void/pulls
! License: https://github.com/the-advoid/ad-void/blob/main/LICENSE
! Maintained by: Aria, igorskyflyer and all of the contributors
! See the CONTRIBUTORS.md (https://github.com/the-advoid/ad-void/blob/main/CONTRIBUTORS.md) file for more information
! Source: World Wide Web
*/./filter.txt
[Adblock Plus 2.0]
!
! ___ __ _ __ _ __
! / | ____/ / | | / /____ (_)____/ /
! / /| | / __ / | | / // __ \ / // __ /
! / ___ |/ /_/ / | |/ // /_/ // // /_/ /
! /_/ |_|\____/ |___/ \____//_/ \____/
!
!
! {@!}
! Title: AdVoid.Full
! Description: Blocks major ad-servers, trackers, malware, fake download links, cookie-consent banners, popups, modals, push notifications, survey, newsletter and subscribe popups, sharing, Google Chromecast, popup chats, post widgets, like widgets, comments, service workers, news widgets, JavaScript and CSS maps, PWA install banners, Webmanifests, SWF objects
! Version: 3.0.3340
! Last modified: 2024-07-15T02:07:07.895+02:00
! Expires: 24 hours (update frequency)
! Homepage: https://github.com/the-advoid/ad-void
! Entries: 6615
! Author: Igor Dimitrijević (@igorskyflyer)
! GitHub issues: https://github.com/the-advoid/ad-void/issues
! GitHub pull requests: https://github.com/the-advoid/ad-void/pulls
! License: https://github.com/the-advoid/ad-void/blob/main/LICENSE
! Maintained by: Aria, igorskyflyer and all of the contributors
! See the CONTRIBUTORS.md (https://github.com/the-advoid/ad-void/blob/main/CONTRIBUTORS.md) file for more information
! Source: World Wide Web
! {@0} Domains (global)
||02cscosgbuzl.top^
||05e11c9f6f.com^
||0af2a962b0102942d9a7df351b20be55.com^📝 Changelog
📑 Read about the latest changes in the CHANGELOG.
🪪 License
Licensed under the MIT license.
💖 Support
🧬 Related
@igorskyflyer/normalized-string
💊 NormalizedString provides you with a String type with consistent line-endings, guaranteed. 📮
🧠 Zep is a zero-dependency, efficient debounce module. ⏰
🦗 Zero-dependency Map and RegExp based string replacer with Unicode support. 🍁
@igorskyflyer/strip-yaml-front-matter
🦓 Strips YAML front matter from a String or a file. 👾
🥞 Removes HTML code from the given string. Can even extract text-only from the given an HTML string. ✨
👨🏻💻 Author
Created by Igor Dimitrijević (@igorskyflyer).
