Files
headscale/create_headscale_api_key.sh
Timmy 1410ba6630 Initial commit: Headscale management scripts and configuration
- Add headscale binary and configuration files
- Include management scripts for API keys, nodes, and authentication
- Add Docker setup with docker-compose
- Include backup and restore functionality
- Add example scripts for creating API keys and pre-auth keys

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-24 10:08:28 +08:00

34 lines
1.1 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Headscale 的 API 金鑰就像是你進入 Headscale API 世界的通行證。
# 有了這把鑰匙,只有你能開門進行操作,保證你是被認可的。
# 用這金鑰就能鎖住 API防止那些不速之客亂搞。
# 定義變數以便管理
CONTAINER_NAME="headscale"
COMMAND="headscale apikeys create"
EXPIRATION="87600h" # 等於 10 年
# 執行 Docker 指令來建立 API 金鑰,輸出為 JSON 格式
echo "Creating API key for Headscale with expiration of $EXPIRATION..."
response=$(docker exec -it "$CONTAINER_NAME" $COMMAND --expiration "$EXPIRATION" --output json 2>&1)
# 檢查指令是否成功執行
if [ $? -eq 0 ]; then
echo "API key created successfully!"
# 嘗試提取 API 金鑰
# 簡單檢查響應中是否包含 key 欄位,或者直接提取引號內的內容
api_key=$(echo "$response" | grep -o '"[^"]*"' | sed 's/"//g')
if [ -n "$api_key" ]; then
echo "API Key: $api_key"
else
echo "Warning: Could not extract API key from response."
echo "Raw response: $response"
fi
else
echo "Error: Failed to create API key."
echo "Error message: $response"
exit 1
fi