JayXon https://www.jayxon.com/ Blog Sun, 07 Jul 2019 04:28:38 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.7.5 GIF vs APNG vs WebP https://www.jayxon.com/gif-apng-webp/ https://www.jayxon.com/gif-apng-webp/#comments Tue, 14 Feb 2017 06:14:12 +0000 https://www.jayxon.com/?p=556 再转一个我在知乎的回答 简介 GIF 是一个非常古老的格式,1987 年诞生,最后一个版本是 1989 年。(这就是为什么 GIF 文件头的 magic number 是 GIF89a) APNG 相...

原文链接:GIF vs APNG vs WebP | 博客首页:JayXon

]]>
再转一个我在知乎的回答

简介

GIF 是一个非常古老的格式,1987 年诞生,最后一个版本是 1989 年。(这就是为什么 GIF 文件头的 magic number 是 GIF89a)

APNG 相对新一些,是 Mozilla 在 2004 年推出的,十几年的科技进步是不容小觑的,所以 APNG相对于 GIF 的优势十分明显,后面会分析。APNG 格式是 PNG 的扩展,第一帧储存方式和普通的 PNG 一样在 IDAT 区段中,APNG 只是新增了三种区段,所以如果一个软件只支持 PNG 而不支持 APNG 的话,依旧可以显示出图片的第一帧,只是不能动罢了。

APNG 新增的三种区段分别为:

  • acTL (animation control) 用来存放帧数和播放次数,整个文件只有一个区段
  • fcTL (frame control) 用来存放每一帧的高、宽、位置、延时等信息,每一帧一个区段
  • fdAT (frame data) 用来存放除了第一帧以外后面每一帧的图片数据,采用 Deflate 压缩,每一帧一个区段

这里稍微提一下 WebP,Google 在 2010 年推出的全部通吃的图片格式,为什么叫全部通吃呢?因为他既可以有损(替代 JPEG)也可以无损(替代 PNG),还可以动(替代 GIF),并且在压缩率上全面超越了这三种常用的格式。

压缩率

GIF 采用的是 LZW,而 APNG 采用的是 Deflate,再加上 APNG 继承了 PNG 的 filter,利用相邻像素的相似性使压缩率大大提高,详见浅谈PNG无损优化

就以下面这个 Wikipedia 页面的 GIF 为例吧

Rotating earth (large)

原 GIF 文件大小为 1.36 MB,但是一般的 GIF encoder 都不会拼命的去优化文件大小。

如果让 gifsicle 利用各种奇淫技巧进行优化,可以将文件无损的压缩到 978 KB

gifsicle -O3 Rotating_earth_(large).gif -o Rotating_earth_(large)_gifsicle.gif

而随随便便转换一个 APNG 才 826 KB 而已

gif2apng Rotating_earth_(large).gif

如果不在乎压缩时间的话,使用奇淫技巧(zopfli)来压缩 APNG,还可进一步压缩到 811 KB

gif2apng -z2 Rotating_earth_(large).gif

而如果无损转换成 WebP 的话,只有 767 KB

gif2webp -min_size Rotating_earth_(large).gif -o Rotating_earth_(large).webp

如果允许有损的话(肉眼看不出区别),WebP 只有 199 KB!!!

gif2webp -min_size -lossy Rotating_earth_(large).gif -o Rotating_earth_(large)_mixed.webp

这里使用了 -lossy 来压缩有损,实际上 WebP 还支持 -mixed,可以每一帧根据压缩体积单独选择有损或者无损,但是由于这个图片更适合有损所以这里没有用 -mixed。

将上面的数据做了个图表,大概是这样子的(由于样本数仅为 1,本测试及其不科学,结果仅供参考)

 

颜色

GIF 每个像素只有 8 bit,也就是说只有 256 种颜色,于是很多人误以为 GIF 不支持 24 bit RGB,但实际上,GIF 的限制是每一帧最多只能有 256 种颜色,但是每种颜色可以是 24 bit 的。不过即使是这样,256 种颜色还是太少了,这就导致了 GIF 的画质都比较差。

