EFForg / https-everywhere

A browser extension that encrypts your communications with many websites that offer HTTPS but still allow unencrypted connections.
https://eff.org/https-everywhere
Other
3.36k stars 1.09k forks source link

Safari / WKWebView support #543

Closed chrisballinger closed 8 years ago

chrisballinger commented 10 years ago

From my understanding it seems that HTTPS Everywhere doesn't support Safari because it lacks certain APIs to do the rewrites securely. Which APIs does Chrome have that Safari needs? Are there alternatives to use in order to achieve at least some level of support?

There is also a new API on iOS and OS X called WKWebView and it could be useful to combine HTTPS Everywhere with a customized version of WKWebView. I am considering creating a Tor-enabled subclass of WKWebView (using OnionKit) and it would be useful to be able to bundle some form of HTTPS Everywhere support.

let source = "document.body.style.background = \"#777\";"
let userScript = WKUserScript(source: source, injectionTime: .AtDocumentEnd, forMainFrameOnly: true)

let userContentController = WKUserContentController()
userContentController.addUserScript(userScript)

let configuration = WKWebViewConfiguration()
configuration.userContentController = userContentController
self.webView = WKWebView(frame: self.view.bounds, configuration: configuration)

The WKUserScript class looks like a good starting point.

Any tips on how we could avoid code duplication and reuse as much as possible? One potential snag is that you can't ship GPL'd code on iOS or the Mac App Store unless you are the author (or have full rights) so maybe we'd have to write anyway but figure out how to use the same ruleset data under a CC license.

ckoerner commented 9 years ago

I am not a developer, but am also interested in seeing something like HTTPS Everywhere come to Safari. I've done a little research and found a few projects that might be of assistance.

An additional note, the launch of HTTPS Everywhere was in 2012. Since then Apple has released 2 newer versions of Safari. It's possible that some of the problems discussed in the FAQ no longer apply.

https://github.com/kunklejr/ssl-everywhere.safariextension

https://github.com/sjmulder/urlrewrite-safari

https://www.altamiracorp.com/blog/employee-posts/lessons-learned-building-an-ht

heubergen commented 9 years ago

Are there any updates, maybe from @2d1 @pde @diracdeltas or @jsha?

I think safari user would also appreciate if you could code a safari extension.

I could also donate if that helps you :)

Hainish commented 8 years ago

Seems to be superseded by https://github.com/EFForg/https-everywhere/issues/5121