qchan图床的小改动:仅管理员上传,缩略图大小修改,混淆文件名

qchan这个床简单耐用,取图片不走PHP所以速度飞快。
改了一下,加了这3个功能。
https://github.com/cnbeining/qchan
有用自取。
这东西的一个妙用是丢Openshift上,前端上一个Cloudflare,用page rule强制大缓存,但是需要改一下HTTPS的设置以免HTTPS不能加载内容。

备用:每隔X秒/X帧生成缩略图

Since I struggled to find some infos for this, I wanted to sum up my findings here:
差不多:

ffmpeg -y -threads 8 -i "test.m4v" -an -sn -vsync 0 -vf select="not(mod(n\,14386))" -s 854x480 -vcodec mjpeg -pix_fmt yuvj420p -b:v 2000 -bt 20M "test_%d.jpg"

explanation:

  • -y
    覆盖输出文件
  • -threads X
    X =线程
  • -i "path to input"
    输入文件
  • -an
    不使用音频
  • -sn
    不使用字幕
  • -vsync 0
    禁止a/v sync
  • -vf select="not(mod(n\,X))"
    每X帧输出。
  • 如果是X秒:秒*FPS
  • -s WIDTHxHEIGHT
    手动指定分辨率
  • -vcodec X
    输出格式,一般 mjpeg or png
  • -pix_fmt X
    输出色域,一般 yuvj420p or rgb24
  •   -b:v X -bt Y
    输出比特 X = 2000 and Y = 20M 不错
  • "path to output ending with _%d.extension"
    文件后缀 _%d 的输出是 fileName_0, fileName_2,...
    扩展名是.jpg or .png

如果:

  • 略过前X秒,直到X秒:-ss X -t Y
  • 对某个时间生成,移除-vf select="not(mod(n\,X))" ,插入 -vframes X -ss timeInSeconds 
    例如 -vframes 1 -ss 10 10秒后生成

作者:Cu Selur
翻译:Beining

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

支付宝为了所谓的安全,禁止直接跳转,方法是检测到有非支付宝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 + '&_=' + Math.random() + "'\</scr"+"ipt>";
    return false;
    }
    function lose_in_ie(url) {
        window.open(url + '&_='+Math.random());
    }
    function lose_in_ff(url) {
        location = 'data:text/html,\<html>\<meta http-equiv="refresh" content="0; url='+ url + '">\</html>';
    }
    function post_and_lose(url) {
        location = 'data:text/html,\<html>\<meta http-equiv="refresh" content="0; url=data:text/html,\<form id=f method=post action=\''+url+'\'>\</form>\<script>document.getElementById(\'f\').submit()\</scri'+'pt>">\</html>';
    }
    if(navigator.userAgent.indexOf("Chrome") != -1 )
   {
       lose_in_webkit(URL);
   }
   else if(navigator.userAgent.indexOf("Opera") != -1 )
   {
    lose_in_webkit(URL);
   }
   else if(navigator.userAgent.indexOf("Firefox") != -1 )
   {
    lose_in_ff(URL);
   }
   else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
   {
     lose_in_ie(URL);
   }
   else
   {
      lose_in_webkit(URL);
   }
    </script>
</body>
</html>

备份。
 
 
延伸阅读:
http://blog.kotowicz.net/2011/10/stripping-referrer-for-fun-and-profit.html