This updates qBitorrent's port to match PIA's forwarded port whenever PIA connects.
- Save
update-qbittorent-port-from-pia.ps1
somewhere - Open Windows Task Scheduler
- Create a new folder under
Task Scheduler Library
Import Task...
_pull.ps1
somehere; I threw mine under: Pictures/windows login backgrounds
Task Scheduler Library
Import Task...
Triggers
tab: you may need to change the triggers to match your userActions
tab: make sure to point the path to _pull.ps1
This script updates the qbittorrent port from the port that PIA returns from its port forwarding if one is available.
This currently only does something if qbittorrent is open and running since it updates through the Web UI. There is commented code that could be changed to utilize the qbittorrent cli to change the port when the application is closed.
This requires that you have qbittorrent's web interface enabled with the "Bypass authentication for clients on localhost" enabled.
This will add a sheduled task to run the powershell script on login/workstation unlock without displaying a window.
Note: you can also try importing the XML file below for the task 🤞
treeView.treeModel.currentSession_rootNode.subnodes | |
.filter(x => 'crashDetectedDate' in x.chromeWindowObj) | |
.forEach(x => x.hoveringMenuActions.deleteAction.performAction(x)) |
// Goto the medications page in mychart | |
// Then click through any additional tabs for different offices/locations at the top to load them up | |
// Run this in the console | |
// Open notepad paste and save as a .csv | |
// Note using "let" so that you can copy/paste multiple times w/o refreshing | |
let headers = [...document.querySelectorAll('.card.medcard[data-med-id]')]; | |
let cleanup = (el) => el?.innerText.split(/\r\n|\r|\n|\,/).join(' '); |
To utilize this script you can create a bookmarklet from it utilizing some tool like:
You can also add it to your Chromium based browser via:
{ | |
"compilerOptions": { | |
"baseUrl": "./", | |
"paths": { | |
"@/*": ["src/*"] | |
} | |
} | |
} |
I hereby claim:
To claim this, I am signing this object:
const instances = {}; | |
const Singletonizer = (Klass, ...args) => { | |
const className = Klass.constructor.name; | |
const created = instances.hasOwnProperty(className); | |
if (!created) { | |
new Klass(...args); | |
instances[className] = true; | |
} | |
} |