翻墙回国:Linux单臂路由和透明代理-细节

上篇讲了讲原理,这个文章记录一下细节。 一、远程服务器 腾讯Cloud现在有活动,99一年,500G月流量。装shadowsocks-libev和dnsmasq. shadowsocks是代理服务器,dnsmasq提供中国境内的DNS解析。 # dnsmasq.conf port=7753 bind-interfaces Config.json for shadowsocks { "server": "0.0.0.0", "server_port": 7788, "password": "ABCDefghijklmnopq", "method": "chacha20-ietf-poly1305", "timeout": 600, "no_delay": true, "mode": "tcp_only" } 二、本地Linux 首先Enable routing:然后sysctl -p使之生效 # /etc/sysctl.conf net.ipv4.ip_forward=1 创建一个所有中国IP的ipset: curl 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | grep ipv4 | grep CN | awk -F\| '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > chnroute.txt sudo ipset create chnroute hash:net cat chnroute.txt | sudo xargs -I ip ipset add chnroute ip 设置所有的中国IP都转发到本机的7892端口,clash的redir端口。 # 在 nat 表中创建新链 iptables -t nat -N SHADOWSOCKS # X.X.X.X 是远程shadowsocks的地址,不用转发它,否则该死循环了 iptables -t nat -A SHADOWSOCKS -d X.X.X.X -j RETURN # 局域网地址 iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN # 所有的中国IP去本机7892端口 iptables -t nat -A SHADOWSOCKS -p tcp -m set --match-set chnroute dst -j REDIRECT --to-ports 7892 # 把这个Chain放在PREROUTING里 iptables -t nat -I PREROUTING -p tcp -j SHADOWSOCKS 设置clash代理 ...

二月 24, 2021 · Shawn Ma

翻墙回国:Linux单臂路由和透明代理-概述

