把 YouTube 的 Dislike 數字弄回來

最近 YouTube 也在搞事,把 Dislike 的數字拔掉了,後來在 Greasy Fork 上面找了一下,看到有兩套方法可以把數字補回來。

第一套是「Return YouTube Dislike」這個方法,從程式碼裡面可以看到是透過 API 拉出來的:

function setState() {
  cLog('Fetching votes...');
 
  doXHR({
    method: "GET",
    responseType: "json",
    url:
      "https://return-youtube-dislike-api.azurewebsites.net/votes?videoId=" +
      getVideoId(),
    onload: function (xhr) {
      if (xhr != undefined) {
        const { dislikes, likes } = xhr.response;
        cLog(`Received count: ${dislikes}`);
        setDislikes(numberFormat(dislikes));
        createRateBar(likes, dislikes);
      }
    },
  });
}

這個 API 後面應該是接 Videos: getRating 拉資料出來,但畢竟不是直接打 YouTube API (比較麻煩,需要每個使用者自己申請 API token),這樣就有隱私的疑慮了...

另外一套是「Show Youtube Dislike Count」,看了裡面程式碼發現他是用 averageRating 反推回來:

if (likeCount >= 0) {
    const r = data.playerResponse.videoDetails.averageRating;
    const dislikeCount = Math.round(likeCount * (5 - r) / (r - 1));

    ShowDislikes(likeCount, dislikeCount);
}

不過作者有點偷懶,這邊在等待頁面生成單純用 100ms 等頁面出現,有時候還是會有 race condition (就是後面還是讀不到 XDDD),如果懶的大修的話可以改成 1000ms 混過去,降低一些機率:

while (!isLoaded) {
    await Sleep(100);
}

另外數字很大的時候會稍微不準,但也算夠用了,先暫時用這套來頂著了...

寫了一個可以用 '/' 在 AWS 上快速切換服務的小工具

AWS Management Console 上切換服務需要用到滑鼠,而這個 Userscript 工具提供了 / 快速鍵可以直接拉出服務選單,另外也可以用 Esc 鍵關閉服務選單:「AWS Web Console Service Shortkeys」。

這個套件應該是支援多個瀏覽器,但是需要先安裝 Tampermonkey 這類可以跑 Userscript 的套件。

主要是常常在切的時候發現需要拿滑鼠,寫了這個 script 後多了一個方式可以用,而不需要把手移開鍵盤,會順手一些...

不過還是希望這個功能直接變成內建的 :o

用 Userscript 在 Gmail 裡面展開連結

前一篇「在 Gmail 裡面展開 GitHub 信件連結的 Userscript」是展開 GitHub 的連結,但這個套件是用document.querySelectorAll() 抓出來,裡面寫死了不少東西...

用了幾天後我還是只想開 commit 相關的連結 (用 regex 表示的話就是 ^https://github\.com/[^/]+/[^/]+/commit/),所以就找看看 Tampermonkey 能不能有 Config Page 或是 Option Page 可以讓使用者設定,結果發現本身沒支援:「Create a “config” or “options” page for a Greasemonkey script」。

但回覆裡面有提供一些方案可以用,我後來選了 MonkeyConfig,至少可以讓使用者設定 regex...

新的 Userscript 放在「open-links-in-gmail」這邊。

在 DuckDuckGo 搜尋頁快速切換到 Google 的套件

DuckDuckGo 的英文搜尋算是還堪用,而中文的話很慘,需要很精確的搜尋字才有辦法找到 (同義詞有點少),但為了想辦法在 Google 少留一些記錄,就還是把預設引擎設在 DuckDuckGo 上,另外寫了一個這個套件可以快速切到 Google 的搜尋引擎上,這樣在 DuckDuckGo 發現一看就知道不行時可以馬上切過去:「Press 'g' from DuckDuckGo's search result page to Google's.」。

GitHub 頁面上有放安裝連結,就請自取吧...

Stylish 的維護者換人,開始蒐集使用者資訊...

Solidot 上看到 Google Chrome 上的 Stylish 換人開始蒐集使用者所有的瀏覽記錄:「Chrome 版 Stylish 开始收集用户数据」。

之前是靠 Stylish 在處理 Feedly 的版面,移除掉之後就變得很窄很不好讀... 基於不信任的理由,也不可能用 userstyles.org 上的 Greasemonkey 版本 (反而更危險)。

結果塞翁失馬,找到「Custom Feedly Styles (+ Always Show Left Menu)」這個套件,一包直接支援多種功能,還可以透過 checkbox 選擇要哪些...

Google Reader 改版,以及「自力救濟」的方法...

Google Reader 這次一改版後,在網路上可以看到一堆人抱怨到翻...

用「google reader site:userscripts.org」,然後設限 24 小時內更新的網頁,果然找到不少人試著用 Greasemonkey 寫了對應的 CSS 修改。目前看起來有兩個還不錯:

這兩個 script 在 Google Chrome 上沒問題 (沒測過 Firefox,所以不確定 Firefox 是否正常),安裝後 reload 看起來好不少...

工具類的網站還是要把空間留給資訊用,留白反而讓人不方便...

露天拍賣的圖片自動展開程式 (Firefox、Google Chrome、Greasemonkey)

露天拍賣的圖片是等到有用到時才會讀進來,這其實對於用 tab 用習慣的我不太方便,因為我會在搜尋頁一次開完,然後一個一個看。這樣的好處是不需要等讀片讀入的時間...

我只在 Firefox + Greasemonkey 上測試過,不過因為程式很簡單 (只有一行),理論上在 Google Chrome 上應該也可以用。

程式在「Ruten Images Autoloader」,請測試給意見囉...