Tommy 碎碎念

Tommy Wu's blog

讓 Nginx 的 real_ip 模組找不到對應的 header 時, 使用 proxy protocol 傳入的 IP
post by tommy @ 24 三月, 2023 10:08

最近把 DNS 轉到 Cloudflare 使用, 原本在主機上使用 HAProxy 把 SSL 的封包轉到個別對應的軟體是使用 Proxy Protocol 將來源 IP 通知處理的軟體. 在改用 Cloudflare 之後, 這個 IP 就變成 Cloudflare 的 IP 了. 這個在需要知道來源 IP 的軟體上, 就反而造成問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 vsftpd 3.0.3 在 local 網路連線時, 不使用 pasv_address 的設定
post by tommy @ 01 十月, 2017 09:26

近來 (應該也有一陣子了) 發現用 FileZilla 連到家裡的 ftp 時, 使用 TLS 連線會每隔 20 秒出現一次逾時錯誤訊息就離線. 而且在部網路直接連線時, 會有一樣的問題, 應該跟 firewall 沒關係. 在 FileZilla 的討論區有提到 Pure-ftpd <= 1.0.38 時會有問題, 不過家裡的伺服器應該是 1.0.46 (印象中, 以前使用 1.0.3x 的版本並沒有這個錯誤). 所以試著換了 vsftpd 3.0.3 來使用, 還真的就不會出現這個訊息了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 FileZilla 儲存所選擇的憑證, 而非只能儲存站台本身的憑證
post by tommy @ 28 五月, 2016 20:50

由於之前提到改用 Let's Encrypt 來產生憑證之後, 會造成平均每兩個月就會更換一次憑證, 而 FileZilla 本身只能儲存並信任站台本身的憑證, 所以... 變成每次更換憑證會就會要求再信任一次. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正 ProxyDroid 2.7.x 自動連線無法正常使用的問題
post by tommy @ 17 五月, 2016 10:52

ProxyDroid 自 2.7.0 版本開始, 在我的手機上自動連線的功能就無法正常使用. 只能把 ProxyDroid 的程式打開去點才能正常使用. 連同桌面上的 widget 也一樣, 啟用的功能無法正常運作. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 Gallery2 支援 PHP7
post by tommy @ 28 三月, 2016 11:32

原本以為 Gallery2 不用改就可以直接在 PHP7 底下使用, 不過.... 跑了一陣子, 發現... 應該只是 cache 的關係, 實際上是會有問題的. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 LifeType 1.2 支援 PHP7
post by tommy @ 17 三月, 2016 16:04

LifeType 似乎已經停止開發很久了... 最近 PHP7 推出後, 發現原本的程式不能正常使用.... 原本考慮是不是要換到 WordPress 上面... 不過, 反正也很少在寫, 好像能用就可以... 所以就動手改了一下. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
FileZilla 3.7.3 Generic Proxy per site
post by tommy @ 01 十月, 2013 13:23

這是讓 FileZilla 支援每個站點獨立設定要使用的 proxy 的修正. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
ownCloud imap (or others) backend support? lost after re-configure...
post by tommy @ 20 七月, 2013 11:16

