VAULT
브라우저에서 비밀번호로 파일을 암호화·복호화하며 데이터는 절대 업로드되지 않습니다
AVA (AnotherVaporAuth) — a Flutter rewrite of a Steam mobile authenticator
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A nother V apor A uth — a modern, lightweight, cross-platform
authenticator for Steam, built with Flutter .
Community project — not affiliated with Steam or Valve in any way.
Windows · macOS · Linux · Android from a single codebase (iOS planned).
Coming from Steam Desktop Authenticator? Import your whole maFiles/
folder, encrypted ones included — nothing to re-link, no 7-day trade
cooldown. There is a step-by-step
guide.README 전문 보기 ↗| Android | Google Play · direct APK (no Play Services needed) |
| Windows | Installer · portable single-file build in the same release |
| macOS | DMG — Apple Silicon only; see first launch |
| Linux | AppImage |
Coming from Steam Desktop Authenticator? Import your whole maFiles/
folder, encrypted ones included — nothing to re-link, no 7-day trade
cooldown. There is a step-by-step
guide.
Security note: a desktop/PC authenticator defeats much of the purpose of two-factor authentication — if your device is compromised, so is your token. Prefer Steam's official mobile app where you can. Always back up your
maFilesand your revocation code. Use at your own risk.
.maFile format
(PBKDF2/SHA1 + AES-256-CBC), so existing accounts migrate with no changes.
Also imports a whole Steam Desktop Authenticator maFiles/ folder — including
the encrypted ones (select manifest.json along with the .maFiles; the salt
and IV live in the manifest, so an encrypted maFile alone is undecryptable) — and
other tools' variants (Steam++ / Watt Toolkit), including exports with no SteamID
(imported as a code-only account whose codes work offline). Export an account's
maFile at any time.app/ Flutter application (see app/README.md)
docs/ design specs (docs/specs/) and implementation plans (docs/plans/)
infra/ Cloudflare workers (entitlement/version, feedback)
installer/ Windows installer packaging
tool/ release tooling (Play upload, R2 publish, docs lint)
The legacy branch preserves the original .NET WinForms Steam Desktop
Authenticator that inspired this project — kept for reference only; AVA shares no
code with it.
Requires the Flutter SDK (3.44.x). See app/README.md for details.
cd app
flutter pub get --enforce-lockfile
flutter test # 761 tests
flutter run -d linux # or windows / macos
# Android ships in two flavors (play / cn); a build without --flavor fails.
flutter build apk --release --split-per-abi --flavor cn --dart-define=AVA_CHANNEL=cn
Desktop releases are built by GitHub Actions on every v* tag or manual
dispatch, see .github/workflows/desktop-release.yml:
AVA-…-setup.exe built
from our own Flutter installer app (installer/): frameless neon/pixel UI,
installs per-user (no UAC), Start-menu / desktop shortcuts and a proper
uninstall entry. Uninstalling never touches account data.AVA-…-linux-x86_64.AppImage.Portable build (Windows): a separate workflow
(.github/workflows/windows-portable.yml) packs the whole app into one
single-file AVA-…-portable.exe (NSIS, tool/portable.nsi). It runs from anywhere
with nothing to install. Desktop Settings includes a Portable mode switch:
new accounts go to maFiles beside the app when enabled, or to AppData when
disabled. Both libraries remain readable. Each switch offers to copy existing
accounts; source copies are retained and matching Steam IDs are skipped.
Portable accounts use a separate password (at least 12 characters), so the
whole maFiles folder can travel to another computer. Keep its manifest.json
with the encrypted account files. Settings are not carried in maFiles;
existing WebDAV settings sync is unchanged, and portable accounts are excluded
from account sync. On a new computer, accept the privacy notice and set a local
unlock PIN first, then unlock maFiles with its separate password.
DMG builds ship on Releases with every tagged version since v1.2.0 — arm64 only (M1 and later; no Intel build). Open the DMG and drag AVA into Applications.
The app is ad-hoc signed but not notarized (a $99/year Apple Developer membership; this is a free community project), so Gatekeeper will warn on first launch. To run it anyway:
Right-click (or Control-click) AVA.app → Open → Open. On newer
macOS the button may only appear the second time, or under
System Settings → Privacy & Security → "Open Anyway".
If macOS instead claims the app "is damaged and can't be opened" — that is the quarantine flag on an un-notarized download, not actual damage. Clear it:
xattr -dr com.apple.quarantine /Applications/AVA.app
Both are one-time; later launches open normally. Only ever do this for software whose origin you trust — for AVA that means this repo's Releases page, where every DMG is built in public by GitHub Actions from the tagged commit.
All fonts are bundled (no runtime download) and declared in
app/pubspec.yaml; see app/assets/fonts/README.md for details.
| Family | Theme | Role | Source / License |
|---|---|---|---|
| Chakra Petch | Neon | display | OFL 1.1 |
| JetBrains Mono | Neon | code | OFL 1.1 |
| Noto Sans SC | Neon | Chinese (CJK) fallback | OFL 1.1 |
| Fusion Pixel | Pixel | display + code (Latin + full CJK incl. 簡/繁, kana, hangul) | OFL 1.1 |
The Pixel theme uses the full Fusion Pixel font for complete CJK coverage (including rare characters in usernames). Noto Sans SC is subset to the CJK ideograph blocks (simplified + traditional). Latin-only fonts cover ASCII.
AVA is an independent project, written from scratch in Flutter — not a fork or
port. It was inspired by the classic Steam Desktop Authenticator (by
Jessecar96 and contributors), and stays compatible with its .maFile format so
existing users can migrate. Steam auth protocol references:
SteamAuth,
node-steam-session.
Your Steam data has no backend: accounts, secrets and codes stay on your device and every Steam request goes straight to Valve. Four other services are involved and are named here rather than buried — Pro entitlement checks, the launch-time update check (a single GET, off-switchable), in-app feedback (only when you press send), and ads on the Play build's free tier. The full Privacy Policy (简体中文) covers each.
See LICENSE. Bundled fonts retain their own OFL 1.1 licenses.