Plurk 的 API 將在五月強制走 HTTPS

Plurk 的 API 之前一直都是走 HTTP,現在總算是要改 HTTPS 了,出自這邊

有在用噗浪 API 開發程式的噗友們請注意~Plurk API 將於5月1日之後全面強制改用 HTTPS 更安全的通訊協定。如果您在這之後仍使用 HTTP 來呼叫 API,將會被 301 Moved Permanently 重導到 HTTPS 的版本,而這非常可能導致您原來的程式無法正常運作,請儘速更新您的程式喔~

不過官網還沒強制切到 HTTPS 上...

關閉 Plurk 的 embed thumb 功能

Plurk 上的 embed thumb 功能 (我不知道怎麼稱呼比較好) 讓我沒辦法用 Ctrl 加上滑鼠左鍵一路把圖片點開,所以就想寫個 Greasemonkey script 搞定他...

最一開始的想法是把事件幹掉 (也就是 .pictureservices, .videoservices, .ogvideo, .iframeembed, .plink 這串),所以第一版的時候是直接用 unsafeWindow.jQuery 把事件 off() 掉,但後來想一想這樣有幾個問題:

  • 網站改版時動到這邊的 class name 會失效,即使是只有增加...
  • 安全性問題,unsafeWindow.jQuery 不保證是原版的 jQuery,在 Greasemonkey 有不少權限,雖然後來有被 @grant 強化過,不過能避免還是想避免。

所以就改成現在這個版本,直接在 body 上攔截,擋下對這五個 class 的 click event:「Disable Plurk multimedia thumb functuion」。

也許改寫 thumb function 本身會更好,不過先這樣吧 XD

我的資訊來源

不只一兩次被問到閱讀的來源有哪些:

從以前 Google Reader 時代就在使用 RSS feed 追蹤各個 blog。同時,在後兩者 (Social Network 與文章推薦機制) 看到不錯的 blog 時也會訂起來。

而 Facebook 是因為周邊有很多相關產業的朋友,總是可以看到一些分享。Twitter 是拿來訂一些名人的碎碎唸,有時候這些人只是發表一些看法,不一定會寫成一篇文章。(Blogging 與 Microblogging 的差異)

最後 Zite 則是補看不到的部份,透過演算法提供給你相關的內容。Hacker News Daily 也算是這類,每天從 Hacker News 上整理十個重大的連結發表成一篇文章,然後可以透過 RSS reader 訂閱。

對於要培養而不知道怎麼下手的人,有幾個可以先考慮:

  • 先找一個好用的 RSS reader。
  • 一定要熟悉用快速鍵操作 RSS reader,要練到所有的行為都用鍵盤操作。
  • 把不同語言的 RSS feed 分開放,像是以「英文」、「繁體中文」、「簡體中文」來分,看的時候不要混在一起看,這樣腦袋切換的成本會低一些。
  • 母語類的儘量訂,反正看很快。
  • 上面提到的 Hacker News Daily 訂起來每天看。
  • 有在使用的服務的官方 Blog 訂起來另外開一個 category 或是 folder 看,因為官方的語氣與一般 Blog 不太一樣,看這邊這種文章時的態度不太一樣。

Twitter 自動轉貼 Plurk 的程式

Twitter 拿掉 RSS 支援後原來「支援新版 Plurk API (OAuth Core 1.0a) 的 Twitter To Plurk Script」這篇提到的程式就不會動了,剛好現在在東京慢慢蹭,就花點時間改寫了。

程式一樣在 Gistgslin/982195 上。

由於不想要接 Twitter API,再加上自己的帳號是公開的,所以這邊就用 Web::Query 去爬 HTML 然後生出對應的 body 貼到 Plurk 上。

不過還是有不完美的地方,像是目前讀取的順序是顛倒的,大多數的情況下應該還好,不過有關連性的 tweet 就會看起來怪怪的 :o

Ubuntu 躲在 Juniper SRX 後面 NAT 連 Plurk 很慢的問題...

UbuntuJuniper SRX 後面透過 NAT 連 Plurk 會很慢,因為會 TCP three-way handshake 建不起來 (timeout),找了半天居然是 RFC1323 的問題...

方法是在 /etc/sysctl.conf 內關掉 TCP Timestamps:(桌機就隨便關了 ~_~)

net.ipv4.tcp_timestamps=0

然後 sysctl -p 生效。

參考:「解決XP下50M頻寬使用rfc1323.reg造成的網頁(噗浪)延遲」。

支援新版 Plurk API (OAuth Core 1.0a) 的 Twitter To Plurk Script

code 放在「Plurk 新版 OAuth Core 1.0a 的 twitter to plurk」,其中裡面用到的 SQLite 的表格結構請參考「Twitter 轉 Plurk 的程式...」這篇文章的說明。把本來是 plaintext password 的程式換過去後看起來舒服多了,不過中間寫起來讓人頗 orz...

先是一直沒辦法透過 OAuth::Lite 送出 UTF8 內容,於是決定換成 Net::OAuth,結果因為文件內的範例都沒講到重點而倒地不起...

然後遇到 Plurk API 2.0 beta 的文件沒有列出是 GET 或是 POST,於是又試了老半天...

文件真的很重要...

Plurk API:OAuth Core 1.0a

Plurk API 2.0 beta」總算是提供 OAuth Core 1.0a 介面讓人使用了,想把之前「Twitter 轉 Plurk 的程式...」的程式改寫,不過新的 API 不管怎麼註冊都不會過...

有人有註冊成功的嗎?

PS:另外「* 如果這不是一個網頁應用程式,請留空白即可」好像也怪怪的,我記得應該反過來?

Twitter 轉 Plurk 的程式...

程式在這裡,用 Perl 寫的,讀 Twitter 的 RSS feed 然後丟上 Plurk

另外裡面用到的 SQLite schema 是:

CREATE TABLE entry (id INTEGER PRIMARY KEY AUTOINCREMENT, guid VARCHAR, updated BOOLEAN);

其中 updated 欄位是沒用到的,但我暫時懶的改了...

btw,寫這個程式讓我對 Plurk 的資安感覺到絕望 XD