Hi guys, not an issue, rather a user question. Looks like Opera browser with VPN on ignores my hosts file. I can access sites which are blocked in my hosts file. Is it normal for Opera VPN (or any VPN service) to ignore hosts file? Thanks!
Hello! Thank you for opening your first issue in this repo. It鈥檚 people like you who make these host files better!
Hi @a-tokarev that's is true if the VPN is setup correctly and by design. A correct setup VPN shall bypass any local(network wide) settings and only use those to make the connection to it's hosts (server)
@spirillen, I'm sorry to say you are entirely incorrect here.
The Opera VPN actually uses an HTTP(S) proxy and not a VPN. The type of proxy the Opera "VPN" uses is such that is resolves names on the distant end and not locally, thereby bypassing your device's local hosts file.
A real VPN, or virtual private network, creates a virtual network interface whereby you enter a virtual private network overlay that is a smaller "private" network that runs on top of the Internet. The virtual network interface in turn has an IP address, subnet mask, gateway, and DNS settings just like a real network interface. If the VPN has a DHCP service running on it, it could be pushing a particular DNS setting for the particular VPN interface to use when resolving names over that interface. However, for a VPN to work at all you must have at least one functioning physical network interface. If you would prefer to use that physical interface's DNS setting, you can separately statically disable DNS from being configured via DHCP on the VPN interface and instead resolve everything over the physical interface, or any other interface of your choosing that can reach any given DNS server of your choosing. You could conversely also disable the DNS setting on your physical interface and only use the DNS setting on your virtual interface, as long as the physical interface can still connect to the VPN's distant end and establish the VPN connection without needing DNS, i.e. connecting to an IP address and not a domain name or connecting to a domain name defined in your hosts file. Because a VPN uses a virtual interface and does not inherently change how your device uses DNS or any other network services, it also does not bypass your device's hosts file since the hosts file is a fundamental part of your device's network stack.
With an HTTP(S) proxy, there is no virtual network interface and, in fact, no virtual private network. When your browser is configured to use an HTTP(S) proxy, when you request to view a page in your browser, your browser then makes that request again to the proxy server instead of actually connecting to the requested Web server directly. Depending on the type of proxy, name resolution can be handled differently. If you want a more clear example, you can search the difference between a SOCKS4 proxy, which resolves locally, versus a SOCKS5 proxy, which can resolve remotely. Obviously a SOCKS proxy and HTTP(S) proxy are two completely different things, as well, but they are both different types of proxies.
The main difference being that a VPN works on the network layer, layer 3, while an HTTP(S) proxy is a very specific type of proxy for a very specific application that works on the application layer, layer 7. DNS itself also works on the application layer, therefore DNS as a protocol, including your hosts file, is not even accessed at all when a proxy is being used that has the ability to forward name resolution to the distant end. Since a VPN works on layer 3, DNS, HTTP(S), POP3, FTP, SSH, and every other application runs over it as usual and your hosts file works as expected. There are also other types of proxies, such as a SOCKS proxy as mentioned earlier, that can work on other layers, a SOCKS proxy working on the session layer, layer 5, and depending on the layer and specific purpose they were designed can come with different methods of performing name resolution.
Hi @ScriptTiger thanks for the heads up on Opera :+1:
But according to your in depth explaining of Opera VPN, the word VPN seems quit off and proxy would be the right word of choice :unamused:
You're not the first person to suggest that. However, the Opera browser as a whole is proprietary, although it does contain open-source components, and as such it's important the developers raise revenue from their product. The best way of marketing a product is by using trendy keywords/buzzwords that people are looking for that can be at least somewhat closely related to your product, most of the time anyway, and that also sound good to a focus group when strung together and paired with your product.
"Opera VPN" instills more feelings of security and confidence than "Opera Proxy," as the word "proxy" nowadays is mostly synonymous with shady web portals offering you the ability to browse the Web "anonymously." "VPN," on the other hand, has a lot more hype these days of giving you a "secure" connection, as opposed to simply "anonymous." Whether or not any of this is true or not doesn't really matter, it's just public perception.
VPN as secure feeling.... that is for choose not following up to what they are dealing with :unamused: as it have been reveled that most of the VPN's out there actually is tracking you and selling chose date to third parties :rocket:
The Tor Browser is yet still be best choice for enhanced privacy :rofl: I hate to say it (again) open source rules :smile:
But about Opera, I was trying to install it on a nix box last year...... damned what a lot of crap to disable, just to get somewhat _closer_ to privacy, it is coded 100% for tracking, just as Chrome/Chromium.
If you was asking for my classification on chose two browsers it would be spyware at best but malware would be pretty close up
And it is actually scaring me to see how easy it is to have people installing something just by (self) typed "We are safe" buz words, and consumers trust it without doing some searching on what other think about a product.
I hate to say it (again) open source rules 馃槃
Why do you hate to say that?
OPEN SOURCE RULEZ!!!
OPEN SOURCE RULEZ!!!
OPEN SOURCE RULEZ!!!
OPEN SOURCE RULEZ!!!
OPEN SOURCE RULEZ!!!
I am proud to say it, it's just a proven fact.
You mentioned "Chrome/Chromium," I'll also note that Chromium is the open-source basis for Chrome, while Chrome itself is actually not open source and is licensed as freeware. Google also knows the benefits of open source, so they play off of that to develop a proprietary browser for themselves. It's actually astonishing how many people think Chrome is open source. Can someone link me the open source for Chrome? And if you link to Chromium, you're wrong. Yes, most of the code used in Chrome comes from Chromium, but they are two completely different things and Google adds their propriety secret sauce to the mix before building their proprietary binaries. Even tech professionals get this wrong all the time and use "Chromium" interchangeably with "Chrome source" thinking it means the same thing, but it simply is not true.
ok ok ok
Parts of the Chrome is kind of "_open source_" on the cost of something (it's American and Google in one) so the Chromium version is actually still doing some tracking as it is the price for using the "open part" and a lot of orther things missing etc., why I mention them as one.
I do not hate to say open source rules, but, aahh well have said it once or twice in this board :dog:
PS: Didn't think i had to spell the above out, I know you :wink:
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
Closing.
Most helpful comment
@spirillen, I'm sorry to say you are entirely incorrect here.
The Opera VPN actually uses an HTTP(S) proxy and not a VPN. The type of proxy the Opera "VPN" uses is such that is resolves names on the distant end and not locally, thereby bypassing your device's local hosts file.
A real VPN, or virtual private network, creates a virtual network interface whereby you enter a virtual private network overlay that is a smaller "private" network that runs on top of the Internet. The virtual network interface in turn has an IP address, subnet mask, gateway, and DNS settings just like a real network interface. If the VPN has a DHCP service running on it, it could be pushing a particular DNS setting for the particular VPN interface to use when resolving names over that interface. However, for a VPN to work at all you must have at least one functioning physical network interface. If you would prefer to use that physical interface's DNS setting, you can separately statically disable DNS from being configured via DHCP on the VPN interface and instead resolve everything over the physical interface, or any other interface of your choosing that can reach any given DNS server of your choosing. You could conversely also disable the DNS setting on your physical interface and only use the DNS setting on your virtual interface, as long as the physical interface can still connect to the VPN's distant end and establish the VPN connection without needing DNS, i.e. connecting to an IP address and not a domain name or connecting to a domain name defined in your hosts file. Because a VPN uses a virtual interface and does not inherently change how your device uses DNS or any other network services, it also does not bypass your device's hosts file since the hosts file is a fundamental part of your device's network stack.
With an HTTP(S) proxy, there is no virtual network interface and, in fact, no virtual private network. When your browser is configured to use an HTTP(S) proxy, when you request to view a page in your browser, your browser then makes that request again to the proxy server instead of actually connecting to the requested Web server directly. Depending on the type of proxy, name resolution can be handled differently. If you want a more clear example, you can search the difference between a SOCKS4 proxy, which resolves locally, versus a SOCKS5 proxy, which can resolve remotely. Obviously a SOCKS proxy and HTTP(S) proxy are two completely different things, as well, but they are both different types of proxies.
The main difference being that a VPN works on the network layer, layer 3, while an HTTP(S) proxy is a very specific type of proxy for a very specific application that works on the application layer, layer 7. DNS itself also works on the application layer, therefore DNS as a protocol, including your hosts file, is not even accessed at all when a proxy is being used that has the ability to forward name resolution to the distant end. Since a VPN works on layer 3, DNS, HTTP(S), POP3, FTP, SSH, and every other application runs over it as usual and your hosts file works as expected. There are also other types of proxies, such as a SOCKS proxy as mentioned earlier, that can work on other layers, a SOCKS proxy working on the session layer, layer 5, and depending on the layer and specific purpose they were designed can come with different methods of performing name resolution.