Comments (7)
One employee suggested using Privoxy as a local proxy, only accessible after authenticating over the VPN, to strip out and block ads: https://www.privoxy.org/
It's possible to put Privoxy inline with Squid, Apache, or Nginx to act as a caching web proxy too. What do you think about this as a solution as compared to a local DNS resolver?
If we use a proxy, rather than a local DNS resolver, this would give users the ability to "opt-in" to ad blocking and compression. If they don't use the proxy in their configuration, then all of their traffic will pass through the VPN untouched. If they do use the proxy, then they get the ad blocking, compression, and caching features.
from algo.
Openwrt has excellent adblock package - https://gist.github.com/teffalump/7227752
I can use their URLs with lists of AD sites and implement such solution in our system
from algo.
I reviewed our available options and I think the best strategy is to setup an HTTP proxy with Privoxy. Later, we can ship a local certificate authority to the client to intercept HTTPS.
Pros
- Able to inspect page contents for ads and other junk
- Users can turn on and off the proxy while retaining access to the VPN
- Able to add other proxies inline, for example a caching web proxy w/ nginx
- Privoxy comes with its own blocklists
Cons
- Greater memory and CPU usage
- No ability to inspect HTTPS until we ship a local certificate authority
- Extra configuration required by the client to turn on the proxy
from algo.
Also we can provide a PAC script, how do you think?
from algo.
Sure, that would be helpful.
from algo.
Also, I would like to suggest to use the DNS based ad blocking system, because It will work with https and clients don't need to configure proxy settings in their browsers
from algo.
Can you create the playbook for dns-based ad blocking, then make it optional to install it? Allow the user to select yes or no during setup.
from algo.
Related Issues (20)
- Installation failure "Deploy from script or cloud-init", Hostinger VPS Ubuntu 22.04 x64
- msg": "The 'file' lookup had an issue accessing the file 'configs/20.22.44.75/wireguard//.pki//private/phone'. file not found, use -vvvvv to see paths searched HOT 3
- After connecting Algo-VPN with Wireguard client from windows/linux/macos internet becomes very slow HOT 2
- Add support for MacOS Deployment HOT 1
- algo installation failled to Save private keys
- Configuring Algo Server with NTP Daemon with firewalls to allow access only through the VPN tunnels.
- Installation fails under Ansible 9.1.0 with Hetzner Cloud HOT 1
- ansible 9.1.0 not available on gcloud shell HOT 1
- consider updating gce warning about python 3.8
- ssh-tunnel per user ssh configs don't specify the custom algo port
- Azure Deployment ModuleNotFoundError: No module named 'azure.mgmt.rdbms.postgresql_flexibleservers' HOT 1
- ERROR! couldn't resolve module/action 'vultr_firewall_group'.
- Algo fails to deploy on OpenStack (DreamCompute optimised) HOT 1
- algo fails to deploy on Vultr HOT 1
- Error creating Vultr server in non-default region
- Installing to Ubuntu 24.04 server fails with "unexpected error occurred" in apparmor
- strongswan setup failed (apparmor issue) HOT 2
- AppArmor bug persists HOT 3
- Any way to adjust client config files to protect against TunnelVision attack?
- Update-users failure (`Could not find or access 'configs/...`)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from algo.