Files
ykxmz/_build/add_tls_to_compiles.py
T
xmz7891 7f267dd900 ykxmz 1.5.0锛氭墜琛ㄧ TLS 璇佷功鍏煎 + 涓夌鍒嗗紑鎵撳寘 + 涓嬭浇鍖?
鎵嬭〃绔?- 鍐呯疆 GTS Root R4 / GlobalSign Root CA
  淇?SSLHandshakeException: Chain validation failed
  锛堝粔浠锋墜琛ㄧ郴缁熸牴璇佷功搴撳父缂?GTS Root R4锛?- 杩炴帴閿欒缈昏瘧鎴愪汉璇濓細璇佷功 / 鏃堕棿 / 瑙f瀽 / 瓒呮椂鍒嗗埆缁欐彁绀?- 缁忎腑杞繛涓婂悗鐢ㄦ湇鍔″櫒鎶ョ殑鍦板潃鍒锋柊宸查厤瀵硅褰曪紙鍘熸潵涓€鐩存樉绀烘棫 IP锛?- 鐗堟湰鍙?1.3.0 -> 1.5.0锛圓ndroidManifest 涔嬪墠婕忔敼浜嗭級

鏈嶅姟鍣ㄧ
- 鏀寔 chunked 璇锋眰浣擄細淇瘡 16 绉掍竴娆$殑杩炴帴閿欎贡涓庡ぇ闈㈢Н 502
- 缃戠粶璋冧紭 net-tune.sh锛氬す MSS 1400 + 璺緞 MTU 鎺㈡祴
  锛堝叕缃戝彲鐢ㄧ巼 48% -> 100%锛屽疄娴?15 鍒嗛挓 180/180锛?  鍋氭垚寮€鏈烘湇鍔?lanremote-nettune.service锛屽苟浼氳嚜鍔ㄩ噸寤洪毀閬?- 鏂板涓嬭浇鍖猴細GET /v1/downloads 鍒楄〃 + GET /download/<鏂囦欢>
  鍙厑璁哥櫧鍚嶅崟鍚庣紑銆佷弗鏍兼牎楠屾枃浠跺悕锛堟尅鐩綍绌胯秺锛?  绠$悊椤靛姞涓嬭浇鍗$墖
- 闅ч亾鏀?HTTP/2 + 鍙岃繛鎺ワ紙QUIC 鍦ㄨ繖鏉$嚎璺笂鍙敤鐜囧彧鏈?48%锛?- 缃戠粶浣撴銆佹壒閲忓垹闄よ澶?
鎵撳寘鏂瑰紡鍙樻洿
- 鍘熸潵鏄笁涓儴鍒嗗悎鎴愪竴涓?zip锛岀幇鍦?*鍒嗘垚涓変釜鐙珛浜х墿**锛?    ykxmz-agent-1.5.0.zip    琚帶绔?    ykxmz-server-1.5.0.zip   鏈嶅姟鍣ㄧ
    ykxmz-watch-1.5.0.apk    鎺у埗绔紙鐩存帴缁?APK锛屼笉鎵?zip锛?  涓変釜鍖?鏂囦欢閮藉甫涓婅鍙崗璁?/ 瀹夎鍓嶅繀璇?/ 瀹夎鍚庨』鐭?
鏂囨。
- 璁稿彲鍗忚 / 瀹夎鍓嶅繀璇?/ 瀹夎鍚庨』鐭ワ紙浣滆€咃細灏忛害瀛愶級
2026-10-06 19:08:02 +08:00

78 lines
2.2 KiB
Python

# -*- coding: utf-8 -*-
r"""把 TlsCompat.java 加进各处的 Java 编译清单。
背景:
RelayTransport 改成用 TlsCompat.open() 之后,
那些"只编译一部分 java"的地方就编译不过了 ——
它们没有把 TlsCompat.java 列进去。
需要补的三处:
_tests/test_package_remote.py
_tests/test_watch_lan_switch.py
_tests/verify_all.ps1
"""
from __future__ import annotations
import re
import sys
from pathlib import Path
ROOT = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote")
TARGETS = [
ROOT / "_tests" / "test_package_remote.py",
ROOT / "_tests" / "test_watch_lan_switch.py",
ROOT / "_tests" / "verify_all.ps1",
]
def patch(path: Path) -> bool:
raw = path.read_bytes()
had_bom = raw.startswith(b"\xef\xbb\xbf")
text = raw.decode("utf-8-sig")
if "TlsCompat.java" in text:
print(f" {path.name}: 已经有了")
return True
# 在 RelayTransport.java 那一行后面插一行同格式的 TlsCompat.java
pattern = re.compile(
r"([ \t]*(?:\(Join-Path \$root )?[\"']?[^\n\"']*RelayTransport\.java[\"']?\)?\,?[ \t]*\r?\n)")
match = pattern.search(text)
if not match:
print(f" [失败] {path.name}: 找不到 RelayTransport.java 那一行")
return False
line = match.group(1)
indent = re.match(r"[ \t]*", line).group(0)
# 保留原来的包裹形式
if "Join-Path" in line:
new_line = f'{indent}(Join-Path $root "android\\src\\com\\lanremote\\watch\\TlsCompat.java")`\n'
elif '"' in line:
new_line = f'{indent}"TlsCompat.java",\n' if line.rstrip().endswith(",") \
else f'{indent}"TlsCompat.java"\n'
else:
new_line = f'{indent}TlsCompat.java\n'
text = text[:match.end(1)] + new_line + text[match.end(1):]
body = text.replace("\r\n", "\n").encode("utf-8")
path.write_bytes((b"\xef\xbb\xbf" if had_bom else b"") + body)
print(f" {path.name}: 补上了 TlsCompat.java")
return True
def main() -> int:
ok = True
for path in TARGETS:
if not path.is_file():
print(f" [跳过] {path.name} 不存在")
continue
if not patch(path):
ok = False
return 0 if ok else 1
if __name__ == "__main__":
sys.exit(main())