Adobe Typekit 支援 CJK 字型

Adobe Typekit 宣佈支援 CJK 字型:「Announcing East Asian web font support and new font browsing tools for Japanese customers」。中文的公告在「正式公開東亞網頁字體支援以及日文客戶適用的全新字體瀏覽工具」這邊。

這也包括了網頁版的部份。對於 CJK 單一字型檔案過大的問題,與大家的解法也都一樣,取出對應的字組出來給使用者作為 workaround (稱為 Dynamic Subsetting):

會稱為這是 workaround 是因為當網路速度愈來愈之後,就會又變成最單純的直接整包下載...

Anyway,Adobe 這個新功能是一個大邁進,不過他用的 HTTPS (EdgeCast) 還沒支援 SPDY 或是 HTTP/2 啊... :/

查詢門號所在的電信商 (台灣與國外的都可以查)

Twilio 提供的服務:「Phone Validator API to Check Numbers & Look Up Carriers - Twilio」。

原本是透過 57016 (需付費) 或是電信業者的官網查「是否為網內」,現在可以直接查出來是哪家電信業者。像是我的手機門號是 0963 (中華電信的 prefix),但 NP 到台灣大哥大:

這樣就方便多了...

Facebook 證明 Tor 的 Hidden Service 不安全

Facebook 宣佈了 https://facebookcorewwwi.onion/ 這個 Tor hidden service:「Making Connections to Facebook more Secure」,讓人可以直接在 Tor 的網路裡連上 Facebook。

Facebook 的人用的方法與其他人一樣,是透過 brute force 算出這個 hidden service。

但這也直接證明了 Tor Hidden Service 不安全:(參考這個註解的說明)

If Facebook has the resources to brute force their own full key, then you better believe the NSA and GCHQ do too. Which means that you will no longer know if the hidden service you're connecting to is the real one or the NSA/GCHQ version. Tor hidden services are now dead.

這次未免太精彩了 XDDD

Percona 的 MySQL 備份服務

Percona 前幾天發表的新服務,Percona Backup Service:「MySQL Backup Service from Percona」。

只提供人力服務,而非雲端服務:

You provide the backup servers – on premise, in the cloud, or any combination. We implement the tools and processes to run your backups.

你還是要自己準備備份的設備,所以資料都還是可以控制在自己的手上。這個服務是借重 Percona 的人對 MySQL 的專長所發展的服務。

不過目前官網上沒有列出價錢,要寫信去問。

另外文章裡有提到「MySQL Backup and Recovery Best Practices」這份投影片,可以看一看 Percona 對備份的規劃,主要是從技術的方面討論 (尤其是備份時產生的 LOCK 問題)。

ptt.cc 偶而會解不出 IP 的問題

Update:感謝正妹 wens 幫忙,現在已經先上 workaround 了,狀況暫時解除...

最近發現 168.95.1.1 有時會找不到 ptt.cc 這個 domain (參考 gist:9995821),原因是 ptt.cc 在 whois 上登記的是:

Name Server: NS0.PTT.CC
Name Server: NS1.PTT.CC
Name Server: NSOUT1.PTT.CC

用 dig 對 cc 的 NS server 查詢也可以確認:

;; AUTHORITY SECTION:
ptt.cc.                 172800  IN      NS      ns0.ptt.cc.
ptt.cc.                 172800  IN      NS      ns1.ptt.cc.
ptt.cc.                 172800  IN      NS      nsout1.ptt.cc.

;; ADDITIONAL SECTION:
ns1.ptt.cc.             172800  IN      A       140.112.172.10
ns0.ptt.cc.             172800  IN      A       140.112.172.16
nsout1.ptt.cc.          172800  IN      A       112.121.80.227

但 ptt.cc 的三台 NS server 上都找不到 nsout1.ptt.cc:

; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @140.112.172.10

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600
; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @140.112.172.16

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600
; <<>> DiG 9.8.1-P1 <<>> nsout1.ptt.cc @112.121.80.227

;; AUTHORITY SECTION:
ptt.cc.                 300     IN      SOA     ns0.ptt.cc. contact.ptt.cc. 2013102501 3600 900 2419200 3600

於是就錯亂了...

可以先解決的方法是先把 nsout1.ptt.cc 加上去,然後再規劃要怎麼修改兩邊的 record (Ptt 這側的 A/NS record,與 cc 的 A/NS record)。

補充一下,ptt2.cc 也有同樣問題。

架設 Tor 的 Hidden Service

會想要寫這篇是因為前陣子警察施暴影片YouTube 上一直被下架。

Tor 最常用到的是「隱藏使用者」的功能:使用者從 Internet 連到 Tor network 的進入節點 (entry node) 後,透過全世界的 Tor 節點加密傳輸,最後在出口節點 (exit node) 再連回 Internet 上的服務,藉此隱匿行蹤。

另外一個比較少被提到的用途是「架站」,也就是 Hidden Service。

在傳統的 Internet 架構上,知道 IP address 就容易發現機器所在地,要抄台或是在 ISP 端直接 ban IP address 也就相對容易。而 Hidden Service 就是想把服務藏到 Tor network 裡,讓外部不知道是哪一台伺服器,達成無法審查內容的目標。

官方的文件是「Configuring Hidden Services for Tor」這份。而這邊以 Ubuntu 12.04 的環境為例。

首先是先架設 web server,可以是 apache 或是 nginx,這不是本篇文章的重點 :p

然後在 /etc/tor/torrc 裡面加上:

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:80

表示 hidden service 的相關資料會放在 /var/lib/tor/hidden_service/ 下,並且提供 port 80 的服務 (轉到本機 127.0.0.1 的 port 80)。

接下來重跑 tor:

service tor restart

然後看 hostname 是什麼:

cat /var/lib/tor/hidden_service/hostname

會看到一個 *.onion 格式的 hostname,像我架設的機器就會看到:

btyz5lgqirxipopo.onion

*.onion 的網址必須透過 Tor 的機制連,對一般人會比較麻煩。所以這邊要教的是透過 proxy 提供服務:

這樣就變得有很多用途...

Amazon SES 的認證延伸到 subdomain

以前 Amazon SES 每個 domain 都要認證一次,也就是說,就算我認證了 gslin.org,如果我要從 gslin@my.gslin.org 寄信,會因為 my.gslin.orggslin.org 不同而被擋下來。

在官方的 blog 上宣佈認得 subdomain 了:「Subdomain Support is Now Available!」。

這樣就更省事了...