Voyager
一款移动优先的 Lemmy 网页客户端
Voyager for Lemmy
Voyager 是一个 Apollo 风格的 Lemmy](https://join-lemmy.org/) 开源 Web 客户端。它是一款移动优先的应用,但在桌面设备上同样表现出色。请随时试用!
Voyager 目前支持哪些功能?
- 浅色/深色模式
- 查看和订阅社区
- 多账户支持
- 单条评论线程上下文视图
- 对线程和评论进行点赞、点踩和回复
- 与用户资料互动
- 评论线程折叠
- 一系列滑动手势
- 消息、提及和回复
- 创建新帖子(URL/图片/文本)
- 删除/编辑评论
- 删除/编辑帖子
- 滑动隐藏帖子
- 保存/书签
- 收藏夹
- iOS 和 Android 主题
路线图计划包含什么?
- 更多自定义选项
- 原生通知和角标
- 版主功能
- 翻译
- ...以及更多!
💪 移动 Web 应用很棒
原生应用可能很棒,但我们相信 Web 的优势。为什么要使用基于 Web 的 Lemmy 客户端?
- 跨平台 在手机、平板电脑、桌面电脑等更多设备上使用熟悉的 Voyager 界面!
- 可自托管 无需担心您喜爱的应用被下架,并且您可以随心所欲地进行自定义!
- 轻量级 没有庞大的安装包 - 而且很容易试用
部署
生态系统
对于大多数用户, 我们推荐在应用商店中可用的原生应用:
然而,如果你更喜欢使用渐进式 Web 应用,有许多人托管了它:
社区部署
| 国家 | URL | 描述 | 联系方式/隐私 |
|---|---|---|---|
| 🇺🇸 美国弗吉尼亚 | vger.app | ✅ 官方 Voyager PWA 实例 | ➡️ |
| 🇫🇮 芬兰 | m.lemmy.world | 由 mastodon.world 团队托管的 Voyager。 | ➡️ |
| 🇸🇬 新加坡 | v.opnxng.com | 由新加坡的 Opnxng 托管的 Voyager。 | ➡️ |
| 🇲🇽 墨西哥 | voyager.nohost.network | 由墨西哥的 Nohost 托管的 Voyager。 | ➡️ |
| 🇺🇸 美国 | vger.thesanewriter.com | 由 lemmy.thesanewriter.com 团队托管的 Voyager。 | ➡️ |
| 🇺🇸 美国俄勒冈 | m.lemmy.today | 位于美国俄勒冈的快速通用实例 | ➡️ |
| 🇫🇷 法国 | v.lemmy.dbzer0.com | 保持怪异,下载汽车,生成艺术,无视版权 | ➡️ |
| ? | v.programming.dev | 编程社区合集 | ➡️ |
| 🇺🇸 Oregon, USA | v.lemmy.eco.br | 位于美国俄勒冈州的快速通用实例 | ➡️ |
| 🇩🇪 Germany | v.lemy.lol | 长期运营的通用 Lemmy 实例。 | ➡️ |
| 🇵🇹 Portugal | voyager.slrpnk.net | 与自然和社区互联的可持续未来。 | ➡️ |
| ? | app.thelemmy.club | 面向所有人的通用 Lemmy 实例! | ➡️ |
| ? | m.lemdro.id | 具有极高透明度的完全开源实例。 | ➡️ |
注意:社区部署并非由 Voyager 团队维护。它们可能未与 Voyager 的源代码同步。在使用之前,请自行调查相关主机服务器。
测试
Voyager 持续从每个提交部署到 refs/heads/main) 的 beta 轨道。beta 构建随时可能损坏。
自托管
在 production 环境中,有两种方式可以将 Voyager 作为 PWA 运行。推荐的方法是使用 docker。我们也支持不使用 docker 的 traditional 部署方式。请阅读下文以了解如何配置每种方式。
Docker 部署
若要自行托管 Voyager,您可以使用提供的 Dockerfile 来构建包含 Voyager 的容器。Docker 容器本身不提供任何 SSL/TLS 处理。您需要自行添加这部分配置。 可以将 Voyager 放置在支持 SSL 处理的流行反向代理(如 Traefik、NGINX 等)之后。
提示: 使用 Watchtower 自动保持您的部署为最新状态!
环境变量
CUSTOM_LEMMY_SERVERS(可选)例如lemmy.world,lemmy.ml,sh.itjust.works- 建议服务器的逗号分隔列表。第一个将用作已注销用户的默认视图。如果您愿意,可以只指定一个。
来自源
- checkout source
git clone https://github.com/aeharding/voyager.git - go into new source dir:
cd voyager - build Docker image:
docker build . -t voyager - start container:
docker run --init --rm -it -p 5314:5314 voyager
预构建
- pull image
docker pull ghcr.io/aeharding/voyager:latest - start container:
docker run --init --rm -it -p 5314:5314 voyager
注意:提供的 Dockerfile 将创建一个容器,该容器最终会以非 root 用户身份运行 Voyager。
传统部署
虽然 Docker 使事情变得更容易,但 Voyager 可以由任何 HTTP 服务器(nginx、apache 等)托管。
# Build from source (Or, download web artifact from Github Releases)
pnpm install
pnpm build
# Then, serve ./dist with your favorite HTTP server - nginx, apache etc
# (make sure 404 goes to index.html)
# Below is a simple example for dev/testing (not recommended for production):
npm install --global http-server
cp dist/index.html dist/404.html # magic file for http-server
http-server dist
可选地,你可以在 /_config 端点提供自定义的实例列表,其 JSON 负载格式如下:
{ "customServers": ["lemmy.world", "lemmy.zip"] }
在生产环境中,使用 Cache-Control: no-cache 提供 index.html,并使用 /assets 设置较长的缓存时间(assets 中的文件是不可变的)
💖 赞助者
如果你喜欢 Voyager,你可以赞助它:
我们也很感激对 Voyager 的其他贡献者进行赞助。如果有人帮助你解决了一个问题或实现了你想要的功能,支持他们将有助于使这个项目和操作系统更加可持续。
🧑💻 贡献
请查看 CONTRIBUTING.md 了解向 Voyager 贡献的详细信息。谢谢!💙
🛜 将 lemmy 实例添加到精选列表
Voyager 为注册精选了 Lemmy 服务器(查看数据)。如果你想添加一个实例,请阅读 精选服务器政策。
📲 PWA
Voyager 添加到主屏幕后效果最佳。某些功能仅在那里可用,例如角标和流畅的页面过渡。
🦄 技术栈
- React - 用于 Web 和原生用户界面的库
- Vite - 下一代前端工具
- Ionic - Web 的移动 SDK
- Virtua - 零配置、快速且小巧的虚拟列表
- vite-plugin-pwa - 更新提示、Web 推送通知和 Web 共享目标 API
👨💻 贡献者
感谢 @fer0n 提供的精美标志和启动画面!以及感谢 💙 我们所有为代码库做出贡献的人:
📄 许可证
美术资源
代码
AGPL-3.0 © Voyager contributors