針對分析在 GFW 牆內的情況,看到「GFWaaS - GFW as a Service」這樣的服務出現了,依據價位提供兩個不同等級的功能:
- $49/month 是 HAR Logs + Screencasts
- $199/month 則是再加上 Browser VNC
對於人不在中國,但需要照顧中國市場的開發團隊應該會有些幫助?
幹壞事是進步最大的原動力
針對分析在 GFW 牆內的情況,看到「GFWaaS - GFW as a Service」這樣的服務出現了,依據價位提供兩個不同等級的功能:
對於人不在中國,但需要照顧中國市場的開發團隊應該會有些幫助?
幾個月前 Facebook 把 API 拿掉了,大家都不能用 API 發文,本來想說就放掉這個平台,結果被老人家問怎麼都沒更新,因為老人家都是靠兒子的 Facebook 確認生存,看到沒更新就很擔心... XD
由於 API 沒得用了,所以得自己 hack。這邊先列重點:
比較重要的方向就是這些,其他的其實就是磨時間、踩地雷,然後把程式刻出來:「gslin/twitter2facebook」。
在 2008 年的時候 xdite 寫過一篇「在 Linux 上架設 Screenshot Service」,不過現在是 2010 年了,不少當初有問題的地方都已經改善了,現在要架比之前方便不少...
測試的平台同樣是在 Linode (referral code 是 fdbacc96dbddafce9ba444dd678357416d0323d5
) 上跑 Debian lenny (也就是 5.0 版),為了避免 Adobe Flash Player 在 Linux amd64 上會出問題,我在 Linode 上用 32bits 版。
Linode 把預設的 Debian 裝完後,先把整個系統升級到 Debian squeeze 並且重開,然後先裝「locales」這個套件,再用 dpkg-reconfigure locales
把 en_US.UTF-8 以及你自己會用到的 locale 勾起來。
接著開始裝必要的套件:
Iceweasel 其實就是 Firefox,因為商標問題而在 Debian 上有不同的名字。在英文版維基百科的「Mozilla Corporation software rebranded by the Debian project」這篇文章裡把前因後果講得很清楚,這邊就不提了...
除了必要的套件外,接下來裝 TightVNC server,準備透過 VNC 設定 Iceweasel。設完後可以移除掉或是留下來,我自己是留下來 (反正檔案不大),有時候可能要進去 about:config
調整參數...
TightVNC server 用 tightvncserver :0
跑起來,然後遠端連進去把 Iceweasel 跑起來測試看看有沒有問題 (可以透過 PuTTY 的 tunnel 將傳輸過程加密),沒有問題的話就裝「torisugari: Command Line Print」這個套件,裝好後再把 Xvfb 跑起來,用這個指令抓圖:
DISPLAY=:2.0 iceweasel -print http://zh.wikipedia.org/ -printmode png -printfile ~/zh.wikipedia.org.png -printdelay 10
抓出來的 screenshot 就會像這樣:(點這裡看原大小圖片)
Flash 也沒問題:(點這裡看原大小圖片)
比起之前的方法,現在的方案有兩個好處:首先是 plugin 是照正規方法裝進去,而不是直接丟 xpi,可以避免遇到奇怪的靈異現象時懷疑是不是安裝時硬塞造成的。再來是 Iceweasel 會在抓完就 shutdown,所以在網路速度夠快的時候可以提前結束,而網路不夠快時也不用擔心抓到未完成圖...
當然剩下有很多細節要處理啦,不過那是另外一回事了...