Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
# Usage: ./eth-balance address
wei="$(curl -s https://api.blockcypher.com/v1/eth/main/addrs/"$1" | jq .balance)"
eth="$(echo "$wei / (10 ^ 18)" | bc -l)"
echo $eth
@dvdbng
dvdbng / awsenv
Created April 2, 2020 17:06
Set AWS credentials from pass store
#!/bin/bash
# Usage awsenv enviromnent command...
search="$1"
shift
file=$(find "$HOME"/.password-store/AWS | grep "$search.*/AKIA.*gpg$")
if [[ x"$file" = x ]]; then
echo "Could not find a AWS key at $search" >&2
exit 1
@dvdbng
dvdbng / gsubrb
Created April 10, 2020 13:24
Recursive replace in directory, replacement is dynamically created by ruby code
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'optparse'
require 'active_support/all'
options = {}
OptionParser.new do |opts|
opts.banner = 'Usage: gsubrb [options]'
opts.on('-r', '--replace [CODE]', String, 'Block that will be executed for each match') do |code|
@dvdbng
dvdbng / ssh_proxy.js
Created May 12, 2020 16:58
TCP forwarding proxy over ssh
const net = require('net');
const child_process = require('child_process');
function makeProxy(port, jump, target) {
const server = net.createServer(socket => {
const subprocess = child_process.spawn(
'ssh',
[jump, '-W', target],
{ stdio: ['pipe', 'pipe', 'inherit'] }
);
@dvdbng
dvdbng / copy-aws-eb-env-vars.js
Created June 16, 2021 14:41
Copy/paste all ENV variables from one AWS beanstalk env to another
// Copy/paste all ENV variables from one AWS beanstalk env to another. Use this functions in the browser console
// Copy ENV as json
copy(
JSON.stringify(
Object.fromEntries(
Array.from(
document.querySelectorAll('.env-props-table tbody tr:not(.ng-hide)')
).map(e => [
e.querySelector('[ng-model="option.optionName"]').value,