Files
LorenEteval_Furious/Furious/Backends/Hysteria1/AGENTS.md
T
2026-09-08 15:52:24 +08:00

2.2 KiB
Raw Blame History

Hysteria 1 guidance

Inherit the root, package, and common backend guides; consult Plugins for capability contracts. This scope exists to preserve Hysteria 1's legacy flat schema and lifecycle without importing assumptions from Hysteria 2.

  • Hysteria 1 is the legacy flat client schema and hysteria:// share-link backend. Do not import Hysteria 2 nested documents, obfuscation, statistics, realm, or native-TUN semantics merely because the upstream names are related.
  • Preserve tolerated legacy types, upstream field names, absent defaults, and unknown combo values. Loading and an untouched editor/URI/mapping round trip are observational; explicit user edits may normalize only the represented field.
  • Subscription import is allowed only through supported Hysteria 1 protocol handlers. Subscription identity and test metadata stay in ServerProfile, and validation diagnostics never disclose passwords or complete links.
  • Runtime and download-test preparation use independent configuration copies. This backend uses application tun2socks when global TUN requires it and owns the MMDB/ACL inputs used by its routing launch; it does not gain native TUN by falling through another backends policy.
  • Treat tolerated legacy values as input compatibility, not as permission to rewrite the persisted document during inspection. Runtime validation may reject what observational editor loading must still preserve.
  • Routing ACL/MMDB launch inputs remain distinct from the stored connection JSON. A prepared runtime advertises its local HTTP readiness endpoint separately from child liveness. The built-in factory has no statistics provider; shared UI must handle that absence instead of treating it as a failed connection.
  • Verify legacy/current URI and mapping compatibility, unknown/tolerated values, stored-copy isolation, MMDB/ACL absence or malformed paths, asynchronous readiness and rollback, core-exit translation, application-TUN policy, and repeated editor/runtime cleanup. Use tests/test_hysteria1_protocol.py, tests/test_backend_editor_contract.py, and tests/test_connection_startup_async.py. Revise this guide with intentional schema evolution instead of freezing tolerated historical input into a universal backend rule.