junhost 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +43 -1
  2. package/dist/browser-mcp-server.js +42 -0
  3. package/dist/index.js +52 -52
  4. package/dist/mcp-server.js +1 -1
  5. package/package.json +2 -2
  6. package/ui-dist/assets/{BrowserPage-CLwJOnA1.js → BrowserPage-Bw1kBIM_.js} +1 -1
  7. package/ui-dist/assets/{DashboardPage-DNlY12tH.js → DashboardPage-BvNlgB4B.js} +1 -1
  8. package/ui-dist/assets/{FilesPage-CfFJjtlo.js → FilesPage-C1IqnxpR.js} +1 -1
  9. package/ui-dist/assets/{McpPage-Ckmbp2T3.js → McpPage-BgXcKazm.js} +1 -1
  10. package/ui-dist/assets/{MemoriesPage-BgBe2rb6.js → MemoriesPage-DYOob4W0.js} +1 -1
  11. package/ui-dist/assets/{RunsPage-9w7iFG8N.js → RunsPage-BpBj82Ux.js} +4 -4
  12. package/ui-dist/assets/{SchedulesPage-B5FVZB0F.js → SchedulesPage-mIWaXymg.js} +1 -1
  13. package/ui-dist/assets/{SettingsPage-lNZmrgQF.js → SettingsPage-C5vG-RLn.js} +1 -1
  14. package/ui-dist/assets/{SkillsPage-BXcSp6ls.js → SkillsPage-DuFQfdSR.js} +1 -1
  15. package/ui-dist/assets/architecture-7EHR7CIX-BMNBOS2i.js +1 -0
  16. package/ui-dist/assets/{architectureDiagram-3BPJPVTR-CZU-I50b.js → architectureDiagram-3BPJPVTR-CQ1UyWn-.js} +1 -1
  17. package/ui-dist/assets/{blockDiagram-GPEHLZMM-CyBud8P5.js → blockDiagram-GPEHLZMM-DO2WH3yT.js} +1 -1
  18. package/ui-dist/assets/{c4Diagram-AAUBKEIU--J4ICgL4.js → c4Diagram-AAUBKEIU-CDcDkAFN.js} +1 -1
  19. package/ui-dist/assets/channel-BMSobhoT.js +1 -0
  20. package/ui-dist/assets/{checkbox-Dl42vHZu.js → checkbox-BO9cBKlP.js} +1 -1
  21. package/ui-dist/assets/{chunk-2J33WTMH-BDb1cFmy.js → chunk-2J33WTMH-CxE9IMxF.js} +1 -1
  22. package/ui-dist/assets/{chunk-3OPIFGDE-BlluxIcQ.js → chunk-3OPIFGDE-CWe0ghtO.js} +1 -1
  23. package/ui-dist/assets/{chunk-5ZQYHXKU-CKTcuPiD.js → chunk-5ZQYHXKU-D9lXR7-a.js} +1 -1
  24. package/ui-dist/assets/{chunk-727SXJPM-MZn2xvWx.js → chunk-727SXJPM-1INZms_u.js} +1 -1
  25. package/ui-dist/assets/{chunk-AQP2D5EJ-BJaTZvWO.js → chunk-AQP2D5EJ-Bo5P94jR.js} +1 -1
  26. package/ui-dist/assets/{chunk-BO2N2NFS-BnH2G-m5.js → chunk-BO2N2NFS-Bb9QKS7r.js} +4 -4
  27. package/ui-dist/assets/{chunk-CSCIHK7Q-CXkHF5UK.js → chunk-CSCIHK7Q-BXW0kTPy.js} +3 -3
  28. package/ui-dist/assets/{chunk-KSCS5N6A-BahjoFv5.js → chunk-KSCS5N6A-su0hRnFY.js} +1 -1
  29. package/ui-dist/assets/{chunk-L5ZTLDWV-Bx4WHt-z.js → chunk-L5ZTLDWV-CLjULdtO.js} +1 -1
  30. package/ui-dist/assets/{chunk-LZXEDZCA-CkFznL5l.js → chunk-LZXEDZCA-DSupe1kd.js} +2 -2
  31. package/ui-dist/assets/{chunk-ND2GUHAM-B8gmrqM9.js → chunk-ND2GUHAM-DVaKW6-I.js} +1 -1
  32. package/ui-dist/assets/{chunk-NZK2D7GU-C18DTyig.js → chunk-NZK2D7GU-DP_luiUT.js} +1 -1
  33. package/ui-dist/assets/{chunk-O5CBEL6O-DhXgjXO_.js → chunk-O5CBEL6O-DJ6oobwT.js} +1 -1
  34. package/ui-dist/assets/{chunk-WU5MYG2G-DakMffny.js → chunk-WU5MYG2G-BJCNi6Df.js} +1 -1
  35. package/ui-dist/assets/classDiagram-4FO5ZUOK-C8buBHXm.js +1 -0
  36. package/ui-dist/assets/classDiagram-v2-Q7XG4LA2-C8buBHXm.js +1 -0
  37. package/ui-dist/assets/{collapsible-BdLJt-lG.js → collapsible-0tqcZUWD.js} +1 -1
  38. package/ui-dist/assets/{dagre-BM42HDAG-CRPnH9-w.js → dagre-BM42HDAG-CRyL8hRI.js} +1 -1
  39. package/ui-dist/assets/{diagram-2AECGRRQ-BHmnvDJu.js → diagram-2AECGRRQ-DyjpW-BD.js} +1 -1
  40. package/ui-dist/assets/{diagram-5GNKFQAL-CnuSOf5i.js → diagram-5GNKFQAL-CBTUCxgf.js} +1 -1
  41. package/ui-dist/assets/{diagram-KO2AKTUF-DkD3Oyzq.js → diagram-KO2AKTUF-C7inOR0g.js} +1 -1
  42. package/ui-dist/assets/{diagram-LMA3HP47-qngr_ayi.js → diagram-LMA3HP47-CfCMRg_H.js} +1 -1
  43. package/ui-dist/assets/{diagram-OG6HWLK6-BUXAAFlB.js → diagram-OG6HWLK6-DLl3GKVl.js} +1 -1
  44. package/ui-dist/assets/{dialog-Bl8-9u35.js → dialog-gLEpdaG1.js} +1 -1
  45. package/ui-dist/assets/{erDiagram-TEJ5UH35-B7fmkd3a.js → erDiagram-TEJ5UH35-D3SsdlGo.js} +1 -1
  46. package/ui-dist/assets/eventmodeling-FCH6USID-Dl7jZkr1.js +1 -0
  47. package/ui-dist/assets/{flowDiagram-I6XJVG4X-D3K28Pdy.js → flowDiagram-I6XJVG4X-BIZoa3Ff.js} +1 -1
  48. package/ui-dist/assets/{ganttDiagram-6RSMTGT7-CXzmskXJ.js → ganttDiagram-6RSMTGT7-DoIzzrgl.js} +1 -1
  49. package/ui-dist/assets/{gitGraph-WXDBUCRP-CROsiysY.js → gitGraph-WXDBUCRP-tT7WczwY.js} +1 -1
  50. package/ui-dist/assets/{gitGraphDiagram-PVQCEYII-BBhICl9b.js → gitGraphDiagram-PVQCEYII-CwoMoyS1.js} +1 -1
  51. package/ui-dist/assets/{highlighted-body-OFNGDK62-woHDdMrg.js → highlighted-body-OFNGDK62-X8dg_vaO.js} +1 -1
  52. package/ui-dist/assets/{index-DmmH6oax.css → index-C_NJsn6Z.css} +1 -1
  53. package/ui-dist/assets/{index-j386AZTn.js → index-DXYsuK0q.js} +2 -2
  54. package/ui-dist/assets/{info-J43DQDTF-DHht6dOt.js → info-J43DQDTF-Da0djCPL.js} +1 -1
  55. package/ui-dist/assets/{infoDiagram-5YYISTIA-Df4LhnuE.js → infoDiagram-5YYISTIA-D-OHDMDH.js} +1 -1
  56. package/ui-dist/assets/{input-D4O22yGt.js → input-BPTmfk5i.js} +1 -1
  57. package/ui-dist/assets/{ishikawaDiagram-YF4QCWOH-B8KMc0In.js → ishikawaDiagram-YF4QCWOH-Bzg0E0Z1.js} +1 -1
  58. package/ui-dist/assets/{journeyDiagram-JHISSGLW-Bpr7eOEv.js → journeyDiagram-JHISSGLW-rmeE-f4I.js} +1 -1
  59. package/ui-dist/assets/{kanban-definition-UN3LZRKU-R8MXwX2D.js → kanban-definition-UN3LZRKU-DSy_xosI.js} +1 -1
  60. package/ui-dist/assets/katex-BNbsei-7.js +1 -0
  61. package/ui-dist/assets/{line-EyXPCaOi.js → line-6Sq5fd7W.js} +1 -1
  62. package/ui-dist/assets/mermaid-GHXKKRXX-eP_ygZe4.js +1 -0
  63. package/ui-dist/assets/{mermaid-parser.core-Bd2TX3li.js → mermaid-parser.core-C6nlL4jI.js} +2 -2
  64. package/ui-dist/assets/{mindmap-definition-RKZ34NQL-CCrZYYSm.js → mindmap-definition-RKZ34NQL-CSJ0pwqG.js} +1 -1
  65. package/ui-dist/assets/{packet-YPE3B663-BsRm1dxS.js → packet-YPE3B663-CJYSZVBB.js} +1 -1
  66. package/ui-dist/assets/{pie-LRSECV5Y-2jRO4jrF.js → pie-LRSECV5Y-B7FDQxHq.js} +1 -1
  67. package/ui-dist/assets/{pieDiagram-4H26LBE5-O21uLYd7.js → pieDiagram-4H26LBE5-BYco3Xpn.js} +1 -1
  68. package/ui-dist/assets/{quadrantDiagram-W4KKPZXB-PFuRo2tu.js → quadrantDiagram-W4KKPZXB-BSzj1BbK.js} +1 -1
  69. package/ui-dist/assets/{radar-GUYGQ44K-DrLd9hhi.js → radar-GUYGQ44K-CIqNKREz.js} +1 -1
  70. package/ui-dist/assets/{requirementDiagram-4Y6WPE33-CsP61d0X.js → requirementDiagram-4Y6WPE33-DTMmHobs.js} +1 -1
  71. package/ui-dist/assets/{sankeyDiagram-5OEKKPKP-OXRKlXwh.js → sankeyDiagram-5OEKKPKP-v48Pd1Sj.js} +1 -1
  72. package/ui-dist/assets/{select-CYgMxtlk.js → select-jBmyVjXL.js} +1 -1
  73. package/ui-dist/assets/{sequenceDiagram-3UESZ5HK-CGKNazDP.js → sequenceDiagram-3UESZ5HK-Cutc-QJ-.js} +1 -1
  74. package/ui-dist/assets/{stateDiagram-AJRCARHV-BBiaMVYA.js → stateDiagram-AJRCARHV-C9wjw5vE.js} +1 -1
  75. package/ui-dist/assets/stateDiagram-v2-BHNVJYJU-0qv-iPvr.js +1 -0
  76. package/ui-dist/assets/{tabs-DS9zR4V0.js → tabs-BUCI-mwA.js} +1 -1
  77. package/ui-dist/assets/{timeline-definition-PNZ67QCA-DCONMP8y.js → timeline-definition-PNZ67QCA-Be0sJR3F.js} +1 -1
  78. package/ui-dist/assets/{treeView-BLDUP644-DLNyeiHu.js → treeView-BLDUP644-BuO1c41a.js} +1 -1
  79. package/ui-dist/assets/{treemap-LRROVOQU-Cdld0366.js → treemap-LRROVOQU-DnqRpBrL.js} +1 -1
  80. package/ui-dist/assets/{useCompositeListItem-BQ4RLkNZ.js → useCompositeListItem-BMeUcGkY.js} +1 -1
  81. package/ui-dist/assets/{vennDiagram-CIIHVFJN-C21GUpuw.js → vennDiagram-CIIHVFJN-BU-tyhcP.js} +1 -1
  82. package/ui-dist/assets/{wardley-L42UT6IY-PuTi7B-8.js → wardley-L42UT6IY-C4lBe1D1.js} +1 -1
  83. package/ui-dist/assets/{wardleyDiagram-YWT4CUSO-BwV-yZO0.js → wardleyDiagram-YWT4CUSO-Ba4GgkxA.js} +1 -1
  84. package/ui-dist/assets/{xychartDiagram-2RQKCTM6-D-bOqUpK.js → xychartDiagram-2RQKCTM6-BZYGoMGR.js} +1 -1
  85. package/ui-dist/index.html +2 -2
  86. package/ui-dist/assets/architecture-7EHR7CIX-D8QwdCM4.js +0 -1
  87. package/ui-dist/assets/channel-CXOCC3Ms.js +0 -1
  88. package/ui-dist/assets/classDiagram-4FO5ZUOK-DMdoabn-.js +0 -1
  89. package/ui-dist/assets/classDiagram-v2-Q7XG4LA2-DMdoabn-.js +0 -1
  90. package/ui-dist/assets/eventmodeling-FCH6USID-DUPVuqbK.js +0 -1
  91. package/ui-dist/assets/katex-U6Climy7.js +0 -1
  92. package/ui-dist/assets/mermaid-GHXKKRXX-CDSYqrX3.js +0 -1
  93. package/ui-dist/assets/stateDiagram-v2-BHNVJYJU-C_bLdSQ9.js +0 -1
