dinsdag 31 maart 2020

ING Home'Bank/Business'Bank Timeout killer (Belgium)


I use ING's Home'Bank Offline (Belgium). Recently the bank decided to stop using this offline program. It hasn't been updated since 2014.
People must switch to the online version. I don't like it as much. The offline tool is a lot faster and you can use it all day long, without being kicked off. A code from their card reader is necessary to transmit the payments or to get an update of your accounts.

The main frustration with their online bank software is de idle timeout. The session expires after less than 4 minutes being idle. This way, you cannot use this professionally. You have to login again with the card reader or the "itsme" app.
But they display a message before disconnecting you:


Within 60 seconds, you can extend your session if you see this message coming up. Bad luck if you don't have the page visible at that moment.

So, I decided to do something about it. A small Google Chrome extension can click automatically on the "Yes" to extend the session.

Looking in the site's JavaScript code I see this:

 
b.querySelector(".k2-session-timeout-dialog-yes-button").addEventListener("click", function() {
    ING.K2.dialog.call(b, "close"),
    ING.Session.extend()
 

When the "Yes" button is clicked they call the function: ING.Session.extend()

Let's start.
Create a new directory and add "manifest.json" in it:

 {
  "manifest_version": 2,

  "name": "ING Timeout killer",
  "description": "This extension will keep your ING (BE) session alive",
  "version": "1.0",
  "icons":
  {
      "16": "icon16.png",
      "48": "icon48.png",
      "128": "icon128.png"
  },  
  "content_scripts":
  [
      {
          "matches":
          [
              "https://ebanking.ing.be/*"
          ],
          "js":
          [
              "script.js"
          ],
          "run_at":  "document_idle",
          "all_frames": true
      }
  ],


  "browser_action": {
   "default_icon": "icon16.png",
   "default_popup": "popup.html"
  },
    "permissions":
    [
        "https://ebanking.ing.be/*",
        "tabs",
        "notifications"
    ]
}

Create your own icons, or use mine: ING-TimeoutKiller-icons.zip

Create "popup.html":

<!doctype html>
<html>
  <head>
    <title>ING timeout killer</title>
  </head>
  <body>
    <h1>ING timeout killer</h1>
  </body>
</html>  

And the last one "script.js":

console.log("ING timeout killer extension loaded!")
setInterval(function () {
    // Invoke function every minute
 location.href="javascript:ING.Session.extend(); void 0";
  }, 60000);

This calls their "Extend" function every 60 seconds.

In Chrome you go to: chrome://extensions/
Turn on "Developer mode" (top right) and load the directory with the files by clicking on "Load unpacked".

That's it. Login to your bank account and wait...

It's seems that after a much longer time the session will expire after all. Perhaps a page reload will solve that. If it bothers me, I'll search for it.

Buy me a beer if you like this. Good luck!

Geen opmerkingen:

Een reactie posten