9 packages · last updated Oct 17, 2026

One source for every farfarfun package

The APT source and the Homebrew tap are the same repository. Set it up once; every package added later installs by its bare name.

  • Signed indexEvery rebuild is re-signed with the same GPG key, and apt verifies it for you.
  • amd64 and arm64Each architecture gets its own index, so a machine never sees a package it cannot install.
  • Roll backThe source keeps the last few versions of each package, so a bad upgrade has a way back.
  • Gitee fallbackWhen GitHub is unreachable, the Homebrew side can run entirely off the Gitee mirror.

Set up

Once is enough

Run this once — the tab for your system is already selected. You never need it again, whatever you install later.

Key fingerprint557A C9DC 98EC A712 0119 F9A7 4CDA D037 2FCA 5BF0

Debian, Ubuntu and derivatives

curl -fsSL https://farfarfun.github.io/packages/farfarfun.gpg \
  | sudo tee /usr/share/keyrings/farfarfun.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/farfarfun.gpg] https://farfarfun.github.io/packages/deb stable main" \
  | sudo tee /etc/apt/sources.list.d/farfarfun.list
sudo apt update

What those three lines do

The key lands in /usr/share/keyrings and the source file in /etc/apt/sources.list.d. The stable main at the end is this repository's only suite and component.

Packages

9 of them

One page each: install commands, the versions still in the index, and the per-platform builds. Adding a package only touches packages.toml; these pages follow.

  • fundeploy0.3.13

    Manage development toolchains, local services and package mirrors from one CLI.

    • APT
    • Homebrew
    • Command-line tool

    Released Oct 17, 2026 · amd64 arm64

  • funget1.2.0

    HTTP file transfer tool with ranged concurrency, resume and PUT/POST upload.

    • APT
    • Homebrew
    • Command-line tool

    Released Oct 14, 2026 · amd64 arm64

  • funbuild1.6.105

    One-command release pipeline for Python, frontend, Flutter and Rust repos

    • APT
    • Homebrew
    • Command-line tool

    Released Oct 17, 2026 · amd64 arm64

  • funclash1.0.5

    A multi-platform proxy client based on Clash Meta (mihomo). Simple to use, open source and ad-free.

    • APT
    • Homebrew Cask
    • Desktop app

    Released Oct 17, 2026 · amd64 arm64

  • funread1.1.127

    A self-hosted reader for novels and RSS feeds: connects to your own server, keeps reading offline.

    • APT
    • Homebrew Cask
    • Desktop app

    Released Oct 17, 2026 · amd64 arm64

  • FunOTP

    A two-factor authenticator inside uTools: TOTP / HOTP codes computed offline, searchable straight from the main input box.

    • uTools
    • uTools plugin
  • FunLink

    Turns scattered bookmarks into a navigable board — categories, drag-to-order and a recycle bin — searchable and openable straight from the uTools input box.

    • uTools
    • uTools plugin
  • FunChat

    A room full of AI friends inside uTools — switch personas, pick from the built-in market, revisit past topics and export in one click.

    • uTools
    • uTools plugin
  • FunDoc

    Markdown notes inside uTools: a nested outline, three editing modes and LaTeX formulas rendered fully offline.

    • uTools
    • uTools plugin

How this repository runs

One manifest, three channels

Each project attaches its build output to its own GitHub Release. This repository collects them per packages.toml, rebuilds the index, signs it and publishes to Pages — and generates the Homebrew formulae and casks from the same manifest.

One build

packages.toml ──┬─► collect .deb → pool → scan index → sign → Pages → install check
                └─► render formula / cask → commit to master → mirror to Gitee → check

When it rebuilds

On a ping from a project that just shipped, on a change to packages.toml, by hand, and on a two-hourly scan — so a project that never pings is still picked up within two hours.