小猎犬号
P2P聊天,文件传输和通话over 像样的网络. 没有帐户,没有服务器,没有管理员权限-您的身份是您的 自己的机器,消息是点对点的。
小猎犬是 应用程序. 协议存在于 @decentnetwork/peer (SDK)
和虚拟局域网层 @decentnetwork/lan decentlan是一名开发人员
运营商工具)。Beagle迭代快;这些都是故意让人觉得无聊的。
运行
npm install
npm run build
node dist/cli.js
然后打开 http://localhost:8766.
--port <n> HTTP port (default 8766)
--host <addr> bind address (default 127.0.0.1)
--config-dir <p> identity/config dir (default ~/.agentnet)
--dora-dir <p> dora roster dir, if this machine runs a dora
端口8766而不是decentlan的8765,所以在过渡期间
agentnet ui 和Beagle可以在一台机器上并排运行。
调用(web↔Android)
在线WebRTC与Android应用程序的使用 载波自举转,而不是。 东京消息传递。看到 文档/ webrtc-android-interop.md 对于故障模式和如何第一次呼叫冷启动是固定的。
状态:第一阶段
小猎犬选了一个 后端 作为承运人的身份。只有一个是活的, 因为一个身份永远不能同时运行两个载波对等体——两个对等体 会话建立时相同的对对竞争并破坏彼此的状态。
| 后端 | 状态 | 需要根 | 虚拟局域网 |
|---|---|---|---|
daemon -通过IPC与正在运行的decentlan守护进程对话 | 航运 | 没有(守护进程有) | 是 |
embedded - Beagle打开自己的对等进程 | 第二阶段 | 否 | 否 |
如今,Beagle需要一个decentlan守护程序。阶段2添加嵌入式后端,即 Beagle在普通用户权限和decentlan下独立运行的哪一点 变成可选的“我也想要一个虚拟局域网”附加组件。
从 ~/.agentnet 默认情况下,机器已经在运行
Decentlan保持相同的用户id和相同的好友——它是相同的节点,
不是新的。
布局
src/
├── cli.ts # the `beagle` binary — argument parsing, startup
├── peer-host.ts # backend abstraction + selection (the split's hinge)
├── ipc.ts # decentlan daemon wire protocol, client side
├── server.ts # local HTTP server: /api/* + serves the UI bundle
├── exits.ts # official exit table (network panel only)
└── desktop/ # the UI itself (JSX, concatenated + esbuild-transpiled)
scripts/build-ui.mjs 包 src/desktop/*.jsx 成 dist/desktop/app.js.
UI作为一个连接的脚本运行,与React (UMD)共享全局作用域
没有CDN,没有浏览器内的通天塔。