<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>OnDemand on jkgtw&#39;s blog </title>
    <link>https://www.jkg.tw/tags/ondemand/</link>
    <description>Recent content in OnDemand on jkgtw&#39;s blog </description>
    <image>
      <title>jkgtw&#39;s blog </title>
      <url>https://www.jkg.tw/apple-touch-icon.png</url>
      <link>https://www.jkg.tw/apple-touch-icon.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 28 Sep 2020 11:40:00 +0800</lastBuildDate>
    <atom:link href="https://www.jkg.tw/tags/ondemand/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>根據網路環境自動變更 DNS 設定的 DNS On Demand</title>
      <link>https://www.jkg.tw/p3392/</link>
      <pubDate>Sun, 27 Sep 2020 13:30:00 +0800</pubDate>
      <guid>https://www.jkg.tw/p3392/</guid>
      <description>&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.jkg.tw/p3390/&#34;&gt;上一篇&lt;/a&gt;介紹使用 mobileconfig 在 iOS 14 和 mscOS 11.0 Big Sur 來達到自定義的 DoT / DoH 服務&lt;/p&gt;
&lt;p&gt;但是這個一改就是全域的，不管你在家中、辦公室或者是在咖啡廳使用的 WiFi 甚至是使用行動網路&lt;/p&gt;
&lt;p&gt;都會使用你預先設定的 DNS Server 來解析&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;然而事實上可能不符合進階一點的需求，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在家中或者辦公室有搭自己的 &lt;a href=&#34;https://www.jkg.tw/p2158/&#34;&gt;AdGuard Home&lt;/a&gt; or &lt;a href=&#34;https://pi-hole.net&#34;&gt;Pi-hole&lt;/a&gt;，此時連到這些地方的 WiFi 當然使用區網的 DNS Server 來解析，有本地快取以外區網連線速度快延遲又低&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;出門使用行動網路或者連上其他不認識的 WiFi 就使用 &lt;a href=&#34;https://www.jkg.tw/p3382/&#34;&gt;NextDNS&lt;/a&gt; 的 DoH 服務&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;有上述跟我一樣需求的人，蘋果也有提供一個新的 DNS On Demand（DNS 按需連線）的功能&lt;/p&gt;
&lt;p&gt;這功能一樣需要 iOS / iPadOS 14+ 以及 Big Sur 以上才有辦法使用&lt;/p&gt;
&lt;p&gt;下面就說說這個特殊的 mobileconfig 描述檔怎麼寫&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;64
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;?xml &lt;span class=&#34;nv&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;encoding&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;?&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;!DOCTYPE plist PUBLIC &lt;span class=&#34;s2&#34;&gt;&amp;#34;-//Apple//DTD PLIST 1.0//EN&amp;#34;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;plist &lt;span class=&#34;nv&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1.0&amp;#34;&lt;/span&gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadContent&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;DNSSettings&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;key&amp;gt;DNSProtocol&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;string&amp;gt;HTTPS&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;key&amp;gt;ServerURL&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;string&amp;gt;https://dns.nextdns.io/xxxxx&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;/dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;OnDemandRules&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;key&amp;gt;Action&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;string&amp;gt;Disconnect&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;key&amp;gt;SSIDMatch&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;          		&amp;lt;array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;					&amp;lt;string&amp;gt;MySSID1&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;					&amp;lt;string&amp;gt;MySSID2&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;					&amp;lt;string&amp;gt;MySSID3&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;/array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;/dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;key&amp;gt;Action&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;				&amp;lt;string&amp;gt;Connect&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;/dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;/array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;Name&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;DoH OnDemand&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadDescription&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;Configures device to use DoH OnDemand.&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadDisplayName&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;DoH OnDemand&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadIdentifier&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;com.apple.dnsSettings.managed.8F2760B2-23C1-4735-B5BE-D64A0ADBEC09&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadType&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;com.apple.dnsSettings.managed&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadUUID&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;string&amp;gt;8F2760B2-23C1-4735-B5BE-D64A0ADBEC09&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;key&amp;gt;PayloadVersion&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&amp;lt;/dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;/array&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadDescription&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;string&amp;gt;Adds DoH OnDemand to Big Sur and iOS &lt;span class=&#34;m&#34;&gt;14&lt;/span&gt; or newer systems&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadDisplayName&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;string&amp;gt;DoH OnDemand&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadIdentifier&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;string&amp;gt;14737786-645C-42BF-9B13-6B339B2D81C1&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadRemovalDisallowed&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;false/&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadType&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;string&amp;gt;Configuration&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadUUID&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;string&amp;gt;51851357-7736-4A33-90E6-45FB8C3BEC59&amp;lt;/string&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;key&amp;gt;PayloadVersion&amp;lt;/key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&amp;lt;integer&amp;gt;1&amp;lt;/integer&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/dict&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/plist&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;上述內容，有幾行需要自行修改後才能使用&lt;/p&gt;</description>
    </item>
    <item>
      <title>在 GCP 安裝 AdGuard Home 並開啟 DoH 全攻略</title>
      <link>https://www.jkg.tw/p2660/</link>
      <pubDate>Mon, 09 Dec 2019 01:02:06 +0000</pubDate>
      <guid>https://www.jkg.tw/p2660/</guid>
      <description>&lt;p&gt;&lt;a rel=&#34;noreferrer noopener&#34; aria-label=&#34;前面 (opens in a new tab)&#34; href=&#34;https://www.jkg.tw/?p=2589&#34; target=&#34;_blank&#34;&gt;前面&lt;/a&gt;寫過可以透過免費一年的 GCP 安裝 MTProxy 讓 Telegram 瞬間順滑起來&lt;/p&gt;