最近折腾家里的网络,主要解决的问题是国内各大视频音乐网站都有IP限制,无法观看。这个其实unblock youku插件在桌面可以解决,但是在手机上就不行了。于是进阶的方案是在国内买个VM,然后弄个http/socks proxy。这个方案的缺点是得给每个设备手动指定代理,而且国外的网站又不想走代理(会被墙!),自动选择代理的pac脚本也不是所有的设备都支持。所以就只剩最复杂的方案,透明代理。原则上来说,就是在家里的某个路由器上折腾一下,把所有的国内流量通过代理送过去,其他的流量走原来的路线。 透明代理 透明代理的原理是Linux Kernel提供的一个功能。它可以把符合某个条件的报文直接转发到一个端口,由软件来处理。这样的话,我们就可以把所有的中国IP都直接转发给本机的一个本地代理,然后本地代理转发给一个国内的远程代理,这样这个请求就看起来像国内的IP了。如果流量不是问题,这个其实实现起来非常简单,通过IPSET可以把所有的中国IP都包含在内,然后直接全部转发。只是很多网站是视频网站,我的国内虚拟机每月只有500G,可能不是很够,所以最好能像unblock youku一样,只是认证过程走国内流量,播放部分继续直接走默认路由。 代理选择 一开始我研究了squid。这个是上个世纪就存在的代理了。它可以缓存网页来达到加速效果,但是在https横行的世界,缓存并没有什么用。当然,有的代理(mitmproxy,Man In The Middle Proxy)可以自动生成中间人证书,就可以查看每个SSL/TLS的流量是什么内容了(这个将来也许可以用来做家长控制)。我折腾了很久的squid,就是不能让它集联起来,本地代理死活不去找远程代理。另外一种是著名的翻墙软件shadowsocks(ss),我这个其实应该不用那么复杂,因为并不需要隐藏内容,但是相关的软件实在多,所以我最后还是用了ss。普通的https proxy应该也是可以的。最后我的Client Proxy是clash,Server Proxy是shadowsocks-libev。Clash是一个中国小伙用go写的,可定制性高一些。 方案一 说到路由器,第一反应是搞open source的定制的ROM,比如OpenWRT。BTW DD-WRT已死,RIP。有人给OpenWRT做了一个shadowsocks的plugin,理论上就可以在路由器上配置哪些网站通过shadowsocks出去。这个显然是给国内翻墙出来用的。这个方案有这些问题: 路由器得可以烧OpenWRT。我家的不行。 还必须得搞某个国内大神自己编译的版本,才能有那个plugin,不是很靠谱。 直接在x86上装openwrt当纯路由——OpenWRT不太支持UEFI,然而新的电脑都是UEFI,所以根本无法启动。 OpenWRT是嵌入式软件,改动起来很麻烦,懒得搞cross compile那些。 Tomato之类的也都类似,放弃了。 方案二 既然OpenWRT不靠谱,那么找些专门的路由软件吧。这个比较著名的有pfSense,OPNSense之类的防火墙兼路由系统。这个也有问题: 都是基于FreeBSD的,缺少一个Linux Kernel提供的功能:iptables REDIRECT。 既然主业是防火墙,那应该站在modem和wifi中间,需要一个双网卡的机器,然而我不想去买个新机器。用某些VLAN的方案也许可以,但是setup也很麻烦。 方案三 最后的方案还是fallback到vallina Linux,并且手动设置它为路由器,还用iptables做了转发。一开始不想用这个的方法其实是不想手动设置这些,不过最后看来也不是很复杂。具体内容包括 设置Linux可以转发报文——这个只用改动一个内核配置就好了 用ipset和iptables设置所有的中国IP都REDIRECT到本机的代理端口 这个端口不是普通的proxy端口,必须是要能理解REDIRECT的端口。该服务要查询kernel询问原来的目的地才能做到转发,否则,这就是一个从device到本地代理的普通TCP链接请求,没有任何意义。这也是为什么必须用clash或者ss-redir(shadowsocks的一个组件),redsocks的原因。 本地代理根据某些规则,进一步决定是否要转发去上级代理(国内),还是自己直接链接服务器。比如我们想要youku.com的域名全部去国内的代理,但是其他的一些CDN就直连。这个只有clash做的比较好,可以定义规则。golang想加点东西也很容易。 本地代理从TCP上只能看到IP地址,如何知道其域名从而运行规则呢?当然我们可以做反向域名解析,但是这个太慢,而且不可靠。Clash做了两个黑科技。总体来说,它自带一个DNS,要求客户端链接它的DNS。这样客户端做了DNS解析后,它存一份在内存里,这样请求来了之后它就可以直接做内存里的反向查询。它还有一个叫fakeip的技术,就是每个DNS请求都返回一个不可路由的192.18.0.0/16的IP段地址,这样收到请求后它就可以一一对应IP和域名。当然,这个对于我这个只转发部分IP的情况不适用。 DNS还有另外一个问题,如果DNS解析发生在国外,如果该网站在国外有分舵(bilibili在LA就有),那么问题根本没有解决。所以要求中国的域名要发到中国的解析。还好Clash也有支持,虽然它是设计来给国内用的,但是也可以解决我们的问题:在fallback-filter.domains里面列出要去backup nameserver的,就可以了。支持域名后缀。 接下来应该设置DHCP服务器,让所有的设备的网关和DNS都指向这个Linux,它就成了一个软件路由器。它的下级是原先的真·网关。可以在原有路由器的DHCP上改,或者直接关闭,在Linux上配置一个DHCP服务器。我们家的路由器即不能改DHCP,也不能将其关闭,只能手动一个一个设置静态IP了?。打算扔了重新买个。 其他的一些问题 IPV6 这个目前并没有好好支持,但是好在中国的网站支持ipv6的也不多。加上应该也不是很困难,原理是一样的。等IPv6再普及一些吧。 IPTables/ipset vs nftables 新的nftables应该可以替代iptables/ipset,但是现在这个规则也比较简单,以后再说了。。 这个是概述,下一篇写写具体的设置,命令。 参考 http://ivo-wang.github.io/2018/02/24/ss-redir/ https://0x01.io/2017/04/01/x86-软路由透明代理构建方案/

二月 24, 2021 · Shawn Ma

Reloaded

把机器弄到新的VPS server——没办法,搬家过程中,没有网络,只能租一个地方来放点东西。便宜倒是挺便宜,只是OpenVZ做的VPS不够稳定,有一次稀里糊涂的硬盘空间就没了,还有长达半个月的时间里,php fastcgi的进程总是莫名其妙的被kill -9。今天灵光一闪,搞来php-fpm,才算稳定下来。另外有时候还一顿一顿的,就像java VM里面的GC一样。内存只有512M,没有swap(也不能有,OpenVZ的限制),Sun的java虚拟机根本启动不了,没有足够的内存。好在我们还有JRockit。加上jetty(还试过winstone,不过也没啥太好的效果),内存70M左右。。。总之,所谓便宜没好货,还是Xen的好一点。 又回到美国,跟10年前的感觉还是不一样的。有空跟大家八卦八卦……

