跳到正文
cccskills
免费在 GitHub 公开

AdBlock DNS

Network-wide ad and tracker blocking at the DNS level. A Pi-hole alternative that runs directly on your machine as an OpenClaw skill. No separate hardware needed.

中文简介正在准备中。当前显示原文说明。

集成工具YouTubeCloudflare
查看安装方法

包含的文件(1)

  • SKILL.md6.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

AdBlock DNS

Network-wide ad and tracker blocking at the DNS level. A Pi-hole alternative that runs directly on your machine as an OpenClaw skill. No separate hardware needed.

What It Does

Runs a DNS sinkhole server that blocks ads, trackers, malware, and telemetry domains across your entire network. Any device that uses this machine as its DNS server gets ad-free browsing automatically — phones, tablets, smart TVs, laptops, IoT devices, everything.

Blocks 189,000+ ad and tracker domains using the same blocklists as Pi-hole (Steven Black, AdAway, EasyList, EasyPrivacy, Anti-Malware). Blocks both IPv4 (A) and IPv6 (AAAA) queries.

Works great for: Banner ads on websites, tracking pixels, third-party ad networks (Doubleclick, Amazon Ads, Criteo, Rubicon, etc.), in-app ads, telemetry/analytics trackers, malware domains.

Won't block: YouTube ads, Twitch ads, or any ads served from the same domain as the content itself. These platforms serve ads from their own CDN (e.g. googlevideo.com for YouTube), so blocking the domain would break the entire service. This is a fundamental limitation of ALL DNS-level blockers including Pi-hole. For YouTube ads, use a browser extension like uBlock Origin.

How It Works

The skill runs a DNS server on this machine. When a device queries a domain:

  • If the domain is on the blocklist, it returns 0.0.0.0 (blocked)
  • If the domain is clean, it forwards the query to upstream DNS (Cloudflare 1.1.1.1 by default)

All queries are logged with stats (total queries, blocked percentage, top blocked domains).

Setup

Step 1: Run the setup script

cd /path/to/skills/adblock/scripts
bash setup.sh

This will:

  1. Install dependencies if needed
  2. Create a systemd service (runs as root, starts on boot, auto-restarts)
  3. Download blocklists (~150K+ domains)
  4. Start the DNS server on port 53
  5. Start a stats API on port 8053
  6. Print your DNS IP and device setup instructions

The user will need to enter their sudo password once during setup.

Alternative (manual start without systemd):

sudo node dns-server.js

Step 2: Change DNS settings on your devices

This is the critical step. The DNS server does nothing until devices point to it.

Find this machine's local IP address:

hostname -I | awk '{print $1}'

Then configure devices to use that IP as their DNS server:

Router (blocks entire network):

  • Log into your router admin panel (usually 192.168.1.1)
  • Find DNS settings (usually under DHCP or Internet/WAN settings)
  • Set primary DNS to this machine's IP
  • Set secondary DNS to 1.1.1.1 (fallback if this machine is off)
  • All devices on the network are now protected

Individual devices:

  • iPhone/iPad: Settings > Wi-Fi > tap your network > Configure DNS > Manual > add this machine's IP
  • Android: Settings > Network > Wi-Fi > your network > Advanced > DNS > set to this machine's IP
  • Mac: System Settings > Network > Wi-Fi > Details > DNS > add this machine's IP
  • Windows: Settings > Network > Wi-Fi > Hardware properties > DNS server assignment > Manual > set IPv4 DNS
  • Linux: Edit /etc/resolv.conf or NetworkManager: nmcli con mod "Wi-Fi" ipv4.dns "MACHINE_IP"

Step 3: Verify it's working

# Should return 0.0.0.0 (blocked)
nslookup ads.google.com MACHINE_IP

# Should return a real IP (allowed)
nslookup google.com MACHINE_IP

Or check the API: curl http://localhost:8053/stats

Agent Commands

When the user asks about ad blocking, use these:

Check stats

curl -s http://localhost:8053/stats | python3 -m json.tool

