Google Scholar 解锁

Google Scholar 是学术论文搜索的常用工具,但毕竟是 Google 的服务,不得不在中国大陆使用代理进行访问。

然而我的两台 vps 都有不干净的 ip,连其主页都打不开。即便是套上了 warp,也仅仅是能够打开主页,一旦搜索任何内容就会出现下图。

sorry.png

查询了一些资料,发现 scholar 一般只封锁 IPv4。所以先尝试根据资料修改代理节点上的 hosts 文件。

/etc/hosts
Code
1
2
3
4
2404:6800:4008:c06::be scholar.google.com
2404:6800:4008:c06::be scholar.google.com.hk
2404:6800:4008:c06::be scholar.google.com.tw
2404:6800:4005:805::200e scholar.google.cn

然后发现本地通过 clash 还是无法访问,但是从 vps 上 curl 可以成功。经过排查,发现从 vps 的 docker 中 wget 会显示

Plain
1
2
Connecting to scholar.google.com ([2404:6800:4008:c06::be]:443)
wget: can't connect to remote host: Network unreachable

看起来 docker 容器继承了宿主机的 hosts 文件,但是没有 ipv6 的解析。原来 docker 默认不开启 ipv6,尝试修改其配置文件。

/etc/docker/daemon.json
JSON
1
2
3
4
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}

并修改 docker-compose.yml,为网络添加 ipv6 支持。

docker-compose.yml
YAML
1
2
3
4
networks:
  proxy_net:
    driver: bridge
    enable_ipv6: true

然后重启 docker 服务,以及重建 docker 容器。

Shell
1
2
sudo systemctl restart docker
docker compose down && docker compose up -d

这里先将所有服务 down 掉是必须的,因为网络的配置需要重新加载。

之后本地就可以正常访问 scholar 了。


最后修改于 2025-07-06

Git 版本: ae9e2bb