「Titanium-Web-Proxy Twitch用フィルター (2024/01/17)」





プロキシーソフト。
Titanium.Web.Proxy (以下 TWP)の


を使うと、データがブラウザに届く前に
様々なフィルター加工を施せるようになります。



Twitch用 NGコードの解説:

Twitchを開くて出てくる。このようなトップ画面ですが


ここのデータはブラウザが
  url = "gql.twitch.tv/gql";
  content_type = "application/json";
から取得しています。


要するにここのjsonデータをTWPで
監視、改変する事でNG処理を行えるようになる。



もっと具体的には

一個一個のアイテムってのは

[
{
"trackingID":"abc...",
"promotionsCampaignID":"",
"user":
{
  "id":"abc...",
  "login":"abc...",
  "displayName":"abc...",
  "profileImageURL":"abc....",
  "primaryColorHex":null,
  "broadcastSettings":
  {
    "id":"abc...",
    "title":"TITLE",
    "__typename":"BroadcastSettings"
  },
  "__typename":"User"
},
"label":"NONE",
"content":
{
  "id":"abc...",
  "previewImageURL":"abc...",
  "broadcaster":
  {
    "id":"abc...",
    "broadcastSettings":
    {
      "id":"abc...",
      "title":"TITLE",
      "__typename":"BroadcastSettings"
    },
    "__typename":"User"
  },
  "viewersCount":abc...,
  "game":
  {
    "id":"abc...",
    "displayName":"Retro",
    "name":"Retro",
    "__typename":"Game"
  },
  "type":"live",
  "__typename":"Stream"
},

"__typename":"PersonalSectionChannel"
},
]

(一例。具体的な文字などはボカしてます)

こんな形の
JsonObjectと対応しています。



要するに、このJsonObjectの中で。
  #NGワード#
を見かけたら、
そのJsonObjectをアイテム配列から
抹消するようにすれば画面から消える。



さて。実際に適用してみましょう。

オリジナル画面
  ↓

TWPによるNG処理後 画面

はい、NGワードに
反応したアイテムが消えました。




具体的な抹消コードは載せません。

正直言うて、これ。
やってる事はWebの改ざんであり倫理的には色々とグレー。

あくまで個人が勝手にやってるだけなので
コードも自分で作ってください。




そもそも何故こんな事をしているかと言うと。


Twitchにも「興味がない」機能はありますが
 
これがかなり貧弱。

NGできるのは配信者個別であり、
  #興味のないゲーム#
タイトル丸ごとをNGする機能はありません。


Twitchがこちらの興味のないゲームを


延々と羅列してくる。
私は一回もクリックしてないのに、絶対に止めません。

時間の無駄なので
もう自分でNG機能を作りました。