Remove the requirement on ordering for domains
This commit is contained in:
parent
55bfdb19e3
commit
303389de14
|
@ -49,8 +49,6 @@ queerings.gay
|
|||
getonflop.xyz
|
||||
```
|
||||
|
||||
One restriction: If one site is a substring of another, the shorter site must go first. For example, if you have `unix.pub` and `unix.pub/~user`, `unix.pub` MUST be higher in the list than `unix.pub/~user`
|
||||
|
||||
Now, run the Faery Ring binary (or docker image) with the `.txt` file you just created as the first argument, like this:
|
||||
|
||||
```bash
|
||||
|
|
|
@ -67,9 +67,14 @@ impl<'a> Route<'a> {
|
|||
match self {
|
||||
Self::PrevOrNext(this_domain, offset) => {
|
||||
|
||||
// The name of the domain at the index of the index of shortest matching
|
||||
// domain from the list for which the requested domain is a substring,
|
||||
// offset by the offset.
|
||||
let destination = domains.iter()
|
||||
.position(|d| d.as_str().starts_with(this_domain))
|
||||
.map(|i| (i as isize + offset).rem_euclid(domains.len() as isize))
|
||||
.enumerate()
|
||||
.filter(|(_, d)| d.as_str().starts_with(this_domain))
|
||||
.min_by_key(|(_, d)| d.len())
|
||||
.map(|(i, _)| (i as isize + offset).rem_euclid(domains.len() as isize))
|
||||
.map(|i| domains[i as usize]); // safe to unwrap: we just did a rem_euclid
|
||||
|
||||
if let Some(url) = destination {
|
||||
|
|
Loading…
Reference in a new issue