[Mac] Chrome 拡張 Requestly を使って URL の書き換え

Twitter 等の SNS でのリンクや、Amazon 等のサイト内で商品リンクをクリックした際、URL が「汚れている」ことがある。例えば以下のような例だ。

焦点:原酒不足に悩むサントリー、新ブレンドウイスキーの勝算 – ロイター
https://jp.reuters.com/article/japan-whisky-suntory-holdings-idJPKCN1RV0F9?utm_campaign=trueAnthem:+Trending+Content&utm_content=5cbadd530cef930001bce322&utm_medium=trueAnthem&utm_source=twitter

Amazon | ASRock ビデオカード Radeon RX570搭載 3モード切替モデル PGX Radeon RX570 8G OC | ASROCK | グラフィックボード 通販

こういうリンクだと、Twitter 等に投稿したり、ブログにリンクを貼ったりする際、「掃除」が必要になる。例えば、先ほどのリンクは以下のように掃除したい。

焦点:原酒不足に悩むサントリー、新ブレンドウイスキーの勝算 – ロイター
https://jp.reuters.com/article/japan-whisky-suntory-holdings-idJPKCN1RV0F9

Amazon | ASRock ビデオカード Radeon RX570搭載 3モード切替モデル PGX Radeon RX570 8G OC | ASROCK | グラフィックボード 通販

これまでは TextScrub という Mac アプリを使っていた。このアプリはクリップボード内の URL を正規表現を使ったりして置換できる。

「TextScrub」をMac App Storeで
https://itunes.apple.com/jp/app/textscrub/id600842582

ただ TextScrub は一旦クリップボードを経由しなければいけない。キーボードショートカットを使えるとはいえ手間が掛かる。最初にサイトにアクセスした時点で、URL が自動で書き換わっている方が楽だ。

そこで使えるのが Chrome 拡張の Requestly だ。この Chrome 拡張を使えば、URL の文字列を自動置換できる。

Requestly – Chrome Firefox extension to modify network requests
https://www.requestly.in/

(1)Chrome 拡張をインストールする。

(2)Chrome で「Requestly のアイコン> Open app」をクリックする。設定画面に入れる。

(3)Rules>New Rule をクリックする。

(例1)Mac App Store のリンク
置換前:https://itunes.apple.com/jp/app/textscrub/id600842582?mt=12
置換後:https://itunes.apple.com/jp/app/textscrub/id600842582

これは単なる削除なので、普通の置換でよい。
・Replace:?mt=12
・With:(空欄のまま)
・Request:Url、Contains

(例2)ロイターの記事リンク
置換前:https://jp.reuters.com/article/japan-whisky-suntory-holdings-idJPKCN1RV0F9?utm_campaign=trueAnthem:+Trending+Content&utm_content=5cbadd530cef930001bce322&utm_medium=trueAnthem&utm_source=twitter
置換後:https://jp.reuters.com/article/japan-whisky-suntory-holdings-idJPKCN1RV0F9

これは正規表現を使う。
・Replace:/(.+)(?utm)(.+)/ig
・With:$1
・Request:Url、Matches (Regex)

(例3)Amazon のリンク
置換前:https://www.amazon.co.jp/ASRock-%E3%83%93%E3%83%87%E3%82%AA%E3%82%AB%E3%83%BC%E3%83%89-Radeon-RX570%E6%90%AD%E8%BC%89-3%E3%83%A2%E3%83%BC%E3%83%89%E5%88%87%E6%9B%BF%E3%83%A2%E3%83%87%E3%83%AB/dp/B07C1YHS44/ref=sr_1_9?s=computers&ie=UTF8&qid=1547864878&sr=1-9&keywords=AMD+Radeon+RX+570
置換後:https://www.amazon.co.jp/dp/B07C1YHS44/

正規表現を2つ登録する。一つ目で amazon.co.jp/ と /dp/ の間の文字列を除く。
・Replace:/(^http.+?amazon.co.jp)(.*)(/dp/)(.*)/
・With:$1$3$4
・Request:Url、Matches (Regex)

2つ目で ref= 以降を削除する。
・Replace:/(.+)(ref=)(.+)/ig
・With:$1
・Request:Url、Matches (Regex)

同様にしてその他の URL も設定していけばいい。

ただ無料プランでは3つまでしかルールを登録できない。他にもいろいろ活用方法が思い付くような、すごく便利なツールなので、有料プランに入るのも悪くないかもしれない。

参考:
Replace Rule Documentation – Requestly
https://www.requestly.in/blog/2018/06/16/replace-rule-documentation/

ハイパーリンクに設定されたURLを別の値に置換または削除してウェブサーバーへリクエストするChrome拡張機能 Requestly の機能と使い方(さらばProxomitron) :Scrap 2nd.
https://kzstock.blogspot.com/2018/12/chrome-exe-requestly.html

ブラウザのアクセス情報を書き換えて自由自在にリダイレクトやヘッダーの編集ができるブラウザ拡張「Requestly」 – GIGAZINE
https://gigazine.net/news/20181214-requestly/

四章第三回 正規表現2 — JavaScript初級者から中級者になろう — uhyohyo.net
https://uhyohyo.net/javascript/4_3.html