feat: add telescope

This commit is contained in:
2026-07-05 08:42:42 +03:30
parent c6997477b9
commit 37baef565e
9 changed files with 530 additions and 8 deletions
+15 -1
View File
@@ -3,6 +3,7 @@ package config
import (
"bufio"
"os"
"strconv"
"strings"
"time"
)
@@ -22,9 +23,11 @@ type Config struct {
AdminPass string // پسوردِ پنل ادمین (Basic Auth)
CardsDir string // پوشه‌ی دیسکیِ اسکین‌های آپلودی (روی volume ماندگار)
CarpetsDir string // پوشه‌ی دیسکیِ تصاویرِ فرش (روی volume ماندگار)
TelescopeSize int // تعدادِ درخواستی که بازرسِ حافظه نگه می‌دارد
// خرید درون‌برنامه‌ای (IAP)
IAPPackage string // نامِ بسته‌ی اپ (برای مایکت/کافه)
MyketAccessToken string // access token مایکت (تأیید سمت‌سرور)
MyketRSAKey string // کلیدِ عمومیِ RSA مایکت (تأیید امضای آفلاین)
BazaarRSAKey string // کلیدِ عمومیِ RSA کافه‌بازار (تأیید امضای آفلاین)
}
@@ -37,7 +40,7 @@ func Load() Config {
JWTSecret: env("JWT_SECRET", "change-me-in-production"),
JWTTTL: 30 * 24 * time.Hour,
KaveAPIKey: env("KAVE_API_KEY", ""),
KaveTemple: env("KAVE_TEMPLATE", "loginotp"),
KaveTemple: env("KAVE_TEMPLATE", ""), // خالی ⇒ پیامکِ متنیِ ساده (بدونِ تمپلیت)
OTPTTL: 15 * time.Minute,
AdminMobile: env("ADMIN_MOBILE", ""),
AdminOTP: env("ADMIN_OTP", ""),
@@ -45,8 +48,10 @@ func Load() Config {
AdminPass: env("ADMIN_PANEL_PASS", "admin"),
CardsDir: env("CARDS_DIR", "carddata"),
CarpetsDir: env("CARPETS_DIR", "carpetdata"),
TelescopeSize: envInt("TELESCOPE_SIZE", 200),
IAPPackage: env("IAP_PACKAGE", ""),
MyketAccessToken: env("MYKET_ACCESS_TOKEN", ""),
MyketRSAKey: env("MYKET_RSA_KEY", ""),
BazaarRSAKey: env("BAZAAR_RSA_KEY", ""),
}
}
@@ -83,3 +88,12 @@ func env(key, def string) string {
}
return def
}
func envInt(key string, def int) int {
if v := os.Getenv(key); v != "" {
if n, err := strconv.Atoi(v); err == nil {
return n
}
}
return def
}