【現役Twitterユーザ向け】TwitterとMastodonの共存/繁栄を目指すTips【IFTTT】

# はじめに

2018年、あけましておめでとうございます。
これがQiitaに投稿する初めての記事です。今年から何卒よろしくお願いいたします。
(エンジニアとしての私は全く社会経験も何もない一学生でしかないので、多くの方からなにとぞアドバイスやらお叱りやら頂けたらと思っております……誠に恐縮ではございますが宜しくお願い致します)

さて、私は昨年度にSNS(というかTwitter)で色々暴走しすぎてしまったというところもあり、それを少しづつ矯正していく目的で[Mastodon：マストドン](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3_(%E3%83%9F%E3%83%8B%E3%83%96%E3%83%AD%E3%82%B0))に再度目を向けることにしました(ツイ廃並感)。「分散型/脱・中央集権型SNS」としてのマストドンの魅力を伝えるのは他の記事を参考にしていただくとして、この記事では「Twitterユーザー」が、「どうしたらMastodonに移住できるのか」または「どうしたらマストドンと共存できるのか」について、2018年の正月を捧げた私の個人的なリサーチをもとにお伝えしたいと思います。

# 目次

※後ろの項目(1~4)になるほど難易度が高い(というか心理的障壁が高い)です

1. 任意のMastodon鯖に垢を作る
2. PC版/iPhone・android版のクライアントアプリをつかってみる
3. IFTTTを介してMastodon=>Twitterへ連携させて投稿する
4. IFTTTを介してTwitter=>Mastodonへ連携させて投稿する
5. おわりに
6. 参考文献

# 1. 任意のMastodon鯖に垢を作る

### そもそもMastodonってなに？

