Skip to content

Instantly share code, notes, and snippets.

View eirikb's full-sized avatar

Eirik Brandtzæg eirikb

  • Softeria AS
  • Ålesund, Norway
View GitHub Profile
@eirikb
eirikb / imgur-oauth-test.html
Last active March 6, 2024 14:21
Post to imgur using oauth (api v3) on a static (no server) site
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>imgur oauth</title>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script>
$(function () {
var extractToken = function(hash) {
@eirikb
eirikb / Q.mjs
Last active February 15, 2024 14:06
import fs from "fs";
import puppeteer from "puppeteer";
export const Q = (userDataDir, tokenHost) => {
const getToken3 = (headless) =>
new Promise(async (resolve, reject) => {
const browser = await puppeteer.launch({
headless,
userDataDir,
});
@eirikb
eirikb / qemu-arch-linux-raspi2.sh
Last active December 9, 2023 19:46
Arch Linux in QEMU for Raspberry Pi 2
#!/usr/bin/env bash
echo
echo "Arch Linux in QEMU with love from eirikb"
echo
set -x
TARGET=ArchLinuxARM-rpi-armv7-latest.tar.gz
wget "http://os.archlinuxarm.org/os/$TARGET"
@eirikb
eirikb / .sassrc.js
Created March 15, 2018 09:24
Demo of parcel + scss
const path = require('path');
const cwd = process.cwd();
module.exports = {
"includePaths": [
path.resolve(cwd, 'node_modules'),
path.resolve(cwd, 'src')
]
};
@eirikb
eirikb / qemu-archlinux-aarch64.sh
Created April 30, 2023 14:23
QEMU Arch Linux ARM64 aarch64
wget http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
qemu-img create root.img 32G
mkfs.ext4 root.img
mkdir root
sudo mount root.img root
sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C root
sudo cp -r root/boot .
sudo umount root
qemu-system-aarch64 -M virt -cpu cortex-a72 -kernel boot/Image -hda root.img -append "root=/dev/vda rw"
# az login
# check: az resource list | grep <your azure function name>
# If not available you also need to change subscription
# az account set --subscritipon <sub id, find this in portal, or by az account list>
webAppName="<your azure functions name here>"
spId=$(az resource list -n $webAppName --query [*].identity.principalId --out tsv)
graphResourceId=$(az ad sp list --display-name "Microsoft Graph" --query [0].id --out tsv)
@eirikb
eirikb / load-vue-components-from-folder.js
Created May 24, 2017 19:24
Load all Vue components from a given folder, no need for an "index.js"-file
const req = require.context('./components/', true, /\.(js|vue)$/i);
req.keys().map(key => {
const name = key.match(/\w+/)[0];
return Vue.component(name, req(key))
});
@eirikb
eirikb / insecureproxy.js
Last active October 25, 2021 18:41
Insecureproxy: Client -> [http] -> Insecureproxy -> [https] -> Proxy -> [https] -> Web
const http = require("http");
const https = require("https");
const fs = require("fs");
const auth = `Basic ${Buffer.from(
process.env.PROXY_USER + ":" + process.env.PROXY_PASS
).toString("base64")}`;
function proxy(id, url, method, headers, data, origRes, withCa) {
const parts = url.split("/").slice(2);
return new Promise((resolve, reject) => {
@eirikb
eirikb / clicktest.md
Last active April 9, 2021 16:49
Automated click testing in bash

About

This is a bash script, as an example, on how to do click-testing GUI based on finding components based on how they look.

Dependencies

@eirikb
eirikb / firefox-container-tabs-sorter.js
Created December 3, 2020 19:40
Sort Firefox container tabs
const fs = require('fs');
const os = require('os');
const path = `${os.homedir()}/.mozilla/firefox`;
for (const dir of fs.readdirSync(path)) {
const file = [path, dir, 'containers.json'].join('/');
if (fs.existsSync(file)) {
console.log('Fixing', file);
const containers = require(file);