1.4 KiB
1.4 KiB
+++ date = "2019-01-30" tags = ["ascii"] title = "CLIでlocation mapを表示する" slug = "ascii" +++
location mapをcliからqueryして表示したいと思ったので、調べてみたら、面白そうなツールがいくつか見つかりました。
$ 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
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のは簡単には無理っぽい感じでした。