冒頭にも紹介した通り、[Mastodon：マストドン](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3_(%E3%83%9F%E3%83%8B%E3%83%96%E3%83%AD%E3%82%B0))とは、「分散型/脱・中央集権型SNS」 (decentralized) なSNSとして、ドイツのプログラマーである[オイゲン・ロチコ (Eugen Rochko)](https://mastodon.social/@Gargron)によって開発されました。([GitHubのこのページ](https://github.com/tootsuite/mastodon)で公開されています)

で、じゃあそいつは一体何なんだ？という疑問に対する答えを私はいまだ持っていません。勢いでこんな記事を書いてみましたが、実際のところ私は「なんかすごいSNSがあるらしいしちょっと手を出してみた」という程度の素人に過ぎません。なので、以下のページを概観してみるとMastodonとはなんであるかがわかるかもしれません。ぜひご覧になってみてください。

- [Mastodon Advent Calendar 2017 - Adventar](https://adventar.org/calendars/2178)
    - 人気インスタンスの著名人からそれらの管理人まで、さまざまな人が集まっていろいろと語ってくれています。一番有名なのは[mstdn.jp](https://mstdn.jp)の運用をやっていらっしゃる：[ぬるかる氏](https://mstdn.jp/@nullkal)でしょうか。
    - 彼についての詳細→[世界最大の「mstdn.jp」を立ち上げた大学院生“ぬるかるさん”は一体何者か その素顔とドワンゴ入社が決まるまでの10日間に迫る](http://www.itmedia.co.jp/news/articles/1704/24/news045.html)
- [Mastodon 2 Advent Calendar 2017 - Adventar](https://adventar.org/calendars/2265)
    - まさかのAdventCalendarが二つ目もすべて埋まるという熱狂的な人気（？）
    - このような文化を持つgeekたちが中心となってMastodonという存在を作っていっているのかもしれません
- というか[Adventer](https://adventar.org/)とかで各インスタンスのドメイン名で検索をかければ、わらわらと大量の記事が出てくるようです（すごい）
- [Let's　検索！](https://www.google.co.jp/search?q=mastodon+advent+calendar&oq=ma&aqs=chrome.0.69i59j69i57j69i60l2j69i61j35i39.1670j0j8&sourceid=chrome&ie=UTF-8)

### Mastodonインスタンスって？

> マストドンでは管理者も設置場所も異なる多数のサーバーが運用されており、利用者は自分自身でサーバーを選んでアカウントを作成し、これにログインする事になる。マストドンではこのサーバーの事を「インスタンス」と呼ぶ。インスタンスは複数の利用者がぶら下がる分岐点 (ノード) となる。([wiki](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3_(%E3%83%9F%E3%83%8B%E3%83%96%E3%83%AD%E3%82%B0)#%E6%A6%82%E8%A6%81)より)

つまり、インスタンス(鯖)ごとに特色あるテーマが設置されていて、そこに興味を持った人々が集まっている、まさしく「分散型」なSNSであるということが言えます。自分の好みに合ったインスタンスを探し(或いは自ら立ち上げて)、同じような趣味嗜好を持つ人々と交流することができるのです。

### 自分の好みに合ったインスタンスを探そう！

- [日本のインスタンス一覧](https://qiita.com/noraworld/items/ea853c6897326feda51f)
    - 最新の[日本のインスタンス一覧](https://qiita.com/noraworld/items/ea853c6897326feda51f)が公開されています(2018/01/01)
    - ドメインのほか、そのインスタンスの特徴やテーマなども併記されているのでかなり参考になると思います
- [世界のインスタンス一覧](https://instances.social/list#lang=&allowed=&prohibited=&users=)
    - 世界中のインスタンスから一括で探せるようになっています
    - 言語、コンテンツの内容、ユーザー数ごとにフィルタリングすることもできます
    - 項目ごとにランキング形式でも表示させることができます
        - 2018/01/04 現在、user数が一番多いインスタンスは[pawoo.net](https://pawoo.net)でした
        - 次いでuser数2位[mstdn.jp](https://mstdn.jp)、3位[mastodon.social](https://mastodon.social)でした(2018/01/04 現在)

### インスタンスにユーザー登録する

#### 【必要なもの】

- メールアドレス
- パスワード

#### 【登録の流れ】

1. 登録したいインスタンスを探す => ([日本のインスタンス一覧](https://qiita.com/noraworld/items/ea853c6897326feda51f))
2. そのインスタンスのURLへ飛ぶ　(例. [mstdn.jp](https://mstdn.jp))
3. 以下のような画面に移るので、必要事項を入力し[登録する]を押す
![screenshot_mstdn.png](https://qiita-image-store.s3.amazonaws.com/0/219661/55000844-750b-f901-a3da-5924715fbecf.png)

4. 確認メールが届くのでそこからユーザー認証を済ませる
5. Let's Mastodon!

# 2. PC版/iPhone・android版のクライアントアプリをつかってみる

`マストドン　クライアント　アプリ　[検索]`
で検索すると、いくつか出てくるのでその情報を参考にしてください。

- [「マストドン　クライアント　アプリ」の検索結果 - Google](https://www.google.co.jp/search?q=%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3+%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88+%E3%82%A2%E3%83%97%E3%83%AA&oq=%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3+%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88+%E3%82%A2%E3%83%97%E3%83%AA&aqs=chrome..69i57.818j0j7&sourceid=chrome&ie=UTF-8)

    - [マストドン用クライアントソフト - ますとどんちほー図書館](http://library.kemono-friends.info/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3%E7%94%A8%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%BD%E3%83%95%E3%83%88)(2017/12/17)
    - [Mastodon（マストドン）クライアント for Windows（UWPアプリ）全６種 機能一覧＆比較表](https://takulog.info/mastodon-win-client-compare/)(2017/10/22)
    - [Mastodon（マストドン） iPhoneアプリ全22種 機能比較表（iPad対応）](https://takulog.info/mastodon-ios-apps/)(2017/10/22)
    - [Mastodon、Macに「Naumanni」をインストールする – tonetalk](http://tonetalk.to/?p=1445)(2017/06/21)
        - Mastodonに関してはなぜかMac向けのクライアント開発は遅れているようだが……？

### 私の個人的おすすめ

私が弟に中学の受験勉強を教えながら片手間に正月三が日を費やして得られた結論として、以下の三つの神器があればTwitterもMastodonも十分に、しかもダイナミックに活用することができそうだということがわかりました(というよりは実際にMastodonにいる先人たちに直接悩みをTOOT!することで返ってきた情報をまとめたものです)

- Windows10 PC版クライアント：[Mammoth for Mastodon](https://www.microsoft.com/ja-jp/store/p/mammoth-for-mastodon/9pgx2mb9nrz9)
    - 解説記事：[Windows10のアプリ『Mammoth for Mastodon』の使い方と設定方法](https://boosting-site.com/archives/9132)
    - Mastodonだけをどっぷり使いたいときはこれ
    - インスタンスの切り替えが簡単に出来るので最高！
- iOS版&Android版クライアント：[Tootdon](http://tootdon.club/)
    - 解説記事：[Tootdon - マストドン日本語ウィキ](https://ja.mstdn.wiki/Tootdon)
    - こちらもインスタンスの切り替えが簡単に出来る
    - hashtag/検索ワードを含んだものなど特定の条件でタイムラインを表示できたり、投稿読み上げ機能(!?)が実装されている(多機能なのに使いやすい！)
- TweetDeckとの連携を実現：[Tooter](https://chrome.google.com/webstore/detail/tooter/okmlpjijminjkikninbkcnfmhkofgnnk)
    - 解説記事：[Twitterのツイートとマストドンのトゥ－トをTweetDeckで同時に行うChrome拡張の「Tooter」を使ってみた](https://www.pc-weblog.com/tooter/)
    - Deckの画面からツイートと同時にTOOTできるようになるChrome拡張
    - リンク元をツイートするときのホップアップウインドウにもツイートとは別にトゥートが表示されるようになる(同時にツイートとトゥートすることもできる)

# 3. IFTTTを介してMastodon=>Twitterへ連携させて投稿する

Mastodonに慣れてきたら、そろそろTwitterが懐かしいころでしょう。[Tooter](https://chrome.google.com/webstore/detail/tooter/okmlpjijminjkikninbkcnfmhkofgnnk)を使えば、TwitterとMastodonの両方に投稿こそできるものの、使う機会は案外限られていることに気づきます。(色んなサービスの認証にもMastodonが使えるようになればなぁ……)
そこで、Webサービス同士を連携させることができるWebサービス 「[IFTTT：イフト](https://ifttt.com)」を使って、Mastodonの投稿を(ある条件下で)自動的にTwitterにも投稿するようなApplet(レシピ)を使うことにします。

### どうすればいいの

まず、[IFTTT](https://ifttt.com)のアカウントを取得しましょう。GoogleまたはFacebookの垢か、単にメールアドレスとパスワード設定をするだけで取得することができます。次に、ページ上部の[Search](https://ifttt.com/search)から`Mastodon`と検索してみてください。
![IFTTT_nullkal.png](https://qiita-image-store.s3.amazonaws.com/0/219661/88bbe27e-c570-f49c-ef4f-aad308c5b919.png)
「[Mastodon → Twitter　(by nullkal)](https://ifttt.com/makers/nullkal)」という水色の四角いのが出てきたら、それがお目当てのApplet(レシピ)です。そしてAppletのページから`Turn On`をクリックすると、さらに詳細な設定を行うページに進みます。
![IFTTT_nullkal_config_01.png](https://qiita-image-store.s3.amazonaws.com/0/219661/5b45ac26-f985-2bfd-0f16-5163cddb139a.png)

![IFTTT_nullkal_config_02.png](https://qiita-image-store.s3.amazonaws.com/0/219661/45c2a4e5-b707-bdde-bbdc-43d8e88944df.png)

最後に、Feed URLのフォーム内にある「\** your instance domain here \*\*」「\*\* your username here \*\*」をそれぞれ「example.mastodon.com」(EX.mstdn.jp, pawoo.netなど)「(@以下の部分のあなたの設定した)ユーザー名」を入力してSaveします。※角カッコ\[ \]およびasterisk \* は取り除いて入力することに注意。

これでAppletの設定は完了です。実際に機能しているかどうか、試しにTOOTしてみましょう。残念ながらMastodonでTOOTして即座にTwitterへ、というわけではありませんが、長くとも10分程度の遅延のあとでTwitterに反映されるようです。
(※実際にIFTTTが動いたかどうかを確かめるには、`Check Now`をクリックするほか、MyAppletから右上にある`歯車マーク`で再度configを開き、`View activity log`からそのAppletの動作ログを見ることができます)

注：ぬるかる氏はいくつか[MastodonとTwitterの連携Appletを公開](https://ifttt.com/makers/nullkal)しています。その中には「[#ToBird](https://mstdn.jp/web/timelines/tag/tobird)というHashTag付きでMastodonからTOOTする」という条件下でのみTwitterと連携ツイートを行うという高度なAppletも用意されています。

# 4. IFTTTを介してTwitter=>Mastodonへ連携させて投稿する

最後に紹介するこれが最も高度で難しい面倒な操作もある方法です。しかし、これが実現すれば完全にTwitterとMastodonを共存させることができます。つまり、ツイートした内容はトゥートされ、トゥートした内容はツイートされるということです。ここまでで紹介してきた方法でも疑似的にこのようなことができますが、以下で紹介する方法でIFTTTを介してTwitter=>Mastodonへ連携させられれば、もっと無意識的に2つのSNSを共存させることができます。

### 【必要なもの】

1. Linux環境
    - すなわち、Curl の使える環境
    - Curl でなくても、CLIでHTTPリクエストが送れればwinでもmacでもいいが…?
    - (筆者はwinだが[Microsoftストア](https://www.microsoft.com/ja-jp/search/result.aspx?q=ubuntu)で[ubuntu](https://www.microsoft.com/ja-jp/store/p/ubuntu/9nblggh4msv6)を入手すれば、簡単にLinux環境が手に入る.ぜひとも各位入手されたい)

2. IFTTT アカウント
3. Twitter アカウント
4. Mastodon アカウント

### 【手順】

[以下のページ](https://qiita.com/yukimochi/items/f80a50a4486d0cb770dc)を参考にしてやってみてください
(当該記事の筆者である[@yukimochi](https://qiita.com/yukimochi)様に深く感謝申し上げます)

- [Twitter の投稿を IFTTT で Mastodon へ転送する。 - Qiita](https://qiita.com/yukimochi/items/f80a50a4486d0cb770dc)

概要としては、

1. CLIからcurlでMastodon にアプリケーション登録を行う
2. CLIからcurlでMastodonユーザーにアプリケーションの認証をする([参照元](https://github.com/tootsuite/documentation/blob/master/Using-the-API/Testing-with-cURL.md))
3. IFTTTでTwitterでの投稿をMastodonへ転送させるNewAppletを作成する

という感じです。個人的に詰まった(初心者がミスをしやすいであろう)ポイントを以下に列挙します。

##### CLIによるHTTPリクエスト

- `scopes`:アプリの持つ権限は`write`だけでいい
    - あんまり権限を与えすぎても…ねぇ？
- `website=https://fuga.example.jp`:このウェブサイトは、Mastodon上でTOOTに表記される`client_name`をクリックしたときに転送されるURLのこと。
    - 例. Twitter上の自分のアカウントページとか、自分のHPとか
    - 実は`scope=write`以下の`website= ~~`部分は不要なオプションである
        - わざわざ設定するのなら、自分の帰属を表したほうがいい(?)
- `https://mastodon.example.com/api/v1/apps`:自分の所属するMastodonインスタンスのAPIを呼び出していると考える
    - すなわち`mastodon.example.com`の部分は丸々全て置き換える必要がある
    - 以下すべての部分も同様
- `username=hogehoge@fuga.example.jp`:登録した**メールアドレス**
    - ユーザー名というと@以下の部分を想起しがちだし、、Mastodonでは`ユーザー名@インスタンスのドメイン`のかたちで表記されることも多いが、ここではメアドをusernameとして扱っている(?)

##### IFTTT ; Webhook
- `Body:access_token=<64字の英数字>&status= {{Text}}&visibility=<希望の公開範囲>`
    - ↑　`&visibility=<希望の公開範囲>`は無くてもいい！
    - (※そもそも筆者には`<希望の公開範囲>`について、その設定方法がわからなかった)

これにて、MastodonとTwitterが連携して投稿されるようになったはずです。
皆様に快適なSNS生活が訪れますように。

# 5. おわりに

今回紹介したのは、Mastodon素人でかつTwitter廃人であった私のごく個人的なライフハックを共有するものでした。[実際に検索](https://www.google.co.jp/search?q=%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3&oq=%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3&aqs=chrome..69i57j69i60l3j35i39l2.4153j0j7&sourceid=chrome&ie=UTF-8)してみるとわかりますが、ここで紹介したもの以外にもたくさんのインスタンスやクライアントアプリがあり、今も開発・研究が進んでいます。なかには、TwitterとMastodonのタイムラインを同時に一画面で表示したり、tweetとtootどちらも選べたりするようなクライアントアプリもあるらしいです(ぜんぜんわからん！)
また、この記事ではTwitterありきでMastodonをご紹介しましたが、Mastodonそれ自身は無限の可能性を持つSNSだと私個人は考えています。管理運営が長期的にみると難しい問題や、一部固定ユーザーだけがたむろしているような半ばムラ社会になっているインスタンスもある現状を鑑みると、一見魅力が少ないようにも思えます。しかし、Mastodonの本質は「分散型/脱・中央集権型」であること、そしてその高い拡張性にあると私は考えます。昨今、サービスとしては大きくなりすぎたTwitterはその運営の酷さが目立ち続けています。ころころ変わって安定しないUI、意図不明な新機能展開、その内情の闇が深すぎる垢凍結や見えざる言論統制。一方でそういったものがほとんど存在しないのがMastodonであり、日本で大流行しているというのも頷けます。さらに、いくつかインスタンスを覗いてみると、その鯖によりユニークな機能が実装されていることもわかってきます。[pixiv](https://www.pixiv.net/)の運営する[pawoo.net](https://pawoo.net/about)では、その「創作活動や自由なコミュニケーションを楽しめる場」というテーマからメディアトゥートだけを流すタイムラインが用意されていたり、最大5000文字(!)のトゥートができる[神崎丼](https://knzk.me/about)、逆に1文字しかトゥートできない[マ](https://ma.mstdn.jp)など、面白いインスタンスも盛りだくさんです。(参照：[Tor、匿名、一文字、4096文字　変わり種インスタンスが続々 - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1710/01/news037.html))

最後に、私がTwitterからの半・脱出をキメた裏でやはり[こういうムーヴメント](http://www.itmedia.co.jp/news/articles/1801/01/news016.html)もあったようです。
[2017年大晦日にTwitterから脱出した人たち - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1801/01/news016.html)
[マストドン、2018年のロードマップ](http://www.itmedia.co.jp/news/articles/1712/31/news024.html)
[居心地のいいインターネットをマストドンで](http://www.itmedia.co.jp/news/articles/1801/02/news018.html)

また各インスタンスの登録ページにもある通り、Mastodonの特徴は以下の通りです。
> - 本当のコミュニケーションのために
    - 好きなように書ける500文字までの投稿や、文章やメディアの内容に警告をつけられる機能で、思い通りに自分自身を表現することができます。
- あなたは人間であり、商品ではありません
    - Mastodon は営利的な SNS ではありません。広告や、データの収集・解析は無く、またユーザーの囲い込みもありません。
- いつでも身近に
    - デベロッパーフレンドリーな API により実現された、iOS や Android、その他様々なプラットフォームのためのアプリでどこでも友人とやりとりできます。
- より思いやりのある設計
    - 他の SNS の失敗から学び、Mastodon はソーシャルメディアが誤った使い方をされることの無いように倫理的な設計を目指しています。

2017年春に突如として現れたSNS、Mastodon：マストドン。一年間の臥薪嘗胆を経て、2018年には徐々に頭角を現してくる気鋭のSNSであると私は考えています。現在Twitterやその他SNSユーザである皆様、ぜひともMastodonへの移住を検討してみてはいかがでしょうか。

# 6. 参考文献

1. [マストドン (ミニブログ) - Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3_(%E3%83%9F%E3%83%8B%E3%83%96%E3%83%AD%E3%82%B0))
2. [世界最大の「mstdn.jp」を立ち上げた大学院生“ぬるかるさん”は一体何者か　その素顔とドワンゴ入社が決まるまでの10日間に迫る  - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1704/24/news045.html)(2017/01/04 閲覧)
3. [日本 Mastodon インスタンス一覧 - Qiita](https://qiita.com/noraworld/items/ea853c6897326feda51f)
4. [Mastodon instances](https://instances.social/list/advanced#lang=&allowed=&prohibited=&users=)...世界のMastodon インスタンス一覧
5. [マストドン用クライアントソフト - ますとどんちほー図書館](http://library.kemono-friends.info/%E3%83%9E%E3%82%B9%E3%83%88%E3%83%89%E3%83%B3%E7%94%A8%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%BD%E3%83%95%E3%83%88)
    - ↑　**Android**版アプリについても記述されている
6. [Mastodon（マストドン）クライアント for **Windows**（UWPアプリ）全６種 機能一覧＆比較表](https://takulog.info/mastodon-win-client-compare/)
7. [Mastodon（マストドン） **iPhone**アプリ全22種 機能比較表（iPad対応）](https://takulog.info/mastodon-ios-apps/)
8. [Mastodon、**Mac**に「Naumanni」をインストールする – tonetalk](http://tonetalk.to/?p=1445)
9. [Windows10のアプリ『Mammoth for Mastodon』の使い方と設定方法](https://boosting-site.com/archives/9132)
10. [Tootdon - マストドン日本語ウィキ](https://ja.mstdn.wiki/Tootdon)
11. [Twitterのツイートとマストドンのトゥ－トをTweetDeckで同時に行うChrome拡張の「Tooter」を使ってみた](https://www.pc-weblog.com/tooter/)
12. [nullkal’s Applets - IFTTT](https://ifttt.com/makers/nullkal)
13. [Twitter の投稿を IFTTT で Mastodon へ転送する。 - Qiita](https://qiita.com/yukimochi/items/f80a50a4486d0cb770dc)
14. [Tor、匿名、一文字、4096文字　変わり種インスタンスが続々 - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1710/01/news037.html)
15. [2017年大晦日にTwitterから脱出した人たち - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1801/01/news016.html)
16. [マストドン、2018年のロードマップ - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1712/31/news024.html)
17. [居心地のいいインターネットをマストドンで - ITmedia NEWS](http://www.itmedia.co.jp/news/articles/1801/02/news018.html)

P.S.　受験生各位は勉強しろ。何が問題でどういう風に考えるのかメタ的に考えられるようになってくれ(兄より)