cloudflare-reverse-proxy icon indicating copy to clipboard operation
cloudflare-reverse-proxy copied to clipboard

【改进】感谢作者,这里做了一些小小的改进

Open 1234567Yang opened this issue 1 year ago • 7 comments

项目地址:

https://github.com/1234567Yang/cf-proxy-ex/

在线体验:

https://y.demo.wvusd.homes/

轻点薅。

基于原项目的改进:

  • 去掉/proxy/,方便使用。我看到有issue说了,但是作者说想添加引导界面,这个问题我也解决了。
  • 手动处理转跳事件(3XX),防止一些相对资源加载不出来。
  • 判断欲代理的网址是否以http开头,如果不是就自动加上。
  • 把header里所有有关代理网址的信息全部换成要代理的网站的信息,防止某些网站阻止代理。
  • 相对路径全部转换绝对路径,方便加载资源(如JS,CSS等)。
  • Cookie作用域修改成仅当代理那个网站时,防止Cookie太大服务器发来400 bad request,同时也可以防止一个敏感的Cookie被探测到导致整个网站无法使用,详细:https://github.com/gaboolic/cloudflare-reverse-proxy/issues/7 。
  • XMLHttpRequestfetch注入返回的HTML,这样也可以提交表单数据。
  • 把一个文档监视器注入到返回的HTML,这样有新的链接也可以相对转绝对。
  • 修改Content-Security-PolicyX-Frame-Options的Header,实现可代理Duckduckgo,同时也解决了一些网站打不开的问题。
  • 在返回的时候,如果是HTML,那么添加"Content-Type": "text/html; charset=utf-8",防止一些较为古老的中文网站打开出现锟斤拷烫烫烫的问题。
  • 优化了一些代码。

1234567Yang avatar Jun 15 '24 16:06 1234567Yang

666

gaboolic avatar Jun 16 '24 05:06 gaboolic

项目地址:

https://github.com/1234567Yang/cf-proxy-ex/

在线体验:

https://y.demo.wvusd.homes/

轻点薅。

基于原项目的改进:

  • 去掉/proxy/,方便使用。我看到有issue说了,但是作者说想添加引导界面,这个问题我也解决了。
  • 手动处理转跳事件(3XX),防止一些相对资源加载不出来。
  • 判断欲代理的网址是否以http开头,如果不是就自动加上。
  • 把header里所有有关代理网址的信息全部换成要代理的网站的信息,防止某些网站阻止代理。
  • 相对路径全部转换绝对路径,方便加载资源(如JS,CSS等)。
  • Cookie作用域修改成仅当代理那个网站时,防止Cookie太大服务器发来400 bad request,同时也可以防止一个敏感的Cookie被探测到导致整个网站无法使用,详细:请问这个可以不跳转https吗?因为国内把CF的workers.dev域名被SNI阻断了,只有http模式可用 #7
  • XMLHttpRequestfetch注入返回的HTML,这样也可以提交表单数据。
  • 把一个文档监视器注入到返回的HTML,这样有新的链接也可以相对转绝对。
  • 修改Content-Security-PolicyX-Frame-Options的Header,实现可代理Duckduckgo,同时也解决了一些网站打不开的问题。
  • 在返回的时候,如果是HTML,那么添加"Content-Type": "text/html; charset=utf-8",防止一些较为古老的中文网站打开出现锟斤拷烫烫烫的问题。
  • 优化了一些代码。

默认path为/的时候容易被扫到, 然后被白嫖... 还是建议默认 / 啥都不返回或是直接断开连接 要使用直接 /xxxx/ 带上个长path保险点... 话说作者这个新版的怎么把输入网址的页面去掉呢???

Tmalll avatar Jul 12 '24 07:07 Tmalll

  • 去掉引导界面这个有需要还可以再加,我当时不知道怎么想的,可能是觉得path里面css太多太占空(好像也没有23333)
  • 然后path这个问题我有时间会弄密匙模式,这几天一直在思考咋弄

谢谢提醒

1234567Yang avatar Jul 12 '24 14:07 1234567Yang

  • 去掉引导界面这个有需要还可以再加,我当时不知道怎么想的,可能是觉得path里面css太多太占空(好像也没有23333)
  • 然后path这个问题我有时间会弄密匙模式,这几天一直在思考咋弄

谢谢提醒

auth就用不到了吧,用户把path弄长点就完事了,https下path就是token。另外主要默认path / 不要返回内容就完事了,一般被扫不出来就ok

Tmalll avatar Jul 12 '24 14:07 Tmalll

ok谢谢提醒(现在是我JS里面写死了直接转到/htps://the_proxy) 不过我已经想到cookie解决方案了,感谢感谢。

1234567Yang avatar Jul 12 '24 14:07 1234567Yang

项目地址:

https://github.com/1234567Yang/cf-proxy-ex/

在线体验:

https://y.demo.wvusd.homes/

轻点薅。

基于原项目的改进:

  • 去掉/proxy/,方便使用。我看到有issue说了,但是作者说想添加引导界面,这个问题我也解决了。
  • 手动处理转跳事件(3XX),防止一些相对资源加载不出来。
  • 判断欲代理的网址是否以http开头,如果不是就自动加上。
  • 把header里所有有关代理网址的信息全部换成要代理的网站的信息,防止某些网站阻止代理。
  • 相对路径全部转换绝对路径,方便加载资源(如JS,CSS等)。
  • Cookie作用域修改成仅当代理那个网站时,防止Cookie太大服务器发来400 bad request,同时也可以防止一个敏感的Cookie被探测到导致整个网站无法使用,详细:请问这个可以不跳转https吗?因为国内把CF的workers.dev域名被SNI阻断了,只有http模式可用 #7
  • XMLHttpRequestfetch注入返回的HTML,这样也可以提交表单数据。
  • 把一个文档监视器注入到返回的HTML,这样有新的链接也可以相对转绝对。
  • 修改Content-Security-PolicyX-Frame-Options的Header,实现可代理Duckduckgo,同时也解决了一些网站打不开的问题。
  • 在返回的时候,如果是HTML,那么添加"Content-Type": "text/html; charset=utf-8",防止一些较为古老的中文网站打开出现锟斤拷烫烫烫的问题。
  • 优化了一些代码。

https://github.com/seadfeng/cloudflare-proxy-sites 看看我这个简洁版本怎样?

seadfeng avatar Aug 05 '24 11:08 seadfeng

ok谢谢提醒(现在是我JS里面写死了直接转到/htps://the_proxy) 不过我已经想到cookie解决方案了,感谢感谢。

cookie的方案确实可行,但是在新机器上增加cookie有点麻烦,老机器有梯子也不需要。 所以,最好能够就像上一楼说的一样: path弄长点就完事了,https下path就是token 这样方便一些。

brightu avatar Sep 14 '24 00:09 brightu