这个后缀无论填啥都能进去诶
竟然可以这样,果然是拼车神器啊
你是不是在已经登陆过的设备上用chat的域名连了,类似这样:
先打开了 https://tk.pandoranb.workers.dev/?un=youxiaoun
(前缀为tk)
再在同一个浏览器打开了 https://chat.pandoranb.workers.dev/?un=wuxiaoun
(前缀为chat)
因为第二个worker是反代且通过cookie访问的,所以认证通过一次后就都可以访问了,后续认证是以cookie为准的
1、设备登陆过chat的了,刚刚是搞错域名了,搞成chat.xxx.xxx/?un=xxx
2、现在用tk.xxx.xxx/?un=xxx登陆,都是直接跳转到https://chat.xxx.workers.dev/auth/login
是否是rt和at都没起到作用?
还是我的 token_prefix
的问题呢
理论上如果token无效是会直接卡在tk.xx并显示错误信息的,你开个无痕试试
我也是这样了,之前正常的,现在都是跳转https://chat.xxx.workers.dev/auth/login,无痕也一样
我试了一下也不行了,貌似是始皇还在改新版的代码,导致cookie格式对不上
等始皇更新完吗
始皇已更新接口,无需再建二号worker
原内容
原原内容
更新:由于始皇代码结构调整,之前直接设置cookie的方式不生效了,需将二号worker的代码更新为以下内容
const hostname = "https://new.oaifree.com";
async function getCookies(shareToken) {
const cookies = await fetch(`${hostname}/auth/login_token`, {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: 'action=token&access_token=' + encodeURIComponent(shareToken),
})
.then(response => {
return response.headers.get('Set-Cookie');
})
return cookies
}
async function handleRequest(request) {
let url = new URL(request.url);
if (url.pathname === '/setcookie.html') {
const accessToken = url.searchParams.get('access_token');
if (accessToken) {
const cookies = await getCookies(accessToken);
const response = Response.redirect(url.origin, 302);
const newHeaders = new Headers(response.headers);
newHeaders.append("Set-Cookie", cookies);
const modifiedResponse = new Response(response.body, {
status: response.status,
statusText: response.statusText,
headers: newHeaders
});
return modifiedResponse;
}
}
return fetch(new Request(hostname + url.pathname, request));
}
addEventListener("fetch", (event) => {
event.respondWith(handleRequest(event.request));
});
有需要的话二号worker可以用始皇版反代:
反代后记得把proxied_domain同步更改为反代worker的地址
代码更新了,看楼上
代码已更新
感谢收藏了,慢慢消化一下
貌似依旧不行,无痕试了一下
厉害的。如果能限制用户的访问频率就更好了,就怕某个人疯狂用
lbw???
是辣个男人吗
还是没理解 token_prefix
用来干嘛的
同样疑惑,我尝试?un=token_prefix设定的值拼贴users里面设定的某一个元素。提示用户不存在。
好像还是不行
mark