btpan 发表于 2025-8-26 10:30:51

iOS小火箭Shadowrocket百度直连方法(附Clash用法)

本帖最后由 btpan 于 2026-1-23 01:54 编辑

最近看大家都在讨论百度直连?讲个好玩的,我对HTTP代理服务器(proxy)还停留在7-8年前,当时人手一个CCProxy还去找透明代理翻。不过现在大家都人手一个Clash配上 127.0.0.1:7890 的本地proxy了,这些过时的技术好像又在论坛里复兴起来了!之前论坛分享的180.101.50.208只是cloudnproxy.baidu.com的其中一个解析,如果要特定IP可以把图中的域名改成 https://www.itdog.cn/ping/cloudnproxy.baidu.com 结果中的任意IP。刚刚换了个网连接,发现IP地址又变了,可以靠手动解析出IP设置锁落地

static/image/hrline/5.gif
昨天在摸索小火箭Shadowrocket时发现内置的lua脚本来利用百度直连好像行得通,而对于百度服务器来说只是加一个header验证,大概是这样


接下来讲实操
首先新建一个lua脚本的代理服务器配置

然后填入代理服务器的ip地址和端口,method选none;再点进File去修改
结尾我会留下Clash用法,总之出国的时候还能解锁下国内流媒体(翻回去)

在这里我们需要用lua脚本做header验证。我写的脚本有问题,感谢奶友提供的修改。
他的帖子地址:https://forum.naixi.net/thread-9195-1-1.html-- file: lua/backend-baidu.lua

local http = require 'http'
local backend = require 'backend'

local char = string.char
local byte = string.byte
local find = string.find
local sub = string.sub

local ADDRESS = backend.ADDRESS
local PROXY = backend.PROXY
local DIRECT_WRITE = backend.SUPPORT.DIRECT_WRITE

local SUCCESS = backend.RESULT.SUCCESS
local HANDSHAKE = backend.RESULT.HANDSHAKE
local DIRECT = backend.RESULT.DIRECT

local ctx_uuid = backend.get_uuid
local ctx_proxy_type = backend.get_proxy_type
local ctx_address_type = backend.get_address_type
local ctx_address_host = backend.get_address_host
local ctx_address_bytes = backend.get_address_bytes
local ctx_address_port = backend.get_address_port
local ctx_write = backend.write
local ctx_free = backend.free
local ctx_debug = backend.debug

local flags = {}
local kHttpHeaderSent = 1
local kHttpHeaderRecived = 2

function wa_lua_on_flags_cb(ctx)
    return DIRECT_WRITE
end

function wa_lua_on_handshake_cb(ctx)
    local uuid = ctx_uuid(ctx)

    if flags == kHttpHeaderRecived then
      return true
    end

    if flags ~= kHttpHeaderSent then
      local host = ctx_address_host(ctx)
      local port = ctx_address_port(ctx)
      local res = 'CONNECT ' .. host .. ':' .. port .. ' HTTP/1.1\r\n' ..
                  'Host: ascdn.baidu.com\r\n' ..
                  'Proxy-Connection: Keep-Alive\r\n'..
                  'X-T5-Auth: 1951164069\r\n' ..
                  'User-Agent: okhttp/3.11.0 SP-engine/2.71.0 Dalvik/2.1.0 (Linux; U; Android 9; HMA-AL00 Build/PQ3B.190801.002) baiduboxapp/13.33.0.11 (Baidu; P1 9)\r\n\r\n'
      ctx_write(ctx, res)
      flags = kHttpHeaderSent
    end

    return false
end

function wa_lua_on_read_cb(ctx, buf)
    ctx_debug('wa_lua_on_read_cb')
    local uuid = ctx_uuid(ctx)
    if flags == kHttpHeaderSent then
      flags = kHttpHeaderRecived
      return HANDSHAKE, nil
    end
    return DIRECT, buf
end

function wa_lua_on_write_cb(ctx, buf)
    ctx_debug('wa_lua_on_write_cb')
    return DIRECT, buf
end

function wa_lua_on_close_cb(ctx)
    ctx_debug('wa_lua_on_close_cb')
    local uuid = ctx_uuid(ctx)
    flags = nil
    ctx_free(ctx)
    return SUCCESS
end
点右上角的+号,添加lua脚本,填入 https://raw.githubusercontent.com/imPrk0/connect-to-baidu-server-proxy/refs/heads/main/Shadowrocket.lua

点击这个远程lua文件,选择下载,得到一个本地lua文件(注意,你得到的文件名中的数字可能和我不一样),并选中它。

然后返回上一个界面,最终结果如下:

最后点击右上角的done就可以使用了

如果你的卡对百度应用(定向)免费,那可以直接用这个免。
如何在Clash上使用百度直连
众所周知,Clash是支持header的代理工具之一,此时我们只需要添加http代理:- name: 南京电信
server: 180.101.50.208
type: http
port: 443
headers:
      Host: "ascdn.baidu.com"
      X-T5-Auth: "1951164069"
      User-Agent: "okhttp/3.11.0 SP-engine/2.71.0 Dalvik/2.1.0 (Linux; U; Android 9; HMA-AL00 Build/PQ3B.190801.002) baiduboxapp/13.33.0.11 (Baidu; P1 9)"如开头所说,我们可以修改上面的180.101.50.208为cloudnproxy.baidu.com或任意该域名解析出的IP,这样就能得到这些节点:

上面有些参数可能有些佬看不懂,没事。这是因为百度直连最近升级了验证程序,目前需要验证UA(useragent中包含“baiduboxapp”即可),如果你用tiny做前置代理,后置v2。v2的端口必须为80或443。

ethanhooks 发表于 2025-8-26 21:38:07

本帖最后由 xiaoguiday 于 2025-8-26 22:45 编辑

小火箭打开网页提示错误:Internal Error: Missing Template ERR_INVALID_URL

我二次修改了一下配置,可以用了

coldin04 发表于 2025-8-26 11:24:25

讲实话看到这个标题的第一眼:百度这种国内网址大部分代理工具大家应该都是直连规则啊,怎么还要配置。打开以后发现不是一回事

onlooker 发表于 2025-11-12 09:27:53

ethanhooks 发表于 2025-8-26 21:38
小火箭打开网页提示错误:Internal Error: Missing Template ERR_INVALID_URL

我二次修改了一下配置,可以 ...

老哥稳!

fkgww 发表于 2025-8-26 10:35:17

优秀{tieba14}

tidik 发表于 2025-8-26 10:45:37

百度直连一直这个样子没变吧

zzy 发表于 2025-8-26 10:53:35

看看 学习一下

zhfeng 发表于 2025-8-26 11:08:58

学习一下

Avhnagn 发表于 2025-8-26 11:18:37

学习一下

destiny2022 发表于 2025-8-26 11:32:34

学习一下多谢大佬

AWW 发表于 2025-8-26 12:55:01

厉害👍学习一下~

zhangdailin 发表于 2025-8-26 13:41:35

过来学习学习

oki 发表于 2025-8-26 13:56:31

用上去了 但是为啥我这用不了啊

credit100 发表于 2025-8-26 14:11:27

学习一下~

Jamie 发表于 2025-8-26 14:13:49

看看学学

www 发表于 2025-8-26 14:51:42

看看内容

shijie8089 发表于 2025-8-26 14:56:17

谢谢大侠分享

nagisayuu 发表于 2025-8-26 18:52:20

学习一下

amlogixq 发表于 2025-8-26 18:54:46

感谢感谢感谢感谢感谢

hdp 发表于 2025-8-26 19:31:42

看看怎么玩

ethanhooks 发表于 2025-8-26 20:13:42

看看呢

azuneko 发表于 2025-8-26 20:53:43

看看教学
页: [1] 2 3 4
查看完整版本: iOS小火箭Shadowrocket百度直连方法(附Clash用法)