blob: a30bbf77465c1a21dd6a9e04fb2ef5bfc0a6b45b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
package hotline
const (
userIdleSeconds = 300 // time in seconds before an inactive user is marked idle
idleCheckInterval = 10 // time in seconds to check for idle users
trackerUpdateFrequency = 300 // time in seconds between tracker re-registration
)
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"` // Path to banner jpg
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
}
|