如何在內部網路下得知對外的 IP (不是LP)

LP的哏請點右邊的連結:LP分享器

通常我們在家裡申裝的網路是動態的 IP ,而且有些 ISP 公司會不斷的更換 IP ,或是在你網路設備重開機之後會變更,因此我們要自架一台 Server 就非常不方便。

架 Server 基本的條件就是要找到它並為我的需求提供服務,常常找不到人那是要怎麼做服務呢?但是!有固定 IP 是好的,壞處就是電腦會被成為攻擊的對像,防不勝防,這樣對我的需求來說動態 IP 可以減低我防避攻擊的心力。所以我嘗試寫一個程式讓在家裡的電腦隨時通知動態 IP 的位址。

家裡的網路環境如下圖:

currentipfromnat

Continue reading 如何在內部網路下得知對外的 IP (不是LP)

Dropbox CLI 方法

如果你習慣有一台命令模式的伺服器(Command Line Interface ) 那麼你一定很想要有一個永遠不會壞掉的雲端同步的檔案空間,我跟你講,選Dropbox就對了!

有的時候我們會自行架一台沒有螢幕的伺服器在家裡,我們會拿來做NAS以及依自己的興趣寫些script或是架blog,但是時常都是拿「殺肉」的零件來架Server來到達物盡其用的目地,因此就像是不定時的炸彈主機板與硬碟跟Power隨時炸掉。

從海盜網下載的電影如果不見了我是沒感覺,反正看了一次就不會再拿來看了,但是自己的照片跟寫的程式不是像鋼鐵人3的家一樣被炸完之後靠自己的腦袋就可以重新再Development出更好的程式碼。照片也不是重新拍就會有的,因此我更需要完善的備份模式:Dropbox!
Continue reading Dropbox CLI 方法

Taipei.py 三月聚會議題 Scrapy & Bottle

在昨日(3/28)台北周蟒聚會分享了兩個令人有興趣的議題,一是網路爬蟲框架「Scrapy」,一是跟Sinatra 很像的輕便型FrameWork 「Bottle」。

要在網路上能無人值守或是自動爬網頁的需求是非常常見的一件事,過去我要偷抓我想要看的圖片,都是自己做一個 regular expression base的程式,再用crontab去抓論壇上的圖片,自己從無到有的把程式刻起來都刻到天亮,圖早被砍光了。

而這個「Scrapy」看起來似乎是接近我需求的東西。

官方文件:http://doc.scrapy.org/en/latest/intro/tutorial.html

某人的試用 :http://blog.walile.info/blog/2012/08/18/scrapy-how-to/

第二個議題「Bottle」是一個小型WSGI的網頁框架,用幾行程式碼就可以吐網頁,並且合乎 Routes 的需求,跟 Ruby base 的「Sinatra」差不多的類型。

官方文件:http://bottlepy.org/docs/dev/

不過,它似乎少了session的功能,若要做個簡易的登入權限網頁就有點困難,因此有人提出了 flask 跟它做比較

flask 官方網站:http://flask.pocoo.org/

另外講者也提到「gevent」這個玩意,網路上是這麼說它的「淺談coroutine與gevent」不知道這跟 paster task 有沒有直接的關係。

本周就加個家庭作業來試玩一下這些東西,再後續報告 😉

Python on web

近日在研究Python base 的FrameWork Turbogears 。

它跟Django是差不多同個類型的Python base 框架,但TG(TurboGears)能做到的事也比Django強了不少,雖然我還沒完全去了解它,但跟它談感情己經是生米煮成熟飯的關係了,必需要完整個了解它才能駕輕就熟。

目前已經了解一半的架構,可以舉一反三的方式來層疊它的程式碼。

另外TG有內建自己的web server 「paster」,它是一個WSGI的啥米死人骨頭的強大玩意兒,可以在本機進行port 8080開發web 。

但是,未來要上線時若只用paster會嫌不太夠或是不太正式,因此希望能用apache的方式來跑TG的正式服務,而要能讓apache能執行python跟TG就是要用mod_wsgi這個外掛。

不過看到這滿是英文的文件讓我看沒幾分鐘眼睛就花了,所以就先放個書籤,再一步步的慢慢看了。