Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kreutix/usb-cold-storage
This project aims to create a custom Debian live USB specifically designed for Bitcoin cold storage. It uses live-build to create the live USB image. Currently, the project is in its initial stages and is a work in progress.
https://github.com/kreutix/usb-cold-storage
bitcoin bitcoin-wallet cold-storage usb-stick
Last synced: 4 days ago
JSON representation
This project aims to create a custom Debian live USB specifically designed for Bitcoin cold storage. It uses live-build to create the live USB image. Currently, the project is in its initial stages and is a work in progress.
- Host: GitHub
- URL: https://github.com/kreutix/usb-cold-storage
- Owner: kreutix
- License: mit
- Created: 2024-08-06T07:17:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-12T08:54:19.000Z (3 months ago)
- Last Synced: 2024-10-12T20:20:59.624Z (about 1 month ago)
- Topics: bitcoin, bitcoin-wallet, cold-storage, usb-stick
- Language: Shell
- Homepage: https://github.com/kreutix/usb-cold-storage
- Size: 15.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# USB Cold Storage
This project aims to create a custom Debian live USB specifically designed for Bitcoin cold storage. It uses `live-build` to create the live USB image. Currently, the project is in its initial stages and is a work in progress.
## Project Status
**Work in Progress**: This project is in its initial stages. Contributions and feedback are welcome.
## Introduction
The USB Cold Storage project allows you to create a secure, offline environment for managing your Bitcoin. By using a custom Debian live USB, you can ensure that your Bitcoin wallet is only accessed in a controlled, offline setting, reducing the risk of online threats and hacks. This is particularly useful for long-term storage of your Bitcoin, also known as "cold storage."
## Prerequisites
- Docker & Git
- A USB stick for testing the live image## Build Instructions
1. **Clone the Repository**:
```bash
❯ git clone https://github.com/kreutix/usb-cold-storage.git
❯ cd usb-cold-storage
```2. **Build the Docker Image**:
```bash
❯ cat build.sh
#!/bin/shdocker build --platform=linux/amd64 -t usb-cold-storage-builder .
❯ ./build.sh
```3. **Run the Docker Container**:
```bash
❯ cat run.sh
#!/bin/shdocker run --platform=linux/amd64 --rm -it --privileged -v $(pwd)/output:/output usb-cold-storage-builder /home/builder/build_live_usb.sh
❯ ./run.sh
```4. **Write the ISO to a USB Stick (on MacOS)**:
Identify your USB stick (e.g., `/dev/disk4`) and unmount it:
```bash
❯ diskutil list
❯ diskutil unmountDisk /dev/disk4
```Write the ISO to the USB stick using `dd` while showing a progress bar for copying:
```bash
❯ cat tousb.sh
#!/bin/shif [ -z "$1" ]; then
echo "usage: ./tousb.sh "
exit 1
fisudo dd if=output/usb-cold-storage.iso of=$1 bs=1M status=progress
❯ ./tousb.sh /dev/rdisk4
```Eject the USB stick:
```bash
❯ diskutil eject /dev/disk2
```## Notes
You can use tools Rufus on Windows, or Etcher on multiple platforms to write the ISO to a USB Stick. These tools will copy the ISO to the USB stick and make it bootable.
## Known Problems
- The ISO file might not be named usb-cold-storage.iso (Please just check the output folder).
## Usage
1. **Boot from USB**: Insert the USB stick into your computer and boot from it. This usually involves pressing a key during startup (such as F12, Esc, or Del) to enter the boot menu and selecting the USB device. Ideally, this should not be a computer that is used for other purposes in order to minimize the risk as much as possible.
2. **Offline Environment**: Once booted, you will be in a secure, offline environment running Debian with Xfce. Firefox will start automatically with a welcome page.
3. **Manage Bitcoin Wallet**: Use Electrum to manage your Bitcoin wallet securely in this offline environment.
## Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.