1
0
hugo/content/blog/2019-01-30-ascii.md
2024-04-23 22:21:26 +09:00

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のは簡単には無理っぽい感じでした。