Report: total queries, blocked queries, block percentage, top blocked domains.

Whitelist a domain

If something is broken because it's being blocked:

curl -s -X POST http://localhost:8053/whitelist/add -H "Content-Type: application/json" -d '{"domain":"example.com"}'

Block a specific domain

curl -s -X POST http://localhost:8053/blacklist/add -H "Content-Type: application/json" -d '{"domain":"annoying-site.com"}'

Check if a domain is blocked

curl -s "http://localhost:8053/check?domain=ads.google.com"

Update blocklists

Blocklists auto-update every 24 hours. To force an update:

curl -s -X POST http://localhost:8053/update

View whitelist

curl -s http://localhost:8053/whitelist

Running as a Service

The setup.sh script handles this automatically. If you need to manage it manually:

sudo systemctl start adblock-dns     # Start
sudo systemctl stop adblock-dns      # Stop
sudo systemctl restart adblock-dns   # Restart
sudo systemctl status adblock-dns    # Check status
journalctl -u adblock-dns -f         # View logs

# Remove completely
sudo systemctl disable adblock-dns
sudo rm /etc/systemd/system/adblock-dns.service
sudo systemctl daemon-reload

Configuration

Edit data/config.json:

{
  "upstream": "1.1.1.1",   // Upstream DNS (Cloudflare, Google 8.8.8.8, etc.)
  "port": 53,              // DNS port (53 = standard, needs sudo)
  "apiPort": 8053           // Stats API port
}

Files

  • data/blocklist.txt - Compiled blocklist (auto-generated)
  • data/whitelist.txt - Whitelisted domains (one per line)
  • data/custom-blacklist.txt - Extra domains to block (one per line)
  • data/stats.json - Query statistics
  • data/config.json - Server configuration

Constraints

  • Port 53 requires root/sudo access
  • Devices MUST be configured to use this machine's IP as DNS for blocking to work
  • If this machine goes offline, devices using it as DNS will lose DNS resolution (set a secondary DNS as fallback)
  • Only blocks domains, not in-page ad elements (use a browser ad blocker for that)
  • HTTPS/DoH queries that bypass system DNS won't be caught

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

name: 4d-compression-core version: 1.0.2 description: "把长内容压缩成结构化向量——节省 60-80% Token,保留核心信息" metadata: { "openclaw": { "emoji": "🌀", "requires": { "bins": ["jq", "awk"] }, "triggers": ["压缩", "4d",...

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

Use cheap, TEE-verified AI models from the 0G Compute Network as OpenClaw providers. Discover available models and compare pricing vs OpenRouter, verify provider integrity via hardware attestation (Intel TDX), manage your 0G wallet and sub-accounts, and configure models in OpenClaw with one workflow. Supports DeepSeek, GLM-5, Qwen, and other models available on the 0G marketplace.

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

Send and receive P2P messages using disposable numbers and PINs. No servers, no accounts. Use for human notifications, approval flows, and agent-to-agent communication.

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

0xarchive

免费

Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality. Use when the user asks about crypto market data, orderbooks, trades, funding rates, or historical prices on Hyperliquid, Lighter.xyz, or HIP-3.

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

0xwork

免费

Find and complete paid tasks on the 0xWork decentralized marketplace (Base chain, USDC escrow). Use when: the agent wants to earn money/USDC by doing work, discover available tasks, claim a bounty, submit deliverables, check earnings or wallet balance, or set up as a 0xWork worker. Task categories: Writing, Research, Social, Creative, Code, Data. NOT for: posting tasks (use the website), managing the 0xWork platform, or frontend development.

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

Patterns and practices that dramatically accelerate development velocity. Covers parallel execution, automation, feedback loops, workflow optimization, and anti-pattern avoidance. Use when starting projects, planning sprints, optimizing workflows, or onboarding developers.

中文简介正在准备中。当前显示原文说明。

modbender/skill-library-mcp172026年9月28日 更新

查看 modbender 的全部技能

报告此技能的问题