Skip to content

Feature: Auto-fetch filter names from URL when adding custom blocklists/allowlists #8101

@glauberlima

Description

@glauberlima

Prerequisites

  • I have checked the Wiki and Discussions and found no answer

  • I have searched other issues and found no duplicates

  • I want to request a feature or enhancement and not ask a question

The problem

Currently, when users add custom blocklists or allowlists to AdGuard Home, they need to manually:

  1. Enter the filter URL
  2. Manually type or copy-paste a descriptive name for the filter

This creates friction in the user experience, especially when:

  • Adding multiple filters at once
  • The filter list already has a descriptive title in its metadata (in comments like ! Title: Filter Name)
  • Users might not know what name to give to the filter

Proposed solution

Implement an automatic filter name fetching feature that:

  1. Backend: Add a new endpoint /control/filtering/check_url that:

    • Accepts a filter URL via POST request
    • Fetches the content from the URL
    • Parses the filter file to extract the title from metadata comments (e.g., ! Title:, # Title:)
    • Returns the extracted title to the frontend
    • Includes permissive URL validation that doesn't require file extensions (many valid filter lists don't have .txt extensions)
  2. Frontend: Enhance the "Add custom filter" form to:

    • Automatically call the new endpoint when a user enters a URL (with debouncing, e.g., 800ms)
    • Auto-populate the "Name" field with the fetched title
    • Allow users to override the auto-fetched name if desired
    • Only auto-fetch if the name field is empty or unchanged from previous auto-fetch
    • Show appropriate loading states and error handling

Benefits

  • Improved UX: Reduces manual work when adding filters
  • Accuracy: Uses the official filter name from the list maintainer
  • Speed: Faster filter configuration, especially for users adding multiple lists
  • Accessibility: Makes it easier for less technical users to add custom filters

Technical Considerations

  • The auto-fetch should be non-blocking and not prevent users from manually entering names
  • Implement appropriate timeout handling for slow or unresponsive URLs
  • Consider caching mechanisms to avoid repeated fetches of the same URL
  • Ensure the feature works in development mode with appropriate debug logging
  • Should respect existing user input (don't override if user has already typed something)

Additional Context

This feature would be similar to how many modern applications auto-populate metadata (like browser extensions that fetch titles from URLs, or music players that fetch track information).

Alternatives considered and additional information

  1. Pre-populate a database of known filter lists (but this requires maintenance and doesn't help with custom/private lists)
  2. Require users to always manually enter names (current behavior, but suboptimal UX)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions