• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mytry
V2EX  ›  程序员

给之前的“在线代理”设计了一种新的 URL 模式,看看会不会识别成钓鱼网站

  •  5
     
  •   mytry · Apr 3, 2019 · 25988 views
    This topic created in 2773 days ago, the information mentioned may be changed or developed.
    前些时候分享过一个在线代理 https://www.gk.jsproxy.tk/ ,代理后的 URL 是把原始域名“打包”在自己的子域名下。

    这种方案虽然实现简单,但有很多缺点。例如需要大量 DNS 查询,HTTPS 子域名数量有限,等等。

    最近尝试了一种新的 URL 模式,把原始 URL 打包在路径里,这样域名始终只有一个。例如:

    https://zjcqoo.github.io/-----https://www.google.com

    当然这个演示目前还不完善,主要看看这种 URL 模式会不会被识别成钓鱼网站。

    (目前换成了新加坡轻量云,貌似速度没有之前的快~)

    (猜猜 github pages 为什么能显示任意路径的内容~)
    Supplement 1  ·  Apr 3, 2019
    老版本(前者)香港节点没开 BBR 比新版本(后者)新加坡节点 BBR 快一些,有没有感觉到~
    Supplement 2  ·  Apr 7, 2019
    https://zjcqoo.github.io/-----https://www.google.com 目前在测试改进中,推荐用隐身模式访问,避免 SW 缓存的问题。
    Supplement 3  ·  Apr 9, 2019
    Youtube 搜索报错的问题终于解决了~
    Supplement 4  ·  Apr 11, 2019
    访问 alicdn、zhihu、jianshu 等 CDN 可以直接走本地请求了,因为它们都支持 CORS 而且允许 referer 为空。可以给我的代理节省一些流量,哈哈哈。
    Supplement 5  ·  Apr 23, 2019
    123 replies  •  2019-07-01 10:39:39 +08:00
    1  2  
    ❮ ❯
    Amcrow
    Amcrow
    Apr 3, 2019
    1
    给个 telegram 让我联系你
    matsuz
    matsuz
    Apr 3, 2019
    2
    github pages 那个似乎不支持 Safari ?
    ccccccc
    ccccccc
    Apr 3, 2019
    3
    (猜猜 github pages 为什么能显示任意路径的内容~)

    404.html ?
    yidinghe
    yidinghe
    PRO
    Apr 3, 2019
    4
    为了避免被识别出敏感词,最好用 Base64 再编码一道。另外 web 代理现在貌似不吃香。
    angryRabbit
    angryRabbit
    Apr 3, 2019
    5
    太厉害了,还能放视频。赞赞赞👍👍👍👍
    为什么非要用 ServiceWorker ?直接用 script 引入 x.js 不行么?
    CallMeReznov
    CallMeReznov
    Apr 3, 2019
    6
    我记得 SS 没出来之前甚至为屁嗯都没流行前,有那种页面跳转的代理,是不是类似这种?
    Amcrow
    Amcrow
    Apr 3, 2019
    7
    IP:149.1*9.6*.171
    MAC:00:**:3e:**:05:41

    你联系我吧,提个 bug
    Amcrow
    Amcrow
    Apr 3, 2019❤️1
    8
    tg:KzEgOTI5NDMwNTEyOQ==
    mkstring
    mkstring
    Apr 3, 2019
    9
    首先感谢这么好的工具,之前用过一段时间 jsproxy,太好用了!
    jsproxy 不维护了吗,一直在 loading...,页面一直在跳转。
    ClarkAbe
    ClarkAbe
    Apr 3, 2019 via iPhone
    10
    先献上小星星为敬
    mytry
    mytry
    OP
    Apr 3, 2019
    11
    @mkstring 用隐身模式打开试试。jsproxy 最近没怎么更新,主要在研究一些新方案,过几天这个新版本会更新 github 上。
    CallMeReznov
    CallMeReznov
    Apr 3, 2019
    12
    LZ,我假设你这这个程序默认换成静默跳转,也不会弹出证书错误,做钓鱼网站会不会比较吊?
    mytry
    mytry
    OP
    Apr 3, 2019
    13
    @angryRabbit 不用 Service Worker 没法统一拦截页面产生的请求,需要把每个 js/css/html 资源里的 url 逐个替换,效率比较低。
    mytry
    mytry
    OP
    Apr 3, 2019
    14
    @yongxa 服务器远程桌面那个吗- -
    mytry
    mytry
    OP
    Apr 3, 2019
    15
    @yidinghe 理论上 Web 代理可以比 VPN/SS 会快很多,因为可以在 7 层加速。这个版本以后加上本地 CDN 加速可以秒开常用的国外网站~
    azh7138m
    azh7138m
    Apr 3, 2019
    16
    ksedz
    ksedz
    Apr 3, 2019
    17
    太强了!
    mytry
    mytry
    OP
    Apr 3, 2019
    18
    @azh7138m 还没做完,一大堆功能没实现。。。现在只是测下域名会不会被封~
    a4854857
    a4854857
    Apr 3, 2019❤️1
    19
    速度好快啊
    hafuhafu
    hafuhafu
    Apr 3, 2019
    20
    有意思啊!
    Amcrow
    Amcrow
    Apr 3, 2019
    21
    @mytry 就你发的这个项目的
    greatx
    greatx
    Apr 3, 2019
    22
    Firefox 内容损坏错误
    rampagechopper
    rampagechopper
    Apr 3, 2019
    23
    觉得还不错
    rizon
    rizon
    Apr 3, 2019
    24
    我想知道哪里有基于 js 的代理的源码,可以拿来自己部署?
    460881773
    460881773
    Apr 3, 2019
    25
    优秀 点赞
    zdyx123
    zdyx123
    Apr 3, 2019
    26
    chrome 正常
    Firefox 内容损坏错误
    ho121
    ho121
    Apr 3, 2019 via Android
    27
    这根本不新
    nicoljiang
    nicoljiang
    Apr 3, 2019
    28
    很久很久以前( 200x 年)就有这个模式了啊。。。
    lamada
    lamada
    Apr 3, 2019
    29
    点赞!
    Lothar
    Lothar
    Apr 3, 2019
    30
    别的不说,速度是真的快......
    chinvo
    chinvo
    Apr 3, 2019
    31
    FetchEvent.respondWith received an error: RangeError: Status must be between 200 and 599
    gzxu
    gzxu
    Apr 3, 2019 via Android
    32
    牛逼牛逼,已 star
    mitnick
    mitnick
    Apr 3, 2019
    33
    完美!点赞
    feikeq
    feikeq
    Apr 3, 2019
    34
    这个速度蛮快的!赞
    opengps
    opengps
    Apr 3, 2019 via Android
    35
    容易被泛滥使用,我的短网址被人恶意操作,腾讯聊天窗口里红名了一个月
    li02
    li02
    Apr 3, 2019
    36
    good job!
    怎么能部署到自己的服务器上?
    mytry
    mytry
    OP
    Apr 3, 2019
    37
    @yongxa telegram @zjcqoo
    x86
    x86
    Apr 3, 2019
    38
    牛逼,响应速度真的快
    bertonzh
    bertonzh
    Apr 3, 2019
    40
    还能这么玩???
    changwei
    changwei
    Apr 3, 2019 via Android
    41
    这个不就是 glype 的思路嘛?以前 openshift v2 免费的时候,好多人在它上面安装 glype 当 为皮嗯 用
    mytry
    mytry
    OP
    Apr 3, 2019
    42
    @changwei 在线代理其实都类似。这个的特点是后端 CPU 开销极低,前端有 API 虚拟化。
    asly
    asly
    Apr 3, 2019
    43
    速度很快,不过火狐好像打开有问题
    Liudong1999
    Liudong1999
    Apr 3, 2019
    44
    我靠!好快!赞啊,兄弟!!!
    pyteam
    pyteam
    Apr 3, 2019
    45
    非常不错,支持继续更新完善!
    hpj
    hpj
    Apr 3, 2019
    46
    好一个反向代理...
    xiangyuecn
    xiangyuecn
    Apr 3, 2019
    47
    又是你,反手就是一个赞。就是不知道会不会被请喝茶
    Schalkiii
    Schalkiii
    Apr 3, 2019
    48
    相当棒
    mytry
    mytry
    OP
    Apr 3, 2019
    49
    @asly 目前只支持最新版 chrome。主要是 firefox、safari 调试 Service Worker 太麻烦了。。。
    ragnaroks
    ragnaroks
    Apr 3, 2019
    50
    有点意思
    zealot0630
    zealot0630
    Apr 3, 2019 via Android
    51
    对于已经使用了 sw 的网站,还能正常代理么?
    binux
    binux
    Apr 3, 2019
    52
    Service Worker 原来可以这么用,有意思
    no1xsyzy
    no1xsyzy
    Apr 3, 2019
    53
    内容损坏错误

    在网站 https://zjcqoo.github.io/-----https://www.google.com 遇到一个无法修复的网络协议违规。

    由于检测到在数据传输过程中存在错误,无法显示您正要查看的页面。

    建议向此网站的管理员反馈这个问题。


    ——

    完全没见过的错误呢

    ——
    控制台:

    导航至 https://zjcqoo.github.io/-----https://www.google.com
    [jsproxy] sw inited sw.js:257:1
    无法载入 ‘ https://zjcqoo.github.io/-----https://www.google.com ’。某个 ServiceWorker 传递了 promise 给 FetchEvent.respondWith(),因下列错误被拒绝:‘ RangeError: Invalid response status code.’。x.js line 144 > eval:50:10
    mytry
    mytry
    OP
    Apr 3, 2019
    54
    @zealot0630 重写了 SW 注册的 API,拒绝原始网站使用 SW~~~ 大部分网站的 SW 只是优化网络的,禁用了也没太大问题。
    mytry
    mytry
    OP
    Apr 3, 2019
    55
    @no1xsyzy safari 会报这个错误,这个浏览器的 cors 模型和 chrome 不太一样,还在做兼容。。。
    buhi
    buhi
    Apr 3, 2019
    56
    楼主这个一旦被墙盯上基本没有任何匿名能力吧, 瞬间就能被识别出是一个代理服务器, 然后秒封服务器 ip.
    no1xsyzy
    no1xsyzy
    Apr 3, 2019
    57
    @mytry 我是 firefox ……
    auin
    auin
    Apr 3, 2019
    58
    star,看了下确实使用的 404.html
    alfchin
    alfchin
    Apr 3, 2019 via Android
    59
    url 敏感词,分分钟被断
    alect
    alect
    Apr 3, 2019
    60
    目的域名考虑加密下?
    xujinkai
    xujinkai
    Apr 3, 2019
    61
    好赞啊
    xujinkai
    xujinkai
    Apr 3, 2019
    62
    问一下 这样的话 cookie 是不是就乱了
    hasaki1997
    hasaki1997
    Apr 3, 2019
    63
    已经无法访问了
    mytry
    mytry
    OP
    Apr 3, 2019❤️1
    64
    @xujinkai 重写了 document.cookie 和 http set-cookie 的实现,整个 cookie 全部由 JS 来维护(很是麻烦,页面和 SW 之间需要相互通信,还要维护过期等等等等。目前还没做完)

    本来想用 path 隔离不同网站的 cookie,但那样所有 cookie 都在一个域下,多了以后请求头会爆掉。。。
    mytry
    mytry
    OP
    Apr 3, 2019
    65
    @hasaki1997 刚刚重启了下~
    mytry
    mytry
    OP
    Apr 3, 2019
    66
    @zdyx123
    @chinvo
    @asly
    @no1xsyzy
    现在支持 FireFox、Safair 了~ 这两个坑爹的浏览器 CORS 模型还不一样。(具体是 HTTP 返回头配了 access-control-expose-headers: * 浏览器仍不能读取所有头)
    zhouyg
    zhouyg
    Apr 3, 2019
    67
    很酷,我也回头研究下具体的实现原理,有什么参考资料吗?
    yibinhp
    yibinhp
    Apr 3, 2019
    68
    厉害
    Felldeadbird
    Felldeadbird
    Apr 3, 2019
    69
    刚才测试了文件下载,貌似连文件下载也走代理了? 这样会不会比酸酸乳 更好使?
    Yangz
    Yangz
    Apr 3, 2019
    70
    好厉害呀!感谢感谢~
    mytry
    mytry
    OP
    Apr 3, 2019
    71
    @zhouyg 熟悉 Service Worker 就可以了
    mytry
    mytry
    OP
    Apr 3, 2019
    72
    @Felldeadbird 只是浏览网页的话,可以比流量层代理更快(当然目前还没做本地加速,过段时间上了这功能之后可以几十 ms 打开 google、youtube 首页~)
    wazon
    wazon
    Apr 3, 2019❤️1
    73
    这个想法很有创意,楼主的网站有点担心被人用烂。
    不过,楼主的代码完善后,如果给出教程方便大家自建的话,相信会给工作和生活带来不少便利。
    (另外,proxybest.xyz 的 whois 不开隐私保护么)
    Hayek
    Hayek
    Apr 3, 2019
    74
    @alfchin 请问 HTTPS 下, 域名可以识别, 后面的 path 如何识别名敢刺呢?
    mytry
    mytry
    OP
    Apr 3, 2019❤️1
    75
    @wazon 以后 API 接口可能不用域名了,直接用 IP 地址的形式。
    mytry
    mytry
    OP
    Apr 3, 2019
    76
    @wazon 之前注册时忘了开保护。。。多谢提醒。
    wazon
    wazon
    Apr 3, 2019
    77
    @mytry 用 IP 的话,免费证书还能搞到么?
    peyppicp
    peyppicp
    Apr 3, 2019
    78
    好顶赞 已 star
    Rwing
    Rwing
    Apr 3, 2019
    79
    不错,主域被识别成钓鱼的话,后面怎么换都没用吧?
    mytry
    mytry
    OP
    Apr 3, 2019
    80
    @wazon 试了下 sslforfree 不让签发 IP 证书。。。还是换之前的免费域名算了~
    RyanOne
    RyanOne
    Apr 3, 2019
    81
    支持一下
    qfdk
    qfdk
    PRO
    Apr 3, 2019 via iPhone
    82
    路过 来学习下新的黑科技
    paomo547
    paomo547
    Apr 3, 2019
    83
    厉害,速度不错
    my3157
    my3157
    Apr 3, 2019
    84
    手贱, search 了 xxxx 在办公室还点开了第一个

    :doge:
    phpfpm
    phpfpm
    Apr 3, 2019
    85
    所以有没有可能数据节点用 ss 协议传递。。
    mytry
    mytry
    OP
    Apr 3, 2019
    86
    @phpfpm 不可能~ 倒是可以试试 WebRTC
    1072512118
    1072512118
    Apr 3, 2019
    87
    有点意思的,帮顶一下
    zerozz
    zerozz
    Apr 3, 2019
    88
    mark,打开速度很快
    IdJoel
    IdJoel
    Apr 3, 2019
    89
    楼主 nb 不过 QQ 显示已经被投诉不能打开 微信照常可以使用
    lawler
    lawler
    Apr 3, 2019
    90
    试了下 p***hub,楼主好人。
    t6attack
    t6attack
    Apr 3, 2019
    91
    @nicoljiang @CallMeReznov
    以前那种在线代理,是简单的在服务端拉取页面,返回给浏览器。这样只支持页面,而页面内的所有元素,都是不走代理的。。要么就是分析修改页面内容,给页面中的每个 src/herf 套上一层代理。这种处理方式极其低效、不完善。
    现在这种新的解决方案,是在页面头部注入一个 js 文件,hook 整个页面所产生的网络请求。这样就可以让页面加载后的所有请求都走代理,包括视频、图片、后续的 ajax 请求。。
    不知道我理解的对不对。
    nicoljiang
    nicoljiang
    Apr 3, 2019
    92
    @t6attack 嗯 是有个 hook 但本质没变,思路是一样的,但是现代浏览器让其得意实现的方法更简单。
    mywaiting
    mywaiting
    Apr 3, 2019
    93
    ServiceWorker 的转发依赖浏览本地实现,比浏览器 extension 的 native API 弱很多啊

    感觉可以搞个浏览器的 extension,类似 adblock 使用浏览器网络 native API 那样 hook 所有流量,还能针对白名单进行本地定制流量过滤,这样就不用所有流量都经过服务器中转了,还能本地缓存页面,重复打开的页面几乎可以做到瞬间打开,因为本来就是 local cache
    zanzhz1101
    zanzhz1101
    Apr 3, 2019
    94
    已 star,持续关注中
    goodboy886
    goodboy886
    Apr 3, 2019 via Android
    95
    太棒了
    mytry
    mytry
    OP
    Apr 3, 2019
    96
    @t6attack 思路正确,细节不全对。拦截请求的 Service Worker 是 404 页面创建的(创建后自动刷新),不是注入的 JS 创建的。注入的 JS 主要是模拟一些 API,当然也有拦截 AJAX、WebSocket 等调整 URL 参数~
    haobangdada
    haobangdada
    Apr 4, 2019
    97
    电报网页版行吗? t.me/pojieapp
    tz1006
    tz1006
    Apr 4, 2019
    98
    牛逼
    nosky
    nosky
    Apr 4, 2019 via Android
    99
    500,是我来晚了吗
    snoopyxdy1
    snoopyxdy1
    Apr 4, 2019
    100
    很有意思,思路很新颖,但是对使用者不是很安全吧
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2627 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 257ms · UTC 14:35 · PVG 22:35 · LAX 06:35 · JFK 09:35
    ♥ Do have faith in what you're doing.