pub(crate) static SERVICES: &[&str] = &[
"adf.ly",
"adfoc.us",
"amzn.to",
"amzn.id",
"atominik.com",
"ay.gy",
"b.link",
"bhpho.to",
"bit.ly",
"bit.do",
"bn.gy",
"branch.io",
"buff.ly",
"cal.link",
"ceesty.com",
"chatg.pt",
"chollo.to",
"cli.re",
"cli.fm",
"cutt.ly",
"cutt.us",
"db.tt",
"dub.sh",
"f.ls",
"fa.by",
"fb.me",
"fig.page",
"flip.it",
"fumacrom.com",
"geni.us",
"ggl.link",
"git.io",
"git.new",
"goo.gl",
"goto.now",
"gns.io",
"hmm.rs",
"ht.ly",
"hyperurl.co",
"is.gd",
"intamema.com",
"ity.im",
"j.gs",
"j.mp",
"kutt.it",
"2cm.es",
"l1nq.com",
"ldn.im",
"linklyhq.com",
"lnkd.in",
"microify.com",
"mzl.la",
"nmc.sg",
"nowlinks.net",
"ow.ly",
"plu.sh",
"prf.hn",
"q.gs",
"qr.ae",
"qr.net",
"rb.gy",
"rebrand.ly",
"rlu.ru",
"rotf.lol",
"s.click.aliexpress.com",
"s.coop",
"s.id",
"sh.st",
"soo.gd",
"short.gy",
"shortcm.xyz",
"shorturl.at",
"sl1nk.com",
"smu.sg",
"smq.tc",
"snip.ly",
"snipr.com",
"snipurl.com",
"snurl.com",
"split.to",
"spti.fi",
"surl.li",
"surl.lt",
"t.co",
"t.ly",
"t2m.io",
"tiny.cc",
"tiny.pl",
"tinyium.com",
"tinyurl.com",
"tinyurl.ae",
"tiny.one",
"tny.im",
"tny.sh",
"tr.im",
"trib.al",
"u.to",
"v.gd",
"virg.in",
"vzturl.com",
"waa.ai",
"washex.am",
"we.tl",
"x.co",
"y2u.be",
"yt.vu",
"yourwish.es",
"zpr.io",
];
pub(crate) fn which_service(url: &str) -> Option<&'static str> {
SERVICES.iter().find(|&x| url.contains(x)).copied()
}