Author: librehat

  • shadowsocks-dotcloud更新支持RC4加密方式

    小的对Node.js并不是很熟,可谓刚起步就开始跑步的,这是第二次对shadowsocks-dotcloud进行更新维护了。一切还得感谢原作者@clowwindy!

    之前有人表示过Shadowsocks采用的加密方式不安全,原作者后来更新shadowsocks支持了RC4的加密方式,不过作为一个PaaS平台的port,shadowsocks-dotcloud其实和mainstream的shadowsocks脱节很久了!这次我比对了shadowsocks-nodejs和shadowsocks-dotcloud的源码,花了几个小时总算让shadowsocks-dotcloud也能支持RC4加密方式了!

    刚刚测试了一下,使用RC4加密方式后网页打开速度确实略受影响会变慢一点,加上dotcloud服务器在美东本来延迟就很高,所以config.json还是默认加密方式为null,对安全性要求高的朋友可以把它改为”rc4″(注意rc4必须加上半角引号)。

    这次更新的其它的改进就是对运行中出现的错误都会直接打印到控制台,输出信息更加详尽了。还有一些小幅改动反正也看不出来就不说了,有兴趣的自己看commits吧!

    点此访问我fork的shadowsosks-dotcloud在github上的repository地址!

    上游shadowsocks-dotcloud仓库地址等待原作者审核我的代码改动中已经合并改动)

    P.S. 为了保障PaaS厂商的正常运作,请不要传播架设指南之类的文章,自己看仓库的ReadMe就好了,本项目仅供Node.js学习,请不要让dotCloud的二级域名变成下一个rhcloud.com

  • Crazydomains域名特惠1英磅一年活动

    首先访问我博客的朋友会发现域名变了哦!!!如果你自2011年就关注我的话,会发现域名其实是变回去了!librehat.com回到@librehat手上了!终结了rhcloud.com二级域名被墙的惨淡历史,现在大家应该都能正常访问咯!

    这次我没有在最有名的Godaddy那里购买域名(太贵了,一年要9美元),Google了一圈,发现Crazydomains的英国分站在搞特惠,现在注册顶级com域名第一年只要一英镑(续费也只有7英镑一年,仍然便宜)!注意了,注册域名的时候period只要选1 year,如果选更长时间的话就不能按一英镑一年的买了,只能按7英镑一年计算了。还有,注册域名填姓名的时候一定按照你的真实姓名拼音填写,因为像我就被抽查要求提供身份证明了,邮件一定也要填写正确。不过Crazydomains没有Godaddy速度快,如果你是要抢注域名还是不要用这家域名服务商了,我等了三天(包括中间验证身份balabala浪费了一天多)才拿到域名。

    打算用Crazydomains注册域名的点击我博客右边的广告进去注册吧(神马?你装了屏蔽广告插件?好吧,链接在此),或许能给我整一点次年域名钱,哈哈~~

    对了,忘了说,Crazydomains支持Paypal的,在Paypal页面改地区为“中国”就能用国内银行的网银支付了!

  • IP子网段和子网掩码

    自从小的Amazon EC2上的Instance一工作,就有各种无聊的动物尝试SSH暴力破解登录,很遗憾啊(我都快说无数遍了),我用的是key的验证登录方式,不是一般的password,要破解出来估计我都因为经济压力关掉我的instance了。

    不过为了减轻系统的运作压力,我启用了ipfilter(见我之前关于NetBSD开启ipfilter简易防火墙的文章)。因为我的这个进程只打算对我自己开放,就用来翻翻墙,离线下载境外文件罢了,博客还是继续扔在免费的PaaS——大Red Hat的OpenShift上。所以呢,所以呢,我决定直接ban掉尝试暴力登录IP所在的整个C类子网段(即255.255.255.0)。我也是被逼无奈开始学习这IPv4的知识,下面记一下直接结果,至于中间神马几个bit几个bit的运算过程就省掉了。

    对于255.255.255.0这种子网掩码,C类网段,最多可存在254个主机的,它的shorthand是/24;

    对于255.255.0.0这种子网掩码,B类网段,最多可存在256×256个主机地址,它的shorthand是/16;

    对于255.0.0.0这种子网掩码,那就是A类网段了,shorthand是/8!

     

    当然我不可能用A类去封杀登录IP,那样杀伤面积太大了点,容易误伤到我自己,所以目前我还是直接ban掉整个C类网段。等我摸清楚我自己的IP地址变化规律后,就直接白名单了事了,省得一个个抓起来杀。

    话说对于这些闲着蛋疼的hacker下次应该用洪水攻击弄死他们!

    本文内容参考自Digi Pro ,以上若有纰漏还请指正。

  • NetBSD开始着手移植包括KMS和GEM在内的DRM

    消息来源:Phoronix

    相信各位Linuxer对内核设定模式(Kernel mode-setting)不陌生吧,作为提升GPU效率的KMS引入Linux内核已经有蛮久了,而对于BSD世界而言,KMS还远没有扎根。作为面向桌面用户最积极的FreeBSD已经在9.1版本中引入了Intel显卡的KMS支持,Radeon的KMS则正在移植中。而其它BSD发行版的开源显卡驱动支持基本都是严重过时的(像NetBSD的radeon上次更新是几年前的事情了),大部分都被移除出当前的工作树了。

    二月份早些时候NetBSD的Taylor Campbell在邮件列表中说,NetBSD基金会雇佣他来完成对当代Linux的DRM (Direct Rendering Manager)移植工作,这项工作也包括进一步把KMS (Kernel Mode-Setting)和GEM (Graphics Execution Manager)移植到NetBSD当中。

    驱动的支持从Intel开始,然后再轮到Radeon和Nouveau(如果时间允许的话),Campbell希望能够利用目前已经移植到FreeBSD中的DRM代码。

    现在还没有任何消息可以确定什么时候能在NetBSD的发行版本中看到Intel/Radeon/Nouveau的KMS/DRM支持,当然了,如果NetBSD还把自己当作一个桌面操作系统的话,那么这些驱动无疑是至关重要的!其实这个提议好几年前就提出来了,只是一直没有什么有意义的举措。

     

    译者注:

    NetBSD目前对于AMD(ATI)显卡的支持是用“惨烈”二字形容,radeon只能支持到HD4000系列(想想看,用的还是几年前的代码)。对于目前主流用户(HD5000及以上)而言,把NetBSD装到机器里面开机连界面都不能正常渲染,只能用vesa……奇卡无比的桌面体验足以吓跑任何桌面用户。好在NetBSD总算准备开工了,个人预测在NetBSD 7.1之前是难以完成的,特别按照鬼佬的平均工作效率计算的话。这样也好,等我们的电脑变成老爷机的时候就可以用NetBSD来续命了!

  • 目前Fedora 17/18的KWin和QtCurve冲突

    昨天用Fedora 17做了一次yum upgrade之后就出现了这个惨状:

    能够顺利进入KDE桌面,但是执行任何程序均会导致KWin崩溃(卡死在那里,没有任何响应,仅有鼠标指针可以移动)。一开始我不知道是KWin崩溃了,于是我装了razorqt(一个Qt写的轻量桌面环境),用openbox作WM可以顺利进入,但是一旦用KWin作WM就会出现那个卡死的问题。这才知道是KWin有问题。然后我又删掉.kde这个文件夹(这个做法害死我了,直接在razorqt里面进KDE设置不用QtCurve就好了)……这才能够回到K桌面环境下(别跟我说让我在KDE下用openbox做WM)。

    怎么发现在Fedora 18下也有这个问题的呢。。。我以为Fedora 18的软件包会比17要新,可能修复了这个问题,于是用FedUp升级了我的Fedora 17到Fedora 18……结果发现我瞎忙活了……

    至于我还删掉AMD Catalyst闭源驱动改用开源驱动这个事情我就不说了。

    最后终于发现了,是KWin和QtCurve有冲突(具体什么冲突也不知道)。T_T

    不过kernel-3.8.0和kde-4.10应该快要放到stable源了,大家等一段时间升级应该会修复这个问题。

  • 配置NetBSD防火墙ipfilter

    不看不知道,一看吓一跳,今天SSH连上服务器之后,顺带看了一下各个log,翻到/var/log/authlog的时候,心中一百只草泥马奔腾(略夸张哈哈)。

    有一品德低下的电脑操作人员尝试暴力登录,对此我是呵呵啊,哥不是用的密码验证方式,而是用的SSH的私钥(key)验证的啊,你扫描致死都是进不来的。更可笑的是这哥们尝试的用户名除了root就是CUCU、git还有ubuntu,抱歉啦,哥用的是NetBSD,打死都不可能创建一个用户名是ubuntu,NND鄙视一万次。

    好吧,鄙视归鄙视,从authlog记录的IP地址查到是煤矿省的,不管了,赶紧上防火墙block掉这个IP!

    NetBSD是自带ipfilter的,但是默认没有激活这项服务,首先当然是在/etc/rc.conf里面加上ipfilter=YES一行,然后就是编辑/etc/ipf.conf这个文件(没有则新建,/etc/ipf6.conf则是针对IPv6的)。详情可以看NetBSD官方的文档。下面贴出在下的ipf.conf文件的内容以供参考。

    pass out on any all
    block in quick from 218.26.XX.XXX to any

    第一行是放行所有出去的数据包,第二行是阻止从218.26.XX.XXX(保护这傻逼的隐私,最后几位数就不写出来了)这个IP到任意IP(任意IP当然就包括了本机IP啦)的所有数据包。

    完成之后,/etc/rc.d/ipfilter start就可以启动服务了(因为添加到/etc/rc.conf了,所以重启的话ipfilter也会自动启动的)!

  • NetBSD配置aria2的web前端YAAW笔记

    Apache和YAAW的安装配置

    先说说Apache的配置安装,YAAW是纯HTML/CSS/Javascript写成,所以这里不用装MySQL、PHP那些“NAMP”中常见的组件了。

    pkgin in apache

    安装完apache之后,复制服务启动项。

    cp /usr/pkg/share/examples/rc.d/apache /etc/rc.d

    然后就是将apache添加到rc.conf,

    echo apache=YES >> /etc/rc.conf

    自己看着配置一下apache,/usr/pkg/etc/httpd/httpd.conf,觉得okay了就可以启动apache服务器了

    /etc/rc.d/apache start

    下载YAAW(作者页面在此项目地址在此),解压出来的东西复制到/usr/pkg/share/httpd/htdocs下。

    (more…)

  • Slax中关于KDE程序编译脚本的注意事项

    Slax是个非常优秀的Linux发行版,之前说过了,也介绍过制作Slax Bundle的buildscript书写。

    但是我今天在编译rekonq的时候遇到了点麻烦,一直提示出错,跑到IRC上#rekonq频道询问,人家告诉我是少了ksgmltools2,确实少了。我发邮件告诉Tomas M(Slax作者),这位仁兄告诉我Slax是特意去除这个组件的,并告诉我要在buildscript里对CMakeLists.txt打一下“补丁”,让程序编译过程去除掉Documentation(文档),这么一来我的rekonq终于编译成功了!

    去除文档的办法,是删掉CMakeLists.txt中的ADD_SUBDIRECTORY( doc ),当然我知道可以用文本编辑器去删掉,问题是您要写的是一个脚本在服务器上运行的,所以要用到一些简单的shell脚本来操作,相关行我贴在这里。

    cd ${SLAX_BUNDLE_NAME}-${SLAX_BUNDLE_VERSION}
    
    find | grep CMakeLists.txt | while read LINE; do
    cat "$LINE" | fgrep -v "add_subdirectory( doc )" 
    | fgrep -v "add_subdirectory(doc)" 
    | fgrep -v "add_subdirectory (doc)" 
    | fgrep -v "add_subdirectory ( doc )" 
    | fgrep -v "ADD_SUBDIRECTORY( doc )" >aaa
    mv aaa "$LINE"
    done

    另外一个需要注意的事情,就是对于cmake编译安装的软件,需要在cmake参数里加上 -DLIB_SUFFIX=”${SLAX_64_FLAG}” ,不然在64位系统中也会把libraries安装到/usr/lib而不是/usr/lib64,程序无法找到lib的情况。所以这点千万切记要加上这个参数。

    2013/02/06补充:(根据Michal发给我的邮件正文,下面详细贴出buildscript软件编译部分的正确示例)

    1) 当使用./configure时,

    CFLAGS="${SLAX_CFLAGS}" CXXFLAGS="${SLAX_CFLAGS}" ./configure ${SLAX_CONFIGURE_OPTIONS}

    2) 当使用cmake时(假定先执行了mkdir build && cd build了),

    cmake -DCMAKE_C_FLAGS:STRING="${SLAX_CFLAGS}" 
     -DCMAKE_CXX_FLAGS:STRING="${SLAX_CFLAGS}" 
     -DCMAKE_INSTALL_PREFIX=/usr 
     -DINCLUDE_INSTALL_DIR=/usr/include 
     -DCMAKE_BUILD_TYPE=Release 
     -DLIB_SUFFIX=${SLAX_64_FLAG} 
     -DLIB_INSTALL_DIR="${SLAX_LIBDIR}" 
     ..

    3) 当制作商业闭源软件的Bundle时,必须准备好32位和64位两份预编译包。

    if [ "${SLAX_64_FLAG}" = "64" ]; then
     #将64位预编译文件安装到 ${SLAX_BUNDLE_TARGET}
     else
     # 将32位预编译文件安装到 ${SLAX_BUNDLE_TARGET}
     fi

    如此才能确保服务器根据buildscript编译出来的Slax Bundle正确。

  • 用buildscript制作Slax的扩展包sb文件

    昨天成功用buildscript制作了fcitx在Slax下的sb bundle(一看到sb这个扩展名我就莫名其妙地想笑……233)

    我强烈建议大家直接阅读官方的Documentation和template.SlaxBuild,基本就知道怎么做了。

    build写好之后,在终端下运行,看看是不是能成功制作出sb文件,然后slax activate之,运作是否正常。一切顺利的话,就可以slax upload上传了,上传的时候会要一个密码,这个密码最好记好了,因为Slax的Modules是不可以有重复的,之后就只能用slax update更新脚本或者slax delete删除脚本了,而后面的操作都会要验证密码是否正确。

    在# —————– put your actual build code here: —————后面一定要写详细的编译过程,这个buildscript其实就是一个shell脚本,编译过程参考一下Slax的Module就好了(看看我上传的qtqq和fcitx吧,其它我还真没找到真正“编译”的bundle)。

    刚刚又制作了QtQQ的sb,把buildscript上传了,个人觉得Slax还是非常有希望在Linux发行版海洋里活出自己的空间的,首先当然就是它的bundle系统了,和Chakra很像,但是Slax又自称是Pocket system,体积很小,所以还是有自己的优势所在的!唯一比较郁闷的就是Slax的网站关键环节全部是under construction(很多Modules的buildscript已经有了,但是sb文件都没有编译出来,导致可以下载的Modules非常少),这可不行啊,得早日上线运作!

  • 解开蓝魔Amlogic方案JellyBean 4.1中的boot.img文件

    是否很多筒子发现在4.0时代一直用的uImage解包打包脚本突然就不能用了,提示找不到uImage file?我开始也很纳闷,突然闲来想到是不是Amlogic又改回按标准的bootimg.h里面描述的格式来处理这个文件了?

    刚刚一试验,果不其然!多年前做Motorola MB200的ROM时,曾去解包boot.img来改开机静态图片(我当时真是够无聊的),当时用的就是这个Perl脚本,实验证明现在还能用!(标准就是标准啊!)Google一圈还找到一个配合使用的shell脚本方便地将boot.img完全解开~

    于是,HatMod项目今天华丽丽地加了commits了,各位可以去我的GitHub项目上抓取解包和打包脚本 (legacy目录下是解包和打包4.0时代的boot.img的!)。

    由于W22PRO还没有官方4.1固件,因此我无法尝试是否打包后刷入能用,只是下载了W28的固件,去解包和打包了boot.img都是可以的,不过没有用真机测试。