而 APNG 和 WebP 则完全没有这方面的限制。

透明

GIF 虽然也支持透明,但是他只支持将某个颜色标记成透明,也就是说他不支持半透明,只支持完全透明或者完全不透明。如果把一个边缘是半透明的图片转换成 GIF,就会出现另一个答案中提到的杂边问题。

而 APNG 和 WebP 都支持 8 bit alpha channel,透明度可以有 256 级。

兼容性

这可能是 GIF 唯一的优势了吧。

几乎所有的浏览器都支持 GIF,而支持 APNG 的浏览器有 Chrome、Firefox、Safari 和 Opera,支持 WebP 的有 Chrome、Firefox、Edge 和 Opera,据说 Safari 也在测试 WebP 的支持。至于 IE 嘛,呵呵,还是换浏览器吧。

原文链接:GIF vs APNG vs WebP | 博客首页:JayXon

]]>
https://www.jayxon.com/gif-apng-webp/feed/ 24
恢复那些被豆瓣和谐的评分 https://www.jayxon.com/recover-censored-douban-ratings/ https://www.jayxon.com/recover-censored-douban-ratings/#comments Mon, 30 Jan 2017 01:57:39 +0000 https://www.jayxon.com/?p=539 今年春晚依旧充斥着各种政治内容,尤其是新疆那个小品,恶心死我了,本来想去豆瓣打个一颗星,结果发现评分已经被和谐了,也不能打分了(手机网页依旧可以打分)。 但是我发现豆瓣只是不显示评分了,并没有删除评分...

原文链接:恢复那些被豆瓣和谐的评分 | 博客首页:JayXon

]]>
今年春晚依旧充斥着各种政治内容,尤其是新疆那个小品,恶心死我了,本来想去豆瓣打个一颗星,结果发现评分已经被和谐了,也不能打分了手机网页依旧可以打分

但是我发现豆瓣只是不显示评分了,并没有删除评分数据,因为使用豆瓣的API依旧可以查到评分。https://api.douban.com/v2/movie/26729145 会返回一个JSON,其中就包括了评分以及评价人数。

但是并不包括评分分布,后来我又发现这个链接可以显示评分分布以及短评,还没有被屏蔽,可能这个文章被豆瓣员工看到了,现在变成没有权限访问了。

于是我就更新了一下MoreMovieRatings脚本,让他可以自动恢复那些被和谐的评分,并且加入了上面的链接(点击评价人数即可)。

使用效果如下:

几个测试链接(如果你知道其他评分被和谐的条目请在评论中告知):

厉害了,我的国 (2018)

2018年中央电视台春节联欢晚会 (2018)

2017年中央电视台春节联欢晚会 (2017)

2016年中央电视台春节联欢晚会 (2016)

中国共产党人廉洁颂 (2012)

建党伟业 (2011)

原文链接:恢复那些被豆瓣和谐的评分 | 博客首页:JayXon

]]>
https://www.jayxon.com/recover-censored-douban-ratings/feed/ 21
Leanify 0.4.3 https://www.jayxon.com/leanify-0-4/ https://www.jayxon.com/leanify-0-4/#comments Wed, 25 Nov 2015 14:11:12 +0000 http://www.jayxon.com/?p=330 Leanify 是一个用来减小文件体积的软件。 目前支持的格式有:ZIP、GZ、TAR、XML、PNG、JPEG、SVG、EXE、DLL、SWF、LUA、DOCX、XLSX、PPTX、EPUB、FB2...

原文链接:Leanify 0.4.3 | 博客首页:JayXon

]]>
Leanify 是一个用来减小文件体积的软件。

目前支持的格式有:ZIP、GZ、TAR、XML、PNG、JPEG、SVG、EXE、DLL、SWF、LUA、DOCX、XLSX、PPTX、EPUB、FB2、JAR、DWF、XPS、ICO、ODT、GFT、RDB等。

