Git Product home page Git Product logo

n26cli's Introduction

N26 CLI

GitHub Releases Build Status codecov Go Report Card GoDevDoc Donate

An awesome tool for managing your N26 account from the terminal

Prerequisites

  • Go >= 1.16
  • Mac or Linux (dbus) (see more)

Install

TBD

Configuration

You don't need to configure the tool before using it. However, N26 requires a Device ID (in UUID format) to use its APIs. If you don't provide a specific Device ID, you may be blocked with "Too Many Login Attempts" error. Therefore, it's strongly recommended configuring beforehand.

Just run n26 config and follow the prompt, it will create a new Device ID automatically for you and persist to ~/.n26/config.toml. This config file will be automatically loaded whenever you run a command.

If you wish to remember your username (and/or password), just say yes while being asked and type it in.

$ n26 config
? Do you want to generate a new device id? No
? Do you want to save your credentials to system keychain? Yes
? Enter username (input is hidden, leave it empty if no change) >
? Enter password (input is hidden, leave it empty if no change) >

saved

The given username and password will be persisted to your system keychain/keyring, securely. If you don't want to save your password, just leave in empty. The tool will ask for it whenever you run a command. (see Authentication)

Usage

Usage:
  n26 [command]

Available Commands:
  config       configure
  help         Help about any command
  transactions show all transactions in a time period
  version      show version

Flags:
  -c, --config string   configuration file (default "~/.n26/config.toml")
  -d, --debug           debug output
  -h, --help            help for n26
  -v, --verbose         verbose output

Use "n26 [command] --help" for more information about a command.

Authentication

The tool will look for your credentials following this order, top goes first:

  • System Keychain/Keyring (if you decide to use it).
  • --username and --password from the command arguments.
  • N26_USERNAME and N26_PASSWORD from env vars.
  • If username or password is missing, the tool will ask for it.

After successfully login with your password, you will be asked to confirm the login on your device, and you will have 1 minute to do it before getting timed out.

If you do it on time, N26 will grant an access token, and the tool will persist it to your system keyring.

Security & GDPR

The tool has 0 tracking and will NEVER track your usage. Therefore, I will never know if you have any issues with it unless you create one in the board.

The tool does NOT and will NOT share your email and credentials with any other 3rd parties.

The tool will save your access token to your system keyring, and also your credentials (if you choose to save it, see the Configuration and Authentication section).

The tool NEVER shows your email and credentials on the screen, in the logs or verbose / debug output.

Development

The tool uses these libraries for working with N26 APIs and Authentication.

Tests

The tool is tested by unit tests and integration tests with mocked API server ( see nhatthm/n26api/testkit)

Donation

If you like this tool, you can give me a cup of coffee :)

Paypal donation

paypal

       or scan this

n26cli's People

Contributors

nhatthm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.