写了Twip API的中转代码

Twip API是@yegle写的Twitter API代码,可以应用在很多的Twitter客户端上,之前在自己的空间上部署过这个API来使用,但由于众所周知的原因导致了这种非加密的API经常挂掉,为此我曾用过的一个副域名寿终正寝,严重抗议GFW所实施的反人类做法。

为了防止部署的API引起域名或IP被墙,因此我自己写了Twip的中转代码Twip Transfer,功能是将Twip API的调用转至真正API并返回结果,好处是隐藏了真正建API的空间,起到防止域名或IP被墙的可能,也避免了token泄漏。

搭建方法:
1. 根据自己的twip版本下载对应的中转代码,放到海外支持curl和rewrite的免费空间上。
2. 修改index.php的LOCAL_API_ROOT和TARGET_API_ROOT目录为自己实际的目录。
[php]////////////////////////////////////////////////////////////////////////////////
// 本地的虚API目录,比如”/twip”、”/myapi/twip”
// “/twip”对应的中转API地址是”http://yourfreedomain.com/twip”
// “/myapi/twip”对应的是”http://yourfreedomain.com/myapi/twip”
define(‘LOCAL_API_ROOT’, ‘/twip’);
// 真正的API目录,比如”http://yourdomain.com/fuck/gfw/twip”
define(‘REAL_API_ROOT’, ‘http://yourdomain.com/fuck/gfw/twip’);[/php]

3. 修改好并上传后在浏览器上打开这个中转API的网址,如果显示“Welcome to Twip Transfer”说明可以工作了。

用法:
在配置客户端的API时直接写这个中转API的地址,格式跟twip的设置一样。
注:需要进行Twitter Oauth认证时请使用原API地址。

声明:本人写的这个代码只是从技术角度提出问题的解决办法,不对使用这个代码造成的任何问题负责。

本地下载:for twip3 for twip4

Tags: ,

11 Responses to “写了Twip API的中转代码”

  1. yegle说道:

    如果客户端对你的twip transfer发出的HTTP请求和对twip的请求是一样的,这样的代码在GFW眼中和twip是没有区别的…

    • lordong说道:

      没错,客户端肯定不会改所以对twip transfer发出的跟对twip直接发出的会是一样的,但有个好处是隐藏了真实API的域名和IP,在自己买的空间上搭twip有可能会导致域名或IP被墙,至少我碰到过域名被墙,所以才有这个想法。而现在支持curl和mod_rewrite的免费空间比较多,随便找一个放这个代码上去就能用,就是二级域名被墙了还可以再申请。

      非常感谢你写的twip,太有用了,呵~

  2. bushuo说道:

    是否可以在用Javascript加密主要内容,比如用XXTEA算法。而transfer端则作为客户端和twip的加密中间层工作。
    不过客户端软件只能使用支持javascript的网页浏览器了,而且用户需要记住加密的密码。

    • lordong说道:

      如果客户的请求可以改的话通过transfer转一次可以避免GFW对关键信息的定向捕捉,可是现在可以改的客户比较少,Echofon可以改,不过我还没试过。
      token还是在真实API那里保存的,解密token的密码用户肯定要记住的,可以简单的把客户端发的请求颠倒一下到transfer那再转回来,总之两边都能改就可以想怎么改就怎么改。

  3. charonhs说道:

    freehost很难找啊。。要支持PHP 还不被封端口 语言版本也要跟上。。。

    况且我这里是局域网。。。。更加囧。。。

    几乎所有的傻瓜翻墙软件都不咋行,只有设IPV6

    • lordong说道:

      肯定要找海外的freehost,支持curl和mod_rewrite就行了,这样的主机还不少。不能用墙内的PHP主机,不然主机到真实API的路还是会被侦听到的。

  4. […] 来源:/wp/post/1260.html […]

  5. starblaze说道:

    在使用您的代码的时候,我已经把文件上传到国外空间里去了,但打开的时候,出现Deprecated: Function ereg() is deprecated in /home/starblaze/www/star/index.php on line 57的错误,请问有办法解决么?谢谢!

    • lordong说道:

      我在网上搜你说的问题,可能是用了PHP5.3的原因,比如这里:http://bbs.dedecms.com/174251.html,你可能要自己解决了。

  6. bobx说道:

    curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/u63524559/public_html/zsdrg/index.php on line 37
    博主@lordong,这是怎么回事啊?网页能打开,就是用api连接不上啊

    • lordong说道:

      第37和38行有些免费空间不支持,测试下来发现用不着,可以自己删除那两行。
      主页能打开但API连不上的话可能是该空间仅支持curl但不支持mod_rewrite功能,所以可能需要选另一个免费空间,你可以先在自己的空间上实测一下是否成功,就是同时在不同的目录下部署twip和twip-transfer,测通过了再删除transfer。

Leave a Reply