一月 2, 2012 · Shawn Ma

“p4eclipse插件checkout之后还是只读”问题

六月 3, 2011 · Shawn Ma

Ipad的蓝牙和地图

发现2008年写了一个对新笔记本的希望,没想到今年买了一个ipad,还真挺符合我的要求的。稍微有这么一点差异: ARM CPU vs ATOM CPU。ARM应该也还好了,好像很多便携设备都用ARM。没有仔细比较过。 没有windows系统。很多网银是用不了的。这个没啥办法。。。 不要内置的GPS还被我说中了-_-“”。不过这个问题还好,我有Holux M-241,加上roqy bt这个软件,GPS基本解决。 价钱基本上说对了,499美元。不过加税就超过500美元了。 不过ipad也有两个超出期望地方:多点触摸和重力感应。这两个东西带来的有意思的东西还是蛮多的,很多游戏只能用这两个东西来玩,很有趣。 嗯。说回到地图的问题。其实这有两个问题,一个是希望有offline map,另外一个是希望有导航,或者最基本的,能用GPS在地图上显示我目前的位置和方向(就像手机版本的google map一样)。上个礼拜研究了一下还是有所进展的。 蓝牙问题 ipad是带蓝牙的,不过它的蓝牙很“封闭”,比如蓝牙的GPS的SPP Slave模式就不支持。你要上大街上买个蓝牙键盘,也不支持,只能买苹果的蓝牙键盘,唯一支持的就是蓝牙耳机。还好我们可以越狱,目前方案有两种,一个叫roqy GPS,这个可以替换掉ipad内置的蓝牙stack,就可以连上GPS了。不过这个只支持GPS,想要接蓝牙键盘,不行。Cydia可以下载到,定价8欧元。不过在weiphone可以搞到破解版。另外一种叫btstack,本身是开源的,不过如果想要支持GPS,请掏5美元(还是affordable的,我差点就买了)。如果想要支持keyboard,另外交一点。不过,btstack keyboard在tgbus也有破解版,没有试过……(PS, 蓝牙键盘看起来也很不错,尤其是那种可以折叠的Nokia的键盘。只是要300元,似乎不是很值) 地图问题 蓝牙GPS问题解决了,Google Map显示我就是一个点了。MotionX GPS也可以工作了。从Hackluous可以下载到tomtom的国外的导航(北美、欧洲),从weiphone可以下载到某国产的中国导航软件,这样 导航的问题也还ok,但是这两个软件都是iphone的(超小),而且不是地图软件——导航的软件跟地图还是挺不一样的,导航的往往只能显示眼前的地图, 没有全局观,很不爽。 研究了一下,离线地图大概有这么几种解决方案。 iphoneofflinemap,一个台湾人搞的。原理是利用现有的苹果maps应用,把所有的离线地图放在它的缓存里面。不过在3.2.x似乎有点问题,貌似maps在联网的情况下会写入这个文件,似乎会导致这个文件的不一致(删地图?)。我倒是想了一个狠招,因为maps是以普通用户身份运行的的,把那个缓存文件用root写入并且设置其他人只读,应该能解决这个问题。不过总之觉得这个不是狠靠谱,也不喜欢那个map生成器。。。 Offmaps. iphone应用,在ipad不能全屏。下载地图只支持openstreetmap,没什么兴趣研究。等它出ipad版本再搞它。。 MotionX GPS HD。这个倒是全屏,而且支持GPS,支持tracking。最重要的是,它也支持下载地图,当然,只能下载openstreetmap的地图,不过这个地图怎么看怎么难过,不知到是对比的问题还是怎么样,总之很不清楚。北京的地图更是不可用了。所以需要想办法用Google或者是bing的地图覆盖之。稍微研究了一下,他的下载之后的地图就是直接放在一个目录下(后缀.data,其实就是png),然后有一个sqllite的小数据库做索引,记录某个文件是对应哪一块,哪天下载的等等。为了省空间他对重复下载的块只是增加引用计数 -_-。所以,理论上用Google的图覆盖之时候可能的。待有时间研究来……

