Windscribe / browser-extension

Source code of the Windscribe Chrome and Firefox browser extensions
GNU General Public License v3.0
130 stars 25 forks source link

Add a blacklist option to run proxy only on allowed websites #10

Open XFox111 opened 1 year ago

XFox111 commented 1 year ago

Windscribe is a great VPN provider I use and love.

Though one thing bothers me is that exclusive/inclusive list for split tunneling exists only in the desktop app and not in browser extension

It would be great if I could choose whether to run/not run proxy on specific websites.

I've run through the code and read some Chrome API docs and the solution seems quite simple. If you assign me to this issue, I can prepare a PR myself

jsoctocat commented 1 year ago

ext\src\plugins\proxy\shouldNotProxy.js

function shouldNotProxy

no, it is not hard to change from include to exclude on the surface but the problem is, how are you going to proxy the stuff that aren't from the website itself?

let's say you want to proxy youtube.com, it won't include the videos because the videos are from a different server, you could manually include the video servers yourself by looking at your network but how many normal users are going to be able to do that?

Edit: https://github.com/jsoctocat/windscribe-browser-extension-blacklist

XFox111 commented 1 year ago

Edit: https://github.com/jsoctocat/windscribe-browser-extension-blacklist

Exactly! Though, instead of checking the originUrl I would come up with a bit more sophisticated approach that would use document, origin and request URLs altogether, since different combinations of these should result in different behavior (e. g. whitelisted website pulling a resource from a blacklisted one, vice versa, etc.)

jsoctocat commented 12 months ago

an average users will never need that much customization

XFox111 commented 12 months ago

It's more about its logic rather than customization.

For example, if you included website1.com into your blacklist, should the extension route all traffic from this website (including third-party domains, like website2.com), or should it stick to routing website1.com traffic only?

Another example is that the Origin header may be passed between browser tabs. Say, you are on blacklisted website1.com and you clicked on a website2.com link. It opens the link in a new window and passes the origin header to it. In this case this new tab's traffic will be tunneled, even though it is not supposed to.