<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Tool on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/tool/</link>
		<description>Recent content in Tool on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Mon, 03 Oct 2022 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/tool/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Maigret - アカウント名から各種サービス上のプロフィールを串刺しで調査するツール</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/</link>
				<pubDate>Mon, 03 Oct 2022 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/soxoj/maigret&#34;&gt;soxoj/maigret&lt;/a&gt;(メグレ)は、SNSなどユーザー登録ができるサービス群に対し、アカウント名からユーザーページを調査するというツールです。&lt;/p&gt;&#xA;&lt;p&gt;たとえば @akky というアカウント名があった場合に、twitter や Instagram などメジャーなSNSから、reddit などの掲示板、ブログや趣味のサービスなど大量のサービスについて、それぞれのユーザー akky のページの情報をスクレイプしてレポートを作ってくれます。&lt;/p&gt;&#xA;&lt;p&gt;動かしてみた様子がこれ。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/soxoj/maigret&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/maigret-result-akky_hu_d0504041cd03819e.webp 480w, https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/maigret-result-akky_hu_89570ddc30be315.webp 768w, https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/maigret-result-akky_hu_6e97e18c9fca550d.webp 1016w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2022/10/maigret-lists-accounts-info-from-websites/maigret-result-akky.png&#34; width=&#34;1016&#34; height=&#34;348&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Maigret でユーザー名 akky を調査した際の結果(一部)&lt;/p&gt;&#xA;&lt;p&gt;調査の可能なwebサービスは約2500個、Alexaで人気の高い順に個数を指定して調べさせたりもできます。&lt;/p&gt;&#xA;&lt;p&gt;各サービスのユーザープロフィールページをチェックしにいくということは、ユーザーページのURLパターンを持っているということ。そのデータは &lt;a href=&#34;https://raw.githubusercontent.com/soxoj/maigret/main/maigret/resources/data.json&#34;&gt;data.json&lt;/a&gt; というファイルにあり、今登録されていないwebサービスの情報を追加依頼することもできます。&lt;/p&gt;&#xA;&lt;p&gt;もともと &lt;a href=&#34;https://github.com/sherlock-project/sherlock&#34;&gt;Sherlock&lt;/a&gt; という先行ツールがあり、Maigret はそこからフォークして対応サイトを増やしたりしているようです。命名はシャーロックからフォークした&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%83%BB%E3%83%A1%E3%82%B0%E3%83%AC&#34;&gt;メグレ&lt;/a&gt;、というわけですね。シャーロックの対応サイトが500個ほどなのに対して、2500個のサイトのデータを持っているのは頑張っているのではないでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;とあるサービスのアカウント名から、他のサービスでどんな活動をしているか調べるのを補助するツールということで、他人が望んでいないプライバシーの紐づけにつながる点で警戒する人もいるでしょう。&lt;/p&gt;&#xA;&lt;p&gt;また、たまたま同じユーザー名を別のサービスで使っている人たちが、誤って同一人物とされ、その間違いから誤情報が生み出されることもあるかもしれません。よくある単純なユーザー名を持っていると、このあたりはハナから別のサービスで同じユーザー名が取れないのは当たり前で気にならないのですが、数字などを含めて長いユーザー名を色々なサービスで使っている人はサービス間での紐づけがされうることに注意すべきかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;via &lt;a href=&#34;https://news.ycombinator.com/item?id=33061058&#34;&gt;Hacker News&lt;/a&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>metro-clojure - gitリポジトリで地下鉄路線図を作るClojure製ツール</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2019/06/metro-clojure-generates-metro-graph-on-git-repository/</link>
				<pubDate>Wed, 05 Jun 2019 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2019/06/metro-clojure-generates-metro-graph-on-git-repository/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://github.com/gjhenrique/metro-clojure&#34;&gt;gjhenrique/metro-clojure&lt;/a&gt; は、鉄道路線図をgitのコミット/ブランチログで再現するためのオープンソースツールです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/akky/tokyo-metro/network&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2019/06/metro-clojure-generates-metro-graph-on-git-repository/tokyo-metro-graph-on-girhub-enlarged_hu_5e90c48210963bc6.webp 480w, https://labs.cybozu.co.jp/blog/akky/2019/06/metro-clojure-generates-metro-graph-on-git-repository/tokyo-metro-graph-on-girhub-enlarged_hu_7c3bbf868d93a095.webp 590w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2019/06/metro-clojure-generates-metro-graph-on-git-repository/tokyo-metro-graph-on-girhub-enlarged.png&#34; width=&#34;590&#34; height=&#34;219&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;路線と路線に所属する駅名を並べた json ファイルが入力となります。サンプルとしてサンパウロとニューヨークのデータがついてきてるので、それを参考にします。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;code&gt;[ { &amp;quot;name&amp;quot;: &amp;quot;銀座線&amp;quot;, &amp;quot;stations&amp;quot;: [ &amp;quot;渋谷&amp;quot;, &amp;quot;表参道&amp;quot;, &amp;quot;外苑前&amp;quot;, &amp;quot;青山一丁目&amp;quot;, &amp;quot;赤坂見附&amp;quot;, &amp;quot;溜池山王&amp;quot;, &amp;quot;虎ノ門&amp;quot;, &amp;quot;新橋&amp;quot;, &amp;quot;銀座&amp;quot;, &amp;quot;京橋&amp;quot;,&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;データをツールに食わせると、git コマンド群を発行するシェルスクリプトを作ってくれます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;$ boot generate-git-commands -c tokyo -f tokyo.sh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;大江戸線のような循環があると、git グラフが作れないためツールはエラーで止まります。そりゃそうですね。&lt;/p&gt;&#xA;&lt;p&gt;都庁前の循環を外して再度挑戦するも、東京のいたるところの乗換駅でエラーが… あちらとこちらで乗り換えができれば、循環だらけにもなりますね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;# 渋谷 銀座線 半蔵門線 副都心線 git checkout --orphan &amp;quot;銀座線&amp;quot; git commit --allow-empty -m &amp;quot;渋谷&amp;quot; git branch -f &amp;quot;副都心線&amp;quot; HEAD git branch -f &amp;quot;半蔵門線&amp;quot; HEAD # 代々木上原 千代田線 git checkout --orphan &amp;quot;千代田線&amp;quot; git commit --allow-empty -m &amp;quot;代々木上原&amp;quot; # 代々木公園 千代田線 git commit --allow-empty -m &amp;quot;代々木公園&amp;quot; # 明治神宮前 千代田線 副都心線 git merge --strategy=ours --allow-unrelated-histories --no-ff --commit -m &amp;quot;明治神宮前&amp;quot; 副都心線 git branch -f &amp;quot;副都心線&amp;quot; HEAD # 北参道 副都心線 git checkout &amp;quot;副都心線&amp;quot; git commit --allow-empty -m &amp;quot;北参道&amp;quot; # 方南町 丸ノ内線分岐線 git checkout --orphan &amp;quot;丸ノ内線分岐線&amp;quot; git commit --allow-empty -m &amp;quot;方南町&amp;quot; # 中野富士見町 丸ノ内線分岐線 git commit --allow-empty -m &amp;quot;中野富士見町&amp;quot; # 中野新橋 丸ノ内線分岐線&lt;/code&gt;&lt;/p&gt;</description>
			</item>
			<item>
				<title>composerize - dockerコマンドラインをdocker-composeの書式に変換してくれるツール</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/</link>
				<pubDate>Fri, 02 Sep 2016 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;http://composerize.com/&#34;&gt;Composerize&lt;/a&gt;は、コマンドラインオプションを持ったDockerコマンドを、Docker Composeの定義ファイルの形式へ変換してくれる、というサービスです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://composerize.com/&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/composerize-screenshot_hu_4d711e21a44942ab.webp 480w, https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/composerize-screenshot_hu_fd58592bff7500fb.webp 768w, https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/composerize-screenshot_hu_ac53839b5cca3afd.webp 821w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2016/09/composerize-convert-docker-command-to-compose/composerize-screenshot.png&#34; width=&#34;821&#34; height=&#34;665&#34; alt=&#34;composerize-screenshot&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Dockerコマンドのオプションを列挙してるのが docker-compose.yml なので、コマンドラインパラメーターとymlに掛かれてるものは機能的には一対一に対応してはいるんです。しかし、名前が微妙に違っているパラメーターがあって、コマンドラインで動作確認したものをComposeに移行しようとした際にエラーが出てしまい、両方のマニュアルを開きながら調べて修正、など僕も苦労してました。&lt;/p&gt;&#xA;&lt;p&gt;Githubで公開されている&lt;a href=&#34;https://github.com/magicmark/composerize&#34;&gt;ソース&lt;/a&gt;の(&lt;a href=&#34;https://github.com/magicmark/composerize/blob/master/lib/js/converter.js&#34;&gt;コンバート部分を見れば&lt;/a&gt;、パラメーターの名前が微妙に違うものが多いのに気づきます)&lt;/p&gt;&#xA;&lt;p&gt;デバッグ時には反対向きの変換ツールもあるといいかも。&lt;/p&gt;&#xA;&lt;p&gt;via reddit&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
