Forked from: https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93
Differences:
- Outputs items sorted by site/name
- Fixed QR codes outputting twice for every entry
- No support for saving to a .json file
Forked from: https://gist.github.com/gboudreau/94bb0c11a6209c82418d01a59d958c93
Differences:
// see https://cdnjs.cloudflare.com/ajax/libs/qrious/4.0.2/qrious.min.js | |
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.QRious=e()}(this,function(){"use strict";function t(t,e){var n;return"function"==typeof Object.create?n=Object.create(t):(s.prototype=t,n=new s,s.prototype=null),e&&i(!0,n,e),n}function e(e,n,s,r){var o=this;return"string"!=typeof e&&(r=s,s=n,n=e,e=null),"function"!=typeof n&&(r=s,s=n,n=function(){return o.apply(this,arguments)}),i(!1,n,o,r),n.prototype=t(o.prototype,s),n.prototype.constructor=n,n.class_=e||o.class_,n.super_=o,n}function i(t,e,i){for(var n,s,a=0,h=(i=o.call(arguments,2)).length;a<h;a++){s=i[a];for(n in s)t&&!r.call(s,n)||(e[n]=s[n])}}function n(){}var s=function(){},r=Object.prototype.hasOwnProperty,o=Array.prototype.slice,a=e;n.class_="Nevis",n.super_=Object,n.extend=a;var h=n,f=h.extend(function(t,e,i){this.qrious=t,this.element=e,this.element.qrious=t,this.enabled=Boolean(i)},{draw:f |
https://developers.cloudflare.com/r2/platform/pricing/
up to 10,000,000 read operations + $0.36 per 1,000,000 operations
$3.60 free
up to 1,000,000 write operations + $4.50 per 1,000,000 operations
// silence dart-sass / npm sass DEPRECATION WARNING: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0. | |
const silenceSomeSassDeprecationWarnings = { | |
verbose: true, | |
logger: { | |
warn(message, options) { | |
const { stderr } = process; | |
const span = options.span ?? undefined; | |
const stack = (options.stack === 'null' ? undefined : options.stack) ?? undefined; |
// download .bash_local_aliases file and cd to the download directory | |
$ cp .bash_local_aliases ~/ | |
$ if ! grep -qF 'source ~/.bash_local_aliases' ~/.bashrc; then echo -e "\nsource ~/.bash_local_aliases" >> ~/.bashrc; fi | |
$ source ~/.bash_local_aliases && cd . | |
// place a .aliases file anywhere, in the space-delimited "alias command" format shown in the .aliases example in this gist | |
// IMPORTANT: .aliases file should end with a single blank, empty line | |
$ cd . |
# Tested on an upgraded Ubuntu 20.04 | |
apt install netplan.io | |
systemctl unmask systemd-networkd.service | |
systemctl unmask systemd-resolved.service | |
ENABLE_TEST_COMMANDS=1 netplan migrate | |
netplan try | |
reboot | |
apt purge ifupdown resolvconf | |
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf |
{ | |
"Command": "skin", | |
"Skins": [ | |
{ | |
"Item Shortname": "fun.guitar", | |
"Skins": [ | |
0, | |
809801196, | |
826914904, | |
809938266, |
Inspired by the original gist.
This snippet will extract all the OTP (2FA) keys from Authy, and convert them to scannable QR codes and URLs you can copy-paste into e.g. 1password. Unlike other approaches, this consumes the internal digits
record, making it compatible with authy-specific extra long 2FA codes.
Past August 2024, Authy stopped supported the desktop version of their apps:
See Authy is shutting down its desktop app | The 2FA app Authy will only be available on Android and iOS starting in August for details.
And indeed, after a while, Authy changed something in their backend which now prevents the old desktop app from logging in. If you are already logged in, then you are in luck, and you can follow the instructions below to export to tokens.
If you are not logged in anymore, but can find a backup of the necessary files, then restore those files, and re-install Authy 2.2.3 following the instructions below, and it should work as expected.
const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); | |
async function something() { | |
console.log("this might take some time...."); | |
await delay(5000); | |
console.log("done!") | |
} | |
something(); |