Java版配置和使用手册 Java版是无界面的共享终端。它登录到 NatShare 服务器,把本机目录或文件提供给同一账号的其他终端,以及被允许的好友。好友的 desktop 或 mobile 可以浏览、下载和播放这些共享。Java版本身不能聊天。 可以用Java制作自己的NAS文件服务。 一、运行环境 需要本机已安装 Java,并且能访问 NatShare 服务器的 HTTP 地址和 UDP 端口。程序是一个可执行 jar。 启动程序: java -jar client-headless-1.0.0.jar 使用Java版本前,必需先要使用桌面版或移动端注册用户。 二、配置管理页面 浏览器打开: http://本机地址:8787/ 页面名称是「共享柜」。可以做这些事: 填写终端名称、用户名和密码,点「保存并登录」。密码框留空表示不修改原密码。新密码至少 6 位。保存时会立刻用新账号登录;登录失败则配置回退,原来的账号不变。 添加共享目录或文件。可以用「浏览」从本机磁盘选择。选择「好友可见」或「仅本账号」。好友可见时,默认可被全部好友看到;可以再指定允许的好友或标签,也可以排除某些好友或标签。点保存后立即生效,不用重启进程。配置会写到名叫config.json的文件。 页面也可以查看当前是否已连上服务器、本机 deviceId,以及好友和标签名单。好友名单来自服务器,所以必须先登录成功。 管理页面只用于改配置,不能代替好友端去下载文件。 三、好友如何使用 好友在 桌面版或移动端 的好友终端列表里看到这台服务端在线后,连接它,进入共享,即可按权限浏览、下载或播放。 同一账号的 桌面版、移动端 可以看到这个 Java端 的全部共享,包括标记为「仅本账号」的项目。 Java端 不能作为聊天对象。对方只有这台服务端在线时,不能给它发消息、语音或聊天文件。 四、网络和打洞 登录成功后,程序向主服务器和辅助服务器发送 UDP 探测,判断本机是否可打洞,并把结果上报服务器。之后约每 10 秒发送一次 UDP 心跳,同时用 HTTP 长轮询接收连接请求。 好友连接时,优先尝试直接打洞。打洞失败时,文件会经服务器中转。中转内容是加密的,服务器不能解密。 更换网络后,程序会重新绑定 UDP 并再次探测。请不要在运行中删除或改掉配置文件中的 deviceId。 五、配置文件中的规则 同一账号的其他终端:始终可见。 好友,且 visibility 为 SELF_ONLY:不可见。 好友,且在 denyFriends 中,或好友的标签与 denyTags 有交集:不可见。 好友,且 allowFriends、allowTags 都为空:可见。 好友,且指定了允许名单:只有用户编号在 allowFriends 中,或标签与 allowTags 有交集时可见。 六、常见情况 管理页面打不开:检查 adminHttpPort 是否为 0,本机防火墙是否放行该端口,以及 adminBind 是否只监听了 127.0.0.1。 保存账号后提示登录失败:用户名或密码错误,或 serverBaseUrl 不可达。失败后配置会恢复成保存前的值。 好友看不到共享:确认终端在线,路径在 Java的 机器上真实存在,并且该好友没有被排除、也没有被允许名单漏掉。 好友能看到终端但不能聊天:这是正常行为。Java版 只提供共享。 两台 Java版 使用了同一个 deviceId:它们会互相覆盖同一条终端记录。每台机器保留第一次自动生成的 deviceId。 配置文件里有明文密码:不要把 config.json 提交到仓库或发给他人。