About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jul

    1

    以下整个过程在 root 用户下操作和运行。

    安装 Shadowsocks

    $ sudo apt-get update
    $ sudo apt-get install python-gevent python-pip
    $ sudo pip install shadowsocks
    $ apt-get install python-m2crypto

    配置 Shadowsocks 

    创建 config.json 配置文件:

    $ vi /etc/shadowsocks.json

    修改 config.json:

    {
        "server":"0.0.0.0",
        "server_port":8388,
        "local_port":1080,
        "password":"password",
        "timeout":600,
        "method":"aes-256-cfb"
    }

    配置一下你的 服务器IP 和 密码 就可以了。然后保存并退出(VI 编辑器保存与退出方法:按住 Shift 键不放,再按两下Z键)。

    运行和停止 Shadowsocks

    $ su -
    # ssserver -/etc/shadowsocks.json -d start
    # ssserver -/etc/shadowsocks.json -d stop

    原文链接:《Ubuntu 14.04 VPS安装配置Shadowsocks的方法

    Jul

    1

    通过 MacBook 搭建 IPv6 测试环境

    • 0 Comments
    • Miscellaneous

    正常情况下的 Adobe AIR SDK 的用户并不知道已经经过预编译的 SDK 使用了哪些 API,所以也就不能够知道是否能够支持 IPv6。在提交审核时如果被拒,苹果会要求开发者自己同样需要先在 IPv6 环境中测试是否能够正常运行。一般被拒时会这样提示:

    Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required.

    For additional information about supporting IPv6 Networks, please refer to Supporting IPv6 DNS64/NAT64 Networks.

    For a networking overview, see About Networking.

    Please ensure that your app is compatible with IPv6 networks.

    无论是向委会员提交审诉或提交一个新的版本重新进入审核,都要在本地先进行测试所有功能是否能够完全兼容 IPv6,否则还是会被拒。Mac OS X 能原生支持 IPv6,在本地搭建一个 IPv6 测试环境很容易。

    More...

    Jun

    27

    本地下载: 简易FTP服务器.zip

    感觉用这个文件架设服务器端太简单了,根本无需服务器端的安装和环境配置,无论是在公网还是局域网共享文件都非常方便,单文件绿色直接运行。

    Apr

    19

    WIN 10 禁用 AAM Updates Notifier

    • 0 Comments
    • Miscellaneous

    在 WIN 10 系统中,安装 Adobe 的一些软件后,AAM Updates Notifier 默认很可能会在每天凌晨2点自动检查更新,挺烦它的。

    禁用方法:在任务栏“开始”菜单上点右键(不是左键),选择“运行”,输入“taskschd.msc”,启动“任务计划程序”,就能看到“AdobeAAMUpdater”开头的计划任务,删除它,从此世界就安静了。

    Apr

    18

    机型 宽高比 屏幕模式
     iPhone3GS  320  480  0.667  1x
     iPhone4 & 4S  320  480  0.667  2x
     iPhone5  320  568  0.563  2x
     iPhone6  375  667  0.562  2x
     iPhone6 Plus  414  736  0.563  3x

    纯 AS3 异步读取 iPhone 屏幕物理点数的方法参考以下链接:

    1、《Adobe AIR 读取屏幕物理点数(非物理尺寸、非像素尺寸)的方法

    2、《读取 iOS 屏幕物理点数完整样例代码

    除了纯 AS3 获取方式外,一些第三方的 ANE 带有同步获取屏幕物理点数的方法。

    Apr

    18

    将多个 SWF 文件合并为一个 SWF

    • 0 Comments
    • Flash Platform

    偶然看到的《将多个 SWF 文件合并为一个 SWF 以进行 iOS 部署》,感觉并没有什么用,或者说它是一种已经落后的淘汰的技术。

    iOS 部署现在支持多个 SWF 打包。如果一定要从技术上实现多个 SWF 合并成一个 SWF 文件,更推荐这两种:第一种,以原生库元件技术上合并,推荐使用 SWFTools 的合并功能,同样是命令行操作;第二种,以二进制文件作为库元件来说,不如 hxswfml,既提供了命令行版本,也可以纯 AS3 实现。

    Apr

    8

    在 Windows 10 系统中,桌面 Adobe AIR 应用无法跟随系统启动,最后发现是 Windows Defender 在搞鬼,解决办法就是关闭 Windows Defender。

    在 Windows Defender 设置中关闭实时监控是临时的,过一段时间它会自动启动,或在下一次系统启动时它又会重新启动,所以必须是永久性的关闭 Windows Defender。找到了两种永久性的关闭的方法:

    方法一:安装一个第三方的杀毒软件,它就会自动关闭了。

    小红伞,诺顿,卡巴等等。

    方法二:通过 WINDOWS 本地组策略设置。

    运行 — gpedit.msc — 启动本地组策略编辑器 — 计算机配置 — 管理模板 — Windows 组件 — Windows Defender — 关闭 Windows Defender — 按确定 — 重启计算机,搞定。

    Apr

    8

    配置文件:201604081553133616.zip

    存放目录:WizBrother\CyberArticle\Plugins\Import\SourceCode2HTML

    Apr

    8

    Windows 10 LTSB 版本 KMS 地址激活

    • 0 Comments
    • Miscellaneous

    以管理员的权限启动 CMD 窗口(不要直接启动 CMD,必须以管理员的权限启动 CMD)。  

    slmgr /ipk WNMTR-4C88C-JK8YV-HQ7T2-76DF9
    slmgr /skms 54.223.212.31
    slmgr /ato

    备注:其中 KMS 激活用的 IP 地址 54.223.212.31 不保证它永久有效(本人是用这个地址激活的),如果这个 KMS 地址失效了可以在百度上搜一下,找到其它用于 KMS 激活的服务器地址。

    Apr

    2

    Google Play 报 AIR 应用 OpenSSL 漏洞问题已经不是一次两次了,2014 年和 2015 年都有过一次,今年 2016 年果不其然的又来一次,看到 Starling 开发者论坛里其它人也收到了类似的警告(下面是两个案例贴子):

    1、Google Play warning: You are using a vulnerable version of OpenSSL

    2、Open SSL Version in AIR

    警告的内容大致如下(事实上在 Google 搜索里可以找到其它平台的开发人员也收到了类似的警告,不仅仅只是 Adobe AIR 平台的开发者):

    Hello Google Play Developer,
     
    Your app(s) listed at the end of this email utilize a version of OpenSSL that contains one or more security vulnerabilities. If you have more than 20 affected apps in your account, please check the Developer Console for a full list.
     
    Please migrate your app(s) to OpenSSL 1.02f/1.01r or higher as soon as possible and increment the version number of the upgraded APK. Beginning July 11, 2016, Google Play will block publishing of any new apps or updates that use older versions of OpenSSL. If you’re using a 3rd party library that bundles OpenSSL, you’ll need to upgrade it to a version that bundles OpenSSL 1.02f/1.01r or higher.
     
    The vulnerabilities were addressed in OpenSSL 1.02f/1.01r. The latest versions of OpenSSL can be downloaded here. To confirm your OpenSSL version, you can do a grep search for ($ unzip -p YourApp.apk | strings | grep "OpenSSL").
     
    To confirm you’ve upgraded correctly, submit the updated version to the Developer Console and check back after five hours. If the app hasn’t been correctly upgraded, we will display a warning.
     
    The vulnerabilities include "logjam" and CVE-2015-3194. The Logjam attack allows a man-in-the-middle attacker to downgrade vulnerable TLS connections to 512-bit export-grade cryptography. This allows the attacker to read and modify any data passed over the connection. Details about other vulnerabilities are available here. For other technical questions, you can post to Stack Overflow and use the tags “android-security” and “OpenSSL.”
     
    While these specific issues may not affect every app that uses OpenSSL, it’s best to stay up to date on all security patches. Apps with vulnerabilities that expose users to risk of compromise may be considered in violation of our Malicious Behavior policy and section 4.4 of the Developer Distribution Agreement.
     
    Apps must also comply with the Developer Distribution Agreement and Developer Program Policies. If you feel we have sent this warning in error, contact our policy support team through the Google Play Developer Help Center.
     
    Regards,
     
    The Google Play Team
     

    测试了有两种方法可以解决这个问题,但每种方法都会存在问题。

    第一种方法:就如 Starling 论坛里面其它开发人员所述的,使用 AIR SDK 21 重新编译,然后再重新发布新版本。但这种方法并不代表是永久性的消除了问题,过一两年后也许在 2017 年…又会报旧版本 OpenSSL 存在的其它安全问题,或又报新的漏洞。如果帐号下面的应用数量越来越多,那么每过一年左右被这么搞一下是非常蛋疼的(而且你还得保证你的代码不会出什么意外事故)。

    第二种方法:在编译的时候不要集成 AIR 运行时环境,但打包时运行时环境的下载地址一定要选“Android Market - https://market.android.com/details?id=com.adobe.air”,因为 Google Play 政策有规定,应用不允许通过其它第三方平台下载和安装未知来源的应用(如果被 Google 发现是要被下架的)。这种方法的好处就是可以长久性的避免将来由 AIR 运行时环境带来的 OpenSSL 漏洞。缺点也很明确,这样的做法就会导制应用很可能不会被其它平台接受,因为很多平台规定不允许使用运行时共享技术给用户带来不好的体验,同样很多平台也会规定禁止下载其它平台的应用,尤其是在国内,既便国内平台允许用户下载第三方平台的应用,也会因为中国防火墙的问题无法下载 Google Play 上的 AIR 运行时环境(国内的普通用户甚至可能连 Google 帐号都没有)

    备注:虽然警告中写了提交更新 5 小时后如果正确的话警告信息会消失,但实际上你可能要等 10 小时以上。