config

package
v0.0.0-...-f0a2dc7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2025 License: GPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const ApplicationKey = "system:application"

ApplicationKey Application Key

View Source
const AuthCodeCacheKey = "auth:verify:email"

AuthCodeCacheKey Register Code Cache Key

View Source
const AuthCodeTelephoneCacheKey = "auth:verify:telephone"

AuthCodeTelephoneCacheKey Register Code Cache Key

View Source
const CacheSmsCount = "cache:sms:count"
View Source
const CommonStatCacheKey = "common:stat"

CommonStat Cache Key

View Source
const CurrencyConfigKey = "system:currency_config"

CurrencyConfigKey Currency Config Key

View Source
const EmailSmtpConfigKey = "system:email_smtp_config"

EmailSmtpConfigKey Email Smtp Config Key

View Source
const GlobalConfigKey = "system:global_config"

GlobalConfigKey Global Config Key

View Source
const InviteConfigKey = "system:invite_config"

InviteConfigKey Invite Config Key

View Source
const NodeConfigKey = "system:node_config"

NodeConfigKey Node Config Key

View Source
const RegisterConfigKey = "system:register_config"

RegisterConfigKey Register Config Key

View Source
const SendCountLimitKeyPrefix = "send:limit:"

SendCountLimitKeyPrefix Send Count Limit Key Prefix eg. send:limit:register:email:xxx@ppanel.dev

View Source
const SendIntervalKeyPrefix = "send:interval:"

SendIntervalKeyPrefix Auth Code Send Interval Key Prefix

View Source
const ServerConfigCacheKey = "server:config:id:"

ServerConfigCacheKey Server Config Cache Key

View Source
const ServerCountCacheKey = "server:count"

ServerCountCacheKey Server Count Cache Key

View Source
const ServerStatusCacheKey = "server:status:id:"

ServerStatusCacheKey Server Status Cache Key

View Source
const ServerUserListCacheKey = "server:user_list:id:"

ServerUserListCacheKey Server User List Cache Key

View Source
const SessionIdKey = "auth:session_id"

SessionIdKey cache session key

View Source
const SiteConfigKey = "system:site_config"

SiteConfigKey Site Config Key

View Source
const SmsConfigKey = "system:sms_config"

SmsConfigKey Mobile Config Key

View Source
const SubscribeConfigKey = "system:subscribe_config"

SubscribeConfigKey Subscribe Config Key

View Source
const TelegramConfigKey = "system:telegram_config"

TelegramConfigKey Telegram Config Key

View Source
const TosConfigKey = "system:tos_config"

TosConfigKey Tos配置

View Source
const UserBindTelegramCacheKey = "user:bind:telegram:code:"

UserBindTelegramCacheKey User Bind Telegram Cache Key

View Source
const VerifyCodeConfigKey = "system:verify_code_config"

VerifyCodeConfigKey Verify Code Config Key

View Source
const VerifyConfigKey = "system:verify_config"

VerifyConfigKey Verify Config Key

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Model         string          `yaml:"Model" default:"prod"`
	Host          string          `yaml:"Host" default:"0.0.0.0"`
	Port          int             `yaml:"Port" default:"8080"`
	Debug         bool            `yaml:"Debug" default:"false"`
	TLS           TLS             `yaml:"TLS"`
	JwtAuth       JwtAuth         `yaml:"JwtAuth"`
	Logger        logger.LogConf  `yaml:"Logger"`
	MySQL         orm.Config      `yaml:"MySQL"`
	Redis         RedisConfig     `yaml:"Redis"`
	Site          SiteConfig      `yaml:"Site"`
	Node          NodeConfig      `yaml:"Node"`
	Mobile        MobileConfig    `yaml:"Mobile"`
	Email         EmailConfig     `yaml:"Email"`
	Verify        Verify          `yaml:"Verify"`
	VerifyCode    VerifyCode      `yaml:"VerifyCode"`
	Register      RegisterConfig  `yaml:"Register"`
	Subscribe     SubscribeConfig `yaml:"Subscribe"`
	Invite        InviteConfig    `yaml:"Invite"`
	Telegram      Telegram        `yaml:"Telegram"`
	Administrator struct {
		Email    string `yaml:"Email" default:"admin@ppanel.dev"`
		Password string `yaml:"Password" default:"password"`
	} `yaml:"Administrator"`
}

type EmailConfig

type EmailConfig struct {
	Enable                     bool   `yaml:"Enable" default:"true"`
	Platform                   string `yaml:"platform"`
	PlatformConfig             string `yaml:"platform_config"`
	EnableVerify               bool   `yaml:"enable_verify"`
	EnableNotify               bool   `yaml:"enable_notify"`
	EnableDomainSuffix         bool   `yaml:"enable_domain_suffix"`
	DomainSuffixList           string `yaml:"domain_suffix_list"`
	VerifyEmailTemplate        string `yaml:"verify_email_template"`
	ExpirationEmailTemplate    string `yaml:"expiration_email_template"`
	MaintenanceEmailTemplate   string `yaml:"maintenance_email_template"`
	TrafficExceedEmailTemplate string `yaml:"traffic_exceed_email_template"`
}

type File

type File struct {
	Host    string         `yaml:"Host" default:"0.0.0.0"`
	Port    int            `yaml:"Port" default:"8080"`
	TLS     TLS            `yaml:"TLS"`
	Debug   bool           `yaml:"Debug" default:"true"`
	JwtAuth JwtAuth        `yaml:"JwtAuth"`
	Logger  logger.LogConf `yaml:"Logger"`
	MySQL   orm.Config     `yaml:"MySQL"`
	Redis   RedisConfig    `yaml:"Redis"`
}

type InviteConfig

type InviteConfig struct {
	ForcedInvite       bool  `yaml:"ForcedInvite" default:"false"`
	ReferralPercentage int64 `yaml:"ReferralPercentage" default:"0"`
	OnlyFirstPurchase  bool  `yaml:"OnlyFirstPurchase" default:"false"`
}

type JwtAuth

type JwtAuth struct {
	AccessSecret string `yaml:"AccessSecret"`
	AccessExpire int64  `yaml:"AccessExpire" default:"604800"`
}

type MobileConfig

type MobileConfig struct {
	Enable          bool     `yaml:"Enable" default:"true"`
	Platform        string   `yaml:"platform"`
	PlatformConfig  string   `yaml:"platform_config"`
	EnableVerify    bool     `yaml:"enable_verify"`
	EnableWhitelist bool     `yaml:"enable_whitelist"`
	Whitelist       []string `yaml:"whitelist"`
}

type NodeConfig

type NodeConfig struct {
	NodeSecret       string `yaml:"NodeSecret" default:""`
	NodePullInterval int64  `yaml:"NodePullInterval" default:"60"`
	NodePushInterval int64  `yaml:"NodePushInterval" default:"60"`
}

type Protocol

type Protocol string
const (
	Shadowsocks Protocol = "shadowsocks"
	Trojan      Protocol = "trojan"
	Vmess       Protocol = "vmess"
	Vless       Protocol = "vless"
)

type RedisConfig

type RedisConfig struct {
	Host string `yaml:"Host" default:"localhost:6379"`
	Pass string `yaml:"Pass" default:""`
	DB   int    `yaml:"DB" default:"0"`
}

type RegisterConfig

type RegisterConfig struct {
	StopRegister            bool   `yaml:"StopRegister" default:"false"`
	EnableTrial             bool   `yaml:"EnableTrial" default:"false"`
	TrialSubscribe          int64  `yaml:"TrialSubscribe" default:"0"`
	TrialTime               int64  `yaml:"TrialTime" default:"0"`
	TrialTimeUnit           string `yaml:"TrialTimeUnit" default:""`
	IpRegisterLimit         int64  `yaml:"IpRegisterLimit" default:"0"`
	IpRegisterLimitDuration int64  `yaml:"IpRegisterLimitDuration" default:"0"`
	EnableIpRegisterLimit   bool   `yaml:"EnableIpRegisterLimit" default:"false"`
}

type SiteConfig

type SiteConfig struct {
	Host       string `yaml:"Host" default:""`
	SiteName   string `yaml:"SiteName" default:""`
	SiteDesc   string `yaml:"SiteDesc" default:""`
	Keywords   string `yaml:"Keywords" default:""`
	CustomHTML string `yaml:"CustomHTML" default:""`
	CustomData string `yaml:"CustomData" default:""`
}

type SubscribeConfig

type SubscribeConfig struct {
	SingleModel     bool   `yaml:"SingleModel" default:"false"`
	SubscribePath   string `yaml:"SubscribePath" default:"/api/subscribe"`
	SubscribeDomain string `yaml:"SubscribeDomain" default:""`
	PanDomain       bool   `yaml:"PanDomain" default:"false"`
}

type TLS

type TLS struct {
	Enable   bool   `yaml:"Enable" default:"false"`
	CertFile string `yaml:"CertFile" default:""`
	KeyFile  string `yaml:"KeyFile" default:""`
}

type Telegram

type Telegram struct {
	Enable        bool   `yaml:"Enable" default:"false"`
	BotID         int64  `yaml:"BotID" default:""`
	BotName       string `yaml:"BotName" default:""`
	BotToken      string `yaml:"BotToken" default:""`
	EnableNotify  bool   `yaml:"EnableNotify" default:"false"`
	WebHookDomain string `yaml:"WebHookDomain" default:""`
}

type Verify

type Verify struct {
	TurnstileSiteKey    string `yaml:"TurnstileSiteKey" default:""`
	TurnstileSecret     string `yaml:"TurnstileSecret" default:""`
	LoginVerify         bool   `yaml:"LoginVerify" default:"false"`
	RegisterVerify      bool   `yaml:"RegisterVerify" default:"false"`
	ResetPasswordVerify bool   `yaml:"ResetPasswordVerify" default:"false"`
}

type VerifyCode

type VerifyCode struct {
	ExpireTime int64 `yaml:"ExpireTime" default:"300"`
	Limit      int64 `yaml:"Limit" default:"15"`
	Interval   int64 `yaml:"Interval" default:"60"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL