https://github.com/igorskyflyer/npm-adblock-header-extract
โ๏ธ 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. ๐
https://github.com/igorskyflyer/npm-adblock-header-extract
adblock back-end biome data filter header igorskyflyer javascript js metadata node nodejs npm string ts typescript utility
Last synced: 4 months ago
JSON representation
โ๏ธ 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. ๐
- Host: GitHub
- URL: https://github.com/igorskyflyer/npm-adblock-header-extract
- Owner: igorskyflyer
- License: mit
- Created: 2024-07-15T16:05:53.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-21T23:12:55.000Z (10 months ago)
- Last Synced: 2025-09-22T00:25:30.666Z (10 months ago)
- Topics: adblock, back-end, biome, data, filter, header, igorskyflyer, javascript, js, metadata, node, nodejs, npm, string, ts, typescript, utility
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@igorskyflyer/adblock-header-extract
- Size: 186 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
Ad-block Header Extract
Fast Parsing โข Clean Metadata โข Node.js Utility โข Ad-block Filters
โ๏ธ 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. ๐
## ๐ Table of Contents
- [**Features**](#-features)
- [**Usage**](#-usage)
- [**API**](#-api)
- [**Examples**](#๏ธ-examples)
- [**Changelog**](#-changelog)
- [**Support**](#-support)
- [**License**](#-license)
- [**Related**](#-related)
- [**Author**](#-author)
## ๐ค 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:
```bash
pnpm add @igorskyflyer/adblock-header-extract
```
```bash
yarn add @igorskyflyer/adblock-header-extract
```
```bash
npm i @igorskyflyer/adblock-header-extract
```
## ๐คน๐ผ API
```ts
function extractHeaderString(
filter: string,
trimWhitespace: boolean = true
): string
```
Extracts 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 to `true`.
Returns the extracted header.
---
```ts
function extractHeaderString(
filter: string,
trimWhitespace: boolean = true
): string
```
Extracts 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 to `true`.
Throws an error if the file cannot be found or there is an error in reading it.
Returns the extracted header.
## ๐๏ธ Examples
`example.ts`
```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
[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**](https://github.com/igorskyflyer/npm-adblock-header-extract/blob/main/CHANGELOG.md).
## ๐ชช License
Licensed under the [**MIT license**](https://github.com/igorskyflyer/npm-adblock-header-extract/blob/main/LICENSE).
## ๐ Support
I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. โ
Thank you for supporting my efforts! ๐๐
## ๐งฌ Related
[**@igorskyflyer/normalized-string**](https://www.npmjs.com/package/@igorskyflyer/normalized-string)
> _๐ NormalizedString provides you with a String type with consistent line-endings, guaranteed. ๐ฎ_
[**@igorskyflyer/zep**](https://www.npmjs.com/package/@igorskyflyer/zep)
> _๐ง Zep is a zero-dependency, efficient debounce module. โฐ_
[**@igorskyflyer/mapped-replacer**](https://www.npmjs.com/package/@igorskyflyer/mapped-replacer)
> _๐ฆ Zero-dependency Map and RegExp based string replacer with Unicode support. ๐_
[**@igorskyflyer/strip-yaml-front-matter**](https://www.npmjs.com/package/@igorskyflyer/strip-yaml-front-matter)
> _๐ฆ Strips YAML front matter from a String or a file. ๐พ_
[**@igorskyflyer/strip-html**](https://www.npmjs.com/package/@igorskyflyer/strip-html)
> _๐ฅ Removes HTML code from the given string. Can even extract text-only from the given an HTML string. โจ_
## ๐จ๐ปโ๐ป Author
Created by **Igor Dimitrijeviฤ ([*@igorskyflyer*](https://github.com/igorskyflyer/))**.