Refine #1122.
* Respect remoteDns settings more; * Make code more readable; * Handle illegal characters in remoteDns.