Category: Notes

支付宝收款页面的替代,自动填写数据版

支付宝为了所谓的安全,禁止直接跳转,方法是检测到有非支付宝referer就302到https://shenghuo.alipay.com/send/payment/fill.htm 。 我们可以用B站的HTTPS跳转法,但是如果懒得弄证书什么的,这里给出一个不是很漂亮的方法: <html> <head> <title>正在跳转……</title> <meta http-equiv=”Content-Language” content=”zh-CN”> <meta HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=gb2312″> </head> <body> <script> URL = “https://shenghuo.alipay.com/send/payment/fill.htm?optEmail={邮箱}&payAmount={钱数}&title={附言}” function lose_in_webkit(url) { location = “data:text/html,\<script>location='” + url + ‘&_=’ +… Read more »

逗比记事:怎么自己修VPS的网络配置错误,重置root密码,如果面板不能提供这个功能

自己弄错了,改错了网络设置,然后就保存并重启了。 果然上不去了。 机器是KVM,面板不能改root密码。 不求客服,自己解决:   KVM进去。Vultr的KVM是图形界面。。。而且默认不开root登陆。 我恰好还没有另一个低权限的我记得密码的可以登陆的东西。。 Guest是不成的。 这时,https://www.vultr.com/docs/boot-into-single-user-mode-reset-root-password  : 进入单用户模式: 重启,马上进KVM(这里是VNC),按Esc,进入GRUB引导菜单。 按e修改第一项。 找到内核行们也就是“linux /boot/”这行,在后面加 init=”/bin/bash” 。按Ctrl+X或者F10重启。 这样就可以进入一个root的CLI模式。 敲”mount -rw -o remount /”,挂载硬盘。 这样就可以nano掉错误的网络,并重启了。 需要改密码,直接passwd 修改。

翻译:使用带strongSwan的L2TP,即使是OpenVZ

译者注:希望你看英文不晕,否则请关掉吧。 yep, pretty strong swan 如果你想找一个全平台制霸,连路由器都不用刷的VPN,那基本上就是PPTP和L2TP+IPsec这两个中选了。因为安全和NAT穿越(以及GFW——Beining注)的问题,这年头不流行PPTP了。而L2TP的无用内容(overhead)有点多,而且还有个L2包的传输——这玩意有啥用啊。 挺奇怪,虽然IPsec很灵活,很成熟,网上却没有非L2TP的IPsec指南。黑喂狗。 深♂入IPsec 大体上,“所有的IPsec都是VPN”不大准确。IPsec不是为了VPN开发的,是为了签名并端到端发送加密IP数据的。IPsec在IP层的上面(OSI的第3层——网络层,相对于PPTP和L2TP的第二层——数据链路层  Beining注)和一般创建一个新的网络层,数据被路由到上面的VPN不同,IPsec只加密外部服务器和客户端的连接。神奇吧。 现代的IPsec使用这些东西: 认证头(AH),“保证被传输分组的完整性和可靠性”(wikipedia——Beining注)。这不仅仅加密数据,也包括包头,除了有些可变的东西,例如ToS和TTL。 封装安全载荷(ESP),“对分组提供了源可靠性、完整性和保密性的支持”。 安全关联(SA),“为了提供安全的通讯环境”。 因特网密钥交换(IKE/IKEv2),”归属于IPsec协议族之下,用以创建安全联结”。 AH和ESP都在IP头有自己的协议号。在大局域网要建成,满地都是内网IP的时候,这种东西更加常见。IPsec支持ESP包的UDP封装,可以内网穿越;AH不能和NAT共用。 IPsec有两种模式: 透明模式:签名IP头和数据(AH),或签名并加密数据(ESP)。不隐藏目标IP。在L2TP+IPsec中使用。 隧道模式:签名(AH)而且加密(ESP)整个包。 IKE协议允许你使用X.509证书,预共享密钥或者扩展认证协议(EAP)认证。二元认证也可以。 所有的现代桌面操作系统(Windows  Vista以及以后,OSX,Linux),移动系统(Android,iOS, Blackberry,甚至WP)以及一些路由器支持IPsec使用ESP的隧道模式,我们就用这个。 注意:是IPsec,不是那个Cisco IPsec。 Linux下的IPsec IPsec(AH/ESP, SA)在内核模式工作,只需要为客户端安装并设置IKE守护进程。虽然选择不少,但是只有两个还活跃:strongSwan和libreswan。第二个我不评价,没用过。(我也没用过——Beining注)第一个不错。而且,这个东西是唯一自带IPSec用户空间的,所以可以和OpenVZ的老内核一起用(这个东西的IPsec路由是坏的) OpenVZ的IPsec注释 OVZ可以开L2TP,但是路由有问题。可以加防火墙规则解决,但是问题是——不可能这么做。你需要用strongSwan用户IPsec空间,libIPsec。编译strongSwan时,加上… Read more »

