Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can it be compiled with wintls? #332

Open
rzhy1 opened this issue Jul 20, 2024 · 7 comments
Open

Can it be compiled with wintls? #332

rzhy1 opened this issue Jul 20, 2024 · 7 comments
Labels

Comments

@rzhy1
Copy link

rzhy1 commented Jul 20, 2024

Can it be compiled with wintls?
When wget.exe and aria2c.exe adopt wintls, the download speed is significantly faster in Windows, I wonder if this is possible for wget2.exe?
Related link for wget: https://github.com/lifenjoiner/wget-for-windows

@gvanem
Copy link
Contributor

gvanem commented Jul 20, 2024

Can it be compiled with wintls?

I assume you mean to interface with schannel.h? libcurl can use SChannel, so it would be possible in Wget/Wget2 too.
Ref. the Virtual TLS layer in libcurl.

When wget.exe and aria2c.exe adopt wintls, the download speed is significantly faster in Windows,

How have you proven this?
Using curl.exe with a set CURL_SSL_BACKEND=schannel, is IMO no faster than e.g. openssl, mbedtls etc.

@rzhy1
Copy link
Author

rzhy1 commented Jul 20, 2024

You can download wget(openssl) here :
https://eternallybored.org/misc/wget/1.21.4/64/wget.exe

You can download wget(wintls) here:
https://github.com/lifenjoiner/wget-for-windows/actions/runs/10006982087/artifacts/1718800350

Now you can download the same link and compare their download speeds, provided they are both on Windows.

@gvanem
Copy link
Contributor

gvanem commented Jul 20, 2024

Windows Defender blocks the latter .zip-file!

@rzhy1
Copy link
Author

rzhy1 commented Jul 20, 2024

The wget (wintls) compiled by someone else that doesn't have a virus, you can temporarily disable Windows Defender and try again.

@mitchcapper
Copy link
Contributor

wget2 naively supports wolfssl as an alternative ssl engine you might want to try compiling with that to see how it compares.

@nanonyme
Copy link

There are some other benefits with SChannel like that Windows automatically chases TLS certificates from Windows Updates.

@mitchcapper
Copy link
Contributor

Well wget2 has something of a pluggable SSL engine and has 3 full implementations. It is near complete rewrite of wget though. Your best bet to adding a 4th (and one that is single platform where others already work) would be to write the ssl module for it and see if wget2 will accept it (as they then also take on having to maintain it).

See the files
image
in the libwget folder for the existing implementations for reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants