twittering-mode的暴力修改

很早之前用过twittering-mode,不过自从GAE的那个接口被封了之后,就没再
管了。最近又想试试了,发现已经支持OAuthor了。不过还是有些问题,懒的找答
案,就暴力修改下了。

curl支持https链接由于证书而造成的问题,修改如下:

	 (curl-args
	  `("--include" "--silent" "-k"
	    ,@(apply 'append
		     (mapcar
		      (lambda (pair)
			;; Do not overwrite internal headers `curl' would use.
			;; Thanks to William Xu.
			;; "cURL - How To Use"
			;; http://curl.haxx.se/docs/manpage.html
			(unless (string= (car pair) "Host")
			  `("-H" ,(format "%s: %s" (car pair) (cdr pair)))))
		      header-list))
;	    ,@(when use-ssl `("--cacert" ,cacert-file-body))
;	    ,@(when (and use-ssl allow-insecure-server-cert)
;		`("--insecure"))

顺便提下使用代理的配置及相关:

(setq twittering-https-proxy-server "127.0.0.1")
(setq twittering-https-proxy-port 8087)
(setq twittering-icon-mode 1)
(setq twittering-timer-interval 300)

lightword中使用google自定义搜索

这两天在弄wordpress的插件,就像之前提到的一样,主要是为了自己使用。但在lightword中,如果使用google自定义搜索的话,将会打开网址为http://www.google.cse,这明显不符合我的要求啊。

虽然简单的直接修改源代码就可以,但这并不符合我的要求,之所以折腾自己的插件就是因为不想修改别人的代码了,所以测试了各种add_action和add_filter的方法,结果都不可以。后来决定使用javascript的方法来解决了,在管理界面的lightword设置中的additional footer content部分,加入如下代码:

继续阅读lightword中使用google自定义搜索

不用插件完成post-to-twitter功能

之前测试了款post-to-tiwtter的插件,发现完全不能使用,可能作者也放弃了更新还是怎么的,差不多一年左右没有更新了。但评分居然超高。又测试了一个类似的插件,但需要curl支持,可惜本空间供应商不支持。不想在闲逛之余,发现了已经有别人实现了不用插件的方法:http://www.clazh.com/post-wordpress-to-twitter-automatically-with-short-urls-no-plugin-required/

原来的内容是使用curl的,这个需要修改的,作者也提到了两种使用别的方法,我在本空间上测试了下,fsockopen和stream_context_creat均是支持的,那么就将curl修改为stream_context_creat吧,不用fsockopen是因为那个感觉更加的强大,强大意味着要敲更多的字,本着够用就行的原则,使用了stream_context_creat。就有了下面的内容:

继续阅读不用插件完成post-to-twitter功能

获取服务器状态并发送到twitter

前两天,空间提供商kilu的服务器似乎有些问题,总是出现下线或者拒绝服务器的状态,于是想写一个脚本来自动获得服务器状态并公布到twitter上。在kilu的论坛上发现了一个帖子,并告诉了服务器状态的网址: http://subdomain.kilu.info/,但该地址获得的是所有服务器的状态,于是开了firebug,看了一下,原来后台向 http://m2000.onpw.de/kilu/server_check.php 发送的请求,格式如下:

http://m2000.onpw.de/kilu/server_check.php?srv=Server_Id&port=Port&tm=Num

Server_Id为你空间所在的服务器的id,kilu的服务器都是www1,www2,www3什么的,在后台管理可以看的到的(比如我的是12),port为要检查的端口号,tm这个可以不要的(应该是tm,昨天看的,没什么必要,所以就没记住)

于是写了个脚本来获得服务器信息:

       #!/bin/sh
Time=`curl "http://m2000.onpw.de/kilu/server_check.php?srv=12&port=80" | sed -e 's/<[^<]*>//g'`
Result=`echo $Time | grep "sec"`
WEB_ERROR=""
if [ -z "$Result" ] ; then
    WEB_ERROR="web failed:$Time"
    twitter.sh "通知:http://zeze0556.tk 可能下线,原因:$Time,造成该原因可能由于网络故障或维护,我们将在半个小时检测一次,并及时通知检测结果,本通知由脚本自动发送"
    echo "$WEB_ERROR" > web_error
else
    if [ -e web_error ] ; then
        rm -drf web_error
        twitter.sh "通知:http://zeze0556.tk 服务器恢复正常,本通知由脚本自动发送"
    else
        echo "success=$Time"
    fi
fi

Time=`curl "http://m2000.onpw.de/kilu/server_check.php?srv=12&port=3306" | sed -e 's/<[^<]*>//g'`
Result=`echo $Time | grep "sec"`
SQL_ERROR=""
if [ -z "$Result" ] ; then
    SQL_ERROR="SQL failed:$Time"
    twitter.sh "通知:http://zeze0556.tk 数据库异常变动,原因:$Time,造成该原因可能由于网络故障或维护,我们将在半个小时检测一次,并及时通知检测结果,本消息由脚本自动发送"
    echo "$SQL_ERROR" > sql_error
else
    if [ -e sql_error ] ; then
        rm -drf sql_error
        twitter.sh "通知:http://zeze0556.tk 数据库恢复正常,本通知由脚本自动发送"
    else
        echo "success=$Time"
    fi
fi
       

上述内容中,3306是sql数据库的端口号,之所以检查是因为wordpress需要从数据库中读取内容。

上述内容中,还有一个twitter.sh的脚本,这个脚本是用来将消息发送到twitter上的,网上很多教程关于从linux命令行发送twitter的,由于twitter现在不支持basic 认证了,不过所幸的是,通过GTAP还是可以进行basic认证的,而且更加的安全。于是就有了下面的内容:

继续阅读获取服务器状态并发送到twitter