]>
Commit | Line | Data |
---|---|---|
6988a057 JH |
1 | package hotline |
2 | ||
043c00da JH |
3 | const ( |
4 | userIdleSeconds = 300 // time in seconds before an inactive user is marked idle | |
5 | idleCheckInterval = 10 // time in seconds to check for idle users | |
6 | trackerUpdateFrequency = 300 // time in seconds between tracker re-registration | |
7 | ) | |
8 | ||
6988a057 | 9 | type Config struct { |
041c2df6 JH |
10 | Name string `yaml:"Name" validate:"required,max=50"` // Name used for Tracker registration |
11 | Description string `yaml:"Description" validate:"required,max=200"` // Description used for Tracker registration | |
9067f234 | 12 | BannerFile string `yaml:"BannerFile"` // Path to banner jpg |
041c2df6 JH |
13 | FileRoot string `yaml:"FileRoot" validate:"required"` // Path to Files |
14 | EnableTrackerRegistration bool `yaml:"EnableTrackerRegistration"` // Toggle Tracker Registration | |
15 | Trackers []string `yaml:"Trackers" validate:"dive,hostname_port"` // List of trackers that the server should register with | |
16 | NewsDelimiter string `yaml:"NewsDelimiter"` // String used to separate news posts | |
17 | NewsDateFormat string `yaml:"NewsDateFormat"` // Go template string to customize news date format | |
18 | MaxDownloads int `yaml:"MaxDownloads"` // Global simultaneous download limit | |
19 | MaxDownloadsPerClient int `yaml:"MaxDownloadsPerClient"` // Per client simultaneous download limit | |
20 | MaxConnectionsPerIP int `yaml:"MaxConnectionsPerIP"` // Max connections per IP | |
7cd900d6 | 21 | PreserveResourceForks bool `yaml:"PreserveResourceForks"` // Enable preservation of file info and resource forks in sidecar files |
b8c0a83a | 22 | IgnoreFiles []string `yaml:"IgnoreFiles"` // List of regular expression for filtering files from the file list |
6988a057 | 23 | } |