上星期把 ownCloud 裝起來用, 因為是用現成的主機, 所以就直接用 imap 的方式來驗證帳號.  (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Console 輸入中文的修正
post by tommy @ 02 六月, 2013 21:13

之前有提過Console 這個程式來取代  Command Prompt, 也提到修正中文顯示的方式. 不過, 最近發現無法輸入中文... (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正 mencoder 在 Linux kernel 3.9 底下電視錄影不正確的問題
post by tommy @ 04 五月, 2013 10:29

這個我不確定算是 mencoder 還是 Linux kernel 3.9 的問題. 反正兩者放一起就是有問題就對了.

發生的原因是在 Linux kernel 3.9 中, 對於 V4L2 的時間取得改成使用 monotonic timestamp (透過 v4l2_get_timestamp() 來處理), 但是在 mencoder 中, 似乎沒辦法正確去判斷是一般的 timestamp 還是 monotonic timestamp 就直接當成一般的時間來處理, 所以在計算時間上就有問題. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 FileZilla 的 HTTP Proxy 支援 Digest 認證方式
post by tommy @ 28 元月, 2013 17:10

FileZilla 本身雖然支援 HTTP CONNECT 方式的 proxy, 不過, 它只使用 Basic 方式來認證, 如果碰到 Digest 方式的 proxy server, 就會得到 407 的錯誤而無法連線. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 SciTE 自動偵測 UTF8 與 UTF16-LE 無 BOM 的檔案
post by tommy @ 16 元月, 2013 15:50

之前改了 SciTE 對於無 BOM 的 UTF16-LE 的自動偵測功能, 用了幾天, 除了修正一點小問題外, 也順便再加上對於無 BOM 的 UTF8 偵測. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
讓 SciTE 自動偵測 UTF16-LE 無 BOM 的檔案
post by tommy @ 11 元月, 2013 09:53

由於我習慣用 SciTE 來取代原本 Notepad 的工作, 所以... 多數在 Windows 底下打開文字檔的時候, 都是去執行 SciTE. 不過... 前幾天在打開 Sandboxies 的設定檔時, 發現無法正常顯示. 出現的畫面看起來是 Unicode 編碼 (UTF16-LE), 不過, SciTE 並沒有辦法判斷出正確的編碼.

Google 找了一下, 發現有人問過作者了, 原來 SciTE 只能打開有 BOM 的 Unicode 編碼檔案. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
奇怪的 MSYS Make freeze 問題
post by tommy @ 07 十一月, 2012 21:59

最近因為要更新所用的 TDM64-GCC 中的 mingw64-runtime-crt (有些 function 在最近的版本才有), 結果, 玩著玩著就自己 build 起 mingw64 用的 gcc 4.7.2 來了 (這中間也有些心得, 有空再說) .

結果, 在 build gcc 的過程 (使用 MSYS 環境), 使用 make -jN 來加速編譯的速度時, 發現常常跑到一半, make 就停住了 (不過仍佔用不少 CPU 時間), 每次都要 kill 之後再重跑. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正 FlashBlock 的白名單功能在 Firefox 13 無法正常運作的問題
post by tommy @ 19 六月, 2012 13:36

前不久升級到 Firefox 13 之後, flashblock 的白名單就無法正常使用 (與 AdBlock Plus 搭配時).  作者的建議是停用那些相衝突的 extension.... 不過, 在我的使用上, 我覺得就不管它, 一起用會比較合理些, 頂多是多按一下去跑那些需要的 flash 就可以了.

前兩天, 作者放出了 1.5.16 的新版本, 號稱解決了這個問題. 可以我試的結果, 有些站台可以 (如 NBA), 但有些站台不 (如 MLB).  把 Error Console 打開會發現, 有問題的站台會在 flashblock.js 240 行出現錯誤.

所以我試著改了一下這個地方:

diff --strip-trailing-cr -Nur flashblock.old/content/flashblock/flashblock.js flashblock/content/flashblock/flashblock.js
--- flashblock.old/content/flashblock/flashblock.js 2012-06-18 18:17:50 +0800
+++ flashblock/content/flashblock/flashblock.js 2012-06-19 13:29:01 +0800
@@ -237,7 +237,12 @@
baseURI = ios.newURI(codeBase, node.ownerDocument.characterSet, baseURI);
} catch (e) {} // Ignore invalid codebase attribute
}
- targetURI = ios.newURI(relativeURI, node.ownerDocument.characterSet, baseURI);
+ if (node.ownerDocument) {
+ targetURI = ios.newURI(relativeURI, node.ownerDocument.characterSet, baseURI);
+ }
+ else {
+ targetURI = ios.newURI(relativeURI, null, baseURI);
+ }
}
catch (e) {
Components.utils.reportError(e);

改了之後, 在我這兒會用到的站台似乎都沒有問題了.

如果你有類似的問題, 可以把 profile 下的 extensions\{3d7eb24f-2740-49df-8937-200b1cc08f8a}\chrome 底下的 flashblock.jar 解開來 (這是個 zip 檔案),  然後改 裡頭的 content\flashblock\flashblock.js 內容 (如上), 然後再把檔案壓縮回去 (zip 格式, 再改名為 .jar).

如果不想自己改, 可以等作者更新或抓這個回去: http://www.teatime.com.tw/~tommy/files/flashblock.jar

PS. 記得把 Firefox 關了再改.

Del.icio.us Furl HEMiDEMi Technorati MyShare
Debian 的 dkms_autoinstaller 當同一個模組有多個版本時的處理
post by tommy @ 26 四月, 2012 10:23

最近發現在安裝新的 kernel 時, Debian 在安裝之後, 會去處理 dkms 的模組, 但是當同一個模組有多個版本存在時, /usr/lib/dkms/dkms_autoinstaller 這個 script 就會回報這個錯誤:

Apr 25 17:09:33 mail dkms_autoinstaller: e1000e: Multiple versions in DKMS. Unsure what to do. Resolve manually.
Apr 25 17:09:33 mail dkms_autoinstaller: igb: Multiple versions in DKMS. Unsure what to do. Resolve manually.

由於舊的版本通常是在目前或舊的 kernel 仍在使用, 所以也無法馬上就移除. 所以每次有新的版本時, 就有這個問題. (有其他的解決方法嗎?)

使用這個 patch, 可以直接選擇最大的版本來用, 這樣就可以允許多個版本存在 (這應該是多數情況下的選擇):

--- dkms_autoinstaller.orig     2012-04-26 10:03:51.235070429 +0800
+++ dkms_autoinstaller 2012-04-26 10:03:50.691733326 +0800
@@ -79,7 +79,10 @@
version_count=0
already_installed=""
already_installed_version=""
- for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module); do
+ for versioned_path in $(find "$modulepath" -maxdepth 1 -mindepth 1 -type d -a -not -name original_module | sort -r); do
+ if [ "$version_count" -gt 0 ]; then
+ continue
+ fi
version_count=$(($version_count + 1))
version_in_tree="${versioned_path##*/}"