记录:关于GPGMail编译的一个坑

https://github.com/GPGTools/GPGMail 原来免费。和Mail.app整合很好。 现在这个东西收费了。很缺德。 编译很简单: Xcode啥的都准备好,包括python等一干环境。 git clone 后,make时会出错: Code Sign error: No code signing identites found: No valid signing identities (i.e. certificate and private key pair) matching the team ID… Read more »

摘抄:关于Python多进程,以及生产者-消费者模型

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868323401155ceb3db1e2044f80b974b469eb06cb43000 多进程 461次阅读 要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。 Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的ID。 Python的os模块封装了常见的系统调用,其中就包括fork,可以在Python程序中轻松创建子进程: # multiprocessing.py import os print ‘Process (%s) start…’ % os.getpid() pid = os.fork() if pid==0: print ‘I am child process (%s) and my… Read more »

为什么OpenVPN这么慢?(演义版本)

翻译自:http://lowendtalk.com/discussion/40099/why-openvpn-is-so-slow-cool-story#latest 作者:ValdikSS 转载请注明原出处,本出处,以及翻译:cnbeining 我经常看见小白在网上问,为什么用OpenVPN连接两个网站的速度比链接速度慢的多,例如,2Mb/s的链接只有400Kb/s的速度,或者百兆只有20Mb/s的速度。有些人推荐将MTU调大到48000,有些人说应该调整mssfix,但是都不管用。有些人说OpenVPN就这样,老娘就这个速度。扯淡! 一点老黄历 2004年7月。当时发达国家一般家庭网速为256-1024kb/s,在发展中国家网速为56kb/s。Linux2.6.7刚刚发布,带有默认启动TCP窗口大小调节的2.6.8版本一个月前刚发布。OpenVPN已经活跃地开发了3年,即将发布2.0版本。 一名开发者想加入socket缓冲区的代码,估计是想统一各个系统的缓冲区大小。在Windows下,如果人工设置缓冲区大小,网络适配器的MTU会出错,最终是这个结果: #ifndef WIN32     o->rcvbuf = 65536;     o->sndbuf = 65536; #endif   技术层面 如果你用过OpenVPN,你肯定知道OpenVPN支持TCP和UDP。如果你手工设置TCP连接缓冲区大小到64 KB这么小,TCP 窗口大小调整算法不能将窗口大小调节到64K以上。什么意思?假如你的连接水管大但是延迟高,例如从美国到毛子,ping差不多100ms,用默认的OpenVPN设置,你的速度肯定不能高于5.12Mb/s。要50Mb/s的速度,缓冲区至少要640 KB。UDP因为没有窗口大小所以快点,但是也快不到哪去。 怎么破? 你已经猜到了,现在的OpenVPN还在用64 KB的默认缓冲区大小。怎么修?最好的办法是禁止OpenVPN设置自定义缓冲区大小。在服务器和客户端的配置文件加入: sndbuf… Read more »

笔记:在LNMP下部署HHVM

LNMP,http://lnmp.org/  ,是我目前看见的最方便的一键部署脚本。什么都不用担心,全傻瓜(bi)化操作。 但是,由于他几乎更换了所有的默认目录,HHVM会认不出这货。 网上所有的教程都是从0开始安装Nginx。这多不爽。 这里记录一下具体操作。 环境: Ubuntu 12.04 x64(<—-重要!x86不能安装,在这里浪费了两个小时) 1.准备环境,安装HHVM: Ubuntu有deb包,不必自己编译了。 具体列表看这里:https://github.com/facebook/hhvm/wiki/Prebuilt%20Packages%20for%20HHVM #安装依赖 sudo add-apt-repository ppa:mapnik/boost sudo apt-get update sudo apt-get install libboost1.49-dev libboost-regex1.49-dev \ libboost-system1.49-dev libboost-program-options1.49-dev \ libboost-filesystem1.49-dev libboost-thread1.49-dev… Read more »