&lt;p&gt;如果是單人使用的話 CPU 佔用極低，其實還蠻浪費的&lt;/p&gt;
&lt;p&gt;所以為了不要浪費這虛擬機，今天就繼續來給 GCP 虛擬機加一點工作 🤣&lt;/p&gt;
&lt;p&gt;其實 AdGuard Home 還蠻適合安裝一套到 GCP 虛擬機裡面的，主要給手機或者平板外出時使用&lt;/p&gt;
&lt;p&gt;在家或者辦公室的話，已經有實體機的伺服器安裝 AdGuard Home 了，在家就用自家內網的伺服器即可～&lt;/p&gt;
&lt;p&gt;以下是我們這篇文章想要達成的目標：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在 GCP 的 Debian 10 虛擬機中安裝 AdGuard Home&lt;/li&gt;
&lt;li&gt;使用 Let’s Encrypt 自簽證書並自動續期&lt;/li&gt;
&lt;li&gt;AdGuard Home 設定開啟 DNS over Https（DoH）功能&lt;/li&gt;
&lt;li&gt;在 iOS 上使用 DNSCloak 設定 On demand 自動切換&lt;/li&gt;
&lt;li&gt;使用 gcloud 批次建立白名單防火牆規則&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;h2 id=&#34;在-gcp-的-debian-10-虛擬機中安裝-adguard-home&#34;&gt;&lt;span style=&#34;color:#0693e3&#34; class=&#34;color&#34;&gt;在 GCP 的 Debian 10 虛擬機中安裝 AdGuard Home&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;如果你還沒有 GCP 的話，請先&lt;a rel=&#34;noreferrer noopener&#34; aria-label=&#34;參考 (在新分頁中開啟)&#34; href=&#34;https://www.jkg.tw/p2589&#34; target=&#34;_blank&#34;&gt;參考&lt;/a&gt;之前文章申請 GCP 到安裝 Debian 系統&lt;/p&gt;</description>
    </item>
    <item>
      <title>用 Docker 快速搭建 iOS / macOS 按需連線的 IKEv2 VPN Server</title>
      <link>https://www.jkg.tw/p2386/</link>
      <pubDate>Mon, 04 Nov 2019 00:54:34 +0000</pubDate>
      <guid>https://www.jkg.tw/p2386/</guid>
      <description>&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;之前寫過兩篇介紹在&lt;a href=&#34;https://www.jkg.tw/?p=460&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;樹莓派搭 IKEv2 VPN Server&lt;/a&gt;，以及&lt;a href=&#34;https://www.jkg.tw/?p=538&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;按需連線&lt;/a&gt;（On Demand）的文章&lt;/p&gt;
&lt;p&gt;當時很多人跟我說步驟太多太複雜，其中一個步驟搞錯就搭不起來&lt;/p&gt;
&lt;p&gt;最近我新入手一台 Intel i5 mini PC，主要想把群暉 NAS 上面很多在跑的軟體都移轉過去，順手整理一下內部網路環境&lt;/p&gt;
&lt;p&gt;因為我發現我給群暉 NAS 太多工作，他有點不是很開心，速度越來越慢了。。。&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;然後我看了一看之前文章，我自己也覺得很繁瑣，就乾脆重新用 Docker 來搭建 VPN Server 🤣&lt;/p&gt;
&lt;p&gt;當初會用原生來搭建是因為擔心樹莓派用 Docker 模擬的方法效能不足。。&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;搜尋一下 &lt;a href=&#34;https://hub.docker.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Docker Hub&lt;/a&gt; 相關資源，找到一個不錯的版本&lt;/p&gt;
&lt;p&gt;只要兩行指令就能搭好 IKEv2 VPN Server 與 On Demand 的 iOS / macOS 描述檔，非常方便！&lt;/p&gt;
&lt;p&gt;原始程式網站在這： &lt;a href=&#34;https://github.com/billimek/ikev2-vpn-server&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;a href=&#34;https://github.com/billimek/ikev2-vpn-server&#34;&gt;https://github.com/billimek/ikev2-vpn-server&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;不過在開始前，要先製作一個 strongswan.conf 的設定檔&lt;/p&gt;
&lt;p&gt;因為作者 Docker 映像檔裡面塞了一個國外的 DNS Server，我們在台灣使用的話速度超慢&lt;/p&gt;
&lt;p&gt;所以我們要另外做一個設定檔，把它換成 CloudFlare 跟 Google 的 DNS 速度就會快上許多&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;p&gt;當然你也可以改成你自己的，甚至是你自己搭的 &lt;a rel=&#34;noopener noreferrer&#34; href=&#34;https://www.jkg.tw/?p=2158&#34; target=&#34;_blank&#34;&gt;AdGuard Home&lt;/a&gt; or &lt;a rel=&#34;noopener noreferrer&#34; href=&#34;https://www.jkg.tw/?p=157&#34; target=&#34;_blank&#34;&gt;PiHole&lt;/a&gt; 廣告阻擋器&lt;/p&gt;
&lt;p&gt;​&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# SSH 登入到你要安裝的主機中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ ssh username@IP
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 建立一個設定檔&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ nano ~/strongswan.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;​&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
