プロジェクト

全般

プロフィール

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

白林檎 美和, 2020/08/27 23:44

1 1 白林檎 美和
# ブロックされてないことにする荒業
2
他インスタンスのユーザーからブロックされると,そいつのつぶやきは過去の分を含め読めなくなってしまう。次の手順で丼のDBを直接いぢると,読んだりお気に入りやブーストをつけたりできるようになる。返信もできるが,たぶん相手には伝わらない。
3
PostgreSQL対応のGUIなクライアントとして,ここでは[HeidiSQL](https://www.heidisql.com/)を使う。
4
5
## HeidiSQLの設定
6
### [設定] タブ
7
| 項目             | 値                      |
8
|------------------|-------------------------|
9
| ネットワーク種別 | PostgreSQL (SSH tunnel) |
10
| Library          | libpq-12.dll            |
11
| ホスト名 / IP    | localhost               |
12
| ユーザー         | mastodon                |
13
| パスワード       | *↑のパスワード*        |
14
| ポート           | 5432 (デフォルト)       |
15
| データベース     | mastodon_production     |
16
| コメント         | *任意*                  |
17
### [SSHトンネル] タブ
18
| 項目                     | 値                                   |
19
|--------------------------|--------------------------------------|
20
| plink.exe                | 欄外を参照。                         |
21
| SSH ホスト + ポート      | 丼鯖のホスト名, 22                   |
22
| ユーザー名               | mastodon                             |
23
| パスワード               | *↑のパスワード*                     |
24
| plink.exe のタイムアウト | 4 (デフォルト)                       |
25
| 秘密鍵ファイル           | sshdを鍵認証必須に設定した場合,指定 |
26
| ローカルポート           | 3307 (デフォルト)                    |
27
* PuTTYをお持ちの方 ⇒ PuTTYのインスコ先にあるplink.exeのフルパス名。
28
* 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” と入れる。
29
30
## テーブルの操作
31
1. 左ペインのツリーから “public” を選択。
32 2 白林檎 美和
1. 右ペインのタブ [クエリ] へ次を入力し, [F9] で実行。ブロックされている人のid (自インスタンス内の通し番号) が判る。
33 1 白林檎 美和
34
    ```
35
SELECT accounts.id, accounts.username
36
FROM accounts
37
WHERE accounts.username = '<ブロックされている人の名前>' AND accounts.domain IS NULL;
38
```
39 2 白林檎 美和
1. 続いて次を入力し, [F9] で実行。その人がどこの誰からブロックされているか判る。ブロックされてないことにしたい人のid (テーブルblocks内の通し番号) を控える。
40
    ```
41
SELECT blocks.id, accounts.url
42
FROM accounts, blocks
43
WHERE blocks.target_account_id = <ブロックされている人のid> AND blocks.account_id = accounts.id;
44
```
45
1. 左ペインの “public” を展開し,テーブル “blocks” を選択。
46
1. 右ペインのタブ [データ] を開き,手順3で控えたidの行を選択。
47
1. Ctrl+Delを押す。
48
1. SSHクライアントから, mastodon@*丼鯖のホスト名* へログイン。
49
1. 次のコマンドを実行。十数秒くらい待って, “OK” と返ったら完了。
50
    ```
51
$ cd live
52
$ bin/tootctl cache clear
53
```
54
1. WWWブラウザで,丼のホームを再読み込み。
55
1. @*ブロックされてないことにした人の名前* を検索し,そいつのつぶやきを表示できることを確認。
56
1. HeidiSQL, SSHクライアントを終了。