1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
WVMQWENWS_6D91C42F
source=WEBVM
time=2026-11-12T17:07:39+00:00
stage=PI_HEARTBEAT
[2026-11-12T17:01:28+00:00] PI_WRAPPER_STARTED tag=WVMQWENWS_6D91C42F script=pi.py
[2026-11-12T17:01:36+00:00] PROXY_STARTING mode=in-process (handled by pi_impl.main)
[2026-11-12T17:01:40+00:00] PI_IMPL_FETCHED source=main characters=81436
[2026-11-12T17:01:40+00:00] booting.
[2026-11-12T17:01:42+00:00] LAUNCHER_FETCHED source=main characters=48241
[2026-11-12T17:01:43+00:00] WRAPPER_STARTED_IN_THREAD port=28082 (CheerpX-compatible)
[2026-11-12T17:01:43+00:00] FORWARD_PROXY_STARTED port=28081 (pure-python)
[2026-11-12T17:01:44+00:00] TLS_FILE_FETCHED name=dev-proxy-ca.crt bytes=1204
[2026-11-12T17:01:45+00:00] TLS_FILE_FETCHED name=dev-proxy-server.crt bytes=1273
[2026-11-12T17:01:46+00:00] TLS_FILE_FETCHED name=dev-proxy-server.key bytes=1675
[2026-11-12T17:01:46+00:00] [WEB_ADJUSTER] TLS_WRAPPER_LISTENING bind=0.0.0.0 port=28443 cert=/tmp/webvm-proxy-tls/dev-proxy-server.crt
[2026-11-12T17:01:46+00:00] TLS_PROXY_STARTED port=28443
[2026-11-12T17:01:47+00:00] TELNET_SHELL_FETCHED source=main characters=3935
[2026-11-12T17:01:47+00:00] TELNET_SHELL_LISTENING host=0.0.0.0 port=2323
[2026-11-12T17:01:47+00:00] WEB_ADJUSTER_ONLY_MODE — Kaggle code disabled for proxy testing
[2026-11-12T17:01:47+00:00] Wrapper: http://0.0.0.0:28082/
[2026-11-12T17:01:47+00:00] Forward proxy: http://0.0.0.0:28081/ (pure-python, no adjuster package)
[2026-11-12T17:01:47+00:00] Telnet shell: 0.0.0.0:2323 (plink.exe -raw -P 2323 <tailscale-ip>)
[2026-11-12T17:01:47+00:00] ENDPOINT_TEST skipped reason=set_WEBVM_SELFTEST=1_to_enable
[2026-11-12T17:01:47+00:00] Tailing /tmp/web-adjuster.log ...
[2026-11-12T17:02:39+00:00] TELNET_SHELL_CONNECTED client=0.0.0.0:2323
[2026-11-12T17:02:41+00:00] TELNET_SHELL_DISCONNECTED client=0.0.0.0:2323
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] BAD_REQUEST error=empty request
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] BAD_REQUEST error=empty request
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/health client=0.0.0.0:28081
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=269 client=0.0.0.0:28081
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=269
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy-status client=0.0.0.0:28081
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=422 client=0.0.0.0:28081
[2026-11-12T17:02:41+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=422
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/health client=0.0.0.0:28082
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=269 client=0.0.0.0:28082
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=269
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy-status client=0.0.0.0:28082
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=422 client=0.0.0.0:28082
[2026-11-12T17:02:42+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=422
[2026-11-12T17:03:00+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy-inline/https%3A%2F%2Fwww.kaggle.com%2F client=0.0.0.0:28082
[2026-11-12T17:03:00+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=www.kaggle.com port=443 ok
[2026-11-12T17:03:01+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=www.kaggle.com port=443
[2026-11-12T17:03:02+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.kaggle.com/ reused=False status=200 bytes=20428 total_ms=2607
[2026-11-12T17:03:04+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=www.google.com port=443 ok
[2026-11-12T17:03:08+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=www.google.com port=443
[2026-11-12T17:03:08+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/enterprise.js?onload=onLoad&trustedtypes=true&hl=en-US reused=False status=200 bytes=1265 total_ms=6030
[2026-11-12T17:03:09+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=www.gstatic.com port=443 ok
[2026-11-12T17:03:10+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=www.gstatic.com port=443
[2026-11-12T17:03:12+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com/_/mss/boq-recaptcha/_/js/k=boq-recaptcha.RecaptchaChallengePageUi.en_US.Jbvhz1FEg3E.2018.O/am=AAAAANAE/d=1/excm=_b,_tp,challengeview/ed=1/dg=0/wt=2/ujg=1/rs=AP105Zh94RZgOJK0U4k3pFVtnITCgKByBQ/dti=1/m=_b,_tp reused=False status=200 bytes=155939 total_ms=3638
[2026-11-12T17:03:12+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com/_/mss/boq-recaptcha/_/ss/k=boq-recaptcha.RecaptchaChallengePageUi.Qtir82zYHag.L.B1.O/am=AAAAMNAEAAQ/d=1/ed=1/rs=AP105Zgwa9HAnbQjTk1jnZzdhBsmDmYw2Q/m=challengeview,_b,_tp reused=True status=200 bytes=2475 total_ms=381
[2026-11-12T17:03:14+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/challengepage reused=True status=200 bytes=20890 total_ms=1218
[2026-11-12T17:03:14+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com reused=True status=404 bytes=1561 total_ms=795
[2026-11-12T17:03:16+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/challengepage/ reused=True status=200 bytes=20900 total_ms=1086
[2026-11-12T17:03:16+00:00] [WEB_ADJUSTER] INLINE_DONE url=https://www.kaggle.com/ resources=3 bytes=159679
[2026-11-12T17:03:16+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=236561 client=0.0.0.0:28082
[2026-11-12T17:03:16+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=236561
[2026-11-12T17:03:42+00:00] TAILSCALE_IP_NOT_FOUND timeout=120s
[2026-11-12T17:05:28+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/?bridge=1&target=https%3A%2F%2Fwww.kaggle.com%2F client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=4551 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=4551
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Fwww.kaggle.com%2F client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy-inline/https%3A%2F%2Fwww.kaggle.com%2F client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.kaggle.com/ reused=True status=200 bytes=2714 total_ms=631
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://www.kaggle.com/ bytes=7161
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=9765 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=9765
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Faccounts.google.com%2Fgsi%2Fclient client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DGoogle%2BSans%2BCode%3Aital%2Cwght%2CMONO%400%2C300..800%2C1%3B1%2C300..800%2C1% client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.kaggle.com/ reused=True status=200 bytes=20429 total_ms=2766
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Ffonts.googleapis.com%2Fcss2%3Ffamily%3DGoogle%2BSymbols%3AFILL%2Cwght%400..1%2C200..700%26display%3Dblock client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/static/assets/app.css?v=e31a0a53cbc22063 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=404 bytes=284 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=404 bytes=284
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/static/assets/runtime.js?v=ba718654d39e64ba client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=404 bytes=284 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=404 bytes=284
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/static/assets/vendor.js?v=d65bb8768740f992 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=404 bytes=284 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=404 bytes=284
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/enterprise.js?onload=onLoad&trustedtypes=true&hl=en-US reused=True status=200 bytes=1265 total_ms=885
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/static/assets/app.js?v=4b5a7e1fe58cdf18 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=404 bytes=284 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=404 bytes=284
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Fwww.google.com%2Frecaptcha%2Fenterprise.js%3Frender%3D6LcVUOAUAAAAAP8nMSGuW46uJC5Zf6-PCYKN5xxv client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Fwww.googletagmanager.com%2Fgtag%2Fjs%3Fid%3DG-T7QHS60L4Q client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com/_/mss/boq-recaptcha/_/js/k=boq-recaptcha.RecaptchaChallengePageUi.en_US.Jbvhz1FEg3E.2018.O/am=AAAAANAE/d=1/excm=_b,_tp,challengeview/ed=1/dg=0/wt=2/ujg=1/rs=AP105Zh94RZgOJK0U4k3pFVtnITCgKByBQ/dti=1/m=_b,_tp reused=True status=200 bytes=155939 total_ms=4034
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com/_/mss/boq-recaptcha/_/ss/k=boq-recaptcha.RecaptchaChallengePageUi.Qtir82zYHag.L.B1.O/am=AAAAMNAEAAQ/d=1/ed=1/rs=AP105Zgwa9HAnbQjTk1jnZzdhBsmDmYw2Q/m=challengeview,_b,_tp reused=True status=200 bytes=2475 total_ms=1089
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/challengepage reused=True status=200 bytes=20889 total_ms=943
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.gstatic.com reused=True status=404 bytes=1561 total_ms=1108
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/challengepage/ reused=True status=200 bytes=20900 total_ms=299
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] INLINE_DONE url=https://www.kaggle.com/ resources=3 bytes=159679
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=236562 client=0.0.0.0:28082
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=236562
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=www.googletagmanager.com port=443 ok
[2026-11-12T17:05:40+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy/https%3A%2F%2Fapis.google.com%2Fjs%2Fapi.js client=0.0.0.0:28082
[2026-11-12T17:05:41+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=www.googletagmanager.com port=443
[2026-11-12T17:05:42+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.googletagmanager.com/gtag/js?id=G-T7QHS60L4Q reused=False status=200 bytes=182176 total_ms=8453
[2026-11-12T17:05:42+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://www.googletagmanager.com/gtag/js?id=G-T7QHS60L4Q bytes=544658
[2026-11-12T17:05:42+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=545450 client=0.0.0.0:28082
[2026-11-12T17:05:42+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=545450
[2026-11-12T17:05:42+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=accounts.google.com port=443 ok
[2026-11-12T17:05:43+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=accounts.google.com port=443
[2026-11-12T17:05:44+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://accounts.google.com/gsi/client reused=False status=200 bytes=103101 total_ms=13170
[2026-11-12T17:05:44+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://accounts.google.com/gsi/client bytes=281239
[2026-11-12T17:05:44+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=282567 client=0.0.0.0:28082
[2026-11-12T17:05:44+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=282567
[2026-11-12T17:05:44+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=fonts.googleapis.com port=443 ok
[2026-11-12T17:05:46+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=fonts.googleapis.com port=443
[2026-11-12T17:05:46+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://fonts.googleapis.com/css2?family=Google+Symbols:FILL,wght@0..1,200..700&display=block reused=False status=200 bytes=429 total_ms=14956
[2026-11-12T17:05:46+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://fonts.googleapis.com/css2?family=Google+Symbols:FILL,wght@0..1,200..700&display=block bytes=713
[2026-11-12T17:05:46+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=1654 client=0.0.0.0:28082
[2026-11-12T17:05:46+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=1654
[2026-11-12T17:05:47+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght,MONO@0,300..800,1;1,300..800,1&family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap reused=True status=200 bytes=2240 total_ms=16068
[2026-11-12T17:05:47+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght,MONO@0,300..800,1;1,300..800,1&family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap bytes=20313
[2026-11-12T17:05:47+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=21256 client=0.0.0.0:28082
[2026-11-12T17:05:47+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=21256
[2026-11-12T17:05:48+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://www.google.com/recaptcha/enterprise.js?render=6LcVUOAUAAAAAP8nMSGuW46uJC5Zf6-PCYKN5xxv reused=True status=200 bytes=1059 total_ms=14407
[2026-11-12T17:05:48+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://www.google.com/recaptcha/enterprise.js?render=6LcVUOAUAAAAAP8nMSGuW46uJC5Zf6-PCYKN5xxv bytes=1731
[2026-11-12T17:05:48+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=2610 client=0.0.0.0:28082
[2026-11-12T17:05:48+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=2610
[2026-11-12T17:05:48+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE url_connect host=apis.google.com port=443 ok
[2026-11-12T17:05:50+00:00] [WEB_ADJUSTER] UPSTREAM_PHASE tls_done host=apis.google.com port=443
[2026-11-12T17:05:50+00:00] [WEB_ADJUSTER] UPSTREAM_TIMING url=https://apis.google.com/js/api.js reused=False status=200 bytes=5867 total_ms=9795
[2026-11-12T17:05:50+00:00] [WEB_ADJUSTER] PROXIED status=200 url=https://apis.google.com/js/api.js bytes=14576
[2026-11-12T17:05:50+00:00] [WEB_ADJUSTER] SEND_START status=200 bytes=15622 client=0.0.0.0:28082
[2026-11-12T17:05:50+00:00] [WEB_ADJUSTER] SEND_OK status=200 bytes=15622
[2026-11-12T17:07:39+00:00] [WEB_ADJUSTER] REQUEST method=GET target=/proxy-inline/https%3A%2F%2Fexample.com%2F client=0.0.0.0:28082
|