プロジェクト

全般

プロフィール

ブロックされてないことにする荒業 » 履歴 » リビジョン 2

リビジョン 1 (白林檎 美和, 2020/08/27 02:34) → リビジョン 2/3 (白林檎 美和, 2020/08/27 23:44)

# ブロックされてないことにする荒業 
 他インスタンスのユーザーからブロックされると,そいつのつぶやきは過去の分を含め読めなくなってしまう。次の手順で丼のDBを直接いぢると,読んだりお気に入りやブーストをつけたりできるようになる。返信もできるが,たぶん相手には伝わらない。 
 PostgreSQL対応のGUIなクライアントとして,ここでは[HeidiSQL](https://www.heidisql.com/)を使う。 

 ## HeidiSQLの設定 
 ### [設定] タブ 
 | 項目               | 値                        | 
 |------------------|-------------------------| 
 | ネットワーク種別 | PostgreSQL (SSH tunnel) | 
 | Library            | libpq-12.dll              | 
 | ホスト名 / IP      | localhost                 | 
 | ユーザー           | mastodon                  | 
 | パスワード         | *↑のパスワード*          | 
 | ポート             | 5432 (デフォルト)         | 
 | データベース       | mastodon_production       | 
 | コメント           | *任意*                    | 
 ### [SSHトンネル] タブ 
 | 項目                       | 値                                     | 
 |--------------------------|--------------------------------------| 
 | plink.exe                  | 欄外を参照。                           | 
 | SSH ホスト + ポート        | 丼鯖のホスト名, 22                     | 
 | ユーザー名                 | mastodon                               | 
 | パスワード                 | *↑のパスワード*                       | 
 | plink.exe のタイムアウト | 4 (デフォルト)                         | 
 | 秘密鍵ファイル             | sshdを鍵認証必須に設定した場合,指定 | 
 | ローカルポート             | 3307 (デフォルト)                      | 
 * PuTTYをお持ちの方 ⇒ PuTTYのインスコ先にあるplink.exeのフルパス名。 
 * PuTTYをお持ちでない方 ⇒ 入力欄下の “[plink.exe をダウンロード](https://www.chiark.greenend.org.uk/~sgtatham/putty/)” を踏むと,PuTTYの配布元の頁が開く。[最新版のダウンロード](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)の頁から “Alternative binary files” のplink.exeをダウンロードして, heidisql.exeと同じフォルダーへ置く。入力欄には “plink.exe” と入れる。 

 ## テーブルの操作 
 1. 左ペインのツリーから “public” を選択。 
 1. 右ペインのタブ [クエリ] へ次を入力し, [F9] で実行。ブロックされている人のid (自インスタンス内の通し番号) が判る。 で実行。 

     ``` 
 SELECT accounts.id, accounts.username 
 FROM accounts 
 WHERE accounts.username = '<ブロックされている人の名前>' AND accounts.domain IS NULL; 
 ``` 
 1. 続いて次を入力し, [F9] で実行。その人がどこの誰からブロックされているか判る。ブロックされてないことにしたい人のid (テーブルblocks内の通し番号) を控える。 
     ``` 
 SELECT blocks.id, accounts.url 
 FROM accounts, blocks 
 WHERE blocks.target_account_id = <ブロックされている人のid> AND blocks.account_id = accounts.id; 
 ``` 
 1. 左ペインの “public” を展開し,テーブル “blocks” を選択。 
 1. 右ペインのタブ [データ] を開き,手順3で控えたidの行を選択。 
 1. Ctrl+Delを押す。 
 1. SSHクライアントから, mastodon@*丼鯖のホスト名* へログイン。 
 1. 次のコマンドを実行。十数秒くらい待って, “OK” と返ったら完了。 
     ``` 
 $ cd live 
 $ bin/tootctl cache clear 
 ``` 
 1. WWWブラウザで,丼のホームを再読み込み。 
 1. @*ブロックされてないことにした人の名前* を検索し,そいつのつぶやきを表示できることを確認。 
 1. HeidiSQL, SSHクライアントを終了。