Using this userscript I made : git.kaki87.net/KaKi87/userscripts/protonmailWithoutAnnoyances


ProtonMail allows scheduling and snoozing messages for free at preset times, e.g. tomorrow, next Monday, this weekend, etc., and always at 8, but makes people pay to choose a customized date and time.

I had a hunch that this restriction might only be implemented client-side, so I tried modifying the value in DevTools for the first time, and I couldn’t believe it : that worked !

So, in order to automate this, I created a userscript that replaces the button press handler for the “custom” option, then lets you input whatever value you need, e.g. (next) Wednesday, (in) 30 minutes, (today at) 8 PM, Thursday at 7 (AM), etc.

Then, it lets the app believe that we’re gonna schedule using the tomorrow preset, until it intercepts the request and swaps the time value with the user’s choice.

Enjoy !

  • TechnoCat@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 day ago

    This is a cool user script. I don’t want to take that away from you. Beckons me back to a more fun version of the internet. You’re providing a useful feature to people.

    However I do want to encourage anyone running user scripts on their email clients to be very careful. If your script auto updates you are opening yourself up to a delayed attack. And if you don’t understand every bit of the script you are opening yourself up to exploitation. Determine your threat model and capability and proceed appropriately.

    This is the privacy community after all.

    • KaKi87@jlai.luOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      23 hours ago

      This is a cool user script.

      Thank you !

      I do want to encourage anyone running user scripts on their email clients to be very careful.

      What about stuff that runs everywhere, including email clients ?

      uBO for example, is a much bigger codebase that no random user is gonna read, yet it does run on ProtonMail and there’s no way to be sure no malicious person injected something in there to read people’s emails.

      In addition, I also have userscripts that technically do run everywhere, but only do something concrete on some websites, that I don’t have a finite list of URLs for.

      For example, Fediverse redirector is a userscript that redirects any Fediverse app instance to the user’s choice. But, any URL may be a Fediverse app, and I need to check it first. Same with Enhancements for Forgejo, this one adds features to Forgejo instances, but any URL could be a Forgejo instance.

      if you don’t understand every bit of the script you are opening yourself up to exploitation

      Yeah, maybe I should add some comments, and also highlight the import of createFetchInterceptor (still my own code but in a separate file for reusability).

      This is the privacy community after all.

      * Piracy 😉

    • eldavi@lemmy.ml
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      Beckons me back to a more fun version of the internet. You’re providing a useful feature to people.

      i had the same though when i read the title and it appealed to me because of it and also because i’m a proton user (for now).

      i’d like to think this is safer than the other scripts that existed(ed) out there in that you can see the source for yourself, so maybe the threat isn’t so extreme.