Skip to content

polyrabbit/my-token

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyToken

CI codecov License: MIT PRs Welcome Go Report Card

NEVER LEAVE YOUR TERMINAL

my-token

my-token (or mt for short) is a CLI tool for those who are both Crypto investors and Engineers, allowing you to track token prices and changes in your favorite exchanges on the terminal.

Features

  • Auto refresh on a specified interval, watch prices in live update mode
  • Proxy aware HTTP request, for easy access to blocked exchanges
  • Real-time prices from 12+ exchanges

Supported Exchanges

Installation

Homebrew

# WIP

curl | bash style downloads to /usr/local/bin

$ curl -sfL https://raw.githubusercontent.com/polyrabbit/my-token/master/install.sh | bash -s -- -d -b /usr/local/bin

Using Go (1.16+)

$ go get -u github.com/polyrabbit/my-token

Manually

Download from release page and extract the tarbal into /usr/bin or your PATH directory.

Usage

$ mt --help

Usage: mt [Options] [Exchange1.Token1 Exchange2.Token2.<api_key> ...]

Track token prices of your favorite exchanges in the terminal

Options:
  -v, --Version                            Show Version number
  -d, --debug                              Enable debug mode
  -l, --list-exchanges                     List supported exchanges
  -r, --refresh int                        Auto refresh on every specified seconds, note every exchange has a rate limit,
                                           too frequent refresh may cause your IP banned by their servers
  -c, --config-file string                 Config file path, use "--example-config-file <path>" to generate an example config file,
                                           by default my-token uses "my_token.yml" in current directory or $HOME as config file
      --example-config-file string[="-"]   Generate example config file to the specified file path, by default it outputs to stdout
  -s, --show strings                       Only show comma-separated columns (default [Symbol,Price,%Change(1h),%Change(24h),Source,Updated])
  -p, --proxy string                       Proxy used when sending HTTP request
                                           (eg. "http://localhost:7777", "https://localhost:7777", "socks5://localhost:1080")
  -t, --timeout int                        HTTP request timeout in seconds (default 20)

Space-separated exchange.token pairs:
  Specify which exchange and token pair to query, different exchanges use different forms to express tokens/trading pairs, refer to their URLs to find the format (eg. "Bitfinex.BTCUSDT"). Optionally you can set api_key in the third place.

Find help/updates from here - https://github.com/polyrabbit/my-token
  • Display latest market prices for for BNBUSDT, BTCUSDT from Binance and HTUSDT from Huobi

$ mt binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

Here Binance and Huobi can be replaced by any supported exchanges, and different exchanges use different forms to express tokens/symbols/markets, refer to their URLs to find the format.

  • Auto-refresh on every 10 seconds

$ mt -r 10 binance.BNBUSDT binance.BTCUSDT Huobi.HTUSDT

NOTE: some exchanges has a strict rate limit, too frequent refresh may cause your IP banned by their servers.

  • Show specified columns only

$ mt --show Symbol,Price binance.BTCUSDT

See issue #3 for a discussion on this feature.

  • Run with options from a configuration file

$ mt -c my_token.example.yaml

my-token can also read options from configuration file, see the attached my_token.example.yaml for its format. By default my-token searches configuration file my_token.yml in current directory and $HOME, so you can compose a my_token.yml, place it in your $HOME and just type mt to get all pre-defined prices.

$ # Generate an example config file to my $HOME directory
$ mt --example-config-file=$HOME/my_token.yml
$
$
$ # my-token will search for configuration file "my_token.yml" in current directory and "$HOME" by default
$ mt       # <--- This is also the way I used most freqently 

Thanks

License

The MIT License (MIT) - see LICENSE.md for more details