Skip to content

使用 Cloudflare Warp 解决罗森票务的海外登录问题

Published: at 21:55

ToC

问题

大家好,这里是某昨。今天突发其想想要看一下 l-tike,但却被最基本的登录拦住了。尝试登录就会弹出这样的提示:

システムエラーが発生しました。 しばらくたってから再度、お手続きください。
システムエラーが発生しました。 しばらくたってから再度、お手続きください。

网上查了一下,发现这是 IP 不够清真的普遍表现。简单判断的话可以用下面这个 curl

Terminal window
curl -v 'https://l-tike.com/lweb/login/authreq' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'

如果返回的状态码是 302 Found,基本就是 IP 寄了。

思路

想要解决这个问题有两个必要条件。

  1. 有一个让 Cloudflare 认为是在日本的 IP
  2. 有一台 VPS,或者有 Surge 这样支持增强模式(TUN)和路由的软件。

解决的基本思路就是让我们的代理以链条的形式走到 Cloudflare Warp 上。我们可以走这样的路线:

Host -> IP 不大清真的日本落地 -> Cloudflare Warp -> l-tike

也可以在本地:

Host -> Cloudflare Warp --(Surge 增强模式)--> IP 不大清真的日本落地 -> l-tike

我选择的是在 VPS 上配置,并通过路由的形式把流量导过去。

配置

首先需要在机器上安装 warp-cli。这一步可以参考 Cloudflare官方教程

然后需要设置一下模式和端口:

Terminal window
# 使用代理模式
warp-cli set-mode proxy
# 注册
warp-cli register
warp-cli set-license <license,如果有>
# 设置代理端口
warp-cli set-proxy-port 23333
# 连接
warp-cli connect

最后是把路由导过去。这里我使用了一个域名路由和一个 IP 路由,但下面这个 IP 可能会随网站解析变化,所以需要时不时更新一下。

{
"outbounds": [
{
"protocol": "freedom",
"settings": {}
},
{
"protocol": "socks",
"tag": "cf-warp",
"settings": {
"servers": [
{
"address": "127.0.0.1",
"port": 23333
}
]
}
}
]
"routing": {
"rules": [
{
"type": "field",
"outboundTag": "cf-warp",
"domains": [
"domain:l-tike.com"
]
},
{
"type": "field",
"outboundTag": "cf-warp",
"ip": ["23.36.103.107", "23.42.67.117"]
}
]
}
}

然后重启一下网络配置,就可以用了(


Previous Post
How To Blog 04: The Astro v5 Era