正在加载...
随机文章载入中 ... / Loading ...

【转载】 搭建第三方 Twitter 客户端完全教程

11/25/2009 03:37:00 下午 发帖者 流水弦歌

原文链接 http://zou.lu/diy-your-twitter-clients/

本文较长,较啰嗦,三思后再看。

总会有人利用别人好心搭建的客户端来干坏事,于是,这一次大墙爆发,N多优秀的客户端被隔离在墙外,难道我们只能坐以待毙吗?

商店允许卖刀,至于买刀的人用来做什么,关商店何事?只因为一小部分人用刀来干坏事而把整个商店给彻底查封,那么,引起的不仅仅是民愤了。

盛世有盛世的发财之道,乱世有乱世的富贵之道。天朝的互联网已经不是一般的乱了,功夫网的缔造者,成功的把一群本来电脑水平不咋样的朋友打造成了技术者甚至是砖家级的水平,不得不说,这是个悲哀。

我曾经说过,G.F.W的存在是互联网发展的必然,而我在这里担当一个什么角色呢?好吧,就当我是一个卖刀的人吧,至于各位把这把刀买去是切菜还是砍人?莎士比亚说过:成功的骗子,不必再以说谎为生,因为被骗的人已经成为他的拥护者,我再说什么也是枉然。

那些用刀来干坏事,自称要如何如何自由自称要如何如何如何的人,我只能对你们说:我热爱这片国土!

以下内容仅为探讨网站建设技术而写:

一、什么是 Twitter ,我们为什么要用 Twitter?

一句话:Twitter 是老子,饭否是儿子,嘀咕、新浪围脖等是孙子;如今老子出墙,儿子被毙,孙子被阉,如是而已。

我就不啰嗦了,我只是申明,我用 Twitter 只是为了认识更多的朋友,记录一下自己每天的想法,探讨一些博客网站方便的内容,顺便获取第一手IT科技、国内外最新的动态,如是而已。

而 Twitter 比起嘀咕和新浪围脖有不可比拟的优势,大量第三方客户端,几乎完全开放的API,嘀咕可以做到只是人气不行,新浪可以做到只是自己进行了阉割,所以现阶段 Twitter 是我能欣赏的唯一平台。

二、为什么要架设自己的第三方 Twitter 客户端?

一 句话:墙无止尽,想让更多人加入 Twitter 这个开放性的平台,仅仅靠着优秀的第三方客户端是不行的,开源的可以自己搭建的客户端永远都是封不完的,WordPress.com 被墙了吧?无数个自己搭建的 WordPress 都做得如此优秀,Twitter 也是同一个道理。

三、如何搭建自己的第三方 Twitter 客户端?

1、准备步骤

需要的条件是:空间一个,域名一枚,再推荐独立IP一枚外加 https 保护

当 然,你可以用免费的空间,可以用免费的二级域名,但这不在我们打讨论范围之内,免费的不稳定,速度成问题,空间商会限制,更被提独立IP或者ssl证书, 况且一个免费空间上假如有N多个人搭建了客户端造成了很多短暂性的连接被重置,被功夫网引起重视以后直接K了整个IP段就得不偿失了。

所以,我的推荐是,自己买一份空间,外加域名一枚,当然已经有的就最好,空间需要满足的条件是:

① 支持 php 5

② Dabr 需要 curl 函数支持,否则首页会白屏

③ 需要支持 .htaccess 伪静态(针对 Dabr,Apache 环境下, Nginx 环境我会在下面说)

④ 服务器必须是 64 位的(因为 Twitter 的消息条数早已超过32位服务器能计算的最大范围,用32位服务器有会丢推不能查看单条推不能查看回复的推等等限制),可以向你的空间商咨询,或者下载这个探针,运行以后显示

以上是空间的要求,但是,我有个个人的建议:

第一,千万别用共享的IP来搭建第三方客户端,很容易被踹,而且现在很多空间商也不允许你这么做,因为一旦你的客户端被发现而被封,损害的是统一服务器上其他用户的利益(很多只是放了个博客而已,他们并没有错!)

第二,先考虑清楚,否则不推荐用 http 来搭建第三方客户端,假如你的空间在国内,到时候拔网线来网监电话是肯定的;假如你的空间在国外,一旦出现一两个关键词,整个页面都会连接被重置,如图:

连接被重置

短暂性死亡五分钟左右才会恢复,整个时候背后盯着你的眼睛在干啥呢?我的推测嘛,万一整个网址被重置连接多了以后,就会引起高度重视,接着……我就不说了。

所以,现阶段最好的方法就是,购买独立IP外加ssl证书,也就是通常所说的https站点。

简单的说明一下,因为 https 站点必须假设在独立ip上,一个ip只能对应一个域名,否则证书就不可能受信任,免费的证书当然有,详见 《全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL

顺便调查一下,会有多少朋友有这个需求(独立IP空间+ssl证书),如果人数可以,我可以帮忙联系朋友搞一期合租。

2、程序选择

这个要看个人需求,你是想在电脑上用第三方 Twitter 网页客户端还是想在手机上使用,或者只是要自己搭建一个 API , 我就针对不同的客户端进行不同的评价吧、

① 推特中文圈 / Twitese

本程序由 @bang590 编写,原来是搭建在 Google App Engine 上的,GAE的IP虽然很多,但是很容易被G.F.W,所以 @bang590 又写了一个 php 版本,更适合国人。

安装方法:进入 http://code.google.com/p/twitese/downloads/list 下载,最新版本是 1.0.4 ,下载完以后解压,用 非记事本 (Notepad + / EmEditor 等)打开 lib/config.php ,按照如下的要求填写:

//加密用户名密码用的密匙,请随便输入一字符串
define('SECURE_KEY', 'Showfom_is_Best');
//twitter api地址,如果是国外空间,请用http://twitter.com,国内空间需要用第三方API proxy
define('API_URL', 'http://twitter.com');
//twitter search api地址,同上。
define('SEARCH_API_URL', 'http://search.twitter.com');
//“随便看看”与“排行榜”的api地址,由架设在GAE的twitese提供
define('TWITESE_API_URL', 'http://twiteseapi.appspot.com');
//网站名称
define('SITE_NAME', '第三方 Twitter 客户端');

?>

推特中文圈 config.php 配置

推特中文圈对空间要求很低,基本一般的空间都可以安装,加入你的程序出错,一般情况都是空间问题(垃圾空间上害人啊),可以去 @bang590 的博客进行咨询:http://blog.webbang.net/?p=1000

最终效果(稍微修改了主题)如下:

推特中文圈预览

② Rabr / 推特中文圈修改版

假如你看腻了推特中文圈的样式,而又喜欢 Twitter.com 的样式,那么就使用 @disinfeqt 修改的 Rabr 。

安装方法:同上,下载地址: http://code.google.com/p/rabr/downloads/list 最新版本是 11月23号 的,其余安装方法和推特中文圈的安装方法一样。

最终效果如下:

Rabr 预览

③ Dabr / 大波 / 奶瓶腿

关于 Dabr (俗称大波),我曾经在这篇文章里介绍过,用国内空间搭建大波的那个方法已经失效,不过 @NetPuter 童鞋开源了他修改的奶瓶腿,可以在国内空间搭建,当然我还是推荐你在国外的空间搭建。

安装方法:

3.1 下载地址: http://code.google.com/p/dabr/downloads/list (官方)

http://code.google.com/p/netputer/downloads/list(推荐,奶瓶腿修改,中文显示,支持自定义API,外加很多功能)

3.2 解压上传,需要注意的是,一般情况下,你的空间必须支持 curl 组件 + .htaccess 伪静态

3.3 申请 Twitter Oath 认证 的 Key

登陆 https://twitter.com/oauth ,点击 Register a new application ,按照我的截图一步一步来:

填写网站信息:

国内空间架设 Dabr(大波)教程

