ftp proxy 軟體介紹

之前有個特殊需求,某個地方的 ftp 站台只能提供 port 模式,可是很多使用者目前都是從 NAT 後連至 ftp 的情況,而從 NAT 後就必需要使用 passive 模式。可是該站台又只能提供 port 模式,怎麼辦?只好在中間架了一個 ftp proxy 來讓使用者可以直接上線。

ftp.proxy - FTP Proxy Server ftp.proxy is an application level gateway for FTP. It sits between a client and a server forwarding command and data streams supporting a subset of the file transfer protocol as described in RFC 959.

這個軟體提供application level 的 gateway 所以他可以把 port 模式轉至 passive 模式,這樣在防火牆後面也可以連上該 ftp 了。

在 debian 下安裝很方便,就直接使用 apt-get install ftp-proxy 就安裝完成,接著修改一下設定檔就可完成。

Continue reading

dump variables 的 java script

我從「Tsung's Blog」裡看到一個「javascript Variable Dump(var_dump)」的 java script ,他可以讓你印出 javascript 各種變數的內容。寫 php 的時候,很習慣的會使用 print_r 或是 var_dump 來作印出變數內容,來方便 debug 的功能。可是 java script 只會幫你印出 Object or Array 這種情況,如果 Debug 將會非常的麻煩,不過有了這個工具後,可以讓你容易的看到完整內容。

使用上非常的方便,直接用 dump(variables) 他就會彈出一個視窗來印出該變數的內容。

原始的網站在:JavaScript Variable Dump Method

Google AdSense 的 AdSense for content 開始支援繁體中文版了

前幾天在 PTT 上看到 Google AdSense 已經在他的管理者介面上有顯示出繁體中文 AdSense for content 的選項了。但是官方網站上都看到尚未支援繁體中文的語句,不過在「廢業青年日記」裡的「 [Adsense] 來自Google的訊息」有 google 方的回信,意思是,現在已經完全支援繁體中文了。

是的,沒錯,你可以在我的右邊看到 AdSense for content 的廣告了,我也放上去試試看到底我可以賺多少錢,我也在 Lyceum 上試用了「google adsense widget」這個 sidebar plugin 。裝上去後,直接開啟,並且照著 google adsense 裡的 code 照填就可以了。

幾個月之後就知道結果是什麼了。

Java Script 分析 iso 8601 日期模式至 Date 物件

我在「Parsing W3C's ISO 8601 Date/Times in JavaScript」看到如下的程式碼,這段主要的功能把「2004-12-21 23:11:00」這個字串,拆解回去 java script 的 Date 物件。通常在 Mysql 裡存的資料顯示出來都是這種格式,如果 java script 收到這種格式的時候,除了自已用 substring 分析之外,下面是使用 regexp 作分析的方法。

Date.prototype.setISO8601 = function (string) {
    var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" +
        "( ([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?" +
        "( |(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?";
    var d = string.match(new RegExp(regexp));

    var offset = 0;
    var date = new Date(d[1], 0, 1);

    if (d[3]) { date.setMonth(d[3] - 1); }
    if (d[5]) { date.setDate(d[5]); }
    if (d[7]) { date.setHours(d[7]); }
    if (d[8]) { date.setMinutes(d[8]); }
    if (d[10]) { date.setSeconds(d[10]); }
    if (d[12]) { date.setMilliseconds(Number("0." + d[12]) * 1000); }
    if (d[14]) {
        offset = (Number(d[16]) * 60) + Number(d[17]);
        offset *= ((d[15] == '-') ? 1 : -1);
    }

    offset -= date.getTimezoneOffset();
    time = (Number(date) + (offset * 60 * 1000));
    this.setTime(Number(time));
}

我這個有作一些修改,所以其實已經不是標準的格式了。只是為了分析 php 的日期部分比較方便而已。