用Shell脚本+Curl写了一个学校网关认证 亿邮 for linux 客户端

[bash]#!/bin/bash
echo via: [email protected] http://ihipop.info
#2011/4/18 00:35

#自定义部分
loginuser=$3
password=$4

#设置变量
logintype='%C1%AC%CF%DF%B9%FA%BC%CA'

domainid=$2

refer='http%3A%2F%2F211.65.64.43%2Fphp%2Fonlinestatus.php%3Flogout_offnet%3D1'
serverip=211.65.64.43
x=27
y=10[......]

继续阅读

用Vnstat+vnstat PHP frontend简单记录服务器流量

话说MRTG/Cacti都太专业化了 小小VPS没有必要 偶尔有个流量查看的需求而已

[bash]apt-get install vnstat[/bash]

创建一个数据库

[bash]vnstat -u -i eth0[/bash]

到 http://www.sqweek.com/sqweek/index.php?p=1 下载vnstat PHP frontend 解压缩挂到web服务器上对config.php做一下简单的配置(语言什么的)即可使用


[......]

继续阅读

史上最全的Firefox UserAgent包

Firefox插件User Agent Switcher可以非常方便的切换FireFox的UserAgent 但是插件自带的内容太少了 都要自己输入
国外某人整理了一份史上最全的Firefox UserAgent包 XML文件在此 然后从User Agent Switcher里选择Import导入此文件,然后就可以慢慢玩了

[download id="29" format="2"]

[......]

继续阅读

修复DiscuzX中Nginx下附件MIME类型不正确的问题

其实和Nginx没什么关系 Discuz没做好。
默认的MIME类型是text/plain
但是下载附件的话 必须在header里面输出mime的类型 浏览器才能正常识别二进制文件。
DiscuzX只对图片做了处理 没有对其他文件处理 这样的结果是 下载地址加密的mp3附件 结果很可能是下回来一个mp3 但是后缀是html(开伪静态的情况下) 或者直接显示mp3文件的内容。
只要对forum_attachment.php做如下修正。
默认DiscuzX的文件mime类型存储在库里面对应字段是filetype 可以使用变量$attach['filetype']取得。所以做如下判断即可[......]

继续阅读

开启DiscuzX/Nginx的附件下载xsendfile支持

正常情况下 一个有鉴权功能的PHP文件下载的时候 要先读文件 然后输出给浏览器 这样的缺点是原本是静态文件 本来可以直接通过nginx就能够返回文件,现在必须通过php,读入内存的东西占用内存不说 php的readfile()函数效率也不高。

我们可以看看DiscuzX在这方面做了什么工作

[php]
if($readmod == 4) {
dheader('Accept-Ranges: bytes');
if(!empty($_SERVER['HTTP_RANGE'])) {
$rangesize = ($filesize - $range) > 0 ?[......]

继续阅读

使用logrotate轮询Nginx的日志

之前有人说 使用有名管道(mkfifo)+cronolog比较方便 这里我不推荐  因为涉及到Linux系统里面的阻塞和非阻塞问题。我们可以做这个测试

[bash]mkfifo test.log
echo something >test.log[/bash]

这时候你会发现echo被阻塞在这里 不能结束 也不能进行。因为没有任何东西在读test.log这个有名管道,可以再开一个终端做个测试

[bash]md5sum <test.log[/bash]

这时候 原来那个终端里面的echo也正常停止了

nginx也是工作在这样的阻塞模式下面 如果使用有名管[......]

继续阅读

如何在rc.local里面正确的自启动rtorrent

直接在rtorrent里面写screen rtorrent 无法完成启动 有两个原因

首先 screen会报

"Must be connected to a terminal"

这个可以通过加-m参数解决

其次 这样启动的rtorrent不能正确的载入rtorrent.rc 需要用-o参数指定。
完整的命令为
[bash]screen -d -m /usr/local/bin/rtorrent -n -o import=/root/.rtorrent.rc &[/bash]

[......]

继续阅读

把rtorrent的webUI换成由Nginx驱动了

从rutorrent的Google Code官方网站获悉 nginx/0.8.54开始已经支持SCGI 于是产生了把Apache换成Nginx的想法。
过程是相当的简单 但是后来的问题也不少。
Nginx做一个如下设置即可

location /RPC2 {
include scgi_params;
scgi_pass localhost:5000;
}

然后把某目录的root设置一下即可。
但是有个问题。webUI一直提示
(rutorrent依赖php(5)-cli 但是装完这个虽然又一部分PHP结尾的警告消失了,但还是有问题。)

Web-server user can'[......]

继续阅读