八月 29, 2010 · Shawn Ma

Hacking ipad (4)

啊,居然写了一个4。 因为我发现了一个有趣的事情。一直在找一个能offline使用map的应用,不过都不太好。OffMaps这个软件本身就收费,用的地图也是openstreetmap的地图——中国部分极差。有人做了一个ipad自带的map的离线方法,不过在新版里很不好用,因为它是通过改map的sqllite缓存数据库来实现的。考虑到用j2me写过一个简单的地图程序,开始琢磨是不是可以在ipad上自己写个小程序。但是苹果要求首先要有一只mac,而我并没有买一只的打算,只好另求他法。 首先想的是是不是有交叉编译的办法,一查,还真有,有一个项目叫iphone gcc,就是用gcc来交叉编译objective-C,然后把iphone的root文件系统,以及iphone sdk里面头文件、连接库搞到一台Linux上,就可以开发了。听起来很不错,不过看了Saurik的guide之后,就放弃了这个想法。网上说有人做了一些vmware的image,不过没有找到link,不然倒是挺好的一个选择。 后来在网上找到一个帖子,又想起来Cydia里面有一个iphone-gcc,决定试一下用ipad直接来开发。用apt-get安装iphone-gcc, make, ldid等等,还是要用VPN解决一下Cydia的cache的问题。还下载了180M的头文件。试了一个tab demo,cc1出问题:bus error,直接去/usr/libexec/…去执行cc1,报告说:cannot allocate memory。分特。杀掉mail,safari,还是不够,奇怪的很。最后发现,我装的iphone-gcc来自tgbus的源,版本是2009xxxx,而saurik的iphone-gcc版本(以及libgcc的版本)还是2008xxxx,删掉tgbus的源,重装,make,make install,哇哈哈,安装成功! 接下来有空得学习一下objective-C了。这个东西真的语法很诡异。没有GC的软件写起来也很痛苦。我怎么知道什么时候release/autorelease?

八月 24, 2010 · Shawn Ma

Hacking ipad (3)

Step 3. Installous 和 AppSync 前两天在weiphone看到了这个帖子,发现我做的这些别人都做过了,要是早点看到这个帖子就省好多事情了。weiphone看来是现在讨论苹果很火的地方,ipad软件板一天有一千多个帖子。 不过还是简述一下我的过程。Cydia里面可以找到Installous这个软件,装上之后就是一个软件列表,有点类似itunes,不过可以想象,这就是一个盗版的集合。我试着装了两个,结果安装的时候告诉我,Invalid IPA文件。IPA是苹果ipad软件的发布包,其实就是一个zip。搞了半天都不成功。又从weiphone当来别人的ipa,用iTunes导入,也不行。Google之,发现原来还要额外的破解。这就是AppSync这个破解,它在cydia.hackulo.us这个源可以找到。有趣的是Cydia还会警告说,这个网站含有盗版的内容…… AppSync其实就是覆盖现有的installd这一个文件,让他在安装软件的时候不检查数字签名。然后世界各地的同志们就用另外一些软件,把从app store买来的软件rip成IPA,就可以下载安装了。 很好,很强大。

八月 17, 2010 · Shawn Ma

Hacking ipad (2)

Step 2. Cydia和SSH 上回说道,装了一个Cydia。他默认带了一些安装库的列表,大概有什么三四个,国内有两个还不错的source,一个是tgbus的,一个是weiphone的,tgbus的似乎还更加全一些。如下: http://iphone._tgbus_.com/_cydia_/ http://app._weiphone_.com/_cydia_/ 怎么使用Cydia很容易搞明白,那么几个按钮按按就出来了。第一个打算装的就是OpenSSH,可是很快就发现,这个Cydia有问题,总是报:cache failed, host unreachable之类的,即使我从tgbus安装也是如此。根据“你不可能是第一个”的原则,搜了一下,weiphone上有人提出了一个解决方案,就是替换Cydia的一个官方source。可是我现在又没有shell,又没有iFile之类的,怎么去编辑那个文件呢?最后还是在iPad里设上Proxy,连过去,就好了,有点奇怪,不知道Cydia为什么要这么做。Proxy的log显示,装Open SSH的时候访问了这些文件: http://cache.cydia.saurik.com/api/package/openssh http://iphone.tgbus.com/cydia/.//debs/cydia-3.7//openssl_0.9.8k-9_iphoneos-arm.deb http://iphone.tgbus.com/cydia/.//debs/cydia-3.7//openssh_5.2p1-8_iphoneos-arm.deb http://cache.cydia.saurik.com/api/package/openssh 不知道它为什么在安装前后要访问cache那个站点。而且我直接访问那个文件现在似乎又是通的了(不是host unreachable了),不过总是返回403 forbidden。很奇怪。有功夫再研究一下。 SSH装了之后好像是自动启动的,不过还不知道是在哪个脚本或者配置里,不过已经可以登录了。root的密码是alpine,苹果默认的。我给机器指定了一个wifi的IP地址,就可以连上了!不过,比较诡异的事情是,Cydia默认安装的那些东西里居然没有ps这个命令,ps在adv-cmds这个包里,需要新安装!没有ps,失去了很多窥探的乐趣。 好了,装上了,来窥探一下到底跑着哪些进程: sma-mato-iPad:/usr/bin root# ps -ef UID TIME CMD 0 0:03.80 /sbin/launchd 65 0:01.23 /usr/sbin/mDNSResponder -launchd 0 0:06.18 /usr/sbin/notifyd 0 0:00.87 /usr/sbin/syslogd 0 0:27.02 /usr/libexec/configd 501 0:00.11 /usr/sbin/BTServer 501 12:39.09 /System/Library/CoreServices/SpringBoard.app/SpringBoard 0 0:00.26 /System/Library/PrivateFrameworks/CoreTelephony.framework/Support/CommCenter 0 0:10.09 /usr/libexec/lockdownd 0 0:02.79 /usr/sbin/fairplayd 0 0:00.02 /System/Library/CoreServices/MobileStorageMounter.app/MobileStorageMounter 0 0:05.22 /usr/libexec/locationd 501 0:01.05 /System/Library/PrivateFrameworks/DataAccess.framework/Support/dataaccessd 501 0:01.04 /usr/sbin/accessoryd 501 0:02.70 /usr/libexec/lsd 501 0:00.08 /System/Library/SystemConfiguration/EAPOLController.bundle/eapolclient -i en0 -u 501 -g 501 0 0:06.54 /usr/sbin/sshd -i 501 0:10.90 /usr/sbin/mediaserverd 501 0:40.64 /Applications/Installous.app/Installous 0 0:28.12 /usr/sbin/sshd -i 0 0:03.36 /usr/libexec/sftp-server 0 0:00.04 /System/Library/Frameworks/SystemConfiguration.framework/SCHelper 501 0:01.23 /usr/libexec/installd -t 30 0 0:00.48 -sh 0 0:00.01 ps -ef 其中,lanuchd大概相当于传统Unix的init,是所有进程的爸爸进程。 mDNSResponder据说是Bonjour 的一个组件,提供multicast DNS(DNS multicast? 啥意思?)服务,可能只是一个DNS解析器吧?好像没有看到Bonjour 的进程诶。 SpringBoard就是iPad的主界面。有Hacker们对这个进程也做了手脚,搞了一些WinterBoard,SummerBoard来改变默认的屏幕,挺有意思。。 eapolclient是无线网的客户端吧,大概相当于wpa_supplicant? Installous和installd是我正在搞的事情,下回再说。 ...

八月 6, 2010 · Shawn Ma

Hacking ipad (1)

