Closed soredake closed 1 year ago
Hey @soredake, how did you install lychee? I just tried it on a Windows 11 machine with the latest version from winget and it worked as expected:
> echo 'https://endler.dev' | lychee -
π 1 Total β
1 OK π« 0 Errors
how did you install lychee?
From winget, running .exe's downloaded from github gives same result. Maybe my windows 11 install is broken somehow, latest version of lychee worked fine some time ago.
Strange. curl
works as expected? E.g. curl https://endler.dev
?
Yes, curl works fine.
That's confusing. Did you try my exact example? Might be blocking on longer lists, but I doubt it to be honest.
Did you try my exact example?
Yes, it fails with any file/link.
Could it be the Windows Defender Firewall which blocks lychee's network access maybe? π€
Could it be the Windows Defender Firewall which blocks lychee's network access maybe? π€
I've thought about it, I've reset all firewall rules to default, allowed lychee again, no luck, dunno why old versions work.
Very weird. A few more thoughts:
lychee --dump
work? --offline
plus a local file as input work?master
and test with that?In Windows Defender, did you have to allow curl as well?
No.
Does it have the same settings? Probably it's allowed by default.
curl is not listed in windows defender firewall rules at all.
Does lychee --dump work?
Yes.
Does --offline plus a local file as input work?
I got this π 120 Total β
0 OK π« 0 Errors π€ 120 Excluded
Can you try building lychee from master and test with that?
Same timeout. It'll be nice if lychee have builds in ci/cd for much easier testing without needing to compile from source.
Can you try an Administrator shell?
No luck.
Running out of ideas here. It works on my Windows machine, but that's inside a VM. Maybe you have another Windows box to test this on or somebody else has more thoughts, sorry.
I've found my issue, lychee is for some reason using Hamachi network instead of regular, when disable hamachi lychee works as expected, the question is, why newer versions use hamachi network?
Congrats on figuring this out!
We don't use hamachi anywhere specifically. For requests, we just depend on reqwest
and I checked but they also don't use hamachi. Maybe it's a proxy config? Also check your hamachi VPN settings. It's weird that only lychee uses it. π€
In any case, I'm glad it's not a bug in lychee and you're able to check links again. π
Digging deeper into this i found this article https://cloudrun.co.uk/windows10/set-network-interface-priority-in-windows-10-using-set-netipinterface/, hamachi interface was selected because it was higher priority due to providing 10 Gbps versus my 100 Mbps main connection. Maybe something was changed in reqwest
that makes it use windows priority for selecting interface, i will report this to them later.
I would guess that if it's configured somewhere at all then it would be in hyper, not reqwest. But honestly I doubt it. In any case, nice find and I'd be thrilled to know the answer. Please keep us posted. π
https://github.com/hyperium/hyper/issues/3122 reported to hyper.
For some reason, lychee version 0.10.0 and above now shows absolutely all links as timeout'ed, but in reality lychee does zero network activity (checked with task manager).