Skip to content

Repository files navigation

Balou

Balou is an android app that reads GPG encoded text from QR codes and puts it onto the system clipboard.

This exists because I want to send passwords from my desktop to my phone without a network connection.

Disclaimer

I am in no way a security expert. This will generate a key pair and store it on your phone. The passphrase for the key is hard coded. To me this is okay, because I just need to make sure that nobody grabs a photo of the QR code to steal my password.

About

Use case

I need a password on my phone. I do not keep passwords on my phone out of principle. The password is on my desktop machine. I display the encrypted password as a QR code on my desktop screen. I scan it on my phone with Balou, it gets put onto my phone's clipboard. I paste the password onto where I need it.

(Be aware that the clipboard does not get cleared and the password will be there until you put something else onto it.)

Stack

The name

"Balou" is the name of my mom's dog. He is good a keeping secrets. This app might be too...

Development

Clone the project and install dependencies with npm install.

Then start a development server:

npm run dev

# or start the server and open the app in a new browser tab
npm run dev -- --open

Building

To create a production version of the svelte app:

npm run build

You can preview the production build with npm run preview.

Build for android

Build, sync and open up android studio:

npm run build
npx cap sync
npx cap open android

This will fail all the time. Let us hope that Capacitor keeps up with Google.

This might help: https://capacitorjs.com/docs/android/troubleshooting#recreating-your-project

If this actually works you can deploy the app to your phone.

Usage

Preparation / Setup

  • generate a key pair on your phone with balou
  • somehow move the public key to your desktop (use balou's share button)
  • put it on a file like test.pub and import it
gpg --import test.pub
  • (optional: trust and sign the public key)
gpg --list-keys

take note of the key id or email and then:

gpg --edit-key <key id or email>

then inside gpg:

trust
4
lsign
y
save

Displaying secrets from Linux

echo "secret" | gpg --encrypt -a --recipient "sniffler@cats.com" | qrencode -o - | feh -

Use it with pass:

pass show "myspace.com/balou" | gpg --encrypt -a --recipient "sniffler@cats.com" | qrencode -o - | feh -

Displaying secrets from other OS

I can not help you with that.

I use arch, btw.

About

Balou is an android app that reads GPG encoded text from QR codes and puts it onto the system clipboard.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages