All Projects → TechnikEmpire → StahpIt-WPF

TechnikEmpire / StahpIt-WPF

Licence: Unknown, Unknown licenses found Licenses found Unknown LICENSE Unknown License.rtf
Transparent HTTP/S Content Filter using Adblock Plus filters and CSS selectors for Windows Vista and later.

Programming Languages

C#
18002 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to StahpIt-WPF

Salvini-Blocker
Simple Chrome extension that replaces Matteo Salvini's face with a cat.
Stars: ✭ 34 (-34.62%)
Mutual labels:  adblock
adblock2privoxy
Convert adblock config files to privoxy format
Stars: ✭ 78 (+50%)
Mutual labels:  adblock
pki
Certificate Authority management suite
Stars: ✭ 23 (-55.77%)
Mutual labels:  openssl
toolz
A set of web tools to check, verify, and test.
Stars: ✭ 217 (+317.31%)
Mutual labels:  adblock
x509sak
X.509 Swiss Army Knife is a toolkit atop OpenSSL to ease generation of CAs and aid white-hat pentesting
Stars: ✭ 23 (-55.77%)
Mutual labels:  openssl
Network-Learn
A cross-platform network learning demos. Like high-performance http server
Stars: ✭ 23 (-55.77%)
Mutual labels:  openssl
easylist-pac-privoxy
EasyList Tracker and Adblocks to Proxy Auto Configuration (PAC) File and Privoxy Actions and Filters
Stars: ✭ 99 (+90.38%)
Mutual labels:  adblock
SpotX
Blocking ads and updates for the desktop version of Spotify, disabling podcasts and something else.
Stars: ✭ 812 (+1461.54%)
Mutual labels:  adblock
ngx http hmac secure link module
HMAC Secure Link module for NGINX.
Stars: ✭ 47 (-9.62%)
Mutual labels:  openssl
pihole-stuff
blocklists, scripts, etc.
Stars: ✭ 28 (-46.15%)
Mutual labels:  adblock
nodejs-certificate-auth
Demo for Client Certificate Authentication with Node.js Tutorial
Stars: ✭ 85 (+63.46%)
Mutual labels:  openssl
letsblockit
Remove low-quality content and useless nags, focus on what matters. A community-maintained uBlock Origin filter set.
Stars: ✭ 259 (+398.08%)
Mutual labels:  adblock
apple-pay
This library is used to decode tokens for Apple Pay.
Stars: ✭ 38 (-26.92%)
Mutual labels:  openssl
Simple-TLS-Client-Server-with-Node.js
Simple TLS Client/Server with Node.js
Stars: ✭ 22 (-57.69%)
Mutual labels:  openssl
alternative-frontends
🔐🌐 Privacy-respecting web frontends for popular services
Stars: ✭ 821 (+1478.85%)
Mutual labels:  adblock
hosts
冷莫(trli)的规则唯一一个提供全球比较全的库Cold Mo (TRLI) rules is the only one to provide a global comparison of the library.
Stars: ✭ 4 (-92.31%)
Mutual labels:  adblock
openssl ca
openssl_ca with QT GUI
Stars: ✭ 16 (-69.23%)
Mutual labels:  openssl
turk-adlist
Ad servers list to block ads on Turkish websites.
Stars: ✭ 38 (-26.92%)
Mutual labels:  adblock
Clash
clash配置文件,基于ACL4SSR以及blackmatrix7修改
Stars: ✭ 53 (+1.92%)
Mutual labels:  adblock
noads
Blocklists used for the noads.online project
Stars: ✭ 19 (-63.46%)
Mutual labels:  adblock

Image of Stahp Dog

Stahp It is a transparent HTTP/S Content Filter that uses Adblock Plus filters and CSS selectors, for Windows Vista and later. Using Stahp It, it's possible to filter HTTP requests made by any process on your device.

Stahp It also detects HTML payloads in HTTP responses, parses them, and removes elements by using user provided CSS selectors before returning the content. So it's possible to not just filter requests, but modify the content returned by those requests.