這樣以後更換新的版本時, 就應該會自動處理了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
xfsrestore: WARNING: corrupt extent header
post by tommy @ 14 二月, 2012 13:25

最近在還原 xfsdump 所做的備份時, 碰到幾次無法由原本的備份檔中把所有的檔案還原. 還原的過程會出現

xfsrestore: WARNING: corrupt extent header
xfsrestore: WARNING: unable to resync media file: some portion of dump

這樣的訊息. 在這訊息之後就會中斷還原 (不過最後還是回報成功). (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
奇怪的 nginx segfault 錯誤
post by tommy @ 12 二月, 2012 10:17

這幾個星期發現家裡的 nginx 在隔約 2 小時左右 (間隔不一定, 有時很久沒出現, 有時連續出現, 不過多數看起來是隔兩小時出現一次), 就會出現一次 segfault, 雖然只是其中一個 worker, 也會被重新執行, 並不會影響到實際的 web server 運作, 不過.. 在 log 裡常常看到這個錯誤也很奇怪. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
xfsdump 的 page allocation failure 問題
post by tommy @ 02 二月, 2012 22:00

最近在備份時發現常常出現類似下面的訊息:

/usr/sbin/xfsdump: WARNING: could not get list of non-root attributes for nondir ino 234123: Cannot allocate memory (12)

然後在 syslog 裡頭可以看到 kernel 有 page allocation failure 的錯誤訊息.

看起來是與這個問題類似. 通常在剛開機沒多久的時候都很正常, 但是運作久了之後, 就容易出現這個問題. 依據該討論串的說明, 應該是 kmalloc() 在運作一陣子之後, 可能會沒有那麼大的連續可用空間可以使用, 所以 xfs code 裡頭用到這個的時候會發生錯誤. (我沒有把這個 dump 還原來比較, 所以不確定是不是備份會不完整)

如果在發生這問題時, 改用 vmalloc() 再試一次, 應該就可以避免了.  (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
限制 phpBB3 的驗證碼只輸入前四碼
post by tommy @ 18 元月, 2012 12:35

基本上, 這個修改與之前改給 SMF 用的是同一個, 只是針對 phpBB3 來改. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
PuTTY 0.61 視窗標題修正
post by tommy @ 15 十一月, 2011 12:45

原本都是使用 PieTTY 來連線, 不過由於這軟體久沒有更新, 且下拉式的選單在連線數量變多時, 有點不怎麼好用, 加上目前的 PuTTY 版本在 UTF-8 的情形下, 可以設定英文字型就能正確的顯示與輸入中文, 而且有支援 Win7 的 JumpList 功能, 所以常用的連線也可以很方便的使用, 所以最近又改回使用 PuTTY 了. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
wget 1.12 的 win32/win64 版本
post by tommy @ 09 四月, 2011 10:57

雖然 wget 的 source tarball 裡頭, 有包含 windows 的支援, 不過... 似乎不能正常的編譯. 所以做了一些修正, 讓 mingw32/mingw64 可以正常的編譯. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
patch for FileZilla 3.4.0 win64 version
post by tommy @ 07 四月, 2011 14:41

雖然 ftp client 這東西, 似乎沒什麼必要特地使用 64 位元的版本, 不過.... 還是弄了一個 FileZilla win64 的版本來試看看. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修正 Pure-ftpd 1.0.22 在使用 TLS 協定時, 下傳檔案續傳不正確的問題.
post by tommy @ 04 六月, 2009 19:13

一個多月之前, Pure-ftpd 推出了新的 1.0.22 版, 對我來說, 其中最重大的改變就是支援在 TLS/SSL 時也對傳送的資料加密. 所以... 我馬上就裝起來用了. 不過... 隔天確發現下載的檔案都有問題, 不過我試了幾個小檔案, 發現又很正常. 後來想到這兒的網路狀況有點不好, 或許是斷線後續傳造成的, 再測試一下, 果然經過續傳後, 檔案大小在傳送後就不一樣了.

 (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
修改某些 Vista Sidebar Gadget
post by tommy @ 11 二月, 2009 16:23

最近終於開始接觸 Vista 了, 自然也用了 Windows Sidebar 這個程式. 找了一些 gadget 回來用, 不過有些 Gadget 是不錯用, 不過總覺得少了某個小功能, 為了做到該功能, 可能要多放幾個 gadget 來取代... 不過... 桌面就那麼大, 放太多總是不好, 所以就自己動手改了幾個來用. (閱讀全文)

Del.icio.us Furl HEMiDEMi Technorati MyShare
Bad Behavior 已經阻擋了 45 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS