Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
MonkeyTicket Search Radar provides a one‑stop query for reward seats and cash ticket prices across multiple mileage programs—including China Airlines, EVA Air, China Airlines, Air France, Air Canada, etc.—with airline alliance and ticketing rule summaries.
AI translation
一次查詢多個里程計畫的獎勵機位與現金票價:國泰、長榮、華航、法航、加航等,附航空聯盟與開票規則整理。
LifestyleJavaScript · CSSGitHub @lina157-hashOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
用 seats.aero Partner API 查詢國泰、法航、加航、長榮、華航等航空公司的里程票座位,並附上航空聯盟與里程計畫規則庫。Read the full README ↗
用 seats.aero Partner API 查詢國泰、法航、加航、長榮、華航等航空公司的里程票座位,並附上航空聯盟與里程計畫規則庫。
data/points.json 的 calc.sources。data/points.json 的 transfers/cobrand),以及里程票與現金票的基本觀念。資料在 data/*.json,直接編輯即可更新。頁尾會顯示版本號、最後更新日期、更新紀錄,以及目前部署的程式版本(Vercel 提供的 commit)。改完東西要上線前,先跑:
node scripts/bump-version.js patch "這次改了什麼" # 小修正:1.9.0 → 1.9.1
node scripts/bump-version.js minor "新增 XX 功能" # 新功能:1.9.0 → 1.10.0
它會更新 data/version.json 的版本號、日期(台北時間)與更新紀錄,再一起 commit 即可。
需要 Node.js 20 以上。唯一的相依套件是一句話搜尋用 Claude 時的 @anthropic-ai/sdk(版本鎖在 package-lock.json;用 ChatGPT 不需要套件),第一次先執行 npm ci。
npm ci
cp .env.example .env # 填入 SEATS_AERO_API_KEY
export $(grep -v '^#' .env | xargs)
npm start # http://localhost:3000
npm test
沒有設定 SEATS_AERO_API_KEY 時會以示範資料模式運作,畫面上方會有提示。
/api/*,由伺服器轉發至 seats.aero。CACHE_TTL_SECONDS),節省每日 1,000 次的 Pro 額度。公開的查詢(里程搜尋、區域探索、出發前小提醒、匯率、今日好康、資料檔)另外交給 Vercel 的 CDN 快取(s-maxage),換一台伺服器也不會重查;要通關密碼的查詢(現金票、飯店現金價、提醒、追蹤)不走 CDN,改用 Upstash Redis 共用快取 30–60 分鐘,同樣的查詢、連點兩下都只扣一次額度。asiamiles,官方文件未列出),但沒有長榮、華航自家里程計畫;這兩家以可換到其座位的夥伴計畫(見 data/airlines.json 的 bookableVia)呈現。沒有亞洲萬里通資料的寰宇一家航線,前端會依 data/asiamiles.json 的距離哩數表估算。public/airports.min.json,約 3,200 個有定期航班的機場)由 scripts/build-airports.js 產生:機場資料來自 OurAirports(公有領域),城市別名來自 airportsdata(MIT,© Mike Borsetti),常用機場中文名與多機場城市(東京、倫敦等)在 data/airport-names-zh.json 手動維護。改了中文名之後重新執行該腳本即可。在 Vercel 選「Add New → Project」,匯入這個 GitHub repo,Framework 選 Other。
在 Environment Variables 新增 SEATS_AERO_API_KEY,值填你的 seats.aero 金鑰。
按 Deploy。之後每次推送到 main 都會自動重新部署。
(選用)查現金票通關密碼:在 Environment Variables 新增 CASH_PASSCODE(任意字串)後重新部署,之後只有輸入過密碼的裝置才能用 SerpApi 即時查價(里程票查詢不受影響)。沒設定就不鎖。
(選用)現金票即時價格:到 serpapi.com 註冊取得金鑰,在 Environment Variables 新增 SERPAPI_KEY 後重新部署。免費方案每月 250 次查詢;每次搜尋、「看回程」或「查預訂選項」各用 1 次,同樣條件 30 分鐘內重查不會再扣。沒設定時「查現金票」分頁只提供 Google 航班與 Skyscanner 連結。
(選用)機位提醒:在 Vercel 專案的 Storage 分頁,透過 Marketplace 建立一個 Upstash Redis(免費方案),連線設定會自動加入;再到 resend.com 註冊、建立 API 金鑰,新增環境變數 RESEND_API_KEY(沒驗證網域時,只能寄到你註冊 Resend 的信箱)。請設定 CRON_SECRET(任意長字串):Vercel 的排程會帶著它呼叫,沒有它、也沒有通關密碼時,排程端點一律拒絕。可另設 ALERT_FROM 自訂寄件人。重新部署後,vercel.json 裡的 cron 每天 00:10 UTC(台灣 08:10,seats.aero 每日額度剛重置)呼叫 /api/alerts/run,依序更新今日好康、降價追蹤、機位提醒;01:10 UTC 再跑一次 /api/cron/daily 補做前一次沒做完的部分(已做過的會跳過,不會重扣額度或重複寄信)。Hobby 方案的排程可能在該小時內任何時間觸發。也可以在網站的「機位提醒」面板按「立即檢查全部」。設定了 CASH_PASSCODE 的話,管理提醒也要輸入同一組密碼。
(選用)「誰飛直航」用同一把 RAPIDAPI_KEY 的 AeroDataBox(每月約 400 單位,每個出發機場 6 單位,存兩週)。台灣各機場與香港、東京、大阪、首爾、曼谷、新加坡任何人都能查;其他出發機場要通關密碼。每月剩 40 單位時自動停止查新機場;如果你的方案額度不同,可設 DIRECTS_MONTHLY_UNITS。
(選用)Telegram 通知:在 Telegram 找 @BotFather,傳 /newbot 建立自己的機器人,複製它給的金鑰,在 Vercel 新增環境變數 TELEGRAM_BOT_TOKEN 後重新部署(需要已設定 CASH_PASSCODE 和 Upstash Redis)。接著在 Telegram 打開你的機器人按「開始」(傳送 /start),再回網站按「連結 Telegram」;收到「機票搜索雷達已連結」就完成了。之後新機位提醒和降價通知除了 Email 也會傳到 Telegram。
(選用)帳號同步:有 Upstash Redis 就能用 Email+密碼註冊,在不同裝置同步點數、收藏、最近搜尋、行程等個人設定(不登入也一切照舊)。驗證信和重設密碼信透過同一個 RESEND_API_KEY 寄出;沒設定寄信時帳號直接啟用、無法用「忘記密碼」。登入後輸入過一次通關密碼,同一個帳號在其他裝置也算已解鎖(只存加鹽雜湊,改了 CASH_PASSCODE 就要重新輸入)。
(選用)一句話搜尋:ChatGPT 或 Claude 擇一。用 ChatGPT:到 platform.openai.com 儲值並建立 API 金鑰,在 Vercel 新增 OPENAI_API_KEY(模型 GPT-6 Luna);用 Claude:到 platform.claude.com 建立 API 金鑰,在 Vercel 新增 ANTHROPIC_API_KEY(模型 Claude Haiku 5.5)。兩個都設時用 ChatGPT,想改用 Claude 就加 NL_PROVIDER=claude。建議在各自的後台設每月花費上限,設好後重新部署。航線查詢上方會多一個輸入框,只有輸入過通關密碼(或已解鎖帳號)的裝置看得到;模型把一句中文變成表單條件,兩家價格相同,每次約 US$0.0004,不花 seats.aero 額度(按「搜尋機位」才會查)。每天最多 100 次(NL_DAILY_LIMIT 可改),同一句話一天內重打不重複計費。沒設定金鑰時輸入框不會出現。同一把金鑰也用在「請 AI 助理查官網」卡片(國泰、華航、長榮、星宇)的「📷 貼上截圖」:你自己截官網的哩程日曆,模型把圖讀成日曆,每張約 US$0.001(估算),圖不會保存;每天最多 30 張(NL_IMAGE_DAILY_LIMIT 可改),讀失敗不算次數。
前端放在 public/,/api/* 由 api/index.js 這支 serverless function 處理,金鑰不會出現在瀏覽器端。