Skip to content

Instantly share code, notes, and snippets.

@bryandh
bryandh / AuthyToOtherAuthenticator.md
Created March 23, 2022 09:33 — forked from gboudreau/AuthyToOtherAuthenticator.md
Export TOTP tokens from Authy

Generating Authy passwords on other authenticators


There is an increasing count of applications which use Authy for two-factor authentication. However many users who aren't using Authy, have their own authenticator setup up already and do not wish to use two applications for generating passwords.

Since I use 1Password for all of my password storing/generating needs, I was looking for a solution to use Authy passwords on that. I couldn't find any completely working solutions, however I stumbled upon a gist by Brian Hartvigsen. His post had a neat code with it to generate QR codes for you to use on your favorite authenticator.

His method is to extract the secret keys using Authy's Google Chrome app via Developer Tools. If this was not possible, I guess people would be reverse engineering the Android app or something like that. But when I tried that code, nothing appeared on the screen. My guess is that Brian used the

@bryandh
bryandh / object-utilities.ts
Created April 19, 2019 07:28
ObjectUtilities including deep merging of multiple objects
export class ObjectUtilities {
public static merge<T extends object = object>(target: T, ...sources: T[]): T {
if (!sources.length)
return target;
const source = sources.shift();
if (source === undefined)
return target;
if (ObjectUtilities.isMergeableObject(target) && ObjectUtilities.isMergeableObject(source))
@bryandh
bryandh / AsyncBindingBehavior.ts
Created February 14, 2019 10:38
AsyncBindingBehavior - awaits a called promise and returns the result to the view
export class AsyncBindingBehavior {
private bind(binding: any, source: any): void {
binding.originalupdateTarget = binding.updateTarget;
binding.updateTarget = (target: Promise<any>) => {
// When we have a promise
if (typeof target.then === 'function') {
// Set temp value to loading so we know its loading
binding.originalupdateTarget('Loading...');
// Process the promise
@bryandh
bryandh / cryptography-utils.ts
Created November 12, 2018 09:51
Decryption using JSEncrypt
import { JSEncrypt } from 'jsencrypt';
export class CryptographyUtils {
private private_key = '-----BEGIN RSA PRIVATE KEY-----' +
'MIICXQIBAAKBgQDg2FPu8j317CkARCRDBXDp8Ury7W+VPjqrRhwTaqKGGLXeT2u/' +
'Ne13R9lNIhdWP/qbS8yI5RfPElzZ8PnXI8ihv4ij8bd9cdy/mDVeI+venwIDAQAB' +
'AoGBAKjYCn9/DaRlCY0XnptttJMZDY1LW+WY63m+lkrGYvGMENa2kVTdXp3tMI1d' +
'nGT+PTZAXYl52BAA7wYt3208q9PwTd7Cb7WwEu24QtsDFbkcm8RD7jntSgECQGN3' +
'sEYqeb+sPrSwuHx0/WcCQQCQ0o3W+tX4wTnZCp+ReqPHzzE7uSkcTzg7AEVSsjlI' +
'kgmaAt3txI7oABf8nDdi29s1o8KDV8UzQn+Jh9LXYdxs' +
@bryandh
bryandh / remove-dangling-docker-containers.md
Last active June 18, 2018 08:20 — forked from ngpestelos/remove-docker-containers.md
How to remove unused Docker containers and images
$ docker rmi $(docker images -q -f dangling=true)
@bryandh
bryandh / .Service Worker Setup.md
Last active January 25, 2023 16:21
Service Worker setup in Typescript

Service Worker Setup

@bryandh
bryandh / .Aurelia Inline SVG.md
Last active August 23, 2022 11:57
Aurelia InlineSvg component, renders an SVG from file path

Aurelia InlineSvg component

Renders an SVG from file path.

How to use

``

@bryandh
bryandh / 1 README.md
Last active May 16, 2018 10:02
Aurelia Breadcrumbs

Aurelia Breadcrumbs

Gathers the navigation instructions and displays the taken routes to get to the current route.

How it works

Requires your routing to be set up with child routing to achieve multiple layers of routing. Refreshes on Aurelia's router:navigation:complete event.

@bryandh
bryandh / .Font Awesome 5 icon binding issue.md
Last active May 16, 2018 10:09
Font Awesome 5 icon binding issue