Repository navigation
Conversation
af43656 to
c292f17
Compare
|
Same structural issue as your llmlingua PR (#12967): |
…ken) Renamed 180_api_key_preferred_connections.sql to 184_api_key_preferred_connections.sql: the release tip landed 180_memory_fts_au_conditional_memory_id.sql after this PR's previous renumbering pass. Slot 184 is the owner-assigned number for this PR among the 7 PRs that collided on the 180 slot (cheaper-inference#13610=181, cheaper-inference#12962=182, cheaper-inference#12967=183, cheaper-inference#13102=184, cheaper-inference#13222=185, cheaper-inference#13373=186, cheaper-inference#13554=187). Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Six open PRs claimed migration slot 180 after cheaper-inference#13331 landed it on the release tip; the owner assigned cheaper-inference#13373 slot 186 in the sequence (cheaper-inference#13610=181, cheaper-inference#12962=182, cheaper-inference#12967=183, cheaper-inference#13102=184, cheaper-inference#13222=185, cheaper-inference#13373=186, cheaper-inference#13554=187). Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
0111ee5 to
367fb1e
Compare
|
Rebased onto Changes implemented:
|
…staller and lifecycle management - Replace mock binary in sing-box installer with real release download from SagerNet/sing-box pinned to version 1.14.1 with verified SHA256 checksums across linux/darwin/windows platforms. - Update ensureSingboxTproxy() in src/mitm/tproxy/setup.ts to log descriptive errors instead of swallowing start failures. - Wire sing-box into src/lib/services/bootstrap.ts without duplicate SINGBOX_PORT declarations, preserving all existing embedded services. - Seed version_manager row using collision-free migration slot 182. - Implement 8 API management routes under /api/services/singbox/* and SingboxServiceTab in dashboard. - Update OpenAPI schema, embedded services framework documentation, .env.example, and environment reference. - Add unit tests for download and checksum verification and end-to-end lifecycle test. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
367fb1e to
d8e2a9a
Compare
|
Re-homed to |
… native TPROXY listener port - renumber 182_singbox_service_seed.sql to 203 (182 exists on release/v3.8.52) - sing-box listens on its own port (never cfg.onPort) and every outbound carries routing_mark = bypassMark, the mark the mangle OUTPUT rule excludes; without a bypassMark sing-box is not started - ensureSingboxTproxy takes the TproxyConfig and keeps config-write errors inside its never-throws contract; drop the dead _targetHttpPort parameter - tests: stubbed-downloader install contract (official URL, checksum mismatch, extraction path), TPROXY coexistence (generated JSON, iptables rule text, real socket binds), local-only classification of every /api/services/singbox/* route Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
|
Hi @rqzbeh — closing this pull request to clear the open queue. The branch |
|
Hi @rqzbeh — reopening this pull request. The close was a mistake, and it is back in the merge queue. The branch |
|
Re-homed to |
…51-singbox-sidecar Conflicts resolved hunk by hunk, keeping both the release's LLMLingua service and this PR's sing-box service: bootstrap.ts (import, port, SERVICES entry, spawn factory), services page.tsx (tab type, TABS entry, panels map on the kit Tabs component), EMBEDDED-SERVICES.md (both rows, eight services, LLMLingua 4.7 / sing-box 4.8 / reverse proxy 4.9), openapi.yaml (both path blocks) and ENVIRONMENT.md (release table plus the SINGBOX_PORT row). Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…the status handler 203 is taken on release/v3.8.53 by 203_memory_fts_content_rowid.sql; 217 is the next free slot. The singbox status GET carried every fallback in one function (cyclomatic 34, ceiling 15), so it is split into runtime/merged/version/settings helpers with the same JSON body, pinned by a new route contract test. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
… with release 217) Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Summary
This PR adds support for sing-box as an embedded supervised service under
ServiceSupervisor(src/lib/services/installers/singbox.ts) and integrates it into thesrc/mitm/tproxy/network setup pipeline targetingrelease/v3.8.51.src/lib/services/installers/singbox.tsinstalls, configures, and manages sing-box on loopback port20140.src/mitm/tproxy/setup.tsprovidesensureSingboxTproxy()for dynamic transparent proxying without requiring native C compilation / node-gyp build steps.src/lib/services/bootstrap.tsunderSERVICES[].tests/unit/services/installers/singbox.test.tsverifying lifecycle, config generation, and spawn argument formatting (100% passing).