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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: Add support for ProtonVPN to identify and choose servers based upon subscription tier and/or feature set. #1103

Open
DiamondPrecisionComputing opened this issue Aug 9, 2022 · 0 comments

Comments

@DiamondPrecisionComputing

What's the feature 馃

I considered hijacking #1076 but decided that this might be a larger ask than a single feature.

The issue is that not all paid ProtonVPN servers support P2P. (By default, all paid servers that support P2P also support port forwarding.) Proton provides a server list that tells you what servers support P2P but, in their infinite wisdom, does not document what keys and values in their API determine what the server supports.
(It should probably be noted that their free servers support neither P2P nor port forwarding.)

Updating the worker that pulls and parses the JSON data from Proton's API probably shouldn't be that difficult. But, the option to let end users add variables to specify which features they require and then picking a server based on that criteria is a significantly larger ask.

Ultimately, I can see these features being useful for some. Feel free to prioritize based upon which features are more widely used, or reject all together if the demand is not there. :)

  1. Free vs paid tier
    A. This is already implemented but I believe it is based upon whether "free" is located in the server name. There is a key that dictates what tier the server is. Unsure if there will be significant change in data accuracy based upon parsing out the server name vs using the key-value pair in the API.

  2. Adblocker (NetShield)
    A. Gluetun offers adblocking built-in but implementing this requires no code change, only documentation updates. Simply add the suffix +f1 to the username for blocking malware only. Add suffix +f2 for blocking malware, ads, and trackers.

  3. P2P and Port Forwarding
    A. By default, paid servers that support P2P also support Port Forwarding. The Features key-pair determines if this is supported on the server.
    B. I don't believe Gluetun currently looks to verify P2P is supported on the selected server. This could cause issues when using clients that use the P2P protocol for communication as Gluetun would continue to error until the connection was unhealthy and then try another server.

  4. TOR
    A. Select servers auto tunnel traffic through a TOR relay. The Features key-pair determines if this is supported on the server.

  5. Secure Core/Multihop
    A. Gluetun already provides this as it looks to see if the entry and exit countries are different. The Features key-pair determines if this is supported on the server. Unsure if there will be significant change if code is updated of this.

A few additional notes.

  • Secure Core servers only support Adblocker
  • TOR servers only support
  • P2P/Port Forwarding servers also support Adblocker
  • Normal servers only support Adblocker
  • All paid servers, except secure core, support Streaming, Adblocker, 10Gbps local server connection
  • Free servers do not support Streaming, Adblocker, P2P/Port Forwarding, TOR, High speed 10Gbps.

I can provide the data needed to correctly identify the key-pair values for each of the features so no one else has to go down the rabbit hole. :)

Extra information and references

No response

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

No branches or pull requests

1 participant