填写 Application 信息:

国内空间架设 Dabr(大波)教程

点 Save 前进,然后就得到了 Consumer key 和 Consumer secret:

国内空间架设 Dabr(大波)教程

confoig.sample.php 重命名为 config.php ,用非记事本打开,然后按照我的截图修改:

(官方默认,修改 t.showfom.com 为你的 Dabr 地址:)

国内空间架设 Dabr(大波)教程

(奶瓶腿:)

奶瓶腿 config.php

PS : 万一你的空间不支持 .htaccess 伪静态,请下载这个版本:http://showfom.googlecode.com/files/dabr_no_htaccess.zip

Nginx 伪静态规则:

location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}

}

简单吧?最终效果如下:

Dabr 预览

④ kwestion

kwestion 是 @whentp 搭建的一款 Ajax + PHP 的 Twitter 网页客户端,部分源码借鉴了推特中文圈

下载地址:http://code.google.com/p/kwestion/downloads/list

直接上传即可,不用任何设置,最终效果如下:

kwestion 预览

=======

以上是网页客户端的详细安装方法

Tip 1 :我的建议是,电脑上首选推特中文圈/Rabr , 手机上首选 奶瓶腿/Dabr ,假如你想和我一样,用同一个域名来实现电脑上访问跳转到推特中文圈,手机上访问跳转到Dabr,那么,请阅读 《 PHP自动识别手机访问跳转 - Detect Mobile Browsers

Tip 2 :目前只有 Dabr/奶瓶腿 可以进行 oAuth 登陆,也就是说,你可以个性化你的大波名字,比如,某人很怀念饭否:

饭否

Tip 3: 屏蔽一切搜索引擎,把这个 robots.txt 放到你的根目录即可! 另外,还可以给大波加密:http://www.storyday.com/html/y2009/2576_to-large-waves-encryption.html

======

⑤ 建立 Twitter API

优秀的手机客户端,比如我使用的 Gravity;优秀的 Firefox 扩展,比如 Echofon 都可以使用 API 来进行推特操作。

建立 Twitter API 有很多种方法,这里我就介绍最简单的两种方法

使用 Twip、Tweetr 开源程序

解压,上传,稍微修改 config.php 即可

分别下载地址:

http://code.google.com/p/twip/downloads/list

http://code.google.com/p/tweetr/downloads/list

参考教程:

使用twip架设Twitter API proxy》、《使用tweetr架设twitter api proxy

@yegle 那个MJJ的已经介绍的很详细了,我就不多说咯~ 我要介绍的是我目前在用的无敌 Nginx 反向代理方法,很简单,任何动作都不用,只要在 nginx.conf 配置文件中加入以下几行:

server {
listen 80;
server_name Twitter API地址;

access_log /home/logs/api.log;
error_log /home/logs/api_error.log;

location / {
proxy_pass http://twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

server {
listen 80;
server_name Search API地址;

access_log /home/logs/search.log;
error_log /home/logs/search_error.log;

location / {
proxy_pass http://search.twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

足够简单吧?

==========

四、总结

1、不推荐免费空间,不推荐合租空间,最好的方式是独立IP+ssl证书,如有需求,请留言

2、一般装不上或者有错误都是空间问题,程序我都测试过,木有问题

3、 自己搭建的客户端,只能给自己熟悉的朋友用,千万别高调传播,我的 tuite.de 就是一个活生生的例子,封域名+封IP,损失惨重,直接金钱的损失,功夫网的同志们,这个损失最后会由谁来承担?虽然经过沟通我换了IP,但是 tuite.de 目前已经无法直接访问,需要修改 hosts,这和 Twitter.com 有什么不同?所以,低调低调再低调。

4、广告时间,捧个场吧。

域名购买: http://shoushou.de/price/

空间购买(不能以任何理由架设第三方客户端,如需架设,请联系我):http://imhost.org/

0 评论:

发表评论

用户热评文章 文章两月排行 文章本年排行