一键自动认证校园网,告别手动配置

对,已经成功了。"result":1 就是认证成功。

下次完全不用再分析 a40.js、a41.js、801 端口这些东西 。建议把这套流程直接做成 campus-login 命令,而且不要把密码明文写进脚本

最简单的长期方案

在 Ubuntu 上执行:

复制代码
mkdir -p ~/.local/bin

cat > ~/.local/bin/campus-login <<'EOF'
#!/usr/bin/env bash

PORTAL="http://192.168.100.200/drcom/login"

read -p "校园网账号: " CAMPUS_USER
read -s -p "校园网密码: " CAMPUS_PASS
echo

RESULT=$(curl -sG "$PORTAL" \
  --data-urlencode 'callback=dr1001' \
  --data-urlencode "DDDDD=$CAMPUS_USER" \
  --data-urlencode "upass=$CAMPUS_PASS" \
  --data-urlencode '0MKKey=123456' \
  --data-urlencode 'R1=' \
  --data-urlencode 'R2=' \
  --data-urlencode 'R3=' \
  --data-urlencode 'R6=0' \
  --data-urlencode 'para=' \
  --data-urlencode 'v6ip=' \
  --data-urlencode 'terminal_type=2' \
  --data-urlencode 'jsVersion=4.1.3' \
  --data-urlencode "v=$((RANDOM % 9500 + 500))" \
  --data-urlencode 'lang=zh')

if echo "$RESULT" | grep -q '"result":1'; then
    echo
    echo "================================"
    echo "  校园网认证成功"
    echo "================================"
    echo
    echo "正在测试 Internet..."
    if curl -4 -I -s --connect-timeout 8 https://www.baidu.com >/dev/null; then
        echo "Internet 访问正常。"
    else
        echo "认证成功,但公网测试失败。"
    fi
else
    echo
    echo "================================"
    echo "  校园网认证失败"
    echo "================================"
    echo
    echo "服务器返回:"
    echo "$RESULT"
fi

unset CAMPUS_USER CAMPUS_PASS
EOF

chmod +x ~/.local/bin/campus-login

然后确认:

复制代码
echo $PATH

你的 claude 本来就在:

复制代码
/home/hongchang/.local/bin/claude

所以你的 ~/.local/bin 大概率已经在 PATH 中。

测试:

复制代码
campus-login

它会让你输入:

复制代码
校园网账号:
校园网密码:

密码输入时屏幕不会显示任何字符,输完回车即可。


以后服务器断网,你实际上只需要这样

SSH/VS Code Remote SSH 登录 node01 后:

复制代码
campus-login

认证成功以后再验证:

复制代码
curl -4 -I --connect-timeout 10 https://www.baidu.com

然后:

复制代码
curl -4 -I --connect-timeout 10 https://api.deepseek.com

如果这两个恢复,你的链路就是:

复制代码
node01
  ↓
CAUC 校园网
  ↓
Dr.COM 认证成功
  ↓
Internet
  ↓
api.deepseek.com
  ↓
CC-Switch 配置
  ↓
Claude Code

所以你今天最开始那个:

复制代码
Claude Code 无反应

根本原因其实不是 Claude Code、CC-Switch、DeepSeek API 余额,也不是 VS Code Remote SSH。

而是:

复制代码
node01 的校园网认证掉了
        ↓
HTTP 被 Dr.COM 重定向
HTTPS 直接超时
        ↓
api.deepseek.com 无法连接
        ↓
Claude Code 表现为一直没反应

下次最快诊断顺序

记住三个命令基本就够了:

复制代码
curl -I --connect-timeout 5 https://www.baidu.com

失败就检查:

复制代码
curl -v --connect-timeout 5 http://1.1.1.1/

如果再次看到:

复制代码
Server: DrcomServer
Location: http://192.168.100.200

不用再查 Claude,直接:

复制代码
campus-login

即可。

还有一点:你这次已经把校园网密码明文发到了聊天中,建议把该密码更换掉。我们上面这个最终脚本使用 read -s,以后密码不会写进脚本,也不会直接出现在 shell 命令历史中。

如果你愿意进一步省事,还可以做成**"自动检测断网 → 发现 Dr.COM → 自动执行认证"**,甚至账号固定、只临时输入密码,那样以后基本就是一条 campus-login

相关推荐
张宇Joaquin1 小时前
基于鲲鹏服务器的金仓数据库调优参考实践
服务器
国际云,接待1 小时前
华为云 ELB 如何配出真正高可用:跨可用区 ECS、健康检查和灰度摘流实战
服务器
牢姐与蒯2 小时前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
java_nnnn2 小时前
面试题(网络部分前传)-13问
服务器·网络·网络协议·tcp/ip·面试
码少女3 小时前
Linux--套接字编程
linux·服务器·网络
进击的荆棘3 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
一个有温度的技术博主11 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
Winner_hwx13 小时前
华为ICT大赛备赛复习1
服务器·网络·华为
宗介波妞13 小时前
Wireshark 抓取 IEC104 报文:常见异常报文排查与标志位解读
服务器·网络·wireshark