GetIPIntel 反欺诈服务

没人知道在网络上和你聊天的是一个人还是一条狗。网络的匿名性给网络欺诈带来了很大方便。前几年,有几位学生站长联盟里的站长邮件地址泄露,有好事者就挂上 Go^_^Agent 用他们的常用网名和邮件地址辱骂联盟里其它博客的博主,闹得鸡飞狗跳。 人人都会开的 Akismet 明显没起到什么作用,事后屏蔽 IP 也起不到什么作用(那个捣乱的人都是打一枪就跑)。而当时流行的一些反欺诈服务,比如 MaxMind,都要高额的使用费,不是普通站长承担得起的。 但现在,时代不同了! GetIPIntel 是一位机器学习和网络安全方向的美国研究生的项目。它使用机器学习技术,综合考虑一个 IP 的各项数据,从而判断来自某个 IP 的访客是不是开启了 VPN,TOR 一类代理。 这个服务不需要你付任何费用(但接受捐赠),甚至不需要手动注册。你只需要在请求他们的 API 时带上你的邮件地址,然后回复可能会发给你的验证邮件即可。 这个服务有 4 种模式: 1.只检查某个 IP 是不是已知的 VPN,...

Rummy 拉米纸牌记牌程序 的插图

Rummy 拉米纸牌记牌程序

英语课上,外教给我们介绍了 Rummy 这种纸牌游戏。这种纸牌游戏没有官方规则,因此在民间有多个变种。 外教给我们介绍的这种规则如下: 游戏需要至少一副扑克牌,取决于人数,去掉所有的大小王。 开局时,每人发到 7 张扑克牌。发牌结束后,将牌堆顶的一张牌翻开放在一边。 每位玩家行动时,需要如下操作: 1.选择从暗牌堆中拿最顶上的一张牌,或者从一边的明牌堆中取出任意数量的牌。 当你从明牌堆中取牌,你必须在本回合内按照 2 所述条件使用掉你取到的最下面一张牌。(不能留在手里,不能弃掉) 2.当你手里的牌符合一下条件,可以将它们放置在你的桌面上: 2.1.有至少 3 张同花的牌组成顺子,例如草花 A23,黑桃 10JQ,红桃 QKA。(KA2 不算) 2.2.有 3 张或 4 张数字相同但花色两两不同的牌。 例如,黑桃、红桃、草花 3 是符合规定的,而黑桃、黑桃、红桃 3 不符合规定。后一种情况仅可能在使用多副扑克牌时出现。 2.3.有一张牌,可以接续如 2.1 和 2....

沃通你咋不上天呢!

刚在 V2EX 上看到,有人利用沃通证书签发系统的漏洞,成功签出了一张 GitHub 主域名的证书。 https://crt.sh/?id=29647048 Certificate: Data: Version: 3 (0x2) Serial Number: 5d:8f:2b:91:ef:b8:dd:65:af:4c:c1:2b:15:ef:4b:6e Signature Algorithm: sha256WithRSAEncryption Issuer: commonName = WoSign CA Free SSL Certificate G2 organizationName = WoSign CA Limited countryName = CN Validity Not Before: Jun 10 05:42:44 2015 GMT Not After : Jun 10 06:03:35 2018 GMT Subject: commonName = schrauger.github.io Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit ) Modulus: 00:e4:3b:a1:76:73:3c:b1:62:8d:53:6d:ef:a8:e9: 5b:9e:0e:15:63:e6:57:ac:cc:31:b3:48:2b:01:74: ae:d8:7d:1c:6b:ed:2a:40:45:36:62:83:ac:d7:a5: 80:9c:21:88:dc:ec:4d:ae:35:5d:65:e6:95:ee:81: 7a:1f:b5:a7:e9:19:f8:7a:42:...

A Javascript for time crowdfunding calculation

