使用 cmd line 切換 DNS

使用 cmd line 切換 DNS

---身為 geek,當然要打指令才帥啊




有時候,某些突發狀況,不得不更換 DNS IP,以期讓網站瀏覽更順暢。
比如我個人比較偏好使用 google DNS 甚於中華電信提供的。偶發的情況下也得互換使用了。
利用 gui 界面可能直覺一些,但就是不夠敏捷。那就改成使用 cmd 指令來進行切换,帥氣又快速。

主體指令長這樣,netsh interface ip



接著,因為是要設定 DNS,所以使用 netsh interface ip set dnsservers

PS: 後段的指令 Windows 10 與 Window 7、8 稍有不同,請自行參照。

從上圖的範例指令,可以發現 name 的設定,這個 name 很重要,設定錯誤,指令就會失效。那麼 name 要怎麼來?
我們可以執行 cmd ipconfig /all 來取得。

或是在 控制台 < 網路和網際網路 < 網路連線 看到名稱。



到這裡,我們的第一段指令-設定主 DNS 就完成了。
指令範例:
netsh interface ip set dnsservers "Wired Ethernet Connection" static 10.0.0.1 primary

接著就是要設定備用 DNS,

指令範例:
netsh interface ip add dnsservers "Wired Ethernet Connection" 10.0.0.3 index=2

最後,我們把上述二列指令另存成一個 .bat,或 .cmd 檔就可以了。
範例:
---
@echo off
netsh interface ip set dnsservers "Wired Ethernet Connection" static 10.0.0.1 primary
netsh interface ip add dnsservers "Wired Ethernet Connection" 10.0.0.3 index=2
---

最後的最後,這個 cmd 必須利用「以系統管理員身份執行」,才能成功執行。


ref:
https://technet.microsoft.com/en-us/library/bb490943.aspx
http://tweaks.com/windows/40339/configure-ip-address-and-dns-from-command-line/











SFTP 傳檔

前言、

工作專案需要,須使用 SFTP 上傳檔案到指定路徑,與下載指定檔案回來分析。 因為自已阿呆,傻傻以為 SFTP 是一種 FTP,直接採用 .Net Framework 原生的 FTP 功能來實作 SFTP 上傳下載。不斷撞牆之後,這才發現,實在天真的可以。這兩種根本就是不一樣的 protocol 啊。 欲知詳情,請跳轉 Understanding Key Differences Between FTP, FTPS and SFTP

內容、

花了點時間用功,SharpSSH 已經相當穩定,也可以很簡單使用(根本無腦)。

  1、引用參考 把下載回來的 sharpssh package 解開後,會發現 3 個 .dll 檔,因為目前只使用上傳下載簡易的功能,需要把 Tamir.SharpSSH、DiffieHellman 這兩個組件加入參考。


  2、程式 我們要手刻的程式碼也相當簡單,首先引用 Tamir.SharpSSH 這個命名空間,實作的程式碼如下圖。


簡單說明,
上傳 Put:fromFilePath 指的是本機端的完整檔案名稱。toFilePath則為遠端 SFTP 的完整檔名,若不指定路徑則會上傳至登入帳號的預設路徑。

下載 Get:fromFilePath 表示遠端檔案的完整名稱,若不指定路徑則為登入帳號的預設路徑。toFilePath 則代表本機端的完整檔名。

如果我們需要用到 remote 功能呢?如變更 SFTP 上的檔名、或是刪檔等功能,當然也能實作。不過程式將會變得稍微複雜一點,此時會使用到 ssh channel。或者也可以參考這個教學影片。
SFTP Download, Upload and Delete File using SharpSSH library
https://www.youtube.com/watch?v=VVqh0BCgFpM

Dosbox (0.74) 不能執行的問題

VAIO Duo 可以輕鬆安裝並正確執行之,反而是桌機無法順利執行。因為一執行就閃退,後來想到用抓圖的方式,順利得到錯誤訊息。
can't init SDL DirectInputDevice


估狗了一些文章,發現也有其他人曾經過到,有的是 graphic driver 的問題、joystick 的問題,也有人有發現 SDL.net 會被 Comondo 攔截而不能執行。
試了幾個方法都無效,後來無意中想到,不如換掉 SDL.dll 試試。在 官網 找到了比較新的版本,也有區分 x86 及 x64 二種,經實測,終於發現 SDL.dll 1.2.14.0 x86 這版本可以讓 Dosbox 0.74 正確動起來了。
後來也試著更新 SDL_net.dll,在 官網 找到新版,也有區分 x86 及 x64 版,測試後,SDL_net.dll 1.2.8 x86 也可以讓 Dosbox 0.74 正常執行。
這兩個檔案,都比 Dosbox 裡包含的檔還新一點,也能正確啟動 Doxbox。如果你也剛好遇到這樣的情況,也許可以依此解決。

使用 Barcode Rendering Framework

很久沒寫文了,來補一下 :p

有一個需求,得要產生條碼圖使用。當然首選是 Barcode Rendering Framework / BRF 這個套件。原因無他,除了是 OpenSource 外,支援廣度夠,還有一個主因就是,使用 BRF 不用再額外安裝條碼字形即可產生條碼圖。
這次的應用平台是在 ASP.Net MVC5 上,有些要稍微留意地方,在這裡記錄一下。

首先,先到 codeplex 下載最新版的 BRF .dll 檔。

解壓縮後,將 Zen.Barcode.Core.dll、Zen.Barcode.Web.dll、Zen.Barcode.Web.Mvc.dll 三個檔案加入專案參考。

接著,在 RouteConfig.cs 裡增加一個 route 設定,如下:

routes.Add("BarcodeImaging", new Route("Barcode/{id}", new BarcodeImageRouteHandler()));
為什麼要加這一段,稍後解釋。

再來,我們在需要產生條碼的 View 上,引用
@using Zen.Barcode.Web.Mvc
接著就頁面上就能呼叫下列的 barcode sample 了。
<img src="@Url.Barcode("123456789", Zen.Barcode.BarcodeSymbology.Code128, 30, 1, true)" />
執行後,我們就可以看到一個很簡單就產生的條碼圖了。試著看它的 HTML 原始碼,會發現條碼圖的 html 的長相如下,
<img src="/Barcode/77u_QmFyY29kZVs0LDYwLDYwLDEsMSwxXTo5MjM2NTE4MjQwMTE5MDAwMDAwMTo5MjQyODQwMjY1" />
如果,沒有在 RouteConfig 加上上一步驟的設定程式碼,那麼就不能看到條碼圖了。因為 mvc route 無法辨別 Barcode 這個 controller,所以得再 render 之前加上該 BarcodeImageRouteHandler 的程式碼。

就是這麼簡單。


在 YouTube 音樂獎的「年度最佳響應獎」候選名單中,我投票給向大衛庫塔 (David Guetta) 致敬的這首經典曲目。youtu.be...


Titanium/Pavane
好音樂,不聽嗎 :p