Skip to content

FNOSP/FlyNarwhal

Repository files navigation

Fly Narwhal

fnarwhal_home

GitHub stars GitHub forks GitHub issues GitHub license Dart Flutter

面向飞牛影视服务的第三方 Flutter 桌面客户端,当前聚焦 Windows、macOS、Linux 三端体验。

服务端项目:https://github.com/FNOSP/fly-narwhal-server


声明

本项目为飞牛 OS 爱好者开发的第三方影视客户端,与飞牛影视官方无关。使用前请确保遵守相关服务条款。

项目结构

.
├─ lib/                  Flutter 主应用代码
├─ assets/               字体、图片、动画资源
├─ updater/              Windows 自更新器(Go)
├─ scripts/release/      正式发布构建脚本
├─ .github/workflows/    GitHub Actions 发布流程
├─ windows/              Windows Runner / CMake 构建配置
├─ macos/                macOS Runner
└─ linux/                Linux Runner

界面预览

最终效果以实际发布版本为准

image-20251230020234381

image-20251230020717917

image-20251230021217242

使用说明

使用安装包安装

前往 Releases 下载对应平台的安装包或发行产物。

从源码运行

准备环境

  • 安装 Flutter Stable SDK,并确保 flutter --version 可用

  • 启用桌面平台支持

    flutter config --enable-windows-desktop
    flutter config --enable-macos-desktop
    flutter config --enable-linux-desktop
  • Windows 开发建议安装 Visual Studio 2022 的“Desktop development with C++”

  • Windows 本地运行与构建还需要 Go 1.23 或以上版本

    • 当前 windows/CMakeLists.txt 会在构建时同步编译 updater.exe
    • 请确保 go version 可在 PATH 中正常执行
  • macOS 需要安装 Xcode 与 Command Line Tools

  • Linux 需要准备常见 Flutter 桌面依赖,例如 clangcmakeninja-buildpkg-configlibgtk-3-dev

拉取依赖

git clone https://github.com/FNOSP/FlyNarwhal.git
cd FlyNarwhal
flutter pub get

运行桌面端

Windows:

flutter run -d windows

macOS:

flutter run -d macos

Linux:

flutter run -d linux

生成代码

项目中使用了 Riverpod 与 json_serializable。如果你修改了带注解的模型或 Provider,请重新生成代码:

dart run build_runner build --delete-conflicting-outputs

打包为可执行文件

本地构建

Windows:

flutter build windows --release

macOS:

flutter build macos --release

Linux:

flutter build linux --release

常见产物位置:

  • Windows:build/windows/<arch>/runner/Release/
  • macOS:build/macos/Build/Products/Release/FlyNarwhal.app
  • Linux:build/linux/<arch>/release/bundle/

常见问题

1. 此客户端播放视频是否支持硬解?

播放器基于 media_kit / libmpv,支持 GPU 加速能力,但最终效果取决于平台、驱动、视频格式以及系统环境。HDR、字幕、音轨切换等体验仍在持续优化,具体请以实际版本表现为准。

2. 此客户端是否支持使用 FN ID 或者通过 NAS 登录?

支持,当前登录流程同时覆盖 FN ID 与 NAS 登录场景。

3. 此客户端是否支持使用飞牛 OS 中的自签证书进行 HTTPS 连接?

目前不支持自签证书直连。如启用了 HTTPS,请使用受系统信任的证书。

4. 此客户端是否支持直链播放?

DolbyVision Profile 5 之外格式的视频原画质下,默认使用直链播放,并支持在部分播放失败场景下回退到 HLS 。

🙏 特别感谢

本项目使用或参考以下开源项目:

感谢以下飞牛共建团队成员在内测期间提供了宝贵的技术支持和建议:

@玉尺书生 @MR_XIAOBO @汪仔饭 @*观如

感谢 anmoliyang 为此项目 UI 设计做出的贡献

🌟 Star History

Star History Chart #

About

基于 Flutter 框架开发的适用于飞牛影视的跨平台客户端

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages