2016年5月4日星期三

反代Blogger解决国内无法访问以及开启SSL

需求:
  • Blogger博客(blog.ohrz.net/renzhn.blogspot.com)被墙,国内无法访问
  • blog.ohrz.net原本是CNAME到ghs.google.com,相当于renzhn.blogspot.com的别名
  • Blogger后台可以自定义域名,但是自定义域名还不支持https
解决:
  • 在自已的VPS上架设反向代理(Reverse Proxy),然后把域名指向VPS
  • 访问过程:用户->VPS->ghs.google.com(blog.ohrz.net/renzhn.blogspot.com)->VPS->用户
  • 使用Nginx作为反向代理
效果:
  • 国内可以访问
  • 可以“开启”SSL支持
Nginx配置文件:

server {
        listen 80;
        server_name blog.ohrz.net;
        location / {
                proxy_pass http://ghs.google.com:80;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
        }
}

server {
        listen 443 ssl;
        server_name blog.ohrz.net;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        location / {
                proxy_pass http://ghs.google.com:80;
                proxy_set_header X-Real-IP  $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto https;
                proxy_set_header X-Forwarded-Port 443;
                proxy_set_header Host $host;
        }
}

2016年5月3日星期二

PHP检查是否为汉字

http://stackoverflow.com/questions/4923319/php-check-if-the-string-has-chinese-chars
You could use a unicode character class http://www.regular-expressions.info/unicode.html
preg_match("/\p{Han}+/u", $utf8_str);

安卓模拟器评测对比

近来买了一台Intel NUC作为NAS+HTPC,突发奇想可以用安卓模拟器来当电视盒子用,所以尝试了各种安卓模拟器软件,评测时主要考虑的有:支持全屏、干净(没有广告等)、支持快捷键(有的APP需要菜单键)

夜神模拟器:(编辑推荐)
  • 夜神是一个人名吗?
  • 快捷键:Home:主页键;Right Menu:菜单键;可以修改返回键键位以解决Esc退出全屏问题
  • 安卓系统:4.4
  • 干净指数:4/5
  • 可自由更换桌面
  • 可开启强制横屏
  • 兼容性最好,熊猫、斗鱼、虎牙均正常
  • 可以自由关闭不需要的功能
  • 可彻底全屏
DuOS:
  • 美国的American Megatrends出品,不知道高到哪里去了
  • 干净指数:5/5
  • 系统版本:5.1.1
  • 快捷键支持:旋转,缩放;Right Menu:菜单键;
  • 系统整合质量最高,很多独一无二的功能,比如开启adb调试后无需手动连接ip可以出现在宿主上adb devices列表里,也可以手动连接adb ip和端口
  • 可彻底全屏
  • 熊猫、斗鱼可正常观看;虎牙闪退
逍遥模拟器:
  • 没有菜单键快捷键,不过可以在少数需要按菜单键时点击工具栏的菜单按钮
  • 安卓系统版本:4.2
  • 干净指数:5/5
  • 虎牙、熊猫正常;斗鱼卡死
  • 可以彻底全屏,并且不会按Esc退出,通过鼠标移动到屏幕右侧激活工具栏取消全屏
  • 可自由更换桌面
Droid4x:
  • 快捷键:Home:主页键;Right Menu:菜单键;
  • 系统版本:4.2.2
  • 干净指数:3/5(中文)4/5(英文)
  • 兼容性好,虎牙、斗鱼正常使用,熊猫可启动但无法观看
  • 社区支持好
  • 不能忍的全屏了后,本来想用Esc键作为后退键时,结果退出全屏了...这个只好通过AutoHotKey+adb shell input keyevent解决
  • adb connect 127.0.0.1:26944
  • 可彻底全屏
  • 默认不能换桌面,可通过LuckyPatcher破解签名验证后开启
  • 奇葩的是,如果更换桌面壁纸会马上换回默认壁纸
iTools模拟器:
  • 干净指数:5/5
  • 没啥快捷键
  • 可彻底全屏
  • 系统版本:4.4
  • adb connect 127.0.0.1:54001
  • 内置Nova Laucher作为默认桌面,可自由更换其他桌面,好良心啊~
  • 可以自由关闭不需要的功能
  • 虎牙正常、斗鱼闪退...又试了熊猫TV:可以启动、观看闪退;别的还好,就是直播软件多数都没法用
Bluestacks:
  • 干净指数:3/5
  • 在NUC上没有启动成功,卡在加载中,重装重启也没用。后来在另一台电脑启动成功
  • 社区支持比Droid4x还好
  • 快捷键:Right Menu:菜单键;
  • 定制的有点过头,新启动一个APP就会在标题栏新开一个标签,对于HTPC来说多余,并且标题栏不能隐藏
  • 不能彻底全屏
天天模拟器:
  • 支持快捷键:Home:主页键 Esc:返回键 F1:菜单键 F4:睡眠键(熄灭屏幕) F11:全屏/退出全屏
  • 界面干净指数:4/5
  • 安卓系统版本:4.4.4
  • 虎牙斗鱼都闪退
  • 不能忍的是虚拟键是外置的并且不能隐藏,不能彻底全屏
新浪手游助手:
  • 干净指数:1/5
  • 系统版本:4.4
  • 支持代理
  • 感觉界面在哪见过

注:
  • 以上测试的视频客户端主要来自沙发管家的TV版
  • 以上都有ROOT功能
  • 以上均在Windows系统测试

附AutoHotKey脚本:
^!h::Run, adb shell input keyevent 3,,hide
^!b::Run, adb shell input keyevent 4,,hide
^!m::Run, adb shell input keyevent 82,,hide
^!r::Run, adb connect 127.0.0.1:26944,,hide

说明:
Ctrl+Alt+H:Home键
Ctrl+Alt+B:Back键
Ctrl+Alt+M:Menu键
Ctrl+Alt+R:连接adb