更多介绍,详见GitHub,欢迎PR。

使用前请务必备份文件!否则后果自负!

leanify

更新日志:

0.4.3 (2015-11-25)

  • Added support for Data URI #14.
  • Added support for DWF format.
  • Updated zopfli to 1.0.1.
  • Updated LZMA to 15.12.
  • Updated mozjpeg to 3.1.
  • Updated TinyXML2 to 3.0.0.
  • Improved PNG optimization for some cases.
  • Improved ZIP optimization for some cases.
  • Improved SVG minifying.
  • Added option --keep-exif.
  • Bug fixes and optimizations.

0.4.2 (2014-11-07)

  • Added support for PE.
  • Added support for tar.
  • Added support for fb2.
  • Added support for removing SVG metadata.
  • New -d option to specify maximum recursive depth.
  • Updated TinyXML2 to 2.2.0
  • Enable SSE2 and Link Time Optimization.
  • Win: Added 64-bit build.
  • Win: More meaningful error message.
  • Linux, Mac: Fixed printing UTF16 string.
  • Other optimizations and bug fixes.

0.4.1 (2014-08-10)

  • Add support for JPEG.
  • Add support for SWF.
  • Add support for XML with UTF8-BOM.
  • Improved command line arguments handling.
  • Fix gzip checksum.

0.4.0 (2014-08-04)

  • First public release.

 

 

GitHub下载

原文链接:Leanify 0.4.3 | 博客首页:JayXon

]]>
https://www.jayxon.com/leanify-0-4/feed/ 76
博客服务器升级 https://www.jayxon.com/blog-server-upgrade/ https://www.jayxon.com/blog-server-upgrade/#comments Sun, 22 Nov 2015 03:32:18 +0000 https://www.jayxon.com/?p=473 如果你发现今天有段时间我的博客上不去,那是因为我维护了一下服务器(不过应该没有人发现吧) 把Debian 7升级到了Debian 8,比想象中顺利得多,除了几个配置文件冲突稍微改了改,其他都是一路y然...

原文链接:博客服务器升级 | 博客首页:JayXon

]]>
如果你发现今天有段时间我的博客上不去,那是因为我维护了一下服务器(不过应该没有人发现吧)

把Debian 7升级到了Debian 8,比想象中顺利得多,除了几个配置文件冲突稍微改了改,其他都是一路y然后回车。

letsencrypt

证书切换到了Let’s Encrypt,其实他很快就要正式上线了,但是由于我现有的证书还有几天就要过期了,于是申请了内测,提前换上了。

这个项目还是很赞的,但是目前各种软件、文档什么的感觉都还不是很到位,比如nginx支持,不过总体来说获得证书还是很容易的,虽然有效期只有几个月,到时候再续期就是了,反正是免费的。

用gcc 4.9重新编译了一遍nginx(依旧是1.8.0,什么时候支持HTTP2的版本才能stable啊),把ngx_pagespeed升级到了1.9.32.10,没有任何区别,应该只是bug fix。

php升级到了5.6,目前没有发现任何兼容性问题。

原文链接:博客服务器升级 | 博客首页:JayXon

]]>
https://www.jayxon.com/blog-server-upgrade/feed/ 12
浅谈PNG无损优化 https://www.jayxon.com/png-lossless-optimization/ https://www.jayxon.com/png-lossless-optimization/#comments Fri, 30 Oct 2015 06:12:02 +0000 https://www.jayxon.com/?p=467 前段时间在知乎回答了个问题,居然一个赞都没有,还是在博客发一下吧。 PNG无损优化的核心原理很简单,通俗的解释一下,就是由于PNG格式的灵活性,他可以有很多种方式表示同一张图片,不同方式有时就会导致文...

原文链接:浅谈PNG无损优化 | 博客首页:JayXon

]]>
前段时间在知乎回答了个问题居然一个赞都没有,还是在博客发一下吧。

