プロジェクト

全般

プロフィール

操作

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

« 前 | リビジョン 2/3 (差分) | 次 »
白林檎 美和, 2020/08/27 23:44


ブロックされてないことにする荒業

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

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 をダウンロード” を踏むと,PuTTYの配布元の頁が開く。最新版のダウンロードの頁から “Alternative binary files” のplink.exeをダウンロードして, heidisql.exeと同じフォルダーへ置く。入力欄には “plink.exe” と入れる。

テーブルの操作

  1. 左ペインのツリーから “public” を選択。

  2. 右ペインのタブ [クエリ] へ次を入力し, [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” を選択。
  2. 右ペインのタブ [データ] を開き,手順3で控えたidの行を選択。
  3. Ctrl+Delを押す。
  4. SSHクライアントから, mastodon@丼鯖のホスト名 へログイン。
  5. 次のコマンドを実行。十数秒くらい待って, “OK” と返ったら完了。

$ cd live
$ bin/tootctl cache clear

1. WWWブラウザで,丼のホームを再読み込み。
1. @*ブロックされてないことにした人の名前* を検索し,そいつのつぶやきを表示できることを確認。
1. HeidiSQL, SSHクライアントを終了。

白林檎 美和 さんが4年以上前に更新 · 3件の履歴