- Electrum Bitcoin Wallet - Cold Storage — Electrum 2.10 documentation - Actively developed open source bitcoin wallet.
- Samourai Bitcoin Wallet - Open source mobile bitcoin wallet with good security features.
- MyEtherWallet.com - javascript based Ethereum wallet.
- MyCrypto.com - javascript based Ethereum wallet (fork of MyEtherWallet - most of the original devs).
- NEON - NEO wallet
- MyZenWallet.io - Zencash wallet.
These are websites which allow you to get information about addresses and transactions on the blockchain without needing a host your own node.
- oxt.me - bitcoin explorer for both types of bitcoin address (bech32 and standard)
- blockchain.info - bitcoin explorer for standard bitcoin addresses only
- Johoe's Bitcoin Mempool statistics online tool which allows you to see unconfirmed bitcoin transactions and current fees. Useful for determining 'quiet times' for making cheaper/faster transactions or when manually choosing fees.
- WhatTheFee.io tool to estimate current bitcoin fees.
- Statoshi.info bitcoin node statistics software developed by Jameson Lopp.
- etherchain.org - Ethereum Blockchain Explorer
- ethstats.net ethereum live statistics.
- KeePassXC Password Safe - Well-established multi-platform software for managing passwords
- Diceware Secure Passphrase and Password Generator - online password generator
- Pass: The Standard Unix Password Manager barebones simple command line password manager using gpg with optional tomb integration
- GNU Privacy guard - encryption tool for files and email. Can be integrated into most email clients.
- dyne/Tomb: the Crypto Undertaker file encryption software with some great features. tomb on github - dans tomb guide on scuttlebutt
- CryptoParty handbook - guide to hosting an event to help each other setup encryption software and share public keys.
Encryption keys or other secret information can be securely backed up using 'sharding' and socially sharing the 'shards'. These are given to, for example, 5 friends, any three of which are able to re-combine them and retrieve the secret. The idea comes from a paper by Adi Shamir, "How to share a secret" in 1979.
- truename a user friendly implementation wrapped in a single
index.html
file written in Node and React. Simply open the file in your browser of choice. - dyne.org Secrets a good implementation written in Clojure as well as a free web-based service and great documentation.
- ssss - a command line implementation of Shamirs Secret Sharing Scheme written in C.
It is possible to create and print a QR code of a secrets shard, any kind of key, or other important data. You can then think of an ingenious physical hiding place...
- qrencode Command line tool and library with bindings for several programming languages to generate QR codes. Simple usage:
cat keyfile | qrencode -o key.png
. Available in most linux distribution repos. - QR Code Generator Online service to generate QR codes. Trustworthyness unknown...
- PaperBack A bit more old-school, a program that allows you to print data to paper designed to be restored by a scanner. 500kb can fit on an A4 page.
Bitcoin wallets can be generated and printed with QR codes for the public and private keys. For security reasons is recommended to only use them for a single transaction, for example, to give as a gift, and when the reciever gets the gift they transfer it to another address.
- Paper wallet article on Bitcoin Wiki
- Bitcoin address utility is a program which allows you to create such paper wallets.
- There are also several websites which offer to generate paper wallets. Trustworthyness unknown...
GNU Screen is a terminal multiplexer which, among other things, allow multiple users to share the same terminal which can be useful for demonstrating things or helping each other with problems. See this multiuser screen documentation. You can also do this with tmux.
This can be combined with reverse ssh tunnelling (which sounds more complicated than it is) from some common remote server to allow people to access a local machine without worrying about setting up user accounts, forwarding ports, and not having a static IP address.
So imagine i cannot manage to install our latest software project on my local computer and i want help from someone, but i want them to do it in a way that i see what is going on. If we all have ssh access to a common remote server, I can create a reverse ssh tunnel to it like this:
localcomputer$ ssh -R 2000:localhost:22 user@remoteserver
This will connect to the server as normal, but also open a tunnel so that I can connect back on port 2000 (any port over 1024 should work). I can then initiate a named screen session for other users to connect to with
screen -d -m -S multisession
and connect to it myself with:
screen -r multisession
- then do
Ctrl-A :multisession on
- then do
Ctrl-A :acladd username
for each additional user (these commands can be added to.screenrc
to save typing them every time) aclchg
can be used instead ofacladd
to use specific permissions eg: readonly (they can see the screen but not type commands)- Then invite other users to connect with
screen -x username/multiuser
whereusername
is the user who initiated the screen session to connect to. - Then ssh back to localhost effectively taking connected users along...
ssh -p2000 localuser@localhost
- Another handy tool, ngrok can be used to expose a website served on localhost by doing
ngrok http 80
(see documentation). ngrok could also be used as the remote server to expose ssh (ngrok tcp 22
) but this requires signing up for an ngrok account. - Combined with mumble this could be a nice way to fix stuff interactively or demonstrate how to do something
- Ruby programming: ruby koans
- Basic Ruby app with Sinatra
- bbatsov/ruby-style-guide: A community-driven Ruby coding style guide
- docker 'from scratch'
- 50+ Useful Docker Tools | Caylent
- Dockerizing a Ruby on Rails Application - Semaphore
- Quickstart: Compose and Rails | Docker Documentation
- Rancher open source container management platform
- Travis CI
- captainduckduck: Automated Scalable Ready Webserver Package | In experimental phase
- Open Source Guides | Learn how to launch and grow your project.
- Many different programming languages: code academy
- Maths problems: projecteuler.net
- OverTheWire: Bandit game to help improve command line skills
- webpro/awesome-newsletters: The best (weekly) newsletters