
最近,由于 V2EX 主站部署了全站 SSL ,所以导致了之前的 /generate_204 地址上出现了跳转而无法使用。这是我们在部署这个更改之前没有考虑周到的地方,造成的不便向大家道歉。
因此,我们现在会提供一个专用的 Captive Portal Server 地址,这个地址会按照适合 Android 的方式进行配置,并且不会受到 V2EX 主站安全策略升级的影响。目前互联网上已经有了很多 Captive Portal Server ,如果你已经在使用一个稳定的,那么你是没有必要更改的。我们提供的这个地址只是希望能够让大家可以有多一种选择而已。
captive.v2ex.co 你可以使用 adb 命令行工具这样设置:
adb shell "settings put global captive_portal_server captive.v2ex.co" adb ( Android Debug Bridge )是一个功能强大的命令行工具,属于 Google 官方的 Android 开发工具之一。你可以使用它来修改 Android 手机的一些核心设置。
如果使用的是 OS X ,那么你可以通过 Homebrew 获取 adb :
brew install android-platform-tools 如果使用使用的是 Windows ,那么可以使用下面这个帖子里提到的快速安装 adb 的工具:
http://forum.xda-developers.com/showthread.php?p=48915118#post48915118
如果你使用的是 Ubuntu/Debian ,那么你可以在添加一个 PPA 包之后,通过 apt-get 获得 adb :
sudo add-apt-repository ppa:phablet-team/tools && sudo apt-get update sudo apt-get install android-tools-adb android-tools-fastboot 如果你已经完整安装了 Android Studio 的新版本,那么 adb 命令行工具也可以在 sdk/platform-tools 目录下找到。
你可以把下面的这个地址加入到 $PATH 中:
~/Library/Android/sdk/platform-tools 如果你最近更新到了 Android 7.1.1,那么这个设置的语法稍有改变,请使用下面的指令重新设置:
adb shell "settings put global captive_portal_https_url https://captive.v2ex.co/generate_204"; 在 Android 7.1.1 上需要执行两条指令:
adb shell "settings put global captive_portal_http_url http://captive.v2ex.co/generate_204"; adb shell "settings put global captive_portal_https_url https://captive.v2ex.co/generate_204"; 1 kyze8439690 Sep 4, 2016 |
2 dexbol Sep 4, 2016 It works |
3 BMW Sep 4, 2016 via iPhone |
4 Tink PRO |
5 mimzy Sep 4, 2016 如果你的手机已经 root ,可以安装 JuiceSSH (地址 https://play.google.com/store/apps/details?id=com.sonelli.juicessh 或其他终端) ,选择「本地设备」先执行 su 再执行 settings put global captive_portal_server captive.v2ex.co ,这样就不必安装 adb 了。 |
6 regeditms Sep 4, 2016 via Android @kyze8439690 还是用 Google cn 的吧 |
7 xujialiang Sep 4, 2016 via iPhone 好奇,谁能科普下? 是不是像星巴克里的这种网页登陆?造成了不能访问 V2EX ?还是什么? Google 了下,不知道是不是我说的这个? |
9 lan894734188 Sep 4, 2016 via Android |
11 BROWNURSIDAE Sep 4, 2016 via Android @xujialiang 不是,即使换成了 v2 还是可以登录到 Starbucks 的 |
12 Livid MOD OP PRO @xujialiang 默认情况下, Android 会时不时访问这个地址: http://clients1.google.com/generate_204 用来探测网络状态。在每次连 Wi-Fi 时,也会需要需要访问一下这个地址。 但是就像你可能已经知道的那样,*.google.com 的访问在国内是有问题的。所以我们需要修改这个设置。 |
13 alangz Sep 4, 2016 现在这个无论 https 还是 http 都返回 301 ,难道我这边网络问题。/generate_204 的 https 返回是 204 。 |
14 Livid MOD OP PRO @alanlhy 只有下面这个地址才会返回 204 : http://captive.v2ex.co/generate_204 你如果直接访问 captive.v2ex.com 的话确实是 301 ,这是对的。 |
15 C0VN Sep 4, 2016 刚好,我在我手机上查看了一下设置 `settings get global captive_portal_server ` 居然不知道什么时候被设置成了 www.qualcomm.cn 高通公司的中国官网, WTF ,明明我一直设置为 g.cn 的,于是又换回来了。 |
16 GoopleXD Sep 5, 2016 /system/bin/sh: /system/bin/settings: /bin/sh: No such file or directory 这个怎么办? |
17 lance6716 Sep 5, 2016 via Android @xavierskip 我也是这样…目测每次重启都会重置的 |
18 ynyounuo Sep 5, 2016 @GoopleXD 进去 adb shell 了之后,就不需要加「 adb shell 」的前缀了,直接用「 settings blah blah 」就行。 |
19 GoopleXD Sep 5, 2016 @ynyounuo 我在手机终端上同样不能用 setting 命令,应该是 rom 有问题 能不能直接手动修改文档来修改 global captive_portal_server? |
20 Lentin Sep 5, 2016 @xavierskip 鸟笼官网的地址也能当作验证用啊= = |
21 hewwcn Sep 5, 2016 |
22 xujialiang Sep 5, 2016 via iPhone @Livid get ~~~~ |
23 pmgh10 Sep 5, 2016 via Android 站长提供的都是通用好方法,感谢! |
24 breaklayer Sep 5, 2016 我用的是这个: 5.0.appinn.com |
25 nashxk Sep 5, 2016 Perfect !现在用之前的 www.v2ex.com 还是可以的。。 |
26 vitovan Sep 5, 2016 感谢! |
27 wenymedia Sep 5, 2016 mokee 的 ROM 用的 v2 的检测地址 影响范围还真不小... |
28 mine260309 Sep 5, 2016 注意 Android7.0 之前用的都是 HTTP ,而 7.0 之后默认用的是 HTTPS 的 URL 。 测试过 captive.v2ex.co 同时支持 HTTP 和 HTTPS 了,赞一个! 另外,写了篇博客解释了一下: https://mine260309.me/archives/1587 |
29 faywong8888 Sep 5, 2016 It works! |
30 Vicer Sep 6, 2016 via Android Get it! |
31 EricInBj Sep 6, 2016 @kyze8439690 感谢, google.cn 的速度比较快 |
32 love4taylor PRO @wenymedia ? mokee 不是自己有么 |
33 wenymedia Sep 7, 2016 via Android @Love4Taylor mokee 前两天公告里 之前 merge 一个有用 v2 版本分支…… |
34 Showfom PRO Nexus 5X 终于到了,顺手已经改了 v2 的 嘿嘿 准备自己搭建个去 |
35 chenshaoju Sep 18, 2016 我说怎么之前的地址不工作了,抓包看了一下返回了 301 ,搜了一下原帖,原来换了。。。 感谢。 |
38 chenyiping1995 Oct 9, 2016 |
39 datou Oct 20, 2016 nexus 5X 用了一年了 电信和联通默认都没叹号 移动有叹号 |
40 airqj Oct 21, 2016 7.1.1 beta 按照命令设置无效..... |
41 J735KILnHi7q49cv Oct 31, 2016 wow.. |
44 Zohar Nov 30, 2016 via Android |
45 chenyiping1995 Dec 3, 2016 不好意思挖个坟(不知道是不是算? 证书到期了麻烦续一下谢谢。。。 Android 7.0 上不受信任的证书不能 pass |
46 chenyiping1995 Dec 3, 2016 |
48 Livid MOD OP PRO |
49 jasonchao Dec 4, 2016 THX |
51 KyonLi Dec 6, 2016 Android 7.1.1 字段变为 captive_portal_https_url 值为完整 URL ,不拼接 generate_204 https://android.googlesource.com/platform/frameworks/base/+/android-7.1.1_r4/services/core/java/com/android/server/connectivity/NetworkMonitor.java#611 |
52 21grams Dec 6, 2016 @VampireSH @airqj @KyonLi 7.1.1 的方法: adb shell "settings put global captive_portal_https_url https://captive.v2ex.co/generate_204" |
&nsp; 54 Wicheol Dec 8, 2016 今天下午失效了? |
56 Laygle Dec 9, 2016 貌似失效了 |
57 zachX Dec 10, 2016 貌似最近有时候会失效? |
60 Showfom PRO |
61 reorx Jan 4, 2017 我都是直接关了的: ``` adb shell settings put global capive_portal_detection_enabled 0 ``` |
62 milltronics Jan 5, 2017 @xavierskip captive_portal_server 被自动改回的问题最后有没有解决? 我也遇到相同问题。 |
63 C0VN Jan 5, 2017 @milltronics 没有解决。反正 www.qualcomm.cn 又没被墙。 |
64 rrfeng Feb 6, 2017 @Tink Pixel 使用了 https://http204.sinaapp.com 这个之后,在办公室的 WiFi 环境下持续断网。回到家里 WiFi 就没有问题,其他 WiFi 也没有问题。 3G/4G 也没有问题。 一直怀疑是 AP 和 Pixel 兼容性有问题…… 今天换了自己的 204 服务,结果就没问题了,一直没往这方面想。 可以查一下我们出口 IP 的访问记录吗? 124.65.149.46 |
65 lavazawinul Feb 7, 2017 7.1.2 beta 又不行了? |
66 lavazawinul Feb 7, 2017 @lavazawinul 没了叹号,变成叉号了。 |
67 fenglipop29 Feb 12, 2017 发现叉叉要过一两分钟后才消失。 |
68 GavinHua Feb 16, 2017 @Livid captive.v2ex.co 打不开了 |
69 zlhdd108 Feb 16, 2017 好像有问题了,打不开,感叹号又出来了,换了一个地址就好了…… |
70 bruce55 Feb 16, 2017 >curl -v https://captive.v2ex.co/generate_204 * Trying 162.221.6.250... * TCP_NODELAY set * connect to 162.221.6.250 port 443 failed: Timed out * Failed to connect to captive.v2ex.co port 443: Timed out * Closing connection 0 curl: (7) Failed to connect to captive.v2ex.co port 443: Timed out 然后……东京打不开主站 |
72 Livid MOD OP PRO @bruce55 captive.v2ex.co 和主站在日本的流量策略刚刚已经做了调整,现在应该恢复了。谢谢反馈。 |
77 chenshaoju Mar 16, 2017 |
78 KevinHsiun Mar 16, 2017 今天不行了,出现感叹号。 504 Gateway Time-out @Livid |
79 maodahua Mar 16, 2017 今天早上是不是翻水水了哦 |
80 Livid MOD OP PRO |
81 chenshaoju May 24, 2017 今天调试 Logcat 的时候,发现仍然有一个 HTTP 的 probe 走的是 http://connectivitycheck.gstatic.com/generate_204 (已经可以在中国大陆直接访问了)。 那个 captive_portal_server 早已失效,而 captive_portal_https_url 只涵盖了 HTTPS 的 probe。 查阅代码 ( http://androidxref.com/7.1.1_r6/xref/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java#614 )后,发现还有一个名为 CAPTIVE_PORTAL_HTTP_URL 的参数,因此在 Android 7.x 中,实际上有两个 probe 的地址,需要使用两条命令来设置: adb shell "settings put global captive_portal_http_url http://captive.v2ex.co/generate_204"; adb shell "settings put global captive_portal_https_url https://captive.v2ex.co/generate_204"; |
82 wuzhizhemu569 Jun 9, 2017 7.1.1 有效,多谢楼主。 |
83 loveq1991 Jun 12, 2017 7.1.1 有效 +1 感谢大佬 |
84 noisyfox Jul 2, 2017 7.1.2 更改了禁用检测的设置。 现在需要设置"captive_portal_mode"这个参数,禁用的话设置为 0。 具体可以参考 https://github.com/Noisyfox/NoExclamation/issues/2 另外打个广告~完整分析在 https://www.noisyfox.io/android-captive-portal.html 叹号杀手已经更新支持 7.1.2,可以在 github 上下载。 |
85 vvtommy Jul 21, 2017 7.1.2 更改 captive portal http url 无效。如果关掉,肯定会影响正常的 captive portal 服务。 |
86 bclerdx Aug 13, 2017 via Android 现在正需要呢,感谢! |
87 xiaojunzi Sep 5, 2017 最近连接老是出问题呀 经常叉号就回来了 等会又好了 是升级 8.0 的原因还是什么呢 |
88 zlhdd108 Dec 27, 2017 貌似又链接不上了哦 curl -v https://captive.v2ex.co/generate_204 * About to connect() to captive.v2ex.co port 443 (#0) * Trying 23.251.125.132... * Connection timed out * Failed connect to captive.v2ex.co:443; Connection timed out * Closing connection 0 curl: (7) Failed connect to captive.v2ex.co:443; Connection timed out |
92 chenshaoju Jan 3, 2018 |
93 Livid MOD OP PRO @chenshaoju 非常感谢。那个 IP 确实有问题。已经调整到了一个更健壮的 CNAME。 |
94 chenshaoju Apr 26, 2018 在 Android 8.x 后,加入了两个 fallback 的 Captive portal server 参数: CAPTIVE_PORTAL_FALLBACK_URL CAPTIVE_PORTAL_OTHER_FALLBACK_URLS 同样可以使用 settings 命令进行设置,格式为: adb shell "settings put global captive_portal_fallback_url http://captive.v2ex.co/generate_204"; adb shell "settings put global captive_portal_other_fallback_urls http://captive.v2ex.co/generate_204"; 源码详见: http://androidxref.com/8.0.0_r4/xref/frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java#675 |
95 Livid MOD OP PRO @chenshaoju 谢谢。最近我们会为这个地址加上 IPv6 支持。 |
96 fenglipop29 May 10, 2018 有没有人使用的移动手机卡?我发现我在开移动 4g 的时候会有感叹号,但是打开 wifi 接电信网络的时候就完全正常 |
98 JinChen Oct 17, 2018 刚刚发现 Pixel Experience 也是用的 V2EX 的服务 |
99 EricInBj Nov 22, 2018 为啥设置完了 WIFI 图标上还是有 X 呢? Android 8.1 通过 Fiddler 抓包看,已经是请求我指定的 gen_204 url 并且返回 204 了啊。 |
100 EricInBj Nov 22, 2018 把代理去掉 X 就没了。。 |