KnProxy

KnProxy是一系列基于PHP和cURL模块的网页版代理系统。它的主要目标就是:
1)方便架设:只需上传即可使用
2)要求低:免费空间就能用,无成本架设
3)扩展性好:有问题更新很方便,整合到自己的项目里也很方便

项目地址:http://sourceforge.net/projects/knproxy
关于这个项目的问题可以回复到下面

50 Comments

  1. Proxy: 1014 – No Content
    The server met an error or was interrupted while trying to fulfill your request for http://www.baidu.com/
    Please check that this is a valid URL and that the remote server is not down.
    The following information is the technical data of the request:

    Dumping knHTTP object:
    knHTTP request type: GET
    knHTTP request: http://www.baidu.com/(21 bytes)
    knHTTP content type:
    knHTTP is HTTPS mode: False
    knHTTP form post(urlencoded): (0 bytes)
    knHTTP cookies: (0 bytes)
    knHTTP headers:
    (0 bytes)
    knHTTP parsed headers:
    knHTTP return body length: 0 bytes
    knHTTP return body(html encoded): Show/Hide
    Go Back to Previous Page
    我在阿里云上搭了一个..使用正常..
    但是同样的设置在CloudCone上搭了一个..什么网站都连不上…
    一开始我以为是防火墙问题,我把防火墙关掉还是不行..求解

    回复

    1. 可能是没开/不支持 cURL之类的?这种没有收到数据一般都是因为 cURL 之类的不工作。可以访问 about:sysinternals 看一下 “cURL enabled?”是不是”true” 。

      回复

  2. 用了很久,感谢作者,两个问题
    1.访问www.wenxuecity.com,经常会被connection reset

    发现页面的head里有类似链接,暴露了google地址,地址拼接似乎也有问题,类似的url get请求一发送就触发connection reset
    2.某些非UTF8的中文网站会乱码,比如www.boxun.com(请忽视网站内容)

    回复

    1. href没贴上来
      http://myserver/kn/index.php?url=yEyiyuyp1k1c1g18yj&x=adservice.google.co.jphttp://myserver/kn/index.php?url=1H1Fy41s1m1a1917yF181y1CyR0jymyQ1zySyOyn1C1cyFyp1uyeyT1z1v1u11yYyUySyKye141Eyh1jyDyl0U1Eya1lycyE1eyhyn0Z1d1k1w1E&x=?domain=myserver” as=”script”

      回复

      1. 这种没办法。。。页面脚本之类的生成的地址(在地址后面 &x= 之后的部分是脚本加入的部分)KnProxy没法控制(服务器并不知道这些JS生成的地址)。这种只能试着关闭js访问网站。

        回复

    2. 被reset应该是因为触发页面关键词判断了。KnProxy默认是不加密页面的(加密那个不太工作),所以如果想上有可能触发页面关键词的页面,建议把KnProxy架设到https服务器上(可以用lets encrypt免费拿到https证书)

      UTF8乱码可能是服务器发送的encoding有问题,也可能是页面的bug,试试在浏览器里面选择encoding看看能不能解决乱码。

      回复

        1. 也是。不过这个真的比较老,2010年写的(SS在12年才出来,knp v4的最后一个大版本,也就是现在的codebase,都比SS第一个commit早差不多两周)。当时主要是为了上Wikipedia(那时候Google还没死),所以大多数都是在这种纯文字网站测试的。

          我最吃惊的是,都2018年了居然还有人用。。。我现在看当年写的码都觉得古董级。。。

          回复

  3. 装了一个在手机里(一个叫Web Server PHP/MyAdmin/MySQL的app, 我把knproxy放到它的根目录里),
    可以看到界面,但是输入网之后都会出错误:
    Dumping knHTTP object:
    knHTTP request type: GET
    knHTTP request: http://mail.163.com(19 bytes)
    knHTTP content type:
    knHTTP is HTTPS mode: False
    knHTTP form post(urlencoded): (0 bytes)
    knHTTP cookies: TRACKID=9653048efda81a82cd097243af844ada;pma_lang=en;pma_collation_connection=utf8_general_ci;pma_mcrypt_iv=nDLnWKkwYfg=;pmaUser-1=wlyL1ZIyjpY=;pmaPass-1=+LKwoasyXAo=;phpMyAdmin=7ormv085mouvs9pslvn23bk8n428bvgf(210 bytes)
    knHTTP headers:
    (0 bytes)
    knHTTP parsed headers:
    knHTTP return body length: 0 bytes
    knHTTP return body(html encoded): Show/Hide
    我对php一窍不通,望求指教.

    回复

    1. 上传文件确实不支持,因为上传完了是跑到挂着代理的服务器上,而挂代理的服务器有各种各样的处理POST来的文件的方式和最大大小限制等。

      目前来说由于KnP采取的请求方法不能直接转发裸数据(PHP跑在CGI或者FastCGI模式),最大的问题是上传的文件需要在服务器上缓存,等上传完毕KnP才能获取文件内容,再从curl上传到目标服务器,文件稍大一点(超过数K)一般目标服务器就超时放弃了。

      这个代理主要是用来做简单的浏览,搜索等等操作,更复杂的话,建议用V5的管道或者用类似Shadowsocks之类的无视内容的管道型代理。基于传递内容的代理总会不能完美的实现一些功能。

      回复

    2. 地址加密不太建议去掉,因为后端没有做url转义。目测去掉的话大部分链接就坏掉了。地址加密本意更多的是编码地址。当然,把key置空就是裸base64了

      回复

    1. 主要是现在相对稳定了。代理方面,正在做一个基于Node.js+PHP的代理(感觉应该在某些方面会更好一点)当作V5版本的后续。v4的话,也很期待Bug报告什么的=w=

      回复

  4. 学校 在局内 有端口限制使用knproxy 在 bae、sae上搭建这个服务器 可以进行突破吗?主机房只开放21/80/8080/8081/9090的端(不是客户端限制是主机的限制)! 使得不可以看视频(优酷、土豆==都不可以播放是频)!

    回复

    1. 这是什么奇葩的限制=w=。GAE用的是Python,于是乎KnP还不能用(不过可以去试试GoAgent这东西不错)SAE的话,有几个地方和标准PHP不一样,如果没搞错的话,貌似需要改好几行代码。还有,按理说视频也是80口的,为什么会看不了呢?

      回复

  5. 本来想用PHProxy MOD或者glype mod啥,但是一看到炮姐那个logo,顿时被秒杀了,有一种程序员和二次元没有墙的感觉然后就决定是你了~!去吧皮卡丘

    回复

  6. 楼主,我想问一下。你知道sitemix的子域名指向哪吗?我设置了,但是显示的是“路径不存在”。比方说设置的:bbs.17sui.tk 是指向哪的?我在blog,site,还有根目录下新建了bbs文件夹都没反应啊

    回复

    1. 文件大了(10M以上)可以尝试前面加 stream:文件地址 下载。还有就是似乎文件名很多情况下无法保留,会变成index.php。KnP的Web版本主要就是用起来比较简单,偶尔看看文字内容、链图片什么的比较方便。客户端的架设稍微复杂些,当然相应的功能就完备很多了。

      回复

  7. 这个东西的确很好啊,不过老是输出gizp有错误提示。
    在设置里面把gizp改成false给不行。
    最后//ob_start(“ob_gzhandler”);把这个给注释掉了才行。汗。。。
    我是在校内的服务器上搭建的,上学校外网就不用走计费服务器了。
    但是国内的视频网站貌似视频都没法播放,里面的视频都是空的,请问下这是什么原因???

    回复

    1. GZIP问题已记录,下一版本修正,多谢提示。
      有关国内视频站点(和国外视频站点)问题,很多播放器会进行地址内编,这个问题将在下一版本集中解决。非常感谢反馈。

      回复

        1. 主要是WP有邮件提醒。其实我很少用即时通讯软件,要说的话可能也就GTalk还算常用。QQ什么的,注册了到现在总共也没登陆几次,于是…

          回复

    2. 其实你可以尝试一下 KnProxyV5(http://sourceforge.net/projects/level5)这个可以很好的支持视频,特别是如果只是希望绕过学校收费的话…

      回复

      1. 其实我是帮忙校园网做校内学生服务的。
        那个KnProxyV5我看好像是直接就是客户端的形式了,但是我想通过V4版本的把某些地址嵌入到校内的网站里面,比如视频地址,这样一些资源或者视频,同学们就可以不走流量而可以访问到。
        PS(最近有一个代理软件做的很好的,
        地址:http://www.mxjiasu.info/
        站长可以参考一下,不知道有没有帮助。)

        回复

        1. 嵌入资源之类的倒是v4的优势。至于视频,主要问题是国内的视频站都把地址加密(不像大洋彼岸的Y**Tube,地址是明示的),所以支持视频需要先破解视频网站加密,解析出真正的地址才能让它通过代理。

          当然了,新版本的会尝试处理Tudou,Youku,Sina和ku6的视频,同时顺带把这些视频前的广告处理掉。

          回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注