<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Soul Of Free Loop &#187; 生活</title>
	<atom:link href="https://zohead.com/archives/category/essay/life/feed/" rel="self" type="application/rss+xml" />
	<link>https://zohead.com</link>
	<description>Uranus Zhou&#039;s Blog</description>
	<lastBuildDate>Sat, 19 Jul 2025 15:42:46 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.8</generator>
	<item>
		<title>特斯拉听播客的几种姿势</title>
		<link>https://zohead.com/archives/tesla-podcast/</link>
		<comments>https://zohead.com/archives/tesla-podcast/#comments</comments>
		<pubDate>Sun, 13 Aug 2023 08:33:05 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[Cloud Caster]]></category>
		<category><![CDATA[Model Y]]></category>
		<category><![CDATA[Podgrab]]></category>
		<category><![CDATA[Podyssey]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[喜马拉雅]]></category>
		<category><![CDATA[播客]]></category>
		<category><![CDATA[特斯拉]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1860</guid>
		<description><![CDATA[去年购买的特斯拉 Model Y 标准续航版，目前已经开了差不多 16000 公里，家人用下来总体还是比较满意的。为了方便实时路况导航和听歌之类的，我还订购了 ¥9.99 / 月的高级车载娱乐服务包。一般如果开车的路程稍微长一点，我都习惯听一听订阅的各种播客来打发时间。 自带喜马拉雅 特斯拉默认只能用自带的喜马拉雅来听播客，虽然喜马拉雅的特斯拉车机版本已经比 Android 版本的喜马拉雅干净清爽多了，不过喜马拉雅也有一些限制，主要是不能自己添加 RSS 订阅源，另外基本没有英文的播客节目，有一些不太和谐的中文播客也没有，或者是只有中国版。 当然如果你只是需要在路上简单听一些常见的中文播客，那 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>去年购买的特斯拉 Model Y 标准续航版，目前已经开了差不多 16000 公里，家人用下来总体还是比较满意的。为了方便实时路况导航和听歌之类的，我还订购了 ¥9.99 / 月的高级车载娱乐服务包。一般如果开车的路程稍微长一点，我都习惯听一听订阅的各种播客来打发时间。</p>
<h2 id="ximalaya">自带喜马拉雅</h2>
<p>特斯拉默认只能用自带的喜马拉雅来听播客，虽然喜马拉雅的特斯拉车机版本已经比 Android 版本的喜马拉雅干净清爽多了，不过喜马拉雅也有一些限制，主要是不能自己添加 RSS 订阅源，另外基本没有英文的播客节目，有一些不太和谐的中文播客也没有，或者是只有中国版。</p>
<p>当然如果你只是需要在路上简单听一些常见的中文播客，那特斯拉自带的喜马拉雅应该也比较适合了。</p>
<h2 id="third-podcast">第三方播客服务</h2>
<p>不过还好特斯拉车机还是带了一个还算能用的浏览器，我们就可以通过访问其它播客服务网站来自由听播客了，主要需求还是：</p>
<ul>
<li>支持自行添加播客 RSS 订阅源；</li>
<li>由于直接使用特斯拉自带的流量卡，需要国内能直接访问，也不想在特斯拉上折腾翻墙了；</li>
<li>播客节目的播放历史、进度最好支持在云端保存，这样在其它设备上访问播客服务网站或使用相应的 App 就能同步使用了。</li>
</ul>
<p>目前特斯拉自带的 QQ 音乐、网易云音乐、喜马拉雅 等车载娱乐服务在进行账户登录时，都需要对应的手机端 App 来扫码登录。如果在特斯拉上通过浏览器访问播客服务，也需要考虑账户登录的问题。由于特斯拉浏览器自带的输入法功能有限，也有点难用，使用第三方播客服务进行输入用户名和密码等登录操作最好也别太复杂。</p>
<h3 id="cloud-caster">Cloud Caster</h3>
<p><a href="http://www.cloud-caster.com/">Cloud Caster</a> 本来是我首选的播客服务，基本能满足上面所有的需求，Cloud Caster 没有移动端 App，只要有浏览器就可以访问收听播客，播放列表和进度也能通过云端同步。</p>
<p>Cloud Caster 主要专注于收听播客功能，没有提供播客托管以及社区、评论之类乱七八糟的功能，其界面也比较清淡克制：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737370805/cloud-caster.png" alt="Cloud Caster"></p>
<p>不过像上面截图的清淡克制效果也是有前提的：浏览器需要开启 Ad Block 之类的广告过滤功能，否则页面的左边、右边以及下方都有显眼的广告。当然，目前 Cloud Caster 基本是由网站主个人维护的，也没有什么商业支持，因此网站上加上这些广告来覆盖服务器支出我觉得也很正常。</p>
<p>特斯拉自带的浏览器并不支持像广告过滤之类的扩展功能，因此如果要在车上使用 Cloud Caster 就必须忍受广告了。如果你喜欢 Cloud Caster 的服务，可以通过他们的 <a href="http://www.cloud-caster.com/Home/SupportUs">捐助</a> 页面来支持一下咯。</p>
<p>Cloud Caster 只支持网站的用户名和密码登录，登录时选中记住用户选项，也可以保存用户会话一段时间，偶尔需要输入用户名和密码重新登录也还能接受。</p>
<p>另外 Cloud Caster 目前也有点小问题，主要体现在某些像 <a href="https://xyzfm.space/">小宇宙播客</a> 之类的 RSS 源可能无法正常解析，或者无法更新最新的节目，所以我也基本是当作备用。</p>
<h3 id="podyssey">Podyssey</h3>
<p><a href="https://podyssey.fm/">Podyssey</a> 是我在发现 Cloud Caster 的问题后发现的另一个播客服务，Podyssey 主要特点在于提供了一个给众多用户发现和讨论 Podcast 播客节目的平台，其首页就是 Discover 发现界面：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737442881/podyssey-discover.png" alt="Podyssey Discover"></p>
<p>Podyssey 也为 Podcast 播客创作者提供服务，创作者可以添加和分享自己录制的播客节目，并与收听者进行互动，不过看起来并没有播客音视频的托管服务。</p>
<p>Podyssey 也有 Android 和苹果的移动端 App，不过还好都没有广告，虽然界面看起来都稍微有点简陋：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737442882/podyssey-podcast.png" alt="Podyssey 播客"></p>
<p>使用一段时间之后我发现，Podyssey 的主要问题在于无法通过云端保存播客节目的播放进度，无论 App 端还是 Web 端，播放进度都是保存在客户端本地的，当然手机 App 端的播放进度也无法同步到 Web 浏览器端，不过这个其实对我来说影响倒是不大。</p>
<p>然而另外一个问题就稍微有点不能接受，虽然我订阅的播客基本都能在 Podyssey 中找到，但 Podyssey 其实并没有提供通过 RSS 源来订阅播客的功能，这样就显得稍微有点封闭了。</p>
<p>Podyssey 还存在用户登录方式比较奇葩的问题，默认只能输入邮箱地址登录，然后需要在收到的邮件里点击 Podyssey 发送的临时登录地址就可以自动登录。</p>
<p>这样在电脑上当然没什么问题，不过在车上登录就需要多一步把手机邮箱里的临时登录地址发到车上的步骤，登录操作虽然只需要偶尔做一下，但在特斯拉上使用 Podyssey 还是显得有点麻烦的，就继续当备用服务了。</p>
<h2 id="podgrab">自建 Podgrab</h2>
<p>用了一段时间上面的 Cloud Caster、Podyssey 还有其它第三方播客服务，我发现这些服务基本都有一些或大或小的限制或问题，最终还是倾向自建 Podcast 播客服务，搜索了一番之后，还是找到了 <a href="https://github.com/akhilrex/podgrab">Podgrab</a> 这个开源项目。</p>
<p>Podgrab 项目的官方定位就是 <strong>self-hosted podcast manager</strong>，支持通过 RSS 源来订阅播客（也可以直接搜索订阅 iTunes 上的播客），当然顺带也支持 OPML 的导入和导出，还可以自动下载新的播客节目并进行管理，并附带了一个比较简单的播客播放器。Podgrab 还可以对播客节目进行标记，方便后续进行快速筛选查看。</p>
<p>由于 Podgrab 后台程序是由 Golang 编写的，因此天然就可以支持跨平台使用。如果你的服务器或者 NAS 存储支持 Docker 功能，那可以直接使用下面官方的镜像地址进行安装：</p>
<p><a href="https://hub.docker.com/r/akhilrex/podgrab/">https://hub.docker.com/r/akhilrex/podgrab/</a></p>
<p>我为了使用方便，就直接在目前网站所在的 VPS 服务器上运行的，不过由于没有自带 Docker 支持，就先在 Linux 系统上编译好之后上传到 VPS 系统里运行了。Podgrab 的编译操作也很简单，只要安装了 Golang 环境，按照官方的 <a href="https://github.com/akhilrex/podgrab/blob/master/docs/ubuntu-install.md">Building from source / Ubuntu Installation Guide</a> 文章来编译应该就没什么问题。</p>
<p>VPS 服务器上最好单独指定一个目录来存放 Podgrab 程序和相关的下载文件，例如我建立了一个 <code>/usr/local/bin/podgrab</code> 目录，然后把编译好的 <code>podgrab</code> 可执行程序文件也上传到这个目录里。</p>
<p>其次是最重要的 Podgrab 配置文件，在刚才的目录下新建一个 <code>.env</code> 环境变量配置文件：</p>
<pre class="brush: bash; title: ; notranslate">
root@debian:/usr/local/bin/podgrab# cat &gt; .env 
CONFIG=.
DATA=./assets
CHECK_FREQUENCY=30
PASSWORD=XXXXX
PORT=8080
</pre>
<p>Podgrab 项目主页也有环境变量的说明，主要是：</p>
<ul>
<li><code>CHECK_FREQUENCY</code>：检查新播客节目的间隔时间，以分钟为单位；</li>
<li><code>PASSWORD</code>：设置密码认证，默认为空就是不需要密码认证，如果像我一样需要在 VPS 服务器上运行 Podgrab，强烈建议启用密码认证；</li>
<li><code>PORT</code>：Podgrab 的监听端口，默认为 <code>8080</code>。</li>
</ul>
<p>配置完成之后，就可以直接运行 <code>./podgrab</code> 命令启动 Podgrab 了，你也可以根据需要按照官方的说明自己配置成服务方式来运行哦。</p>
<p>最后使用 <code>http://host:8800</code>（假设用的就是默认端口）就可以直接访问 Podgrab 管理界面了，如果启用了密码认证，需要注意用户名是固定的 <code>podgrab</code>。</p>
<p>Podgrab 默认的深色风格界面还是挺清爽耐看的，而且和特斯拉的车机系统界面也比较搭，首页可以选择以网格或列表的形式显示：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737442877/podgrab.png" alt="Podgrab"></p>
<p>节目列表界面也就是显示标题、描述以及一些操作按钮：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737442878/podgrab-episode.png" alt="Podgrab 节目列表"></p>
<p>由于我只需要能在特斯拉的浏览器打开 Podgrab 听播客，而且自带了高级车载娱乐服务包，完全可以在行驶途中使用车载流量播放播客节目，因此也基本不需要 Podgrab 的播客节目下载功能，为了节省 VPS 服务器的存储空间，我在 Podgrab 的设置界面把以下选项也关闭了：</p>
<ul>
<li>Download episodes whenever new podcast is added</li>
<li>Automatically download new episodes to the disk</li>
</ul>
<p>这样我在订阅了 27 个播客，并默认缓存所有节目信息后，VPS 服务器的存储空间也就占用了不到 30MB。</p>
<p>Podgrab 自带的播放器界面看起来就稍微有点简陋，不过在车上也够用了：</p>
<p><img src="https://images.weserv.nl/?url=http://res.cloudinary.com/digwht2y0/image/upload/v1737442880/podgrab-player.png" alt="Podgrab 播放器"></p>
<p>需要说明的是虽然 Podgrab 内播客节目的播放完成状态是保存在服务器上的，无论在什么客户端使用浏览器打开 Podgrab 看到的播放是否状态是自动同步的；但是具体某个节目的临时播放进度是保存在客户端浏览器本地的，不过实际用起来也基本没什么影响，而且得益于 Podgrab 项目是开源的，如果需要在服务器上保存节目的播放进度也可以自己修改代码来实现哦。</p>
<p>另外即使开启了密码认证，我们也可以使用 <code>http://podgrab:PASSWORD@host:8800</code> 形式的地址直接指定用户名和密码来访问 Podgrab，然后我们把这个地址添加到特斯拉浏览器的收藏夹，这样就能实现打开浏览器点击一下就进入 Podgrab 了，用起来也比 Cloud Caster 和 Podyssey 更加便利了。</p>
<p>综合对比下来，目前看起来还是 Podgrab 自建的方式更符合我的需求，我和夫人在驾车时试用 Cloud Caster 和 Podyssey 一段时间后，现在都换 Podgrab 来收听播客了。Podgrab 除了因为 VPS 服务器在国外加载节目列表偶尔稍等慢一点之外，用起来还是很顺畅的，后面有空了我再改一下 Podgrab 代码来实现保存播放进度到服务器，最后祝大家玩的开心哦。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/tesla-podcast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>移动宽带丧心病狂的流量劫持</title>
		<link>https://zohead.com/archives/cmcc-network-temper/</link>
		<comments>https://zohead.com/archives/cmcc-network-temper/#comments</comments>
		<pubDate>Tue, 30 May 2017 04:26:42 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[中国移动]]></category>
		<category><![CDATA[劫持]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1447</guid>
		<description><![CDATA[流量劫持情况 最近我发现在住处的江苏移动宽带网络环境下用手机浏览一些 HTTP 网站很容易出现和网站内容明显不符的抢红包广告，有时候页面会显示错乱，而在 PC 端打开同样的网址又没有问题。这种情况只在 HTTP 网站上碰到过，初步判断这就是移动宽带一贯使用的流量劫持把戏。 被劫持的网页在手机端显示起来是这样的： 页面中间的浮标和页面下方的开红包图标都明显不是原始网站投放的广告。这种劫持行为一般在手机浏览器上刷新一下就暂时没有了，但很多情况下会碰到运营商插入的广告导致移动端网页布局出现异常，无法正常使用。 劫持情况分析 由于直接在 PC 端打开被劫持的网址很可能不会出现被插入广告的情况，模拟手机 [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2 id="mobile-temper">流量劫持情况</h2>
<p>最近我发现在住处的江苏移动宽带网络环境下用手机浏览一些 HTTP 网站很容易出现和网站内容明显不符的抢红包广告，有时候页面会显示错乱，而在 PC 端打开同样的网址又没有问题。这种情况只在 HTTP 网站上碰到过，初步判断这就是移动宽带一贯使用的流量劫持把戏。</p>
<p>被劫持的网页在手机端显示起来是这样的：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442856/mobile-temper.jpg" alt="手机端网页劫持" title="手机端网页劫持"></p>
<p>页面中间的浮标和页面下方的开红包图标都明显不是原始网站投放的广告。这种劫持行为一般在手机浏览器上刷新一下就暂时没有了，但很多情况下会碰到运营商插入的广告导致移动端网页布局出现异常，无法正常使用。</p>
<h2 id="temper-analysis">劫持情况分析</h2>
<p>由于直接在 PC 端打开被劫持的网址很可能不会出现被插入广告的情况，模拟手机浏览器 user agent 也要碰运气才能出现，因此我直接使用 Android Chrome 浏览器的远程调试功能来进行分析。</p>
<p>打开 Android 的 USB 调试功能，通过数据线连接电脑，在 PC 端 Chrome 浏览器上进入：<code>chrome://inspect/#devices</code> 就能看到连接上的 Android 手机上 Chrome 浏览器打开的标签页，为了方便调试和安利给大家，我使用的是直接基于 Chrome 的 Chromebook 设备：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737369839/android-chrome-debug.png" alt="Android Chrome 远程调试" title="Android Chrome 远程调试"></p>
<p>点击标签页下方的 <code>inspect</code> 按钮就可以远程调试了。</p>
<p>在 Elements 调试界面可以看到运营商在网页 <code>&lt;/body&gt;</code> 结束之前插入了两个 div：<code>tuia-fubiao</code> 和 <code>tuia-customer</code>，更恶心的是下面还加了一个隐藏的 <code>iframe</code>。</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737371494/isp-http-temper.png" alt="流量劫持代码" title="流量劫持代码"></p>
<p>不过看了被劫持之后实际的网页源代码你才能感受到移动宽带的丧心病狂，首先网页 <code>&lt;head&gt;</code> 标签之后就插入了奇奇怪怪的广告代码：</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;html lang=&quot;zh-CN&quot; prefix=&quot;og: http://ogp.me/ns#&quot; class=&quot; js rgba borderradius boxshadow textshadow opacity cssanimations cssgradients csstransitions fontface generatedcontent video audio js&quot;&gt;
&lt;!-- BEGIN head --&gt;
&lt;head&gt;
&lt;script src=&quot;https://engine.tuia.cn/api/v1/activity/spm4web?type=0&amp;amp;adslot_id=1180&amp;amp;app_key=34J8hJmWWs5CArNgfbjAzReG2hRK&amp;amp;activity_id=3000000024%2C3613&amp;amp;ua=Mozilla%2F5.0%20(Linux%3B%20Android%206.0.1%3B%20ASUS_Z00AD%20Build%2FMMB29P)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F57.0.2987.132%20Mobile%20Safari%2F537.36&amp;amp;os_type=&amp;amp;device_id=QjotWKjhRBHLKsYJlCzM1493608315747&amp;amp;token=1493608315732&amp;amp;time=1493608316137&amp;amp;wdata_token=34J8hJmWWs5CArNgfbjAzReG2hRKTJfWvzV0zCtEGT1guzhG1493608315751&amp;amp;spm_id=34J8hJmWWs5CArNgfbjAzReG2hRK1VQvIKrTPbIdBvb0xx871493608316140&amp;amp;callback=jsonp_0q7no0fhvv36mq9&quot; async=&quot;&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://engine.tuia.cn/api/v1/activity/spm4web?type=0&amp;amp;adslot_id=927&amp;amp;app_key=34J8hJmWWs5CArNgfbjAzReG2hRK&amp;amp;activity_id=2000000418&amp;amp;ua=Mozilla%2F5.0%20(Linux%3B%20Android%206.0.1%3B%20ASUS_Z00AD%20Build%2FMMB29P)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F57.0.2987.132%20Mobile%20Safari%2F537.36&amp;amp;os_type=&amp;amp;device_id=QjotWKjhRBHLKsYJlCzM1493608315747&amp;amp;token=1493608315756&amp;amp;time=1493608316119&amp;amp;wdata_token=34J8hJmWWs5CArNgfbjAzReG2hRKTJfWvzV0zCtEGT1guzhG1493608315751&amp;amp;spm_id=34J8hJmWWs5CArNgfbjAzReG2hRKTkxmCuzebbLxiPLAaf0S1493608316129&amp;amp;callback=jsonp_w4rcxsrtl47vpid&quot; async=&quot;&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://engine.tuia.cn/api/v1/activity/get4web?request_id=34J8hJmWWs5CArNgfbjAzReG2hRKKtfJakUIBYbHCqfburmv1493608315757&amp;amp;api_version=1.0.0&amp;amp;app_key=34J8hJmWWs5CArNgfbjAzReG2hRK&amp;amp;app_version=1.0.0&amp;amp;app_package=&amp;amp;adslot_id=927&amp;amp;device_type=&amp;amp;os_type=&amp;amp;os_info=&amp;amp;vendor=&amp;amp;model=&amp;amp;screen_size=360*640&amp;amp;device_id=QjotWKjhRBHLKsYJlCzM1493608315747&amp;amp;connection_type=&amp;amp;operator_type=&amp;amp;cellular_id=&amp;amp;ap_mac=&amp;amp;rssi=&amp;amp;ap_name=&amp;amp;wifi_type=&amp;amp;hotspot_type=&amp;amp;geolocation=true&amp;amp;coordinate_type=&amp;amp;longitude=&amp;amp;latitude=&amp;amp;timestamp=&amp;amp;token=1493608315756&amp;amp;time=1493608315756&amp;amp;wdata_token=34J8hJmWWs5CArNgfbjAzReG2hRKTJfWvzV0zCtEGT1guzhG1493608315751&amp;amp;callback=jsonp_9lyfpalx27d62fk&quot; async=&quot;&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;https://engine.tuia.cn/api/v1/activity/get4web?request_id=34J8hJmWWs5CArNgfbjAzReG2hRKl2K0dtAdcAFOYVPamLi11493608315743&amp;amp;api_version=1.0.0&amp;amp;app_key=34J8hJmWWs5CArNgfbjAzReG2hRK&amp;amp;app_version=1.0.0&amp;amp;app_package=&amp;amp;adslot_id=1180&amp;amp;device_type=&amp;amp;os_type=&amp;amp;os_info=&amp;amp;vendor=&amp;amp;model=&amp;amp;screen_size=360*640&amp;amp;device_id=QjotWKjhRBHLKsYJlCzM1493608315747&amp;amp;connection_type=&amp;amp;operator_type=&amp;amp;cellular_id=&amp;amp;ap_mac=&amp;amp;rssi=&amp;amp;ap_name=&amp;amp;wifi_type=&amp;amp;hotspot_type=&amp;amp;geolocation=true&amp;amp;coordinate_type=&amp;amp;longitude=&amp;amp;latitude=&amp;amp;timestamp=&amp;amp;token=1493608315732&amp;amp;time=1493608315737&amp;amp;wdata_token=34J8hJmWWs5CArNgfbjAzReG2hRKTJfWvzV0zCtEGT1guzhG1493608315751&amp;amp;callback=jsonp_5jm97edzjaj18j0&quot; async=&quot;&quot;&gt;&lt;/script&gt;
</pre>
<p>移动宽带在 <code>&lt;head&gt;</code> 的网站原有 script 脚本中间还硬插了一段：</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script src=&quot;http://112.4.23.122:8848/a_zdyjs.js?aorlu=aHR0cDovL3d3dy5jbGI2LmNvbS5jbi94bWxrZXkvaHRtbC9keXNqL28tdHQtdGFqcy5qcw==&amp;amp;adid=360523&amp;amp;tcca=MTM5NTE3NzE2NjU=&amp;amp;urip=100.65.241.248&amp;amp;stpt=0&amp;amp;edpt=0&amp;amp;orlu=aHR0cDovL2Jsb2cuam9iYm9sZS5jb20vMTExMDM4Lw==&amp;amp;spid=176150497705350&amp;amp;area=0&amp;amp;motn=1477554323&amp;amp;saas=134352896&amp;amp;p7arm=1&amp;amp;p8arm=0&amp;amp;psad=3232268039&amp;amp;atid=1&amp;amp;paat=0&amp;amp;aaid=0&amp;amp;isaa=0&amp;amp;envs=0&amp;amp;ckts=1493608314&amp;amp;type=2&amp;amp;teid=65459&amp;amp;acst=1&amp;amp;swvi=5277681751310447&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p>连 CSS 也别想幸免，<code>&lt;/head&gt;</code> 结束也插入了一段，这里的 CSS 代码太长我就不全部贴出来了：</p>
<pre class="brush: css; title: ; notranslate">
&lt;style type=&quot;text/css&quot;&gt;
#tuia-customer{position:fixed;bottom:0;left:0;width:100%;}
#tuia-fubiao{position: fixed;right: 7.5px;top: 250px;overflow: initial;width: 75px; height: 75px; z-index: 2147483647;}
&lt;/style&gt;
&lt;style type=&quot;text/css&quot;&gt;
.tuia-media{position:relative;overflow:hidden;width:100%;max-width:100%}
.tuia-media,.tuia-media *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
.tuia-media .tuia-media-close{position:absolute;top:0;right:0;width:22.5px;height:22.5px;background-image:url(//yun.duiba.com.cn/static/jssdk/e9fa2ce7753ea10e0425f4c7e71d941b.png);background-repeat:no-repeat;background-position:100% 0;-webkit-background-size:15px 15px;background-size:15px 15px}
&lt;/style&gt;
......
</pre>
<p>至于 <code>&lt;/body&gt;</code> 结束之前插入的广告代码是这样的：</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;!-- END html --&gt;
&lt;div id=&quot;tuia-fubiao&quot;&gt;
&lt;div class=&quot;tuia-media&quot; id=&quot;TuiaMediaID_1493608316134&quot;&gt;&lt;div class=&quot;tuia-media-close&quot; style=&quot;background-image:url(https://yun.duiba.com.cn/upload/4UyUC1480924005775.png)&quot;&gt;&lt;/div&gt;
&lt;img class=&quot;tuia-media-pic&quot; src=&quot;https://yun.duiba.com.cn/tuia-media/img/82ejm1th2s.gif&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;tuia-customer&quot;&gt;
&lt;div class=&quot;tuia-media&quot; id=&quot;TuiaMediaID_1493608316116&quot;&gt;&lt;img class=&quot;tuia-media-pic&quot; src=&quot;https://yun.duiba.com.cn/tuia-media/img/qhszjuf9kr.gif&quot;&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;script src=&quot;http://yun.duiba.com.cn/static/jssdk/media-2.2.2.min.js&quot;&gt;&lt;/script&gt;
&lt;div style=&quot;display: none;&quot;&gt;
&lt;iframe src=&quot;http://www.clb6.com.cn/xmlkey/stat.html?zym=s95&amp;amp;sid=1261769958&quot; width=&quot;0&quot; height=&quot;0&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>面对这样被改的面目全非的网页源代码，我简直是无语到极点。移动宽带为了插广告使用这种下作的劫持方式，也难怪手机浏览器上很容易碰到被劫持后一些移动版网站显示错乱的问题了。</p>
<h2 id="temper-iframe">另一种流量劫持</h2>
<p>另外使用移动宽带在手机端上网还可能碰到一种比较常见和看起来稍微「良心」一点的劫持方式。</p>
<p>这是我用 Android Chrome 浏览器访问 <a href="https://sspai.com/" target="_blank">少数派</a> 网站时碰到的劫持情况，被劫持的网页代码变成这样：</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;html&gt;
&lt;head&gt;
&lt;script&gt;var d=&quot;=iunm?=ifbe?=0ifbe?=cpez!je&gt;#c#!tuzmf&gt;#pwfsgmpx.z;!ijeefo&lt;#!sjhiuNbshjo&gt;1!upqNbshjo&gt;1!mfguNbshjo&gt;1!tdspmm&gt;op?=0cpez?=tdsjqu!tsd&gt;#iuuq;00223/5/34/233;99590b`ig`cpuupn/kt@beje&gt;471494'uddb&gt;NUN6OUF4O{F3OkV&gt;'vsjq&gt;211/76/352/359'tuqu&gt;1'fequ&gt;1'psmv&gt;bIS1dEpwM4O{dHGqMnOwcT:1ZXdwZX6ldn:q[B&gt;&gt;'bpsmv&gt;bIS1dEpwM4e4ez6kcHJ3MnOwcT6kcj:5cX&quot;;function i(_,__){_+=__;var $=&quot;&quot;;for(var u=0;u&lt;_.length;u++){var r=_.charCodeAt(u);$+=String.fromCharCode(r-1);}return $;} var c=&quot;ys[YlwbISucD:lfYOrM39ueIRuNT6peH2t'tqje&gt;287275596954112'bsfb&gt;1'q2bsn&gt;86'q3bsn&gt;1'q4bsn&gt;1'q5bsn&gt;6'q6bsn&gt;4'q7bsn&gt;2'bqqe&gt;1'ibtDpvou&gt;1'ibtXijufVtfs&gt;1'npuo&gt;2588665434'tbbt&gt;2454639:7'q8bsn&gt;2'q9bsn&gt;1'qtbe&gt;434337914:'buje&gt;2'qbbu&gt;1'bbje&gt;1'jtbb&gt;1'fowt&gt;1'dlut&gt;25:4745::6'uzqf&gt;3'ufje&gt;7656:'bdtu&gt;2'txwj&gt;6388792862421558#?=0tdsjqu?=0iunm?&quot;;document.write(i(d,c));&lt;/script&gt;
&lt;/head&gt;
&lt;body id=&quot;b&quot; style=&quot;overflow-y: hidden;&quot; rightmargin=&quot;0&quot; topmargin=&quot;0&quot; leftmargin=&quot;0&quot; scroll=&quot;no&quot;&gt;
&lt;div id=&quot;a&quot; style=&quot;border:0px;overflow:hidden;position:absolute;bottom:0px;width:100%;height:75&quot;&gt;
&lt;iframe src=&quot;http://www.clb6.com.cn/xmlkey/html/dysj/o-tt-1.html?spid=176164485843001&quot; width=&quot;100%&quot; height=&quot;100%&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;
&lt;iframe src=&quot;http://112.4.23.122:8848/a/spd?adid=360383&amp;amp;tcca=MTM5NTE3NzE2NjU=&amp;amp;urip=100.65.241.248&amp;amp;stpt=0&amp;amp;edpt=0&amp;amp;orlu=aHR0cDovL3NzcGFpLmNvbS90YWcvYW5kcm9pZA==&amp;amp;aorlu=aHR0cDovL3d3dy5jbGI2LmNvbS5jbi94bWxrZXkvaHRtbC9keXNqL28tdHQtMS5odG1s&amp;amp;spid=176164485843001&amp;amp;area=0&amp;amp;p1arm=75&amp;amp;p2arm=0&amp;amp;p3arm=0&amp;amp;p4arm=5&amp;amp;p5arm=3&amp;amp;p6arm=1&amp;amp;appd=0&amp;amp;hasCount=0&amp;amp;hasWhiteUser=0&amp;amp;motn=1477554323&amp;amp;saas=134352896&amp;amp;p7arm=1&amp;amp;p8arm=0&amp;amp;psad=3232268039&amp;amp;atid=1&amp;amp;paat=0&amp;amp;aaid=0&amp;amp;isaa=0&amp;amp;envs=0&amp;amp;ckts=1493634995&amp;amp;type=2&amp;amp;teid=65459&amp;amp;acst=1&amp;amp;swvi=5277681751310447&amp;amp;usgt=TW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkIDYuMC4xOyBBU1VTX1owMEFEIEJ1aWxkL01NQjI5UCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCUyQyBsaWtlIEdlY2tvKSBDaHJvbWUvNTcuMC4yOTg3LjEzMiBNb2JpbGUgU2FmYXJpLzUzNy4zNg==&amp;amp;pushFlag=1&quot; style=&quot;display:none&quot;&gt;&lt;/iframe&gt;
&lt;img id=&quot;close&quot; onclick=&quot;closeAd()&quot; alt=&quot;Close&quot; src=&quot;http://112.4.23.122:8848/close.gif&quot; style=&quot;position:absolute;right:5px;top:5px;overflow:hidden;border:1px solid;border-color:white;background-color:#EFF7FE;width:12px;height:10px;font-family:System;cursor:hand;z-index:9999;&quot;&gt;
&lt;/div&gt;
&lt;div id=&quot;c&quot; style=&quot;border:0px;overflow:hidden;width:100%;height:100%&quot;&gt;
&lt;iframe name=&quot;cn&quot; src=&quot;http://sspai.com/tag/android?t=1493634994258&quot; frameborder=&quot;0&quot; width=&quot;100%&quot; height=&quot;100%&quot; scrolling=&quot;auto&quot;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>这是最常见的 iframe 劫持方式，外面的广告代码套上源网站，只能说好歹还没有直接魔改源网站的代码，另外插入的广告代码同样来自 <code>112.4.23.122</code> 这个 IP 地址。</p>
<p>查询之后发现该 IP 地址是：江苏省南京市 全省共用出口 移动，很明显这些流量劫持行为是南京移动宽带内部人员为利益驱使而做的。</p>
<h2 id="process-temper">后续处理</h2>
<p>发现移动宽带的流量劫持行为之后，我首先与南京移动联系进行了投诉，不出所料移动客服又是一番先坚决不承认然后让提供技术证明的节奏，直到我威胁要投诉到工信部，移动才表态愿意处理此问题。</p>
<p>投诉之后的十几天手机访问一些 HTTP 的网站确实没见到广告劫持了，然而好景不长，前些天又在手机上看到了插入的广告，无奈我先在路由器上直接屏蔽了劫持代码中的 IP 地址和网站域名，而且最近马上要搬家换住处了，可能也不会继续用移动宽带了，因此就没有兴趣继续跟进此事咯。</p>
<p>当然目前最好的应对方式还是希望众多网站能尽快切换到全站 HTTPS 了，文章开头截图里被劫持的 伯乐在线 网站仍然在用 HTTP，国内移动互联网流量的大头 微信公众号 也没有切换到 HTTPS（我也碰到过公众号文章被劫持插入代码的情况）。</p>
<p>比较欣慰的是我写这篇文章的时候，少数派 网站看起来也已经使用 HTTPS 了，最后祝大家儿童节快乐 ^_^。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/cmcc-network-temper/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>为Zenfone 2开启NFC SIM卡刷公交支持</title>
		<link>https://zohead.com/archives/zenfone2-nfc-sim/</link>
		<comments>https://zohead.com/archives/zenfone2-nfc-sim/#comments</comments>
		<pubDate>Wed, 06 Jul 2016 17:34:35 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[SE]]></category>
		<category><![CDATA[SIM]]></category>
		<category><![CDATA[SWP]]></category>
		<category><![CDATA[Zenfone 2]]></category>
		<category><![CDATA[公交卡]]></category>
		<category><![CDATA[华硕]]></category>
		<category><![CDATA[支付]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1246</guid>
		<description><![CDATA[我在 4 月份买的华硕 Zenfone 2 ZE551ML 手机已经上手使用一段时间了，当初也看中这款 Zenfone 2 ZE551ML 手机是支持 NFC 功能的，测试使用 NFC 标签配合 Trigger+Tasker 触发任务或者 Smart Lock 智能解锁都是比较好用的。同样我还试过开启招商银行的「掌上生活」App 中的「一闪通」功能（其实就是银联云闪付）进行 NFC 刷手机支付。 不过在使用中国联通的 NFC SIM 卡进行刷公交或者地铁时发现存在问题，根本无法使用，鉴于网上也有不少别的用户碰到这种问题（比较坑的是有人已经给 NFC SIM 卡充完值才发现刷公交或地铁没反应）， [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>我在 4 月份买的<a href="https://zohead.com/archives/zenfone2/">华硕 Zenfone 2 ZE551ML 手机</a>已经上手使用一段时间了，当初也看中这款 Zenfone 2 ZE551ML 手机是支持 NFC 功能的，测试使用 NFC 标签配合 <a href="https://zohead.com/archives/tasker-nfc/">Trigger+Tasker 触发任务</a>或者 Smart Lock 智能解锁都是比较好用的。同样我还试过开启招商银行的「掌上生活」App 中的「一闪通」功能（其实就是银联云闪付）进行 NFC 刷手机支付。</p>
<p>不过在使用中国联通的 NFC SIM 卡进行刷公交或者地铁时发现存在问题，根本无法使用，鉴于网上也有不少别的用户碰到这种问题（比较坑的是有人已经给 NFC SIM 卡充完值才发现刷公交或地铁没反应），这里我把解决的方法写出来供大家参考。</p>
<h2 id="nfc-问题说明">NFC 问题说明</h2>
<p>首先说下开启联通 NFC SIM 卡刷公交功能的流程：</p>
<ol>
<li>首先确认所在城市以及你使用的移动运营商支持 NFC SIM 卡刷公交，这个到网上都可以找到相应的介绍，我所用的南京联通是和智汇市民卡合作支持手机 SIM 卡刷公交的；</li>
<li>在中国联通沃支付网站上确认你所使用的手机是否在其「手机钱包」业务的兼容机型列表中： <br />
<a href="https://epay.10010.com/wop/wallet">https://epay.10010.com/wop/wallet</a></li>
<li>去营业厅将手机 SIM 卡更换为 NFC SWP SIM 卡，联通的话必须去其自有营业厅办理，社会营业厅无法办理，换 NFC SWP SIM 卡一般是免费的；</li>
<li>接着需要在自有营业厅开通手机钱包业务；</li>
<li>下载中国联通<a href="https://epay.10010.com/">沃钱包</a> App，可以在「沃钱包」App 中注册联通沃支付账户；</li>
<li>在「沃钱包」App 中安装「手机钱包」卡包功能插件；</li>
<li>确认「卡包」中能找到手机公交卡就可以在公交地铁充值网点进行充值及手机刷公交和地铁了。</li>
</ol>
<p>刚好我使用的 Zenfone 2 手机是在联通手机钱包业务兼容机型列表中，Android 系统版本是 <code>5.0.2</code>，打开「沃钱包」App（版本：<code>3.5.0</code>）也能正常安装「手机钱包」卡包功能插件（版本：<code>1.4.0</code>）：</p>
<div style="width: 370px" class="wp-caption alignnone"><img alt="沃钱包 App" src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442970/wo-wallet.jpg" width="360" height="640" /><p class="wp-caption-text">沃钱包 App</p></div>
<p>进入「卡包」功能还能认到手机 NFC SIM 卡的公交卡：</p>
<div style="width: 370px" class="wp-caption alignnone"><img alt="NFC SIM 公交卡" src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442861/nfc-sim-bus-card.jpg" width="360" height="640" /><p class="wp-caption-text">NFC SIM 公交卡</p></div>
<p>不过悲剧的就是拿着手机到任何一个公交或者地铁充值点都不能识别到卡信息，充值机或者公交刷卡机、地铁闸机都没有任何反应，当然也没有办法充值或者刷卡了。</p>
<h2 id="问题分析">问题分析</h2>
<p>Android 手机上的 NFC 支付功能是使用 NFC 的卡模拟工作方式，出于对 NFC 通信安全的考虑，如果需要使用 NFC 卡模拟，除了手机自带的 NFC 控制器外，还需要 SE（Secure Element）元件即安全元件，它的作用是用来存储用户的敏感信息，例如银行卡卡号、密码之类的，其一般采用硬件加密方式。</p>
<p>目前 Android 上常见的 NFC 卡模拟 SE 方案有：</p>
<ul>
<li>SE 元件内置在手机中；</li>
<li>SE 元件内置在 SIM 卡中；</li>
<li>SE 元件内置在专用 SD 卡中；</li>
<li>Google 推出的 HCE 技术，即 Host-based card emulation。</li>
</ul>
<p>前 3 种由于需要特定手机或者 SIM 卡、SD 卡等硬件支持，因此 Google 搞了基于主机的卡模拟模式，如果使用这种方案系统可以将一个 App 或者一个云端作为一个虚拟 SE 来实现 NFC 支付，这样可以摆脱对硬件的依赖。Android 5.0 或者 6.0 之后 Google 也默认使用 HCE 方式的主机卡模拟方案。</p>
<p>像本文开头说的招商银行一闪通就是使用的第一种手机内置 SE 方案，而今天我们所要使用的 NFC SIM 卡当然就是用的第二种 SIM SWP 方案，也是广大移动运营商们主推的方案，经过搜索我发现华硕 Zenfone 2 采用的 Broadcom BCM20795 NFC 芯片是支持 SIM SWP 方案的，联通手机钱包业务也说明 Zenfone 2 已经通过 NFC 支付测试。</p>
<p>另外我还发现一个有趣的现象就是虽然 Zenfone 2 手机开机点亮屏幕的状态下刷公交或者地铁没有任何反应，但如果我重启手机并在刚刚显示启动 Logo 的时候刷公交却是有反应的（只是没有充值提示余额不足），这就说明手机刚开机的时候 NFC SIM SWP 是能正常工作的，启动完成进入系统之后反而不行了。</p>
<p>后来我还看到有网友在华硕官方论坛上反映了这个问题，并建议华硕在手机设置中增加类似于一加手机中的 NFC 支付使用手机内置 SE 还是 SIM 卡 SE 的选项，不过华硕并没有对此进行更新处理，因此我认为 Zenfone 2 硬件是支持 NFC SIM SWP 支付的，只是由于系统 ROM 原因不能正常使用，应该可以通过其它方法开启。</p>
<h2 id="修改配置支持刷-sim-卡">修改配置支持刷 SIM 卡</h2>
<p>经过一番搜索之后我发现网上有 Nexus 6 用户也碰到类似的问题：</p>
<p>*<a href="https://paoyuan.org/2015/11/14/nexus-6-android-marshmallow-nfc-swp-sim-support" target="_blank">NEXUS 6 ANDROID MARSHMALLOW NFC SWP-SIM 支援</a></p>
<p>可以通过修改 Android 系统的 Broadcom NFC 配置文件来开启手机的 SIM SWP 支持，我的 Zenfone 2 手机 NFC 配置和上面的 Nexus 6 配置有一些差别，经过多次修改测试发现现在也可以使 NFC SIM SWP 功能正常工作了。</p>
<p>NFC 配置文件的修改都需要先开启手机的 root 权限哦，首先修改 <code>/system/etc/libnfc-brcm.conf</code> 配置文件增加以下内容：</p>
<pre class="brush: diff; title: /system/etc/libnfc-brcm.conf; notranslate">
+NFA_MAX_EE_SUPPORTED=3
+ACTIVE_SE=0xF3
+DEFAULT_ISODEP_ROUTE=0xF3
+NFA_HCI_STATIC_PIPE_ID_F3=0x70
+NFA_HCI_STATIC_PIPE_ID_F4=0x71
+UICC_LISTEN_TECH_MASK=0x0
</pre>
<blockquote>
<p><strong>注意</strong></p>
<p>注意上面显示的是 patch 文件格式，<code>-</code> 号开头的为需要删除的内容，<code>+</code> 号开头的为需要增加的内容，实际修改时请删除开头的 <code>-</code> 号或 <code>+</code> 号。</p>
</blockquote>
<p>上面的 <code>NFA_MAX_EE_SUPPORTED</code> 值为 3 表示开启多种 NFC SE 元件支持，<code>ACTIVE_SE</code> 和 <code>DEFAULT_ISODEP_ROUTE</code> 都设为 0xF3 表示默认使用 SIM SWP SE 元件，剩下的 3 个参数不一定需要设置。</p>
<p>接着修改 <code>/system/etc/libnfc-brcm-20795a20.conf</code> 配置文件：</p>
<pre class="brush: diff; title: /system/etc/libnfc-brcm-20795a20.conf; notranslate">
 ###############################################################################
 # Pre-Discovery Startup Configuration (256 bytes maximum)
-NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:02:00:C3:04:40:4B:4C:00}
+NFA_DM_PRE_DISCOVERY_CFG={0A:C2:08:01:00:C3:04:40:4B:4C:00}
</pre>
<p>上面的这两个配置文件修改完成之后重启手机，到公交或者地铁充值点去充值刷卡应该就有反应了哦，不过需要注意默认还是只有手机点亮的情况刷卡才有反应。</p>
<h2 id="后记">后记</h2>
<p>NFC SIM 卡的公交卡余额充值功能在各地似乎不太一样，上海之类城市是支持直接在联通的「沃钱包」App 中进行充值的，而我这边「沃钱包」的卡包列表中虽然能看到南京 NFC SIM 卡的智汇卡，但并不能正确显示卡中的余额，也没法直接通过手机 App 进行充值。</p>
<p>总体来说联通的「沃钱包」App 的使用体验还是挺符合其企业形象的，一贯的很难用而且不稳定，像下面这种 App 中找不到 NFC SIM 卡包的报错还是经常会碰到：</p>
<div style="width: 370px" class="wp-caption alignnone"><img alt="沃钱包找不到 NFC SIM 卡包" src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442972/wo-wallet-error.jpg" width="360" height="640" /><p class="wp-caption-text">沃钱包找不到 NFC SIM 卡包</p></div>
<p>当然最后还是要说一下本文只是在南京公交地铁以及联通 NFC SIM 卡环境下使用测试的，如果你使用的环境不同并不能保证就一定能把 NFC SIM 支付用起来哦，祝玩的开心～～～。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/zenfone2-nfc-sim/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>为MK809IV电视棒开启真正1080p支持</title>
		<link>https://zohead.com/archives/mk809iv-1080p/</link>
		<comments>https://zohead.com/archives/mk809iv-1080p/#comments</comments>
		<pubDate>Sun, 01 May 2016 19:42:48 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[1080p]]></category>
		<category><![CDATA[MK809IV]]></category>
		<category><![CDATA[RK3188]]></category>
		<category><![CDATA[拆机]]></category>
		<category><![CDATA[电视棒]]></category>
		<category><![CDATA[迷你PC]]></category>

		<guid isPermaLink="false">https://zohead.com/?p=1221</guid>
		<description><![CDATA[去年为了能把宿舍客厅的电视利用起来我购入了一款国产 MK809IV 安卓电视棒，事实证明这个决定还是比较明智的，装了多个 TV 版的 App 之后用起来还是比较顺畅的。特别是光腚总局各种针对互联网电视盒子的禁令出台之后，我用的这款 MK809IV 迷你 PC 完全不受影响，不用担心像某猫之类的盒子会受到自动删除 App 之类的待遇。 我买的这款 MK809IV 电视棒采用的处理器是 Rockchip RK3188-T，自带 2GB 运行内存，ROM 容量则是 8GB 的，运行 Android 4.4 版本系统，无线网络支持 802.11 b/g/n（这点比较可惜，用不上我的路由器的 5GHz  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>去年为了能把宿舍客厅的电视利用起来我购入了一款国产 MK809IV 安卓电视棒，事实证明这个决定还是比较明智的，装了多个 TV 版的 App 之后用起来还是比较顺畅的。特别是光腚总局各种针对互联网电视盒子的禁令出台之后，我用的这款 MK809IV 迷你 PC 完全不受影响，不用担心像某猫之类的盒子会受到自动删除 App 之类的待遇。</p>
<p>我买的这款 MK809IV 电视棒采用的处理器是 Rockchip RK3188-T，自带 2GB 运行内存，ROM 容量则是 8GB 的，运行 Android 4.4 版本系统，无线网络支持 802.11 b/g/n（这点比较可惜，用不上我的路由器的 5GHz WiFi），电视棒外观是这样的：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442846/mk809iv.jpg" alt="MK809IV外观" title="MK809IV外观"></p>
<p>左边是标准 HDMI 接口用于接电视或显示器，下方依次是用于刷机的 Reset 插孔、MicroSD 卡插槽、Micro USB 电源/OTG 接口，右边则是一个标准 USB 和一个 Micro USB Host 接口，正面红色的就是可移动外置天线。</p>
<p>由于做类似电视棒的国内寨厂有好多个，即使是同一型号的 MK809 在淘宝上也能搜索到多个不同的产品，而且我买的 MK809IV 包装盒上也没有看到任何厂家信息，所以使用的时候如果发现有问题售后其实还是稍微有点麻烦的。</p>
<p>最近我发现这款电视棒的系统存在一个问题就是虽然已经在显示设置中将视频输出的分辨率改为 1920x1080 了，而且电视上也确实提示当前 HDMI 视频输入是 1080p 的，但在 Android 系统里运行安兔兔等检测软件看到的分辨率却是 1280x720 的，另外无论视频播放还是用电视棒自带的 XBMC App 看到的分辨率也都是 720p 的。后来搜索发现国外有用户也发现了这个问题，看看 YouTube 上的这个视频：</p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/Emxw080IyBk" allowfullscreen=""></iframe></p>
<p>看来厂家不知道是为了系统流畅性还是散热方面的考虑，将能支持 1080p 视频输出的 RK3188-T 系统人为限制为了 720p。后来看到国外有网友说通过刷新的固件可以开启 1080p 支持，因此接着就是找到合适的固件来升级了。</p>
<p>刚开始我找到的是 Ugoos 的 <a href="http://ugoos.net/ugoos-mk809iv-rk3188">UG-MK809IV</a> 这款型号和配置看起来和我的 MK809IV 一样的设备，Ugoos 非常厚道的为他们的设备提供了支持 1080p 的固件，下载完固件之后准备在 Windows 系统上刷入。</p>
<p>这里简单说下这款电视棒的刷机流程，首先可以在 Android 下用一键关机重启之类的 App 重启到刷机模式，也可以拿针或者镊子之类的工具按下 Reset 按钮并通过 Micro USB OTG 接口接在电脑上，刷机模式下需要先安装 Rockchip 驱动，驱动我已经分享到百度云盘：</p>
<p><a href="http://pan.baidu.com/s/1o8QXrKm">http://pan.baidu.com/s/1o8QXrKm</a></p>
<p>下载安装完成之后先确认设备管理器能正常找到设备：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442848/mk809iv-device.jpg" alt="MK809IV设备驱动" title="MK809IV设备驱动"></p>
<p>接下来需要用到 Rockchip Batch Tool 刷机工具，同样可以通过百度云盘下载：</p>
<p><a href="http://pan.baidu.com/s/1b8OCFk">http://pan.baidu.com/s/1b8OCFk</a></p>
<p>打开刷机工具，选择下载并解压缩出来的固件文件之后如果一切正常的话刷机工具的 Connected Devices 里应该能识别到设备：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442851/mk809iv-flash-tool.jpg" alt="Rockchip刷机工具" title="Rockchip刷机工具"></p>
<blockquote>
<p><strong>注意</strong></p>
<p>如果你用于刷机的 Windows 机器只有 USB 3.0 接口，没有 USB 2.0 接口，那有可能出现刷机工具认不到设备的问题，这个时候需要修改 Rockchip Batch Tool 中的 <code>config.ini</code> 配置文件，将 <code>SUPPORTLOWUSB</code> 改为 <code>TRUE</code> 才能让刷机工具识别到 USB 3.0 接口上的电视棒设备。</p>
</blockquote>
<p>点击 <code>Restore</code> 按钮（注意不是 <code>Upgrade</code> 按钮）就可以开始刷机，刷机完成之后提示 Restore Done Success，接着设备会自动重启：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442851/mk809iv-flash-ok.png" alt="MK809IV刷机" title="MK809IV刷机"></p>
<p>看起来一切顺利，只是比较悲催的是刷机成功之后重新插上电视发现无法正常启动了，电视没有检测到任何信号输入。看来是 Ugoos 的 UG-MK809IV 硬件和我的 MK809IV 电视棒并不匹配因此下载的固件也不兼容，这样只能重新再尝试别的固件了。</p>
<blockquote>
<p><strong>提示</strong></p>
<p>如果刷机成功之后电视棒无法正常启动，重新启动到刷机模式连上电脑也无法正常识别到设备（例如出现 <em>请求 USB 设备描述符失败</em> 等错误），那可能需要将电视棒连接到 USB 2.0 接口上重新输入正确的固件。</p>
</blockquote>
<p>为了能找到适合我这款电视棒的固件，准备寄出拆解大招看看具体的硬件配置，简单拆开后的正面图：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442854/mk809iv-teardown-front.jpg" alt="MK809IV拆解正面" title="MK809IV拆解正面"></p>
<p>具体内部做工不好评价，先看看正面有哪些芯片：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442852/mk809iv-ram-rom-chip.jpg" alt="MK809IV RAM和ROM芯片" title="MK809IV RAM和ROM芯片"></p>
<p>可以看到主板左边的是 SK Hynix 的 H27UCG8T2ETR-BC 容量为 8GB 的 ROM 芯片，右边的 RAM 则是由 4 颗（正面两颗、背面两颗）镁光（Micron）的 D9QBJ 也就是 MT41K512M8RH-125 SDRAM 芯片组成，下方则是 IT66121FN HDMI 芯片，这是联阳科技（ITE）推出的一款低功率单通道 HDMI 传输器芯片，看看主板正面的左上角：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442855/mk809iv-wifi-chip.jpg" alt="MK809IV无线芯片" title="MK809IV无线芯片"></p>
<p>这个是关注的重点之一了，这款电视棒使用的是 Realtek 公司的 RTL8723BS 这颗支持蓝牙、WiFi、FM 三合一模块的无线芯片，这时才发现这款芯片工作在 802.11 b/g/n 模式下最高才支持 150Mbps 的无线传输速率，虽然也支持蓝牙 4.0 了，但这种无线速率真是白瞎了我买的<a href="https://zohead.com/archives/newifi-mini-openwrt/">千兆无线路由器</a>了。</p>
<p>至于主板背面，撕掉散热贴之后就能看到另外两颗 SDRAM 芯片和主处理器了：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442847/mk809iv-cpu.jpg" alt="MK809IV处理器" title="MK809IV处理器"></p>
<p>主处理器是 Rockchip 的 RK3188-T，这是主流使用的 RK3188 的降频版，最高只支持 1.4GHz，整套芯片的硬件成本应该也会更低，比较坑的是几乎所有商家都会拿 RK3188 来宣传而不会主动说明他们的电视棒产品使用的很有可能是降频的处理器，最后看看主板背面的左上方：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442851/mk809iv-pm-chip.jpg" alt="MK809IV电源管理芯片" title="MK809IV电源管理芯片"></p>
<p>可以看到这里用的是几乎 Rockchip 标配的 ACT 公司的 ACT8846QM 电源管理芯片，下方就是 MicroSD 插槽。</p>
<p>这下了解了 MK809IV 电视棒的所有硬件配置，可以按照相同的硬件情况搜索符合的固件了，终于还是在 Ugoos 网站上看到 <a href="http://ugoos.net/ugoos-oem/mk809iii-new-style">UG-MK809III new style</a> 这款产品的配置与我的 MK809IV 相符，其固件下载页面也提供了几种不同的固件，分别对应使用 MTK、AP6210、AP6330、Realtek RTL8723BS 这几种无线芯片的电视棒设备，比较幸运的是我这款 MK809IV 设备使用的是 RTL8723BS 芯片，而且刚好有支持 1080p 的固件。</p>
<p>从 Ugoos 提供的 Mega 网盘地址下载固件：</p>
<p><a href="https://mega.nz/#!Z10mgYhT!SdubLh6SJZ1OYsyrCR80G8kaowNLAhNMbX1bNeIrPBs">https://mega.nz/#!Z10mgYhT!SdubLh6SJZ1OYsyrCR80G8kaowNLAhNMbX1bNeIrPBs</a></p>
<p>重新使用 Rockchip Batch Tool 刷机工具更新系统之后重启，终于能看到令人欣喜的新系统启动画面了：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442847/mk809iv-boot.jpg" alt="MK809IV启动画面" title="MK809IV启动画面"></p>
<p>新系统还是 Android 4.4 版本的（发布日期：2014-09-24），下面可以运行 XBMC 之类的 App 确认效果了，从下图同样也可以看到视频输出的分辨率终于是真正的 1080p 了：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442855/mk809iv-xbmc.jpg" alt="MK809IV 1080p视频输出" title="MK809IV 1080p视频输出"></p>
<p>最后经过这些天使用新固件的体验来看，安装多个 TV 端视频 App 的播放效果依然是比较流畅的，除了在播放 1080p 等高清视频时设备本身发热稍微有点多之外看起来没有其它影响咯。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/mk809iv-1080p/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>newifi mini路由器OpenWRT初步体验</title>
		<link>https://zohead.com/archives/newifi-mini-openwrt/</link>
		<comments>https://zohead.com/archives/newifi-mini-openwrt/#comments</comments>
		<pubDate>Sat, 09 Jan 2016 16:54:13 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[dnsmasq]]></category>
		<category><![CDATA[gfwlist]]></category>
		<category><![CDATA[ipset]]></category>
		<category><![CDATA[newifi mini]]></category>
		<category><![CDATA[OpenWRT]]></category>
		<category><![CDATA[PandoraBox]]></category>
		<category><![CDATA[Shadowsocks]]></category>
		<category><![CDATA[翻墙]]></category>
		<category><![CDATA[路由器]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=1115</guid>
		<description><![CDATA[关于 newifi mini 之前在我住的地方一直都是凑合用着房东默认提供的渣渣 FAST 牌子路由器给几个人 PC 和手机上网，最近在尝试手机视频和照片通过 Wi-Fi DLNA 推送到 Android TV 棒上时发现这款路由器的 Wi-Fi 速度虽然看起来是 56 Mbps 的，但实际无线局域网的传输速度却异常感人，通过 iperf 测试工具得到的局域网机器之间的纯粹网络传输速度只有 600 KB/s 左右，这就造成 DLNA 媒体推送的效果非常差：稍微大点的照片需要等个几秒才能出来，视频推送更是经常缓冲无法忍。 这几天在网上搜索一番之后果断有了换路由器的念头，刚好最近小米、360、百度 [&#8230;]]]></description>
				<content:encoded><![CDATA[<h2>关于 newifi mini</h2>
<p>之前在我住的地方一直都是凑合用着房东默认提供的渣渣 FAST 牌子路由器给几个人 PC 和手机上网，最近在尝试手机视频和照片通过 Wi-Fi DLNA 推送到 Android TV 棒上时发现这款路由器的 Wi-Fi 速度虽然看起来是 56 Mbps 的，但实际无线局域网的传输速度却异常感人，通过 iperf 测试工具得到的局域网机器之间的纯粹网络传输速度只有 600 KB/s 左右，这就造成 DLNA 媒体推送的效果非常差：稍微大点的照片需要等个几秒才能出来，视频推送更是经常缓冲无法忍。</p>
<p>这几天在网上搜索一番之后果断有了换路由器的念头，刚好最近小米、360、百度等厂商都推出了自家物（Zì）美（Dài）价（Hòu）廉（Mén）的智能路由器，比较之后发现联想和百度联合推出的 newifi mini 路由器相对符合我的要求：</p>
<ul>
<li>官方系统默认没有上锁可以很方便的刷 OpenWRT 等系统；</li>
<li>支持 2.4G 和 5G Wi-Fi，而且支持 802.11ac 千兆无线；</li>
<li>网上有一些黑点，但综合评价装 OpenWRT 之后还行；</li>
<li>99 RMB 的价格也还算合理（有段时间特价到 69 哦）。</li>
</ul>
<p>这样就在京东上入了一个，上午下单下午就送到的路由器带盒子照片：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442857/newifi-mini.jpg" alt="newifi mini路由器" title="newifi mini路由器"></p>
<h2>折腾 OpenWRT 系统</h2>
<p>外观看起来还凑合，不多说插上网线先试试官方系统，用了不到 10 分钟难以忍受必须弃用，从这里下载适合 newifi mini 的 PandoraBox OpenWRT 系统和 uboot 文件：</p>
<p><a href="http://downloads.openwrt.org.cn/PandoraBox/Lenovo-Y1_RY-1S/">http://downloads.openwrt.org.cn/PandoraBox/Lenovo-Y1_RY-1S/</a></p>
<p>重启路由器时长按 Reset 键进入恢复模式通过连网线之后就可以刷上（我用的 Dell Chromebook 和 Acer Win10 平板都没有 RJ45 接口，还好我还有个 USB 的有线网卡），刷的速度还是很快的，重启之后发现 PandoraBox 系统只是启动时间就已经比官方系统要好很多了 ^_^。</p>
<p>废话不多说，下面就是先在 OpenWRT 里配置 PPPoE 拨号连上网再说，刷完系统之后实际测试目前除了 5GHz 的 Wi-Fi 信号穿墙效果比较差（看起来在国内几个智能路由器里都有）之外还没发现什么问题。</p>
<p>接着是最主要的步骤：安装和配置 ShadowSocks 软件包实现 PC 和手机的无缝翻墙，由于之前从来没有搞过 OpenWRT 系统，在看了一些文章之后采用了飞羽博客里提到的使用 ipset + gfwlist 实现按需翻墙的方案，这样既可以避免影响访问国内网站和一些国外网站的速度，而且这种方案相对也比较灵活，默认使用 gfwlist 可以覆盖绝大多数需要翻墙的网站，也可以自己手工增加域名或者 IP 地址，详细介绍请参考 <a href="https://cokebar.info/archives/962">飞羽博客</a>。</p>
<p>我在实际测试中发现如果使用很多网友选择的 ChinaDNS 方案还是有一些网站域名会碰到 DNS 污染的情况，这样导致有一些网站还是不能访问，因此我选择了直接使用 ShadowSocks 解析（需要 ShadowSocks 服务端支持 UDP 转发）所有在 ipset 列表中的域名的方式，这样只需要在 PandoraBox 里运行 ss-redir 和 ss-tunnel 服务。</p>
<p>关于 gfwlist 的自动更新问题，为了方便我也是用的飞羽提供的 <code>gfwlist2dnsmasq.py</code> Python 脚本自动生成 <code>dnsmasq_list.conf</code> 配置文件，如果你的路由器里装有 Python 的运行环境可以直接使用这个脚本生成配置文件保存到路由器中。</p>
<p>我看到 newifi mini 的 rootfs 空间实在是有点小不适合再装个相对庞大的 Python 环境，因此就把 <code>gfwlist2dnsmasq.py</code> 放到我的 VPS 上了，并添加了 crontab 任务设置每天凌晨 5 点自动根据 gfwlist 生成 <code>dnsmasq_list.conf</code> 配置文件并输出到我的网站（也就是这个博客）目录里，并同时在 PandoraBox 上也添加了每天凌晨 5 点 10 分从我的博客下载 dnsmasq 配置文件覆盖到 <code>/etc/dnsmasq.d</code> 目录中。</p>
<p>这个是我基于 gfwlist 自动生成的 dnsmasq 配置文件地址：</p>
<p><a href="https://zohead.com/downloads/dnsmasq.tar.gz">https://zohead.com/downloads/dnsmasq.tar.gz</a></p>
<p>大家如果图省事的话也可以直接用我的这个配置文件哦，另外 PandoraBox 上的 crontab 定时任务配置如下所示：</p>
<pre class="brush: bash; title: ; notranslate">
[root@PandoraBox:/root]#cat /etc/crontabs/root
10 5 * * * curl -k -o /tmp/dnsmasq.tar.gz https://zohead.com/downloads/dnsmasq.tar.gz &amp;&amp; tar -C /tmp -xzf /tmp/dnsmasq.tar.gz &amp;&amp; cat /tmp/dnsmasq_list.conf &gt; /etc/dnsmasq.d/dnsmasq_list.conf &amp;&amp; rm -f /tmp/dnsmasq.tar.gz /tmp/dnsmasq_list.conf
</pre>
<p>实际使用时改掉行开始的地方执行的时间和后面的下载地址即可。</p>
<h2>手机 Tasker 设置</h2>
<p>经过一番小折腾我和小伙伴们在住的地方就可以不用装任何其它软件直接无缝翻墙上网了，对于我的 Android 手机在带出去和在公司里使用也需要翻墙的情况，就可以用到最新 ShadowSocks App 的 Tasker 集成功能：</p>
<ul>
<li>创建 Tasker 配置文件和任务，设置回到住处连接到 newifi mini 路由器对应 SSID 的 Wi-Fi 时自动关闭手机的 ShadowSocks App；</li>
<li>再创建另外一个 Tasker 配置文件和任务，设置离开此 SSID 的 Wi-Fi 时就自动开启 ShadowSocks 并连接到指定的服务器。</li>
</ul>
<p>来一张我的手机 Tasker App 的配置截图：</p>
<p><img src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442946/shadowsocks-tasker.jpg" alt="ShadowSocks Tasker配置" title="ShadowSocks Tasker配置"></p>
<p>这样我就可以在任何地方都能 Happy 的上各种不存在的网站咯，本文中有任何问题欢迎提出指正哦，最后还是祝大家玩的开心。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/newifi-mini-openwrt/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>推荐带开关的USB数据线</title>
		<link>https://zohead.com/archives/usb-cable-switch/</link>
		<comments>https://zohead.com/archives/usb-cable-switch/#comments</comments>
		<pubDate>Tue, 16 Sep 2014 14:25:59 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[DouBBleTime]]></category>
		<category><![CDATA[Kickstarter]]></category>
		<category><![CDATA[USB]]></category>
		<category><![CDATA[充电]]></category>
		<category><![CDATA[数据线]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=799</guid>
		<description><![CDATA[最近在使用我的移动电源给平板充电时发现一个问题：平板必须要有 2.0A 以上的输入电流才能正确充上电，而我的移动电源又必须用那种只能用于充电的 USB 数据线才能输出 2.0A 的电流，为此我专门买了根只能充电无数据功能的 USB 数据线才用起来。 联想到在电脑上给安卓手机充电时也会遇到充电速度比较慢的问题，这个时候如果想加快充电速度也可以用无数据的 USB 数据线进行快速充电，因此想到是否可以用一种支持切换数据开关的 USB 数据线，这样需要传照片等场合下开启数据功能，在需要快速充电例如我的汽车上等场合又可以只用充电功能。 搜索一番还真找到了网上有人做好的，先看看国外的一个 DouBBleT [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>最近在使用我的移动电源给平板充电时发现一个问题：平板必须要有 2.0A 以上的输入电流才能正确充上电，而我的移动电源又必须用那种只能用于充电的 USB 数据线才能输出 2.0A 的电流，为此我专门买了根只能充电无数据功能的 USB 数据线才用起来。</p>
<p>联想到在电脑上给安卓手机充电时也会遇到充电速度比较慢的问题，这个时候如果想加快充电速度也可以用无数据的 USB 数据线进行快速充电，因此想到是否可以用一种支持切换数据开关的 USB 数据线，这样需要传照片等场合下开启数据功能，在需要快速充电例如我的汽车上等场合又可以只用充电功能。</p>
<p>搜索一番还真找到了网上有人做好的，先看看国外的一个 DouBBleTime USB 数据线的 Kickstarter 项目，项目网址在这里：</p>
<p><a href="https://www.kickstarter.com/projects/1785889318/doubbletime-charging-cable-full-battery-in-1-2-the" target="_blank">https://www.kickstarter.com/projects/1785889318/doubbletime-charging-cable-full-battery-in-1-2-the</a></p>
<p>[<a href="http://mst.zol.com.cn/451/4513727.html" target="_blank">这里</a>] 也有国内新闻上的中文介绍。</p>
<div style="width: 479px" class="wp-caption alignnone"><a href="http://res.cloudinary.com/digwht2y0/image/upload/v1737370814/doubbletime-usb.jpg"><img alt="DouBBleTime USB数据线" src="http://res.cloudinary.com/digwht2y0/image/upload/v1737370814/doubbletime-usb.jpg" width="469" height="202" /></a><p class="wp-caption-text">DouBBleTime USB数据线</p></div>
<p>看起来比较适合我的需要，但等这个 Kickstarter 项目完成就有点遥遥无期了，其实这个项目的主要原理就是设计一个电路板可以增加一个开关切换 USB 数据线的 DATA 脚是否连接，另外的优点就是 DouBBleTime 除了普通 Micro USB 接口还支持 iPhone 的 Lightning 接口。</p>
<p>无奈只能转战网购，终于在淘宝上找到了一款比较物美价廉的带数据开关的 USB 数据线，带运费一起也就 20 多大洋（为免广告嫌疑未带上链接哈）：</p>
<div style="width: 420px" class="wp-caption alignnone"><a href="http://res.cloudinary.com/digwht2y0/image/upload/v1737442961/usb-cable-switch.jpg"><img alt="带数据开关的USB数据线" src="http://res.cloudinary.com/digwht2y0/image/upload/v1737442961/usb-cable-switch.jpg" width="410" height="373" /></a><p class="wp-caption-text">带数据开关的USB数据线</p></div>
<p>下面的白色连接处就是开关了，可以切换成 charge only 和 data 两种模式，拆开来看里面做工什么的也是非常简单的，经过测试两种模式切换工作还是比较正常的。</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/usb-cable-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY公交卡植入手机后盖</title>
		<link>https://zohead.com/archives/diy-phone-buscard/</link>
		<comments>https://zohead.com/archives/diy-phone-buscard/#comments</comments>
		<pubDate>Sat, 21 Dec 2013 10:25:10 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[公交卡]]></category>
		<category><![CDATA[手机]]></category>
		<category><![CDATA[线圈]]></category>
		<category><![CDATA[芯片]]></category>
		<category><![CDATA[防磁贴]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=643</guid>
		<description><![CDATA[本文同步自（最佳显示效果请点击）：https://zohead.com/archives/diy-phone-buscard/ 最近发现用了好多年的南京公交卡已经有报废的倾向，时常刷不上。移动也推出过自带公交卡功能的 SIM 卡，无奈本人还不想为这个就将 SIM 卡换成移动的。略加搜索之后，有想法把公交卡芯片放到手机后盖上以实现手机直接刷公交的目的。 网上有完全手工 DIY 出来的效果，自己用美工刀、自己做线圈之类的，可以参考这里： http://mobile.163.com/13/0726/10/94N2CERN0011179O_all.html 由于我暂时还没有这种条件，因此还是在淘宝上找 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本文同步自（最佳显示效果请点击）：<a href="https://zohead.com/archives/diy-phone-buscard/" target="_blank">https://zohead.com/archives/diy-phone-buscard/</a></p>
<p>最近发现用了好多年的南京公交卡已经有报废的倾向，时常刷不上。移动也推出过自带公交卡功能的 SIM 卡，无奈本人还不想为这个就将 SIM 卡换成移动的。略加搜索之后，有想法把公交卡芯片放到手机后盖上以实现手机直接刷公交的目的。</p>
<p>网上有完全手工 DIY 出来的效果，自己用美工刀、自己做线圈之类的，可以参考这里：</p>
<p><a href="http://mobile.163.com/13/0726/10/94N2CERN0011179O_all.html" target="_blank">http://mobile.163.com/13/0726/10/94N2CERN0011179O_all.html</a></p>
<p>由于我暂时还没有这种条件，因此还是在淘宝上找到了比较方便快捷的方法：用卖家自己做好的线圈，使用溶剂溶解公交卡芯片，最后加上防磁贴就可以了。为免广告之嫌，这里就不放出淘宝地址了，请自行搜索该店铺。</p>
<p>1、首先在暗光处用强光手电照射公交卡就可以看到芯片和线圈的位置：</p>
<p><a href="http://zohead.com/wp-content/uploads/buscard-struct.jpg" target="_blank"><img class="alignnone size-full wp-image-646" alt="公交卡构造" src="http://zohead.com/wp-content/uploads/buscard-struct.jpg" width="384" height="311" /></a></p>
<p>2、用笔将位置标记出来，然后从公交卡上剪下来那一小块放到专用溶剂中浸泡几个小时，不想用溶剂的话也可以用美工刀之类的自己弄出来（是个技术活）：</p>
<p><a href="http://zohead.com/wp-content/uploads/chip-solvent.jpg" target="_blank"><img class="alignnone size-full wp-image-647" alt="溶解提取公交卡芯片" src="http://zohead.com/wp-content/uploads/chip-solvent.jpg" width="184" height="165" /></a></p>
<p>卖家说的几个小时就可以取出芯片，但实际我泡了十几个小时还是需要自己取出来（不过还好外框已经泡软，已经比较方便取出来了）。取出来的芯片如下：</p>
<p><a href="http://zohead.com/wp-content/uploads/buscard-chip.jpg" target="_blank"><img class="alignnone size-full wp-image-648" alt="公交卡芯片" src="http://zohead.com/wp-content/uploads/buscard-chip.jpg" width="273" height="334" /></a></p>
<p>3、将芯片清洗干净并晾干，下面就是关键的做线圈了，你如果动手能力比较强可以参考网上的方法用铜线来做，我这里就偷懒点直接用淘宝卖家做好的线圈贴上芯片了：</p>
<p><a href="http://zohead.com/wp-content/uploads/buscard-coil.jpg" target="_blank"><img class="alignnone size-full wp-image-649" alt="公交卡芯片线圈" src="http://zohead.com/wp-content/uploads/buscard-coil.jpg" width="350" height="235" /></a></p>
<p>4、将线圈贴到手机后盖上，这样其实还是不能用的，因为手机射频信号和公交卡 RFID 会存在干扰情况，因此再弄一张防磁贴贴到线圈上，一起放到手机后盖里（还算比较薄的），这样就基本大功告成了：</p>
<p><a href="http://zohead.com/wp-content/uploads/phone-buscard.jpg" target="_blank"><img class="alignnone size-full wp-image-650" alt="手机后盖上的公交卡芯片" src="http://zohead.com/wp-content/uploads/phone-buscard.jpg" width="368" height="471" /></a></p>
<p>接下来就是直接拿手机刷公交试试了，我测试的还算顺利，虽然有一次没刷成功，如果为了更好的效果也可以把上面的线圈和防磁贴帖到手机保护套上。值得一提的是上面的线圈是可以放三个卡的芯片的，你可以把考勤卡、门禁卡之类的芯片也集成进来哦。玩的开心 ^_^</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/diy-phone-buscard/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>2013上海劳力士大师赛观赛</title>
		<link>https://zohead.com/archives/shanghai-rolex-masters-2013/</link>
		<comments>https://zohead.com/archives/shanghai-rolex-masters-2013/#comments</comments>
		<pubDate>Wed, 16 Oct 2013 16:19:11 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[心情随笔]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[上海]]></category>
		<category><![CDATA[云盘]]></category>
		<category><![CDATA[大师赛]]></category>
		<category><![CDATA[德尔波特罗]]></category>
		<category><![CDATA[德约科维奇]]></category>
		<category><![CDATA[直链]]></category>
		<category><![CDATA[网球]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=563</guid>
		<description><![CDATA[本文同步自（最佳显示效果请点击）：https://zohead.com/archives/shanghai-rolex-masters-2013/ 2013年10月20日，上海旗忠网球中心，看到的上海网球大师赛男子双打及单打的决赛、颁奖仪式等，特别德约科维奇和德尔波特罗的男子单打决赛尤为精彩。以下所有照片都来自360云盘，本文章主要为测试360云盘直链的有效性用哈，所有照片都可以点击查看原图。 网球大师赛所在的上海旗忠网球中心，离市中心非常远，我先坐车到上海南站，然后地铁到莘庄，最后在莘庄可以坐赞助商的联邦快递网球大师赛专线公交到达： 决赛都在中央球场进行，中央球场的顶棚是可以在雨天关闭的，单 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本文同步自（最佳显示效果请点击）：<a href="https://zohead.com/archives/shanghai-rolex-masters-2013/" target="_blank">https://zohead.com/archives/shanghai-rolex-masters-2013/</a></p>
<p>2013年10月20日，上海旗忠网球中心，看到的上海网球大师赛男子双打及单打的决赛、颁奖仪式等，特别德约科维奇和德尔波特罗的男子单打决赛尤为精彩。以下所有照片都来自360云盘，本文章主要为测试360云盘直链的有效性用哈，所有照片都可以点击查看原图。</p>
<p>网球大师赛所在的上海旗忠网球中心，离市中心非常远，我先坐车到上海南站，然后地铁到莘庄，最后在莘庄可以坐赞助商的联邦快递网球大师赛专线公交到达：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=QbtvcI3E5PVui&#038;pass=060b" target="_blank" rel="noreferrer"><img class=" " alt="上海旗忠网球中心-中央球场" src="https://zohead.com/360pan.php?id=QbtvcI3E5PVui&#038;pass=060b&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">上海旗忠网球中心-中央球场</p></div>
<p>决赛都在中央球场进行，中央球场的顶棚是可以在雨天关闭的，单打决赛的时候打到第2盘之后已经是晚上，开启灯光的效果还是非常好的。</p>
<p>双打决赛颁奖仪式，从倒数第二高的看台看球场也还是很清楚的哦：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=Qbt2vUTYSSfKu&#038;pass=7f06" target="_blank" rel="noreferrer"><img class=" " alt="双打冠军颁奖仪式" src="https://zohead.com/360pan.php?id=Qbt2vUTYSSfKu&#038;pass=7f06&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">双打冠军颁奖仪式</p></div>
<p>现场大屏幕上显示下面要开始的男子单打决赛 - 小德对大菠萝：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=Qbt2hnfDKGiuE&#038;pass=bc2c" target="_blank" rel="noreferrer"><img class=" " alt="主看台" src="https://zohead.com/360pan.php?id=Qbt2hnfDKGiuE&#038;pass=bc2c&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">主看台</p></div>
<p>决赛开始，两位选手开始练球：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=Qbt8JpKzdTjKN&#038;pass=c1a5" target="_blank" rel="noreferrer"><img class=" " alt="练球" src="https://zohead.com/360pan.php?id=Qbt8JpKzdTjKN&#038;pass=c1a5&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">练球</p></div>
<p>比赛开始之后，大菠萝手很紧，无发球无正手又失误连连，很快就0：5落后，好歹在第一盘盘末时状态上来了扳回一局，1：6结束首盘：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=Qbt8S6K6wgVY9&#038;pass=bd7e" target="_blank" rel="noreferrer"><img class=" " alt="局间休息" src="https://zohead.com/360pan.php?id=Qbt8S6K6wgVY9&#038;pass=bd7e&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">局间休息</p></div>
<p>第二盘开始，大菠萝开始恢复成无敌正手状态，强攻打的小德有点招架不住，有惊无险扳回一盘。时间也到晚上了，球场灯光开启，看看球场上空的景象：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=Qbt8p2BAqD7HA&#038;pass=77ea" target="_blank" rel="noreferrer"><img class=" " alt="球场夜空" src="https://zohead.com/360pan.php?id=Qbt8p2BAqD7HA&#038;pass=77ea&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">球场夜空</p></div>
<p>第三盘之后，小德防守状态开始提升，大菠萝的进攻手感依旧凶猛，比分一直紧咬，可惜最后大菠萝的进攻没顶住，可能体力也有下降，在抢7中遗憾输给小德，还是没拿到人生中第一个大师赛冠军，小悲剧ing。。。</p>
<p>华丽丽的颁奖仪式：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=QbtEHUNG2PY3N&#038;pass=ee7a" target="_blank" rel="noreferrer"><img class=" " alt="单打决赛颁奖仪式" src="https://zohead.com/360pan.php?id=QbtEHUNG2PY3N&#038;pass=ee7a&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">单打决赛颁奖仪式</p></div>
<p>小德完美的 2013 亚洲赛季~~~：</p>
<p><div style="width: 650px" class="wp-caption alignnone"><a href="https://zohead.com/360pan.php?id=QbtW3Qm5ay2Lc&#038;pass=1137" rel="noreferrer"><img alt="小德夺冠时刻" src="https://zohead.com/360pan.php?id=QbtW3Qm5ay2Lc&#038;pass=1137&#038;w=640&#038;h=360" width="640" height="360" /></a><p class="wp-caption-text">小德夺冠时刻</p></div>
<p>在上海回南京的火车上遇到同样去看大师赛的一位同学，相谈甚欢，HOHO，得知其有明年去看美网的计划，必须都玩的开心咯 ^_^</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/shanghai-rolex-masters-2013/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Owl City 2013 Shanghai Live</title>
		<link>https://zohead.com/archives/owl-city-2013-shanghai/</link>
		<comments>https://zohead.com/archives/owl-city-2013-shanghai/#comments</comments>
		<pubDate>Fri, 06 Sep 2013 22:43:46 +0000</pubDate>
		<dc:creator><![CDATA[Uranus Zhou]]></dc:creator>
				<category><![CDATA[心情随笔]]></category>
		<category><![CDATA[生活]]></category>
		<category><![CDATA[Adam Young]]></category>
		<category><![CDATA[Good Time]]></category>
		<category><![CDATA[Owl City]]></category>
		<category><![CDATA[上海]]></category>
		<category><![CDATA[微云]]></category>
		<category><![CDATA[演唱会]]></category>
		<category><![CDATA[百度云]]></category>
		<category><![CDATA[直播]]></category>

		<guid isPermaLink="false">http://zohead.com/?p=541</guid>
		<description><![CDATA[本文同步自（最佳显示效果请点击）：https://zohead.com/archives/owl-city-2013-shanghai/ 2013年8月20日钟爱的 Owl City 猫头鹰之城个人乐队来到上海梅赛德斯-奔驰文化中心，主演 Adam Young 来次不易，下面是专门从常熟到上海现场所拍的照片和视频，本文所有图片和视频都直接引用自微云和百度云共享，用于测试微云和百度云共享直链的可用性，所有图片都可以点击查看原图。 文化中心夜景： Owl City 演唱会实景，由于在小的音乐厅中，所以可以很近距离接触歌手哦： 表演ing~~~： Owl City 最后的全场合唱异常欢乐的《Good [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>本文同步自（最佳显示效果请点击）：<a href="https://zohead.com/archives/owl-city-2013-shanghai/" target="_blank">https://zohead.com/archives/owl-city-2013-shanghai/</a></p>
<p>2013年8月20日钟爱的 Owl City 猫头鹰之城个人乐队来到上海梅赛德斯-奔驰文化中心，主演 Adam Young 来次不易，下面是专门从常熟到上海现场所拍的照片和视频，本文所有图片和视频都直接引用自微云和百度云共享，用于测试微云和百度云共享直链的可用性，所有图片都可以点击查看原图。</p>
<p>文化中心夜景：</p>
<div style="width: 650px" class="wp-caption alignnone"><a href="http://zohead.com/weiyun.php?id=a711667994767ac2eb0188a02a651b70" target="_blank"><img alt="上海梅赛德斯-奔驰文化中心" src="http://zohead.com/weiyun.php?id=a711667994767ac2eb0188a02a651b70&amp;w=640" width="640" height="361" /></a><p class="wp-caption-text">上海梅赛德斯-奔驰文化中心</p></div>
<div style="width: 650px" class="wp-caption alignnone"><a href="http://zohead.com/weiyun.php?id=08150b5d1c275a473e5c4ca3d159687f" target="_blank"><img alt="上海世博公园" src="http://zohead.com/weiyun.php?id=08150b5d1c275a473e5c4ca3d159687f&amp;w=640" width="640" height="361" /></a><p class="wp-caption-text">上海世博公园</p></div>
<p>Owl City 演唱会实景，由于在小的音乐厅中，所以可以很近距离接触歌手哦：</p>
<div style="width: 650px" class="wp-caption alignnone"><a href="http://zohead.com/weiyun.php?id=00051254236abedffe504c7d39e26021" target="_blank"><img alt="Owl City Live in Shanghai" src="http://zohead.com/weiyun.php?id=00051254236abedffe504c7d39e26021&amp;w=640" width="640" height="361" /></a><p class="wp-caption-text">Owl City Live in Shanghai</p></div>
<p>表演ing~~~：</p>
<div style="width: 650px" class="wp-caption alignnone"><a href="http://zohead.com/weiyun.php?id=bfd436fa370a375e476eff12822a53c0" target="_blank"><img alt="Adam Young's Show" src="http://zohead.com/weiyun.php?id=bfd436fa370a375e476eff12822a53c0&amp;w=640" width="640" height="361" /></a><p class="wp-caption-text">Adam Young's Show</p></div>
<p>Owl City 最后的全场合唱异常欢乐的《Good Time》视频哇：</p>
	<video id="wp_mep_1"   width="640" height="480" poster="http://zohead.com/weiyun.php?id=f41805eb04936c266ef5756839bf4e6d&amp;amp;w=640" controls="controls" preload="none"  >
		<source src="http://zohead.com/bdyun.php?allid=3656353960-1946456331" type="video/mp4" />
		
		
		
		
		
		
		<object width="640" height="480" type="application/x-shockwave-flash" data="https://zohead.com/wp-content/plugins/media-element-html5-video-and-audio-player/mediaelement/flashmediaelement.swf">
			<param name="movie" value="https://zohead.com/wp-content/plugins/media-element-html5-video-and-audio-player/mediaelement/flashmediaelement.swf" />
			<param name="flashvars" value="controls=true&amp;file=http://zohead.com/bdyun.php?allid=3656353960-1946456331" />			
		</object>		
	</video>
<script type="text/javascript">
jQuery(document).ready(function($) {
	$('#wp_mep_1').mediaelementplayer({
		m:1
		
		,features: ['playpause','current','progress','duration','volume','tracks','fullscreen']
		
	});
});
</script>

<p>需要实现微云和百度云直链的同学欢迎联系提问，玩的开心~~~ ^_^</p>
]]></content:encoded>
			<wfw:commentRss>https://zohead.com/archives/owl-city-2013-shanghai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
