Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use DuckDuckGo's Image Proxy #312

Closed
ghost opened this issue Aug 5, 2020 · 5 comments
Closed

Use DuckDuckGo's Image Proxy #312

ghost opened this issue Aug 5, 2020 · 5 comments

Comments

@ghost
Copy link

ghost commented Aug 5, 2020

Route images on emails through a proxy, protecting the end-user's IP and User Agent.

Basically, just replace image URLs on images so they start as https://image.com/image.png and turn into https://external-content.duckduckgo.com/iu/?u=https://image.com/image.png.

This should be optional since images routed through DDG could be seen by them, so people who don't trust them for whatever reason should have a way to turn the feature off.

I don't know of any other proxies, is any others exist maybe make it a choice between the various services?

@ghost
Copy link
Author

ghost commented Aug 9, 2020

It looks like StartPage has a proxy.

Just insert the image URL on the end of https://www.startpage.com/av/proxy-image?piurl=

@ghost ghost changed the title Use an DuckDuckGo's Image Proxy Use DuckDuckGo's Image Proxy Aug 9, 2020
@vladimiry
Copy link
Owner

  • The is an opt-in feature (disabled by default).
  • The proxy URL pattern is configurable. It's configurable per account, so each account can specify own proxy value.
  • The feature toggle control is placed under the "Extended Options" block on the account edit form (see attached screenshot):
    proxy1

@vladimiry
Copy link
Owner

vladimiry commented Oct 16, 2020

Besides that there is another new toggle which enables blocking all non "API entry point"-based network requests. For example, this feature can be useful for detecting if @ProtonMail web client apps do unexpected/unintended/shady network requests. Warning: If option enabled the inlined in the emails images won't be loaded (the app displays a warning message per each blocked request).

proxy4

the app displays a warning message per each blocked request

See the blocked request notification example on screenshot (the whitelisted webclient0://app.protonmail.ch value here is the in-app-only-available host on which the app hosts the static web clients publicly assembled on CI server from https://github.com/ProtonMail):

blocked-remote-request-notification

This was referenced Oct 23, 2020
vladimiry added a commit that referenced this issue Nov 10, 2020
…l"}")

* the error could occur in some edge cases, like replying to the email with embedded images, if the enabled in #312 "Block non 'API entry point'-based network requests" feature was enabled
vladimiry added a commit that referenced this issue Nov 10, 2020
* the error could occur in some edge cases, like replying to the email with embedded images, if the enabled in #312 "Block non 'API entry point'-based network requests" feature was enabled
vladimiry added a commit that referenced this issue Nov 10, 2020
* the error could occur in some edge cases, like replying to the email with embedded images with the enabled "Block non 'API entry point'-based network requests" feature (see #312 for details)
vladimiry added a commit that referenced this issue Nov 10, 2020
* the error could occur in some edge cases, like replying to the email with embedded images and enabled "Block non 'API entry point'-based network requests" feature (see #312 for details)
@vladimiry
Copy link
Owner

Block all non "API entry point"-based network requests

This feature by the way helped detecting the following privacy issue in proton's mail web client (originally listed in #332 (comment)):

The problem was that when the user was exporting the email message in Proton's UI via "More => Export" click all the inlined to email images were requested. So the export was not efficient since there is no need to request inlined images during exporting to EML. But more importantly, the IP address was silently leaking without the user's consent.

vladimiry added a commit that referenced this issue Nov 16, 2020
* prevents the following error to occur: Access to the "mainFrame" resource with "chrome-extension://mhjfbmdgcfjbbpaeojofohoefgiehjai/index.html" URL has been forbidden
@vladimiry
Copy link
Owner

By the way @ProtonMail recently switched to loading external images via /api/images?Url=<address> API. So a similar custom feature implemented in the app doesn't make much sense anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant