npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

airsign

v1.4.11

Published

Android command line signer under Termux

Downloads

17

Readme

Airsign

Sign your ethereum transactions from a sealed Android mobile phone to avoid password leaks.

Getting Started

Prerequisites

You will need a pc and an mobile phone running Android os, both with camera: the mobile phone that is offline (henceworth the offline phone) from the internet to make sure no hacker can get access to your passwords, and one that is connected to the internet (henceworth the online pc). You need to install parity ethereum client on the online pc for this package to work. This system has not been tested with geth client.

Installing

On offline phone do the followings:

  1. In google play install:
    • qr code reader - needed to read qr code from online pc
    • Termux - runs linux commands under Android
    • Termux API - make termux scripts able to read from clipboard
  2. Execute the followings on offline phone in Termux:
pkg update
pkg upgrade
pkg install git
git clone https://github.com/r001/airsign 
cd airsign 
git checkout android-termux 
./install_android
  1. Create ethereum account(s), and copy them to offline phone in the /data/data/com.termux/files/home/.ethereum/keystore directory.
    • If you want to go extremel secure, then take a fresh installed pc, install parity there, create accounts there, and generate QR code from the account json data, read that QR code to offline phone.

On online pc do the followings:

  1. Execute the followings on online pc:

    • install parity from https://github.com/paritytech/parity/releases
    • sync parity
  2. Install the same accounts that you have installed to offline phone to online pc. You have three alternatives here:

    • Alternative a: Recommended method:
      1. Create an account on online pc.
      2. Open the account key file and change the "account" fields addresss to the address of your account created in 3. ! This way the account can not be cracked, since the real account data is not available on the online pc, but parity will still handle the account as it was valid.
    • Alternetive b: Create external account: In parity create new account and chose "External" in the menu. This method is secure, but a few dapps can not use it (eg. www.oasisdex.com), so it is not recommended. The advantage of this method is that parity itself will generate a QR code that has to be signed by the offline phone. See later.
    • Alternative c: Less secure method: Simply copy accounts to use for parity. Using this method makes it possible to brute force attack your password if adversary gets access to your account data.
  3. Do the followings:

git clone https://github.com/r001/airsign 
cd airsign 
git checkout android-termux 

Usage

  1. On online pc do whatever transaction with parity and wait for the signer to come up. Do not sign the transaction on online pc! The whole point of using airsign is to avoid disposing your passwords on the online pc.
  2. On online pc run airdrop. This will read the transaction and create a QR code from it on the command line.
  3. On offline phone run QR code reader and read the QR code generated in (2.). You will see that reading was successful when the transaction is written on the screen. Copy the transaction to the clipboard.
  4. On offline phone start Termux.
  5. In Termux run the command airsign/airsign. This will read the transaction from the clipboard, and generate a series of QR codes. By hitting a key on keyboard you can display all the generated QR codes one by one. On online pc read the QR codes generated one by one by executing airpublish. When you have read all the QR codes, hit CTRL-c on online pc.
  6. On online pc you can now reject the signature request in parity. This will not delete the transaction.

Authors

  • Robert Horvath - Initial work - airsign

License

This project is licensed with the GPL v3 license.

Acknowledgments

Thaks to Daniel Brockman and Mariano Conti for their help to develop this package.