Put simply, Stahp It gives users complete control over all HTTP traffic. By its nature, every single browser that exists today is supported, and any browser in the future would automatically be supported. This is because Stahp It resides at the packet level, sitting atop the hardware, gaining automatic precedence.

Since any process of any kind that does HTTP/S communication is supported, you can filter web content that otherwise escapes other blockers (looking at you Windows 8/8.1/10 and the ads you inject used to inject into my shell).

How It Works

Stahp It, via the HttpFilteringEngine library, uses WinDivert to intercept outbound HTTP/S packets and redirect them back inward to the internal proxy. This only happens when the user explicitly enables this functionality and it is controlled on a per-process basis.

Once the traffic is sent back inbound to the proxy, the proxy "pretends" to be the server that the application was attempting to connect to. At this stage, if the connection is a HTTPS connection (secured), the proxy authenticates itself using a one time CA certificate and associated private key.

This decrypts the HTTPS connection locally, but only as far as Stahp It is concerned. Since we love encryption and are not evil, the connection to the external machine (the real server) is in fact secured, and if the process of establishing a secure connection encounters any issues (such as a bad or invalid certificate), the connection is immediately terminated, handing the issue down to the user.

If this process succeeds, the proxy simply hands data back and forth between the real server and the local process (your browser for example), only scanning the headers of requests and responses and filtering based on this data. In the event that a HTML response is detected, this content is parsed and all CSS selectors loaded are used to remove content from that payload, before being sent off to the local process (your browser).

The CA certificate and private key are destroyed and recreated every time the program runs and exits, and the keys are generated using named curves.

Stahp It does not trust your OS certificate store, just like FireFox does not and for the same reasons. People using self signed certs will have issues trying to use Stahp It.

I don't like words like "decrypt."

Have you ever visited a HTTPS website and saw intelligible content in your browser? That's because your browser decrypted it.

How Can I Trust You?

Surely, you shouldn't. I'm a random person in the world. Thankfully you don't have to, because all of Stahp It can be built from source and every bit of source code is 100% available for review. This project is just the GUI, the core functionality exists in GQ and HttpFilteringEngine.

Privacy

Stahp It does not communicate with any external machine, except in its function as a transparent proxy. Personal settings are not stored anywhere but on your device, same goes for statistics and any other application related data. No third party devices are used for any sort of processing.

The only "exception" to this is that Stahp It will, on startup, check directly with this repository for updates via WinSparkle. In this case, WinSparkle downloads information about the latest Release via an appcast, which is stored in this repository. WinSparkle will then compare this to the installed version and ask the user if they want to upgrade or not.

Legalities

Stahp It includes binary releases of OpenSSL. Below is a quote taken from the downloads page for OpenSSL:

Please remember that export/import and/or use of strong cryptography software, providing cryptography hooks, or even just communicating technical details about cryptography software is illegal in some parts of the world. So when you import this package to your country, re-distribute it from there or even just email technical suggestions or even source patches to the authors or other people you are strongly advised to pay close attention to any laws or regulations which apply to you. The authors of openssl are not liable for any violations you make here. So be careful, it is your responsibility.

I've quoted this warning because, seeing how Stahp It includes OpenSSL, this applies to your download/use of Stahp It.

Given that Stahp It can and will intercept and process HTTPS (secured, encrypted) connections by design, it is recommended that you only install Stahp It on your own personal device(s). Also, being that this software is "exported" from Canada, I'll also state that Stahp It is not "security software" in any sense, especially as defined by EXCOL laws and regulations. Download/usage of Stahp It is permitted only in strict adherance with the terms of the License, which is the GPLv3 or any later version with a special exception for OpenSSL.

Finally, I am not a lawyer, I am not your lawyer. None of this is legal advice. This is a cautionary commentary that you should comply with all International, National and local laws, as well as the License when using this software. I, the Author am not responsible for any violations you commit, wilful or otherwise.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].