From ff558b67479a7e1eadd2b2ad2c7dbcb13d786901 Mon Sep 17 00:00:00 2001 From: yggverse Date: Tue, 16 Jun 2026 01:23:27 +0000 Subject: [PATCH] add i2p domain support #108 --- src/domains.rs | 2 +- tests/domains.rs | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/domains.rs b/src/domains.rs index 4585284..df281a6 100644 --- a/src/domains.rs +++ b/src/domains.rs @@ -203,7 +203,7 @@ pub(crate) fn find_authority_end( fn valid_tld(tld: &str) -> bool { tld.chars() - .take_while(|c| c.is_ascii_alphabetic()) + .take_while(|c| c.is_ascii_alphanumeric()) .take(2) .count() >= 2 diff --git a/tests/domains.rs b/tests/domains.rs index f8c7f44..2535a60 100644 --- a/tests/domains.rs +++ b/tests/domains.rs @@ -191,3 +191,12 @@ fn assert_linked(input: &str, expected: &str) { fn assert_not_linked(s: &str) { assert_linked(s, s); } + +#[test] +fn i2p_valid() { + assert_linked( + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.b32.i2p", + "|xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.b32.i2p|", + ); + assert_linked("xxxx.i2p", "|xxxx.i2p|"); +}