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

Add SOCKS5 proxy support #365

Open
pointydev opened this issue Feb 3, 2025 · 5 comments
Open

Add SOCKS5 proxy support #365

pointydev opened this issue Feb 3, 2025 · 5 comments
Labels
enhancement New feature or request

Comments

@pointydev
Copy link

Is your feature request related to a problem? Please describe.
As a Mullvad user, I can set SOCKS5 proxy addresses (e.g. ee-tll-wg-socks5-001.relays.mullvad.net:1080 for Estonia) to divert specified traffic to a different output server while connected to any of their WireGuard servers. I can't use these addresses with TTV LOL PRO as it only supports HTTP proxies.

Describe the solution you'd like
The ability to use SOCKS5 proxies with TTV LOL PRO natively.

Describe alternatives you've considered
Using socks-to-http-proxy in order to convert the proxy locally, however this is rather janky as it requires restarts on network condition changes.

Additional context
The list of proxy addresses for available to Mullvad users can be seen here after filtering to WireGuard servers only, then expanding server details:

Thanks,
pointy

@pointydev pointydev added the enhancement New feature or request label Feb 3, 2025
@zGato
Copy link
Collaborator

zGato commented Feb 3, 2025

That is just a local address, you must be connected to Mullvad already, as you said. The extension isn't VPN-friendly and I personally wouldn't add any sort of SOCKS/HTTPS proxy support as it will cause confusion to most users that don't even know what an HTTP proxy is.

Using a VPN on top of the extension is just pointless, and will cause issues. We do not support, nor recommend it.

There's also no easy way to differentiate a proxy by its type. SOCKS's default port is 1080, and I don't know of any proxy provider that will even give you that port by default.

@pointydev
Copy link
Author

I haven't observed any issues with running the extension behind a VPN, using the program mentioned above to translate the SOCKS proxy to a HTTP one, with the built-in public proxy as a fallback for when my translator fails.

Addresses could simply be prefixed with socks5:// so as not to confuse regular users, with all other addresses being treated as HTTP proxies.

@zGato
Copy link
Collaborator

zGato commented Feb 3, 2025

It does cause issues with authentication or the proxy outright not working at all. Observed that already from NordVPN users. Even if they're not connected but just have the app in the background.
"VPN" extensions also cause similar issues.

We use the following syntax for authentication: user:password@proxy. That would break it.

@pointydev
Copy link
Author

Regardless of the VPN issues you have observed, parsing the protocol would be the only addition to your syntax, as socks5://user:password@proxy:port is a fairly standard format.

@zGato
Copy link
Collaborator

zGato commented Feb 3, 2025

Regardless of how it's implemented, we do not support, nor recommend using a VPN on top of TTV LOL PRO.

I cannot find any use case for SOCKS/HTTPS support. Mullvad is the only one I know that provides SOCKS proxies, but you must be connected to the Wireguard tunnel, which is kinda xD. NordVPN only supports those in certain locations (which none of them are ad-free), Proton explicitly doesn't. Windscribe creates a local HTTP/SOCKS5 tunnel, which is kinda the same as the app you mentioned. Surfshark explicitly doesn't.

Some of these might support HTTPS, but I don't really want people being tricked into installing certificates into their PCs and having all of their data MITMd. And even if they support it, it's quite tricky to get the info and authentication details.

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

No branches or pull requests

2 participants