Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CipherStick is the most private way to transact and store bitcoin. It ensures yo

## Bitcoin Core on Tails

Bitcoin Core and Tails are relied upon by millions to safeguard their online privacy and security, particularly in sensitive and high-risk situations. This repository provides a script to install Bitcoin Core on Tails and create a wallet backup.
Bitcoin Core and Tails are relied upon by millions to safeguard their online privacy and security, particularly in sensitive and high-risk situations. This repository provides a script to install and configure Bitcoin Core on Tails.

Bitcoin Core connects to the Bitcoin network to download and validate blocks and transactions, featuring a user-friendly interface and built-in wallet.
- [Bitcoin Core :: About](https://bitcoincore.org/en/about/)
Expand Down Expand Up @@ -100,13 +100,9 @@ To contact Ben Westgate by email `benwestgate@protonmail.com`.

For a discussion on the pros and cons of using CipherStick, refer to the [detailed document](docs/Advantages_and_Disadvantages.md). It describes the unique features and limitations of the CipherStick platform.

### CipherStick is the First Codex32-enabled (BIP93) Wallet
### Codex32 restoration

Find more information on [Codex32](https://secretcodex32.com/index.html) and [BIP93](https://github.com/bitcoin/bips/blob/master/bip-0093.mediawiki).

### Compliant with Auditable Bitcoin Wallets Standard

Refer to the [Auditable Bitcoin Wallets Standard](https://github.com/oleganza/bitcoin-papers/blob/master/AuditableBitcoinWallets.md) for compliance details. All necessary information to audit `bails-wallet` is displayed by the terminal.
The legacy GTK3 Codex32 wallet interface is disabled on current stable Tails. Replacement restoration is tracked separately in issue #215. Find more information on [Codex32](https://secretcodex32.com/index.html) and [BIP93](https://github.com/bitcoin/bips/blob/master/bip-0093.mediawiki).

## Source Code Headers

Expand Down
2 changes: 1 addition & 1 deletion b
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ else
) & # Run persistent setup in background
if [ -z "$1" ]; then # Install/Update core if ran without a parameter
# shellcheck disable=SC1091
. install-core && bails-wallet
. install-core
wait
# Display info about IBD, keeping Tails private and extra reading material
zenity --info --title='Setup almost complete' --icon-name=bails128 "$ICON" --text='Bitcoin Core has begun syncing the block chain automatically.\nMake sure no one messes with the PC.\n\nTo lock the screen for privacy, press ❖+L (⊞+L or ⌘+L)\n\nIt is safer to exit Bitcoin Core (Ctrl+Q), <a href="file:///usr/share/doc/tails/website/doc/first_steps/shutdown.en.html">shutdown Tails</a> and take your CipherStick USB stick with you or store it in a safe place than leave Tails running unattended where people you distrust could tamper with it.\n\nIf you want to learn more about using Tails safely read the <a href="file:///usr/share/doc/tails/website/doc.en.html">documentation</a>.\n\nAnother excellent read to improve your physical and digital security tactics is the <a href="'"$SECURITY_IN_A_BOX_TOR_URL"'">security in-a-box</a> website.'
Expand Down
7 changes: 2 additions & 5 deletions bails/.local/bin/bails-menu
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,17 @@ Bitcoin Core will continue to connect to both clearnet and Tor (onion) peers.' -
# Display menu and get user response
response=$(zenity --question --window-icon="$XDG_DATA_HOME/icons/bails128.png" \
--icon-name="bails128" --title="CipherStick menu" \
--text="Wallet - Create a new seed backup or recover an existing seed.

Clone - Create a synchronized CipherStick node for a friend.
--text="Clone - Create a synchronized CipherStick node for a friend.

Backup - Duplicate your CipherStick node to protect data.

Settings - Updates, add software, and configure." \
--extra-button="Wallet" --extra-button="Clone" --extra-button="Backup" --extra-button="Settings" --extra-button="Help" \
--extra-button="Clone" --extra-button="Backup" --extra-button="Settings" --extra-button="Help" \
--switch)

# Menu options
which Sparrow && action=Update || action=Install
case "$response" in
"Wallet") bails-wallet ;;
"Clone") bails-clone ;;
"Backup") bails-backup ;;
"Settings") response2=$(zenity --window-icon="$XDG_DATA_HOME/icons/bails128.png" --question \
Expand Down
2 changes: 1 addition & 1 deletion bails/.local/bin/install-core
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# THE SOFTWARE.

###############################################################################
# Downloads Bitcoin Core and installs it persistently. Starts bails-wallet.
# Downloads Bitcoin Core and installs it persistently.
###############################################################################

# For security reviewing use: https://explainshell.com/ for unfamiliar commands.
Expand Down
1 change: 1 addition & 0 deletions bails/.local/bin/persistent-setup
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ else:
# Change user account password to Persistent Storage passphrase for spaced repetition practice.
printf '%s\n%s' "$existing_passphrase" "$existing_passphrase" | passwd || echo "FAILURE to change passphrase"
fi
unset existing_passphrase
else
printf '\033]2;Setup the Persistent Storage\a'
# Choose passphrase
Expand Down
2 changes: 1 addition & 1 deletion bails/.local/share/applications/bails.desktop
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Desktop Entry]
Version=1.0
Name=CipherStick
Comment=Create and Restore Codex32 Backups, Configure Settings and Clone CipherStick shareware for a friend.
Comment=Configure Bitcoin Core and CipherStick settings on Tails.
Exec=/live/persistence/TailsData_unlocked/dotfiles/.local/bin/wrapped bails-menu
Terminal=false
Type=Application
Expand Down
2 changes: 1 addition & 1 deletion bails/.local/share/applications/decrypt-vault.desktop
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[Desktop Entry]
Version=1.0
Name=CipherStick Wallet Loader
Comment=Create and Restore Codex32 Backups, Configure Settings and Clone CipherStick shareware for a friend.
Comment=Load an existing encrypted Bitcoin Core wallet container.
Exec=/live/persistence/TailsData_unlocked/dotfiles/.local/bin/decrypt-vault %u
Terminal=false
Type=Application
Expand Down
7 changes: 3 additions & 4 deletions docs/DESIGN_SCOPE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@
- Help user remember passphrase w/ spaced repetition
- Verify Bitcoin Core download
- Install Bitcoin Core on Tails
- Create a codex32 seed backup
- Restore a codex32 seed backup
- Create a standard derivation path wallet from codex32 seed encrypted by memorized passphrase
- Legacy Codex32 wallet creation/restoration is disabled on current stable Tails.
- Replacement restoration is tracked separately in issue #215.

### The CipherStick MVP is COMPLETED.
### The supported installer remains in alpha.

## In-Progress: CipherStick L1 Scope ([Manual Backup](https://bitcoin.design/guide/how-it-works/private-key-management/manual-backup/) [Daily](https://bitcoin.design/guide/daily-spending-wallet/) or [Monthly Spending Wallet](https://bitcoin.design/guide/designing-products/personal-finance/#monthly-budgeting))

Expand Down
Loading