跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • PHP 反向代理访问任意网站源码来了_Any-Proxy
未分類
14 2 月 2021

PHP 反向代理访问任意网站源码来了_Any-Proxy

PHP 反向代理访问任意网站源码来了_Any-Proxy

資深大佬 : yitalin 2

折腾了一天,有点舍不得,还是发出来造福大家吧。
搭建好的地址可以共享一下
顺便取了个名字:Any-Proxy
源码: https://github.com/yitd/Any-Proxy

预览页面 https://turl.chat/ (不定时关闭)

输入 http://www.ip38.com/ 就浏览 ip38.com

也可以直接 http://turl.chat/http://加域名

如 : http://turl.chat/http://www.ip38.com/

你可以直接在当前链接后面输入 *q 退出当前页面返回首页
可直接在此域名后面加上链接地址访问,如 https://turl.chat/http://ip38.com
支持 POST 、cookie,不复杂的站点可以登录 测试 dnsdun 可以

大佬有話說 (62)

  • 資深大佬 : Tink

    502

  • 資深大佬 : pems002

    star 了

  • 資深大佬 : hundan

    折腾了一天 有点不舍得 吗…

  • 資深大佬 : freakxx

    。。。。这跟 php 有啥关系,就是做个 nginx 反代而已

  • 資深大佬 : qanniu

    Google 可以登录吗?

  • 資深大佬 : Ranying

    纯 php 才有可能在虚拟主机等环境大规模应用。
    个人要用还是在首页加个登录验证比较好。

  • 資深大佬 : ferock

    晚点看看

  • 資深大佬 : terranboy

    这东西 10 年前就有了吧 还不如 nginx

  • 主 資深大佬 : yitalin

    @terranboy
    张口就来?
    十年前的可不会在搜索引擎下智能联想
    十年前的可不支持 cookie 、post
    Nginx 可不能在 url 后面变地址就改变反代地址

  • 資深大佬 : chinvo

    关键字 www proxy

    确实是十年甚至二十年前就有的东西

    不过确实是单 Nginx 实现不了

  • 資深大佬 : lijialong1313

    我记得有人用 php 做 ngrok……要不 LZ 考虑考虑,搞个完整替换?

  • 資深大佬 : caola

    不用说功能上,就拿你的代码来说,就是不严谨的,
    比如:不检查参数就直接用、单双引号不规范使用

  • 資深大佬 : NSAgold

    让我想起了上古时代的 PHPProxy 和 webproxy 类软件

  • 主 資深大佬 : yitalin

    @caola 我不是程序员,这些都是自学的,能用就行。。。

  • 主 資深大佬 : yitalin

    @NSAgold 没错。以前还有用来免流的,现在各种 ssr/v2 这些 这写就变冷门了,但也还是有点用的

  • 資深大佬 : jinliming2

    @yitalin #9 还真不是张口就来,十年前我就用类似的东西上 FB 来着,登录肯定是 Post+Cookie 都有的吧

  • 資深大佬 : binux

    想当年 GFW 还没有关键词匹配。。。可见这个技术有多古老

  • 資深大佬 : justyy

    来一个: https://proxy.justyy.com/

  • 資深大佬 : lmmortal

    挺不错的 支持

  • 資深大佬 : Ptu2sha

    9 十年前是 2011 年啊 人人网都挂了

  • 資深大佬 : Seanfuck

    用 socks 弄更好点

  • 資深大佬 : systemcall

    以前的梯子就是这个样子,一些网站的样式会乱套
    连 Flash 这种毒瘤都能跑,post cookies 之类的想必是支持的
    那个时候墙的工作原理很简单,一般的也就是 DNS 污染,定期更新 hosts 就可以看油管。那个时候 Google 还可以直接上

  • 資深大佬 : agdhole

    https://github.com/EtherDream/jsproxy

  • 資深大佬 : hefish

    我记得 20 年前,我们翻墙就用一个 perl 写的 cgi,架设在台湾的服务器上,首页就是一个输入框,输入地址,然后点击 go,就访问了那个地址。 这个 cgi 还能替换<form 里面的 action,当然那时候没有啥 ajax,所以肯定是不支持 ajax 里的替换的。

  • 資深大佬 : AstroProfundis

    https://www.php-proxy.com/

  • 資深大佬 : ladypxy

    这玩意确实 10 多年前就有……后来发现 goagent 就换了。还有人记得 goagent 不

  • 資深大佬 : abcd191898105

    如果不配置 https 那就好了,you2 替代可以

  • 資深大佬 : mscb

    确实是 10 年前流行的东西

  • 資深大佬 : BingoXuan

    当年很流行的在线代理,大概真的就是十年前

  • 資深大佬 : rekulas

    思路没问题,但是太简陋了,随便一测就出问题,想做完善的可以参考下 glype proxy, 10 年前同事就基于这个框架实现了极其完善的网页代理,不过现在都没什么用了代理方式变了

  • 主 資深大佬 : yitalin

    @abcd191898105 如你所愿。已经可以 http 了

  • 主 資深大佬 : yitalin

    @rekulas 刚测试了。这种太卡了。哪些地方有问题可以告知下。

  • 資深大佬 : Lemeng

    给你个 star

  • 主 資深大佬 : yitalin

    @AstroProfundis 这东西到目前都不支持 cookie

  • 資深大佬 : helionzzz

    @ladypxy goagent 之前是真好用

  • 資深大佬 : 0x0F

    讲道理,什么玩意就十年前写不出来了,就不支持 cookie 不支持 post 的了,合着十年前的程序员都是傻子到你这突然灵光了?我寻思十年前 nginx+php5.3 的流行阶段这样的玩意不知道多少人造过这种轮子了,别说 php 了,啥语言不就是实现个 curl 么,还整的是到目前都不支持 cookie,用 socket 不香实属掩耳盗铃井底观天,我看不到就是没有呗,我没用过就是不行呗?
    我是 13 年注册的 V2EX,偶尔上来看个帖,自学自学来跟人讨论没啥问题,别人说啥自己听有意见说就完了,搞得自己是真多厉害,实在是忍不住了,阿弥陀佛。

  • 主 資深大佬 : yitalin

    @0x0F 真不得了呢?以前有谁不知道似的?你找一个功能跟我这个一样的来?搁这找存在感来了? 13 年注册不得了?还特意说明?笑死 d 了

  • 主 資深大佬 : yitalin

    @0x0F 你先给我找一个 cookie 存需要代理 host 的、链接添加指定字符即清除 cookie 返回首页的反向代理出来再 bb ?我寻思这个思路这么多年也没有人做出来啊。你在这打这么多字来叫显得你有文化?你现在去试试市面上 php 的反代,浏览大一点的网页看看是不是很卡?我寻思十年前有人做手机了,十年后就不能有人做智能手机了?真是有 bing

  • 資深大佬 : KasuganoSoras

    主,想的还是太简单了,你考虑过一个问题么
    如果我访问 https://turl.chat/https://turl.chat/ 会发生什么?
    如果我访问 https://turl.chat/https://turl.chat/https://turl.chat/https://turl.chat/ 又会发生什么?如果我频繁请求会发生什么?
    PHP 反向代理访问任意网站源码来了_Any-Proxy
    所以你这只能算个玩具,连基本的请求控制都没有
    你的代码非常多地方都不严谨,变量类型没有任何判断,肉眼能看到的问题就好几处。
    还有,如果这玩意搭在能访问内网的机器上,我是不是还能通过 https://turl.chat/http://192.168.1.1/ 这样的方式去扫你的内网?如果内网机器有弱密码情况,分分钟整台服务器就给拿下了,真不是开玩笑
    所以 LZ 还是虚心一点吧,不要刚学会点入门级 PHP 就这么飘了,戾气别这么重,多学点不是什么坏事

  • 主 資深大佬 : yitalin

    @KasuganoSoras 你说的第一种情况不会发生,有判断,第二个问题但是值得考虑,学习了

  • 資深大佬 : blless

    中间人嘛,说得好听是代理。说得难听那就是中间人了。不是针对主啊,网上发的链接大家还是留个心眼不要点,尤其还登陆点啥来着

  • 資深大佬 : bao3

    突然,就觉得自己是互联网老毒物了……2009 年,还自己搭建过 php proxy,上各种网站……一晃好久了。

  • 資深大佬 : baoshuo

    主的代码我觉得还只能算是娱乐性质的,真要在生产环境用分分钟炸掉

    虽然我的 PHP 水平没有那么好,但是也能看出来一些错误,比如上(#39 )所说的扫内网,还有代码里单双引号的不正确使用,等等

    然后我看了看主的仓库,第一眼让我看见的就是 `Add files via upload` 。这要么说明主比较懒,要么说明主不会 Git

    PHP 反向代理访问任意网站源码来了_Any-Proxy

    然后各个 Commit 的标题让我成功相信了主不会用 Git,即使会用也应该处于刚入门的阶段

    如果主是刚入门的话,我觉得应该去学一些有变量类型的语言(比如 C++),这样对以后的习惯养成有很大帮助

  • 資深大佬 : systemcall

    @ladypxy #26
    Google 中国的那些服务器停了就没法用了。以前 Google 中国的那些服务器还是开的的时候,可以白嫖 Google 的国际专线,北京-美国的专线

  • 資深大佬 : markgor

    要不考虑下替换插入下<base>标签?

  • 主 資深大佬 : yitalin

    @baoshuo 不会啊,我不会写代码,所有问题都是百度的,代码都是复制粘贴拼接的

  • 主 資深大佬 : yitalin

    @markgor 为什么需要这个呢?不是没必要了吗?

  • 資深大佬 : nalzok

    @KasuganoSoras 其实我觉得问题不是主不虚心,你看八说的 “这东西 10 年前就有了吧 还不如 nginx”。从这句话里我没看出有什么有建设性的意见(哪个十年前的仓库值得主学习呢? NGINX 相比主的项目又有什么优越性呢?),完全就是在 bully 罢了。主写的东西再粗糙,他也是想和大家分享自己的作品,结果这么多人都在说 “你写的就是个没用的垃圾”,换作谁会高兴啊。我觉得你的评论就很好,人家的代码有什么问题直接提出就行了,讲那些没用的干嘛 = =

  • 資深大佬 : markgor

    @yitalin
    请忽略我,找到问题了,源站资源存在防盗链的就 GG 了,一开始以为是相对路径的原因

  • 資深大佬 : Tining

    本来想部署一下。。感觉要不等大佬更新

  • 主 資深大佬 : yitalin

    @Tining 更新得差不多了,搭吧,有建议可以回复

  • 資深大佬 : KasuganoSoras

    看到你今天更新了,顺带回一下
    https://github.com/yitd/Any-Proxy/blob/main/index.php#L53
    虽然你做了对内网的判断,判断 host 是否是内网地址,但是,你没有对 host 进行解析操作,也就是说,如果我随便找个域名解析到 192.168.1.1 这样的地址去,还是可以继续扫内网。

    另外
    https://github.com/yitd/Any-Proxy/blob/main/index.php#L3
    不应该去判断是否有 X-Forward-For Header,因为可以随意伪造,只要我每次伪造随机的 Header,就可以无限刷,无视掉你这一部分的判断,并且因为你这一部分还会把请求的 IP 写入 Redis,所以我甚至还可以通过给 Header 塞超长的数据 + 大量请求塞爆 Redis,让主机内存爆满。

    继续改进吧

  • 資深大佬 : KasuganoSoras

    当你试着去解决了域名解析,Header 伪造这些问题后,你就会发现,其实你写的东西和你所说市面上那些慢的要死、浏览网页一卡一卡的代理软件的速度差不到哪去。之所以那些软件速度不快,是因为人家的软件在设计的时候就考虑到了加密、安全以及各种各样的问题,而不是单纯的就做个转发。因为没人愿意把一套不安全的软件部署在自己的生产服务器上。

  • 主 資深大佬 : yitalin

    @KasuganoSoras 那是我测试站点用的判断代码,忘了删除。域名解析速度的影响可以忽略不计吧,另外 X-Forward-For Header 是针对 cdn 的,加了 cdn 只有这个才能拿到客户端 IP

  • 主 資深大佬 : yitalin

    @KasuganoSoras 感谢指点。

  • 資深大佬 : ywisax

    差不多十年前,我有个朋友就是做这种项目的,wap 浏览器,wml to html 部分还是我写的。。。
    挺好玩的,深入搞这个项目对于 HTTP 的细节了解程度应该会提升很大。

  • 資深大佬 : aoerboquartz

    主做的挺好的,主自己都说了,他是自学,不是科班出身,语言符号不规范等等都是正常的,大家就不要嘲讽。主 继续完善好代码。

  • 資深大佬 : whoami9894

    @yitalin #38
    态度还挺冲,逗笑我了

  • 資深大佬 : KasuganoSoras

    今天下午没事干,重新整理了一遍你的代码,把发现的几个问题都修复了,另外规范了一下命名,已经给你提 PR 了,有空去看看吧

  • 資深大佬 : gtchan13579

    无法访问域名+端口号的,感觉用处不大

  • 資深大佬 : q1angch0u

    https://github.com/yitd/Any-Proxy/blob/cebd9c5949f2cebae69223140c570d115a562b33/index.php#L53 这还有一波 dns rebinding 攻击- –

  • 主 資深大佬 : yitalin

    @q1angch0u 这方面不太了解,有办法解决吗

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具