搞了一个ipad,第3次入手苹果的产品(前两个是ipod)。 从设计上来说的确很不错,132 DPI的IPS屏幕很亮丽,虽然没有iphone 4的Retina那么厉害,但是显示也是很细腻。苹果的A4处理器内置了GPU,各种动画效果也没有什么停滞感。但是缺点也是很明显,第一条就是不能多任务,主要是一些MSN QQ之类的东西每次打开必须重新登录,就很麻烦。第二是,在我们家的网络里,wifi很不好,从路由器ping过去,有30%的丢包,后来据说多频段路由器就会有这个问题,就改成了G only,还是不行。我也升级了据说解决这个问题的3.2.1的固件,依然没有起色。不过今天在公司的表现不错,355个包一个没丢。可能是公司的路由器比较好吧。 苹果最有趣的当然就是它的app store了,不过app store里的免费软件大多很无聊,稍微像样一点的就要收费,而且有的比如keynote就实在太贵了,咳咳,只能hack一下了。这篇(系列)文章就记录一下这个过程里面的有趣的事情;另外hack一个系统本身就是一件很有趣的事情,有时候这个过程比真正的目标比如keynote还要有趣。不过为了让自己的同行有口饭吃,尊重别人的劳动,有些便宜的软件还是打算去买一下的。 Step 1, 越狱(Jail Break) 简而言之,越狱的目标是让ipad可以装任何的软件,给它撕开一个口子让我们可以进去,装一些比如像ssh和GNU那套东西。以前ipad的越狱软件是叫Spirit,不过可能在我的新固件上用不了,所幸就在前两天,一个叫jailbreakme的网站发布了,直接访问这个网站就可以越狱了,试了了一下,真的很方便。看了一下它的源码,没太搞明白,中间有很多计算的脚本,还用一个pdf文件创建了一个Image的javascript对象,倒是让我觉得ipad的浏览器是不是有什么严重的漏洞,是不是很不安全? 越狱的结果就是安装了一个叫Cydia的程序。这个程序用类似Debian Linux的方式来安装程序,通过package好的deb包就可以把应用装进系统了,这个主要是用来装一些第三方的应用,比如ssh。越狱的过程还会默认给你安装好一些简单的命令行工具,比如GNU Core Utils,bash,apt,diff等等。不过比较搞笑的是,虽然安装了这些程序,但是并没有办法使用它们,因为我没有办法获得一个shell!接下来还是要装个ssh,这样就可以登录到ipad上去了。可是用Cydia装ssh并不是那么简单——得感谢我们的伟大的长城。 PS,Ipad的浏览器Agent字符串是: Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B405 Safari/531.21.10 待续。

八月 5, 2010 · Shawn Ma

一些小事

话说一年前有一个blog,说的是我搞的一些geek stuff,现在回顾起来,有不少还真实现了。 IdeaPad S10。联想的上网本,买了一个,虽然ATOM发热很小(TDP=2.5W?),但是不知道联想什么狗屁设计,笔记本还是非常的烫,风扇也总是响,而且整个机器塑料感很强,就是一句话,便宜没好货啊。 802.11n的无线路由器。今年受了联通的蛊惑,把家里的ADSL升级到2M,年缴带什么“信息推送”1520元。回家后发现反而更差了,被老婆骂了几天,一狠心一跺脚买了一个Buffalo WHR-G300N的Wireless N路由器,回来都没看自带的固件长什么样,就给刷了DD-WRT,支持一下Linux。这个东西有一条好处就是可以设QoS,这样浏览Web的时候就不会因为后台用电驴当东西而觉得特别慢了。不过由于我把下载的那个机器直接搞到Bulk级别,以至于现在我自己telnet回去都很慢。说到那个联通信息推送,却是从来没有见过。不过据说那个特别狠,是在路由器边上做了一个监听器,当你访问某些网页的时候就会直接返回给你一个广告,都没法屏蔽,因为你看起来就想是你访问的那个网站发给你的。跟GFW有一拼。 最后是NAS和HTPC。NAS太贵,而且需求也不是特高,现在电影也就看720p的,再大那台P4根本看不了。于是只搞了一只1T的移动硬盘。HTPC就用一个P4 3.0的凑合着,用的时候才开。 不过有意思的是,现在有一些新的解决方案,似乎可以把下载机服务器NAS和HTPC都放在一个机器上。说实话我看家里那两个机器都相当过时了。主要就是基于ATOM和ION平台的小板子,比如SOTAC IONITX-A-E,和ASUS AT3N7A-I。他们的功耗和发热都相当的低,第一块板子根本没有风扇,电源也是类似笔记本的电源。同时由于他们带NVIDIA的9300显卡,看1080P的高清真是很容易,CPU使用率只有13%。整机功率应该也还好,有人说带4、5块硬盘只有40w,还过得去了,等有机会搞一搞。 参考 家庭媒体&存储中心之硬件篇 DIY: 用OpenSolaris和ZFS搭建家用NAS PS,纪念一下今天,Google号称要离开中国的日子。

一月 13, 2010 · Shawn Ma