Downloads¶
All release artifacts are hosted on futuapi.com directly. The source repo is private.
Latest: v1.9.7¶
v1.9.7 improves push compatibility and backend error reporting, and updates Rust and runtime dependencies. Release builds use Rust 1.99.1; source builds require Rust 1.99. Prebuilt binaries do not require Rust. Recovery of the original tape statistics push still needs retesting. See the full release notes.
Artifacts source
Tarballs listed here are produced by our CI at release time, with matching .sha256 files. Verify checksums before running.
Homebrew (recommended for macOS / Linux)¶
Automatically handles macOS Gatekeeper quarantine — no manual xattr needed. After install, futu-opend / futu-mcp / futucli / futu-indicator-worker are on PATH; example configs live in $(brew --prefix)/share/futu-opend-rs/examples/.
Upgrade: brew upgrade futu-opend-rs
Check for a newer version¶
Use the CLI to explicitly check whether your local installation is behind:
The command first fetches the public https://futuapi.com/version.json; it does
not upload account, position, device, or trading data. If the default endpoint
is unavailable, returns a non-2xx status, or uses an incompatible schema,
futucli fails closed and does not produce upgrade advice. futucli doctor
performs the same short-timeout check by default. Offline or internal-network
deployments can skip it with futucli doctor --no-update-check.
To test a staging endpoint or mirror, override the URL:
futucli version --check --url https://example.com/version.json
FUTU_UPDATE_CHECK_URL=https://example.com/version.json futucli doctor
Binary downloads¶
Each archive bundles four programs: futu-opend (gateway), futu-mcp (MCP server), futucli (CLI client), and futu-indicator-worker (the indicator helper launched by the gateway when needed). Do not move or delete the worker independently.
| OS | Arch | Download | Checksum |
|---|---|---|---|
| Linux | x86_64 (glibc 2.34+) | futu-opend-rs-1.9.7-linux-x86_64.tar.gz | .sha256 |
| Linux | aarch64 (glibc 2.34+) | futu-opend-rs-1.9.7-linux-aarch64.tar.gz | .sha256 |
| macOS | Apple Silicon (arm64) | futu-opend-rs-1.9.7-macos-arm64.tar.gz | .sha256 |
| macOS | Intel (x86_64) | futu-opend-rs-1.9.7-macos-x86_64.tar.gz | .sha256 |
| Windows | x86_64 | futu-opend-rs-1.9.7-windows-x86_64.zip | .sha256 |
All 5 platforms available
Binaries and sha256 files are built by GitHub Actions and pushed here on every rs-v* tag.
Linux system requirement
The prebuilt Linux archives require GLIBC 2.34 or newer. Check with
ldd --version. Ubuntu 16.04 / 20.04 are below this baseline; upgrade the
OS or use a Linux container that meets the baseline. The source is private; a public source-build option is not available.
Terminal download and verification¶
Choose your platform and run the script in an empty directory. Verification failure stops extraction. Manual-install commands use ./ because the programs are not yet on PATH.
(
set -e
VER=1.9.7; ARCH=macos-arm64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
shasum -a 256 -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
xattr -cr futu-opend futu-mcp futucli futu-indicator-worker # clear Gatekeeper quarantine
./futu-opend --version
)
(
set -e
VER=1.9.7; ARCH=macos-x86_64; FILE=futu-opend-rs-$VER-$ARCH.tar.gz
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE
curl -fLO https://futuapi.com/releases/rs-v$VER/$FILE.sha256
shasum -a 256 -c $FILE.sha256
tar xf $FILE && cd futu-opend-rs-$VER
xattr -cr futu-opend futu-mcp futucli futu-indicator-worker
./futu-opend --version
)
$ErrorActionPreference = "Stop"
$VER = "1.9.7"; $FILE = "futu-opend-rs-$VER-windows-x86_64.zip"
Invoke-WebRequest -Uri "https://futuapi.com/releases/rs-v$VER/$FILE" -OutFile $FILE
Invoke-WebRequest -Uri "https://futuapi.com/releases/rs-v$VER/$FILE.sha256" -OutFile "$FILE.sha256"
$expected = (Get-Content "$FILE.sha256").Split(" ")[0]
$actual = (Get-FileHash $FILE -Algorithm SHA256).Hash.ToLower()
if ($expected -ne $actual) { throw "SHA256 mismatch; extraction stopped" }
Expand-Archive $FILE -DestinationPath .
cd "futu-opend-rs-$VER"
.\futu-opend.exe --version
Next step
Once --version prints, head to Quick Start for the full login walkthrough, or jump straight to the Cheatsheet for production-ready launch commands.
macOS users¶
macOS Gatekeeper blocks unsigned binaries downloaded from the internet. After extracting, run once to clear the quarantine flag:
No need to repeat — the binaries will run normally after this.
Verify checksums¶
# Linux / macOS
sha256sum -c futu-opend-rs-1.9.7-linux-x86_64.tar.gz.sha256
# Or manually
shasum -a 256 futu-opend-rs-1.9.7-linux-x86_64.tar.gz
cat futu-opend-rs-1.9.7-linux-x86_64.tar.gz.sha256
Docker image¶
No public image yet
No public Docker image is published. For container deployment, grab the Linux tarball above and use the Dockerfile inlined in Production deploy to build your own.
Release history¶
Older packages use /releases/rs-vX.Y.Z/futu-opend-rs-X.Y.Z-<platform>.tar.gz;
Windows packages use .zip. Each package has a matching .sha256 file.
Choose a version from the changelog or
release archive, then replace X.Y.Z in the download command.
Deploy templates¶
The full Dockerfile and systemd units are inlined in Production deploy — copy-paste ready.
License¶
Copyright (c) 2026
All rights reserved.
This software is free for both personal and commercial use.
Any investment actions taken while using this software — all gains
and losses are solely at the user's own risk.
The author is NOT liable for trading losses, data loss, service
interruption, or account anomalies.