rpz

Response policy zone (RPZ) file generator.
git clone https://git.philomathiclife.com/repos/rpz
Log | Files | Refs | README

lib.rs (1726B)


      1 //! # `rpz`
      2 //!
      3 //! The primary module is [`mod@dom`] which contains types which can parse
      4 //! [`str`]s into different kinds of domains.
      5 //!
      6 //! [`mod@file`] contains types that can read UTF-8 files on the local file system
      7 //! or hosted on HTTP(S) servers.
      8 //!
      9 //! The purpose of these types is to make fetching, parsing, and transforming
     10 //! ad-blocking files into a [response policy zone (RPZ)](https://en.wikipedia.org/wiki/Response_policy_zone)
     11 //! file easier.
     12 #![feature(btree_cursors)]
     13 #![feature(io_error_more)]
     14 #![deny(
     15     future_incompatible,
     16     let_underscore,
     17     missing_docs,
     18     nonstandard_style,
     19     rust_2018_compatibility,
     20     rust_2018_idioms,
     21     rust_2021_compatibility,
     22     rust_2024_compatibility,
     23     unsafe_code,
     24     unused,
     25     warnings,
     26     clippy::all,
     27     clippy::cargo,
     28     clippy::complexity,
     29     clippy::correctness,
     30     clippy::nursery,
     31     clippy::pedantic,
     32     clippy::perf,
     33     clippy::restriction,
     34     clippy::style,
     35     clippy::suspicious
     36 )]
     37 #![expect(
     38     clippy::blanket_clippy_restriction_lints,
     39     clippy::exhaustive_enums,
     40     clippy::exhaustive_structs,
     41     clippy::implicit_return,
     42     clippy::min_ident_chars,
     43     clippy::missing_trait_methods,
     44     clippy::multiple_crate_versions,
     45     clippy::question_mark_used,
     46     clippy::ref_patterns,
     47     clippy::single_char_lifetime_names,
     48     reason = "never want to use these lints"
     49 )]
     50 /// Module for hostname-like domains including parsing [`str`]s
     51 /// from a variety of formats.
     52 pub mod dom;
     53 /// Contains a single function, `proper_subdomain_count`, that has a lot of lines
     54 /// that were pre-generated.
     55 mod dom_count_auto_gen;
     56 /// Module for fetching and parsing local and HTTP(S) files into
     57 /// [`dom::RpzDomain`]s.
     58 pub mod file;