PNG无损优化的核心原理很简单,通俗的解释一下,就是由于PNG格式的灵活性,他可以有很多种方式表示同一张图片,不同方式有时就会导致文件大小不一样,而到底哪种方式是最好的,除了拿图片来试并没有太好的选择方法,所以一般的软件为了速度,并不会过多的纠结到底要用什么方式,这样必然不是最优的,优化空间就这么产生了。

还有一点是PNG采用的是deflate算法,也非常的灵活,他的压缩率和encoder的实现有关,不同的encoder使用的时间,压缩出来的大小都不一样,即使使用同一encoder,选择的参数不同,也会导致压缩出来的大小不同。一般来讲压缩率排行如下zopfli > kzip > lzma sdk > zlib 。还有一种程序,DeflOpt和defluff,他们本身并不是encoder,但是他专门负责在不重新压缩的情况下(也就是说他的速度非常快),优化别的encoder压缩的结果,一般都是针对Huffman Tree的一些操作,最终都能抠出几个字节。

当然除了上面这两点是真正的无损压缩以外,还有减小PNG文件大小的方式就是去除一些对图片本身没有任何影响的metadata,比如iTXt、tEXt和zTXt区段可以存任意文本,一般都是生成这个PNG的软件的信息,iCCP区段存的ICC profile,gAMA存的gamma值等等。

下面具体讲一下PNG格式到底有多灵活,有哪些优化空间。

  • 首先是bit depth的选择,他表示每个sample需要多少个bit来表示,注意sample不是像素,一个像素等于几个sample与图片的颜色有关,灰度图片就是1个,RGB就是3个,RGBA就是4个。一般来讲肯定是bit depth越小越好,但是由于最终的图片数据是被deflate压缩的,有的时候bit depth故意选大一点反而压缩出来更小。
  • 储存颜色可以选择直接以RGB的方式每个像素点储存,或者如果总颜色数量不超过256,可以将所有颜色储存到palette中,给palette中的每个颜色编号,后面的每个像素点只需要储存编号即可,这样就减小了文件体积。但也不是绝对的说采用palette就一定会比不用好,确实是存在反例的。
  • 如果使用palette,那么给这些颜色每个编多少号,对最终的大小也会有影响,因为图片数据是用deflate压缩的,那么有的编号方式就会比别的编号方式编码出来的图片数据更利于deflate压缩。
  • 如果图片带透明,又可以选择直接以RGBA的方式储存或者以不透明的方式储存然后加入tRNS区段来标记透明的颜色。
  • 然后就是最重要的filter的选择了。filter就是在进行压缩之前,先对数据进行一个可逆的预处理,用来提高压缩率。filter有0-4这5种,分别是None、Sub、Up、Average、Paeth。选择不同的filter对压缩大小也会产生很重要的影响。这个filter并不是整个图选一个,而是每行都可以选择不同的,所以假如总共有n行,也就是图片的高度是n,那么总共的可能性就是5的n次方。因为filter是基于周围像素的预测,所以每行的选择并不是独立的,而是相互影响的。
  • 如果图片包含全透明的像素点,那么由于颜色是用RGBA来表示的,只要Alpha是0,RGB的值对图片显示不会有任何影响,可以随意操纵的,一般改成比较有规律的值,就可以提高deflate压缩率,但具体怎样改,不同程序的策略都不太一样。

由此可见,给出一个PNG文件,把他压缩成最小,应该是个NP-hard的问题,即使拿一个很小的图片,把以上提到的所有情况都试一遍,也无法证明得到的文件就是最小的,因为deflate的encoder实现也许并不是最优的,比如在2013年Google的zopfli出来之前,没有人知道deflate这个古老的压缩算法还有如此大的优化空间。