package/README.md CHANGED
@@ -31,7 +31,49 @@ jun help
31
31
 
32
32
  ## Where things live
33
33
 
34
- All state is in `~/.jun` (override with `JUN_HOME`): projects/workspaces, run history (JSONL), schedules, config. The daemon binds `127.0.0.1` only — for a remote VPS, tunnel: `ssh -L 8787:127.0.0.1:8787 user@host`.
34
+ All state is in `~/.jun` (override with `JUN_HOME`): projects/workspaces, run history (JSONL), schedules, config. The daemon binds `127.0.0.1` by default (override `JUN_HOST`/`JUN_PORT`) — for quick remote access, tunnel: `ssh -L 8787:127.0.0.1:8787 user@host`.
35
+
36
+ ## Run on a VPS (Debian/Ubuntu)
37
+
38
+ ```bash
39
+ # Bun + Codex CLI
40
+ curl -fsSL https://bun.sh/install | bash && export PATH="$HOME/.bun/bin:$PATH"
41
+ npm install -g @openai/codex
42
+
43
+ # Chromium system libs — required, or the stealth browser engine can't launch
44
+ # and sites behind edge WAFs will block the agent. (libasound2 on Ubuntu <24.04.)
45
+ apt-get update && apt-get install -y \
46
+ libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libgbm1 libdrm2 \
47
+ libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
48
+ libpango-1.0-0 libcairo2 libxshmfence1 libasound2t64
49
+
50
+ bun install -g junhost && jun doctor
51
+ ```
52
+
53
+ Run it as a systemd service — `/etc/systemd/system/jun.service`:
54
+
55
+ ```ini
56
+ [Unit]
57
+ Description=Jun
58
+ After=network-online.target
59
+ Wants=network-online.target
60
+
61
+ [Service]
62
+ Environment=JUN_HOME=/var/lib/jun
63
+ Environment=PATH=/root/.bun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
64
+ ExecStart=/root/.bun/bin/bun /root/.bun/bin/jun start
65
+ Restart=always
66
+ RestartSec=3
67
+
68
+ [Install]
69
+ WantedBy=multi-user.target
70
+ ```
71
+
72
+ ```bash
73
+ systemctl daemon-reload && systemctl enable --now jun
74
+ ```
75
+
76
+ To reach the dashboard, either SSH-tunnel, or put Caddy in front for HTTPS (`reverse_proxy 127.0.0.1:8787` — WebSockets work automatically; add `basic_auth`, since Jun has no built-in login yet). Sign in to Codex from Settings — the device-code flow works headless. If the box has a datacenter IP, set a residential browser proxy in Settings → Browser proxy (or `JUN_BROWSER_PROXY=http://user:pass@host:port`; in a systemd drop-in use raw `%`-free credentials — `%` is a systemd escape). Upgrade anytime: `jun upgrade && systemctl restart jun`.
35
77
 
36
78
  ## License
37
79