louisa-wifi README

The project's README from github.com/madeyexz/louisa-wifi. As one markdown file: README.md.

Louisa Wi-Fi 圖示

Louisa Wi-Fi

走進任何一家路易莎,Mac 自動連上 Wi-Fi。
不用問密碼,也不用一直「忘記這個網路」。

⬇️ 下載 Louisa Wi-Fi ・ 安裝教學 ・ 常見問題

選單列的 ☕ 選單

連線統計視窗

為什麼需要它?

每一家路易莎的 Wi-Fi 都叫 LouisaCoffee,但每家的密碼都不一樣(是那家店的電話號碼)。Mac 只會記住一組密碼,所以換一家店就連不上,得先「忘記這個網路」再重新輸入密碼。

Louisa Wi-Fi 會認出你在哪一家店,自動換上那家店的密碼。全台 500 多家門市的資料都已經內建。

它能做什麼

連線統計:每月時數
連線統計:點方格看當天去了哪家,下方可以切換門市、月份、年份。

安裝

需要 macOS 13(Ventura)或更新的版本。

1. 下載

👉 點這裡下載 Louisa Wi-Fi

2. 放進「應用程式」

打開「下載項目」資料夾,把 LouisaWiFi 拖進「應用程式」。如果看到的是 LouisaWiFi.zip,先點兩下解壓縮。

3. 第一次打開

到「應用程式」點兩下 LouisaWiFi。macOS 會跳出「無法打開」或「無法驗證開發者」的警告,這是因為 app 沒有付費向 Apple 註冊,不是病毒:

  1. 先按「完成」關掉警告。
  2. 打開「系統設定 → 隱私權與安全性」,捲到最下面。
  3. 會看到「已阻擋 LouisaWiFi」,按旁邊的「仍要打開」(有些版本叫「強制打開」),輸入 Mac 的密碼。

只有第一次需要這樣做。

4. 允許定位

畫面右上角的選單列會出現 ☕,並跳出詢問是否允許使用你的位置,請按「允許」。

如果沒有跳出詢問,或不小心按了拒絕:打開「系統設定 → 隱私權與安全性 → 定位服務」,把 LouisaWiFi 打開。

完成!建議從 ☕ 選單勾選「登入時開啟」,這樣每次開機都會自動執行。

熟悉終端機?一行指令安裝(可以跳過第 3 步的安全性警告)
curl -fsSL https://raw.githubusercontent.com/madeyexz/louisa-wifi/main/install.sh | bash

怎麼用

什麼都不用做。 到了路易莎,Mac 就會自動連上,連上時會跳出通知,例如「已連上:信義吳興門市」。

點選單列的 ☕ 可以:

它是怎麼運作的

flowchart TD
    A["Wi-Fi 狀態改變、每 15 秒檢查<br/>或你從選單選了門市"] --> B{"已經可以上網?"}
    B -->|是| Z["不做任何事<br/>不會中斷你正在用的網路"]
    B -->|否| C{"附近有 LouisaCoffee?"}
    C -->|沒有| Z2["結束"]
    C -->|有| D{"這台路由器以前連過?"}
    D -->|是| E["用上次成功的密碼<br/>大約 1 秒連上"]
    D -->|否| F["用 Mac 的位置找出最近 3 家門市<br/>依序試它們的電話號碼"]
    F -->|成功| G["記住這台路由器是哪家門市、用哪組密碼"]
    F -->|都不對| I["通知你從選單選門市<br/>或用店內貼的密碼連線,成功一次就會記住"]
    E --> H["連上了,開始記錄連線時間"]
    G --> H

重點在「記住路由器」:同一家店只要成功連過一次,之後不管定位準不準,看到那台路由器就直接用對的密碼。

常見問題

為什麼需要定位權限?

兩個原因:用你的位置找出最近的門市;另外,macOS 規定 app 要有定位權限,才能讀取 Wi-Fi 名稱和路由器資訊。位置資料只在你的 Mac 上使用,不會傳到任何地方。

到了路易莎但沒有自動連上?

點選單列的 ☕,從「附近門市」點你所在的那一家,或從「所有門市」找到它再選「自動嘗試」。選過一次之後,下次到這家店就會自動連上。

Mac 沒有 GPS,沒有網路時位置可能不準,所以第一次去某家店偶爾需要手動選一次。

如果自動嘗試太慢或都不對,看一下店內張貼的 Wi-Fi 密碼,從「用密碼連線」點那一組,或選「輸入密碼…」自己輸入;定位不準時,到「所有門市」找到那家店,同樣可以選密碼。這會中斷正在進行的嘗試,只用你選的密碼。

密碼是怎麼來的?

路易莎的 Wi-Fi 密碼是門市的電話號碼(通常去掉開頭的 0;台北 02 開頭的門市去掉整個 02;少數門市使用完整號碼)。門市和電話資料來自路易莎官網的門市查詢。

會不會打斷我正在用的網路?

不會。只要你已經可以上網(例如連著手機熱點),app 就不會去切換 Wi-Fi。

更新後又跳出定位詢問?

這是正常的。app 沒有付費向 Apple 註冊開發者簽章,所以每次更新後,macOS 會把它當成新的 app,再問一次定位權限。按「允許」就好,你的連線紀錄和統計都會保留。

把 ☕ 藏起來之後,要怎麼叫回來?

到「應用程式」(或用 Spotlight 搜尋 LouisaWiFi)再打開一次 app,☕ 就會回到選單列。藏起來的期間,app 還是會照常自動連線、記錄時間。

怎麼移除?
  1. 點 ☕ → 結束。(如果 ☕ 被藏起來了,先照上一題把它叫回來。)
  2. 把「應用程式」裡的 LouisaWiFi 丟到垃圾桶。
  3. (選擇性)刪除紀錄:在 Finder 按 ⌘⇧G,輸入 ~/Library/Application Support/LouisaWiFi,刪掉這個資料夾。

進階

Raycast

raycast/louisa-wifi.js 是一個 Raycast Script Command:

安裝方式:從 Releases 下載 louisa-wifi.js,放進一個資料夾,再到 Raycast → Settings → Extensions → Script Commands → Add Directories 加入那個資料夾。

密碼規則

路易莎官方沒有統一的密碼規則,所以 app 從電話號碼產生 2 到 3 組候選密碼,依序嘗試:

電話 依序嘗試
02-2361-0718 23610718 → 0223610718 → 223610718
04-2326-2617 423262617 → 0423262617 → 23262617
03-338-0980 33380980 → 033380980
  1. 去掉開頭的 0(台北 02 開頭的門市去掉整個 02):絕大多數門市用這組。
  2. 保留開頭 0 的完整號碼:例如新竹關新直營門市(03-577-0157 → 035770157,見 #1)。
  3. 其他寫法:台北門市只去掉 0、保留 2(223610718),或其他 10 碼號碼的後 8 碼(23262617)。9 碼號碼(03、05、06 等開頭)去掉 0 後就是後 8 碼,所以只有 2 組。

其他處理方式:

與 Watermelon-1234/LouisaInternetSwitch 整理的資料比對後,雙方都有收錄的 459 家門市中,有 454 家的密碼在候選之中;其餘 5 家用的是和官網電話不同的號碼。

門市資料

data/stores.json 由 scripts/fetch_stores.py 從官網抓取,包含名稱、地址、電話、經緯度和候選密碼。GitHub Actions 每週自動重新抓取一次;有變更時會自動發布新版本,app 會提示更新。

部分門市在官網上未提供電話,因此未收錄;另有部分門市缺少經緯度,需要手動選擇,或在 Raycast 中用名稱或地址搜尋。

自己編譯

只需要 Xcode Command Line Tools(xcode-select --install):

./build.sh          # 產生 build/LouisaWiFi.app 和 build/LouisaWiFi.zip
open build/LouisaWiFi.app

將 v* 標籤推送到 GitHub 後,GitHub Actions 就會編譯並發布 Release。

隱私

連線與使用紀錄都儲存在你的 Mac 上:連過的路由器與密碼存放在 ~/Library/Application Support/LouisaWiFi/learned.json,時間紀錄則存放在同一個資料夾的 usage.json。app 只會連到 captive.apple.com(確認網路是否可用)和 GitHub(檢查及下載更新)。

授權

MIT

louisa-wifi (madeyexz/louisa-wifi)

Searching Database…

这是什么?Louisa Wi-Fi 是一款 macOS 菜单栏应用,它会自动识别你当前所在的 Louisa Coffee 门店,并用正确的密码连接那家店的 Wi-Fi,这样你既不用开口问密码,也不用每次手动重新输入网络信息。
这只是个 Mac 应用,还是也能配合 Raycast 使用?它本身是原生的 macOS 菜单栏应用,同时还附带一个 Raycast Script Command(louisa-wifi.js),让你可以直接在 Raycast 里搜索门店并连接 Wi-Fi,即使没装完整的应用也行。
我需要哪个 macOS 版本?需要 macOS 13(Ventura)或更高版本;如果想自己编译,只需要装 Xcode Command Line Tools。
第一次去一家店它一定能自动连上吗?不一定——Mac 没有 GPS,在没有网络的情况下定位可能不准确,所以第一次到一家新店时,可能需要先在菜单里手动选一次这家店,之后才会被记住。
它不用问咖啡师是怎么知道 Wi-Fi 密码的?Louisa 的 Wi-Fi 密码是根据每家门店的电话号码生成的,所以应用会从内置的官方电话号码列表中生成 2-3 个候选密码依次尝试,如果都不行,就退回使用店里公示的密码。
我可以完全不安装 macOS 应用就使用它吗?可以——Raycast Script Command 可以独立运行,它用的是 macOS 自带的 networksetup 命令,让你按名称或地址搜索门店并连接,即使没装应用也没问题。
它会把我正在用的 Wi-Fi 断开吗?不会,只有在你没有网络连接时它才会切换网络,所以不会打断你正在使用的连接,比如手机热点。
门店和密码数据有多新?门店列表(data/stores.json)每周通过 GitHub Actions 从 Louisa 官方门店查询页面抓取一次,而且只要有新的门店数据或新版本发布,应用就会在菜单栏通知你并自动更新。
Creator
madeyexz
Size
1.5 MB
Stars
271
Age
7d
Commits · 90 Days