In the old Eastern country with mysterious magic power, a minute will pass every 59 seconds. var toad = new Date () var secondsDonated = Math . floor (( toad . getTime () + 1368835200000 ) / 59000 ) toad . setTime ( toad . getTime () + secondsDonated * 1000 ) toad . toLocaleString () -1368835200 is the UNIX timestamp of his birthday, and the trailing zeroes are added because time is calculated in milliseconds in Javascript. By donating your time, you are identical to a person living in outside China. You and each person has donated seconds. That is years, days, hours, minutes and seconds. function crowdFund() { var toad = new Date(); var secondsDonated = Math.floor((toad.getTime() + 1368835200000) / 59000); $('#time-crowdfund-donated').text(secondsDonated); $('#time-crowdfund-second')....

让 IE 与 Firefox 支持 WebP 图像格式

写了段 PHP 代码,自动从向日葵 8 号卫星的网站上抓取高清图并合成一张图。获取卫星照片的方法可以在 这里 看到。 但是……最终合成的 4d 分辨率(2200x2200)的PNG图片有 7 MB 多大,而且中美网络又频繁抽风,实际都要1分钟左右才能从我的服务器上加载完这张图片。 太慢了! Google 提供了一种解决方案:WebP 图片格式。这种图片格式以无损压缩下极高的压缩比而著名。 把 7 MB 的地球照片 PNG 转换成 WebP,最终的文件大小是:700 KB 不到。对于一张分辨率2200x2200的图片来说,这个大小已经非常小了。 但是……以 IE 和 Firefox 为首的一些浏览器不支持 WebP,在这些浏览器上,WebP 图片是显示不出来的。所以,我们要在本地端加点处理,把 WebP 转换成浏览器支持的图像格式。 WebPJS 是一个在浏览器中完成上述转换的 Javascript 代码。它根据文件扩展名**(很重要!)**识别浏览器加载的 WebP 图像,并将它们转换成 PNG 显示在浏览器中。 要使用它,你只需要:...

OpenVZ 配置 Hurricane Electric IPv6 隧道,开启整个地址池并与原生 IPv6 共同使用 的插图

OpenVZ 配置 Hurricane Electric IPv6 隧道,开启整个地址池并与原生 IPv6 共同使用

AlphaRacks 是一个物美价廉的主机商,1CPU、512M内存、10G硬盘的 VPS 只要 9.9 美元/ 年。但是这家主机商在 IPv6 地址上比较抠,需要用户说明用 IPv6 的理由,据说最多给20 个?但是不一定给满20个,比如我告诉主机商要用 IPv6 地址给仅支持 IPv6 的用户提供服务,主机商回复: 我们已经为你的 VPS 增加了1个IPv6地址。 一个 IPv6 自然是不够我折腾的。好在美国 Hurricane Electric 公司提供 IPv6 隧道服务 ,为每个用户提供5个隧道,每个隧道有1个 /64地址池,并可以一键开通1个/48地址池。 如此良心的服务,要在 OpenVZ 的 VPS 上使用却还要费一番周折。因为 OpenVZ 的内核版本往往是2.6.32,2.6.32的老内核不原生支持隧道功能,而支持的新版3.10的内核刚刚发布,很多主机商没有更新。 在 OpenVZ 上开启 HE 隧道 我们需要借助一个第三方小程序,它可以把 Hurricane Electric 的隧道转换为 Tun/Tap 的隧道(相当于 Windows 下 OpenVPN 的那个网络适配器)...

用  Canvas-Nest.js 加上酷炫的网页背景 的插图

用 Canvas-Nest.js 加上酷炫的网页背景

今天在 进阶博客 看到了一个酷炫的网页背景效果,背景上会有动态的线组合成三角形等各种图形,并且会对用户鼠标移动作出响应。 要在自己的网站上加入这个效果,很简单,在 </body> 之前加入这段代码: <script src="//cdn.bootcss.com/canvas-nest.js/1.0.0/canvas-nest.min.js"></script> 刷新网页,效果就有了。如果没有看到效果,请检查你加的位置,这段代码不能加在 <head> 和 </head> 之间! 但这样就产生了一个问题:在服务器到用户速度较慢的时候(比如晚上中美链路抽风的时候),用户浏览器在加载到上面这段代码所在的位置,也就是页面底部之前,无法得知它要加载这个 Javascript。也就是说,这段 Javascript 要在页面加载完毕后才会开始下载,而这会显著拖慢网页的总体加载速度。 所以,我们要在开头 <head> 和 </head> 之间再加入如下代码: <link href="//cdn.bootcss.com/canvas-nest.js/1.0....

在 Telnet 中显示有趣的东西

Telnet 是1969年发布的最古老的网络协议之一,却经久不衰,因为它实现简单,也可以用来实现一些有趣的用途。 网络上有人开发出可以在 Telnet 终端中观看的彩虹猫(Nyancat),还有在 Telnet 中观看的星球大战。 在你的终端中输入以下内容,就可以看到 ASCII 字符版星球大战:(Windows 7 及以上用户需要先到控制面板-程序与功能-添加删除 Windows 功能里选中 Telnet 客户端功能才能使用) telnet towel.blinkenlights.nl 输入以下内容就可以看到彩虹猫: telnet nyancat.dakko.us 我们也可以在自己的服务器上建立一个类似的 Telnet 服务,让它显示自己定义的内容。我们以在终端中显示黑客帝国数字雨的 CMatrix 软件为例,说明如何建立这个服务。 登陆到你的 Debian 服务器上,输入下面的命令: apt-get install openbsd-inetd telnetd cmatrix 并等待安装完成。 创建 /opt/cmatrix.sh ,输入如下内容: #!/bin/sh cmatrix -abu 2 编辑 /etc/inetd.conf ,...

在 Leaflet 中合并使用谷歌中国卫星图和高德地图

前几天用 Leaflet 这个 Javascript 模块制作了一个需要用到地图的项目,但是在寻找地图数据源时发现,高德的卫星图在中国大陆以外地区无法放大到较高精度,显示该区域无卫星图;而谷歌中国的卫星图上没有街道信息。 经过一些研究,我发现高德的卫星图分为两个图层:卫星图层和街道图层。而且,高德和谷歌中国的地图都使用了天朝的火星坐标系加密,也就是两者的地图可以直接叠加而不会错位。将高德的街道层和谷歌中国的卫星层合并,就有了一张既能高精度放大、又有街道信息的电子地图。 演示: var map = L.map("map", { center: [39.904983,116.427287], zoom: 3, zoomControl: false }).setMaxBounds([[-90,0],[90,360]]); var mapLayers = { '谷歌高德杂交/卫星':L.layerGroup([ L.tileLayer('//www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}', { maxZoom: 20, minZoom: 3, attribution: "谷歌提供卫星图,高德提供街道图" }), L....

启用 Bash 的彩色显示 的插图

启用 Bash 的彩色显示

Linux 默认的 Bash 命令行总是黑底白字,有些单调。但我们可以通过加几行命令,让 Bash 以彩色显示信息,不仅美观,而且可以突出重点内容。 编辑你的Home目录下的.profile文件: nano ~/.profile ``` 在文件末尾加上: export LS_OPTIONS='--color=auto' eval "`dircolors`" alias ls='ls $LS_OPTIONS' alias ll='ls $LS_OPTIONS -l' alias l='ls $LS_OPTIONS -lA' PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]@\[\033[01;36m\]\h\[\033[00m\]:[\[\033[01;34m\]\w\[\033[00m\]]\$ ' ``` 保存退出,然后重进 Bash 或者输入: source ~/.bashrc ``` 就可以看到彩色的命令行了。...