aboutsummaryrefslogtreecommitdiff
path: root/hotline/config.go
blob: 75d5c4d5537a1abe9cb71d0548b9d2a4ecb8408e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package hotline

type Config struct {
	Name                      string   `yaml:"Name" validate:"required,max=50"`         // Name used for Tracker registration
	Description               string   `yaml:"Description" validate:"required,max=200"` // Description used for Tracker registration
	BannerFile                string   `yaml:"BannerFile" validate:"omitempty,bannerext"` // Path to Banner jpg or gif
	FileRoot                  string   `yaml:"FileRoot" validate:"required"`            // Path to Files
	EnableTrackerRegistration bool     `yaml:"EnableTrackerRegistration"`               // Toggle Tracker Registration
	Trackers                  []string `yaml:"Trackers" validate:"dive,hostname_port"`  // List of trackers that the server should register with
	NewsDelimiter             string   `yaml:"NewsDelimiter"`                           // String used to separate news posts
	NewsDateFormat            string   `yaml:"NewsDateFormat"`                          // Go template string to customize news date format
	MaxDownloads              int      `yaml:"MaxDownloads"`                            // Global simultaneous download limit
	MaxDownloadsPerClient     int      `yaml:"MaxDownloadsPerClient"`                   // Per client simultaneous download limit
	MaxConnectionsPerIP       int      `yaml:"MaxConnectionsPerIP"`                     // Max connections per IP
	PreserveResourceForks     bool     `yaml:"PreserveResourceForks"`                   // Enable preservation of file info and resource forks in sidecar files
	IgnoreFiles               []string `yaml:"IgnoreFiles"`                             // List of regular expression for filtering files from the file list
	EnableBonjour             bool     `yaml:"EnableBonjour"`                           // Enable service announcement on local network with Bonjour
}