metadata
title: KSTools License Manager
emoji: 🔑
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
🔑 KSTools License Manager
專為 KSTools Revit Plugin 設計的完整授權管理系統,採用現代化 HTML/CSS/JS 前端架構。
系統架構
- 後端: FastAPI (Python 3.11)
- 前端: 純 HTML/CSS/JavaScript (深色主題管理界面)
- 認證: Supabase Auth
- 資料庫: Supabase PostgreSQL
- 部署: Hugging Face Spaces
- Plugin 整合: C# .NET Framework (Revit API)
功能特色
🎯 核心授權流程
管理員操作 (Web 後台)
- 建立授權 - 填入必要資訊:
- 用戶名稱 *
- 有效天數 * (7天/30天/90天/1年/永久)
- 電子郵件 (選填)
- 備註 (選填)
- 生成授權碼 - 系統自動產生 32位字符授權碼
- 提供給用戶 - 將授權碼交付給用戶
用戶端操作 (Revit Plugin)
- 輸入授權碼 - 用戶在 Plugin 中輸入管理員提供的授權碼
- 自動綁定 - 首次啟用時系統自動生成並綁定 32位硬體指紋 (CPU + 主機板)
- 即時啟用 - 無需額外操作,立即啟用成功
持續驗證
- 自動驗證 - Plugin 每次使用時自動驗證授權有效性
- 硬體綁定 - 確保授權只能在綁定的設備上使用
- 離線支援 - 支援 24 小時離線使用 (快取機制)
🎨 現代化前端
- 零框架依賴: 純 HTML/CSS/JS,載入迅速
- 響應式設計: 支援桌面和行動裝置
- 深色主題: GitHub 風格的現代介面
- Supabase 認證: 安全的用戶登入系統
- 即時更新: 無需重新載入的 SPA 體驗
🛡️ 安全機制
- 硬體綁定: 首次啟用自動綁定,防止授權碼被濫用
- JWT Token 認證: 管理後台安全認證
- 加密通訊: HTTPS 加密通訊協議
- 一機一碼: 每個授權碼只能在一台設備上使用
📊 管理功能
- 用戶授權管理
- 即時使用統計
- 詳細活動記錄
- 系統狀態監控
快速開始
部署到 Hugging Face Spaces
- Fork 或 Clone 此專案
- 在 Hugging Face 建立新的 Space
- 設定環境變數:
SUPABASE_URL=your-supabase-url SUPABASE_ANON_PUBLIC_KEY=your-anon-key SUPABASE_SERVICE_KEY=your-service-key
本地開發
# 1. 克隆專案
git clone <repo-url>
cd kstools-license-system
# 2. 設定環境變數
cp .env.example .env
# 編輯 .env 填入您的 Supabase 憑證
# 3. 啟動後端
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# 4. 啟動前端
cd frontend
python3 -m http.server 8080
訪問 http://localhost:8080 使用系統。
前端架構 (全新)
frontend/
├── index.html # 主應用 (需認證)
├── login.html # 登入頁面
├── config.js # 配置設定
├── css/
│ └── style.css # 統一樣式 (深色主題)
└── js/
├── api.js # API 客戶端 (109行)
├── utils.js # 工具函數 (161行)
├── auth.js # Supabase 認證 (270行)
├── components.js # UI 組件 (221行)
├── app.js # 應用控制器 (252行)
└── pages/ # 頁面模組
├── dashboard.js # 系統儀表板
├── users.js # 用戶管理
├── logs.js # 授權記錄
└── settings.js # 系統設定
技術優勢
性能優化
- 程式碼精簡化 (相比原 Streamlit 版本減少 60%+)
- 無框架依賴,載入迅速
- 最小化 DOM 操作
可維護性
- 模組化設計,職責分離
- 統一錯誤處理機制
- 清晰的程式碼結構
用戶體驗
- 現代化深色主題界面
- 即時反饋和通知系統
- 響應式設計
API 文檔
FastAPI 自動生成的 API 文檔:
- Swagger UI:
/docs - ReDoc:
/redoc
詳細授權流程
詳細的授權流程說明請參考:LICENSE_WORKFLOW.md
硬體指紋技術規格
- 演算法: SHA256 + Base64 編碼
- 來源: CPU ProcessorId + 主機板序號
- 長度: 32 字符
- 格式: 大寫英數字符
授權碼格式
- 格式: XXXX-XXXX-XXXX-XXXX
- 字符集: A-Z, 0-9
- 總長度: 19 字符 (含分隔符)
授權
MIT License - 詳見 LICENSE 檔案。
支援
如有問題或建議,請透過 GitHub Issues 聯繫。