原文链接:浅谈PNG无损优化 | 博客首页:JayXon

]]>
https://www.jayxon.com/png-lossless-optimization/feed/ 14
Powerline Web Fonts https://www.jayxon.com/powerline-web-fonts/ https://www.jayxon.com/powerline-web-fonts/#comments Sun, 06 Sep 2015 00:12:01 +0000 https://www.jayxon.com/?p=455 最近经常在Chrome OS上使用Secure Shell,出于装逼需要,希望字体能支持Powerline,但是Chrome OS安装字体比较麻烦,还必须要开启Developer Mode。 后来发现...

原文链接:Powerline Web Fonts | 博客首页:JayXon

]]>
最近经常在Chrome OS上使用Secure Shell,出于装逼需要,希望字体能支持Powerline,但是Chrome OS安装字体比较麻烦,还必须要开启Developer Mode。
后来发现Secure Shell的选项里支持自定义CSS,于是萌生了使用Web Fonts的想法。
搜索了一下,发现网上似乎并没有支持Powerline的Web Fonts,于是自己搞了一个。

详见GitHub:https://github.com/JayXon/powerline-web-fonts

原文链接:Powerline Web Fonts | 博客首页:JayXon

]]>
https://www.jayxon.com/powerline-web-fonts/feed/ 4
受到xmlrpc.php拒绝服务攻击 https://www.jayxon.com/under-xmlrpc-php-attack/ https://www.jayxon.com/under-xmlrpc-php-attack/#comments Fri, 10 Jul 2015 19:01:29 +0000 https://www.jayxon.com/?p=439 昨天发现博客开始出现502和504错误,最开始以为是php5-fpm 有什么bug,因为重启一下php5-fpm 就好了。但是后来重启都没有用了,于是分析了一下,发现受到了攻击。 被攻击后CPU占用一...

原文链接:受到xmlrpc.php拒绝服务攻击 | 博客首页:JayXon

]]>
昨天发现博客开始出现502和504错误,最开始以为是php5-fpm 有什么bug,因为重启一下php5-fpm 就好了。但是后来重启都没有用了,于是分析了一下,发现受到了攻击。

CPU Usage

被攻击后CPU占用一直100%,是几个php5-fpm 进程。

2015/07/10 08:44:19 [error] 2858#0: *13803 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 185.62.189.239, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:19 [error] 2858#0: *13805 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 188.209.52.133, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:19 [error] 2858#0: *13807 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 188.209.52.133, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:19 [error] 2858#0: *13809 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 188.209.52.133, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:19 [error] 2858#0: *13811 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 185.62.189.239, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:20 [error] 2858#0: *13813 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 185.62.189.239, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:20 [error] 2858#0: *13815 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 188.209.52.133, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"
2015/07/10 08:44:20 [error] 2858#0: *13817 connect() to unix:/var/run/php5-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream, client: 188.209.52.133, server: jayxon.com, request: "POST /xmlrpc.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "jayxon.com"

分析log发现大量重复POST请求xmlrpc.php,来自两个ip地址188.209.52.133和185.62.189.239,伪装成Google的爬虫。

