54 lines
1.4 KiB
Markdown
54 lines
1.4 KiB
Markdown
+++
|
|
date = "2019-01-30"
|
|
tags = ["ascii"]
|
|
title = "CLIでlocation mapを表示する"
|
|
slug = "ascii"
|
|
+++
|
|
|
|
location mapをcliからqueryして表示したいと思ったので、調べてみたら、面白そうなツールがいくつか見つかりました。
|
|
|
|
|
|
![](https://raw.githubusercontent.com/syui/img/master/old/cli_mapscii_01.png)
|
|
|
|
```sh
|
|
$ whois example.com
|
|
$ nslookup exmaple.com
|
|
8.8.8.8 #google dns server
|
|
|
|
# https://github.com/yaronn/blessed-contrib
|
|
$ git clone https://github.com/yaronn/blessed-contrib.git
|
|
$ cd blessed-contrib
|
|
$ node examples/map-query-location.js `curl -sL ipinfo.io/8.8.8.8/loc`
|
|
|
|
# https://github.com/rastapasta/mapscii
|
|
$ sudo npm install -g mapscii
|
|
$ mapscii
|
|
```
|
|
|
|
mapsciiはsecrity的にあまりよろしくなさそうな感じですかね。
|
|
|
|
> blessed-contrib/examples/map-query-location.js
|
|
|
|
```js
|
|
var blessed = require('blessed')
|
|
, contrib = require('../')
|
|
, screen = blessed.screen()
|
|
, map = contrib.map({label: 'World Map'})
|
|
, loc = process.argv[2]
|
|
, rLoc = loc.split(",")
|
|
|
|
screen.append(map)
|
|
map.addMarker({"lat" : rLoc[0], "lon" : rLoc[1], color: "red", char: "X" })
|
|
|
|
screen.render()
|
|
```
|
|
|
|
nodeのblessed-contribに触発され、golangやrustで書かれたものもあるみたいです。これらを使ってcli toolを書くと便利そう。
|
|
|
|
https://github.com/gizak/termui
|
|
|
|
https://github.com/fdehau/tui-rs
|
|
|
|
rustのやつはmapのuiが作れそうですが、golangのは簡単には無理っぽい感じでした。
|
|
|