185.62.189.239 - - [10/Jul/2015:08:48:23 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
188.209.52.133 - - [10/Jul/2015:08:48:23 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:23 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
188.209.52.133 - - [10/Jul/2015:08:48:23 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
188.209.52.133 - - [10/Jul/2015:08:48:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
188.209.52.133 - - [10/Jul/2015:08:48:24 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
185.62.189.239 - - [10/Jul/2015:08:48:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"
188.209.52.133 - - [10/Jul/2015:08:48:25 +0000] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)"

访问这两个ip地址发现攻击者是Aaron和Zach。

attacker ip

抓取到Payload如下

POST /xmlrpc.php HTTP/1.0
Host: jayxon.com
Content-type: text/xml
Content-length: 263
User-agent: Mozilla/5.0 (compatible; Googlebot/2.1;  http://www.google.com/bot.html)
Connection: close

<?xmlversion="1.0"?><methodCall><methodName>pingback.ping</methodName><params><param><value><string>http://panel.gamersolutions.net/</string></value></param><param><value><string>https://www.jayxon.com/thunder7-2-13/</string></value></param></params></methodCall>

看上去只是正常的Pingback,但实际上收到请求后WordPress会访问http://panel.gamersolutions.net/,也就是说攻击者在利用我的服务器来攻击http://panel.gamersolutions.net/(这个网站昨天还能打得开,现在就已经挂掉了)

临时解决办法是把xmlrpc.php文件重命名,反正这个文件没什么太大作用。

目前CPU占用降下来了,博客也恢复正常,但是攻击仍在持续攻击已停止。

原文链接:受到xmlrpc.php拒绝服务攻击 | 博客首页:JayXon

]]>
https://www.jayxon.com/under-xmlrpc-php-attack/feed/ 16
MoreMovieRatings 豆瓣和IMDb互相显示评分 https://www.jayxon.com/moremovieratings/ https://www.jayxon.com/moremovieratings/#comments Mon, 26 Jan 2015 02:51:05 +0000 https://www.jayxon.com/?p=416 就是个UserScript,没什么技术含量 安装请到Greasy Fork 代码在GitHub

原文链接:MoreMovieRatings 豆瓣和IMDb互相显示评分 | 博客首页:JayXon

]]>
就是个UserScript,没什么技术含量

douban

imdb

安装请到Greasy Fork

代码在GitHub

原文链接:MoreMovieRatings 豆瓣和IMDb互相显示评分 | 博客首页:JayXon

]]>
https://www.jayxon.com/moremovieratings/feed/ 59
博客搬家到Digital Ocean https://www.jayxon.com/moved-to-digital-ocean/ https://www.jayxon.com/moved-to-digital-ocean/#comments Tue, 25 Nov 2014 04:04:14 +0000 http://www.jayxon.com/?p=400 之前用的VPS时不时抽风,后来搬家到EC2,结果没几个月就把我剩下的credit全用光了,于是决定搬家到Digital Ocean。 正好利用这个机会好好折腾了一下,支持了https,支持了SPDY,...

原文链接:博客搬家到Digital Ocean | 博客首页:JayXon

]]>
之前用的VPS时不时抽风,后来搬家到EC2,结果没几个月就把我剩下的credit全用光了,于是决定搬家到Digital Ocean。

正好利用这个机会好好折腾了一下,支持了https,支持了SPDY,支持了IPv6,开启了PageSpeed模块,各种软件也都更新到了最新版。

没有设置自动跳转https,传送门  自动跳转已开启

选择的是新加坡节点,不知道国内访问速度如何,理论上ping应该在100左右,貌似除了电信外速度都还不错,欢迎测试。

最后,如果有人想注册Digital Ocean,可以通过这个链接,你我都能得到credit,你懂的。

原文链接:博客搬家到Digital Ocean | 博客首页:JayXon

]]>
https://www.jayxon.com/moved-to-digital-ocean/feed/ 67
Download Search开源了 https://www.jayxon.com/download-search-open-source/ https://www.jayxon.com/download-search-open-source/#comments Tue, 30 Sep 2014 19:39:14 +0000 http://www.jayxon.com/?p=365 大家还记得Download Search吗?貌似没有什么人在用了,不过其实我一直在维护的。 我最近把这几年收集的网站收录规则开源到GitHub了 https://github.com/JayXon/D...

原文链接:Download Search开源了 | 博客首页:JayXon

]]>
大家还记得Download Search吗?貌似没有什么人在用了,不过其实我一直在维护的。

我最近把这几年收集的网站收录规则开源到GitHub了

https://github.com/JayXon/DownloadSearch

如果你发现某个网站需要收录或者已经收录的某个网站网址变化了、永久关闭了、不提供下载了,请发Pull Request或者Issue。

另外,征集logo和favicon。

原文链接:Download Search开源了 | 博客首页:JayXon

]]>
https://www.jayxon.com/download-search-open-source/feed/ 43