Documentation ¶
Overview ¶
Package updater provides an updater for AdGuardHome.
Index ¶
Constants ¶
const MaxPackageFileSize = 32 * 1024 * 1024
MaxPackageFileSize is a maximum package file length in bytes. The largest package whose size is limited by this constant currently has the size of approximately 9 MiB.
Variables ¶
This section is empty.
Functions ¶
func DefaultVersionURL ¶ added in v0.107.55
DefaultVersionURL returns the default URL for the version announcement.
Types ¶
type Config ¶
type Config struct { Client *http.Client // VersionCheckURL is URL to the latest version announcement. It must not // be nil, see [DefaultVersionURL]. VersionCheckURL *url.URL Version string Channel string GOARCH string GOOS string GOARM string GOMIPS string // ConfName is the name of the current configuration file. Typically, // "AdGuardHome.yaml". ConfName string // WorkDir is the working directory that is used for temporary files. WorkDir string // ExecPath is path to the executable file. ExecPath string }
Config is the AdGuard Home updater configuration.
type Updater ¶
type Updater struct {
// contains filtered or unexported fields
}
Updater is the AdGuard Home updater.
func NewUpdater ¶
NewUpdater creates a new Updater. conf must not be nil.
func (*Updater) NewVersion ¶
NewVersion returns the available new version.
func (*Updater) Update ¶
Update performs the auto-update. It returns an error if the update failed. If firstRun is true, it assumes the configuration file doesn't exist.
func (*Updater) VersionInfo ¶
func (u *Updater) VersionInfo(forceRecheck bool) (vi VersionInfo, err error)
VersionInfo downloads the latest version information. If forceRecheck is false and there are cached results, those results are returned.
type VersionInfo ¶
type VersionInfo struct { NewVersion string `json:"new_version,omitempty"` Announcement string `json:"announcement,omitempty"` AnnouncementURL string `json:"announcement_url,omitempty"` // TODO(a.garipov): See if the frontend actually still cares about // nullability. CanAutoUpdate aghalg.NullBool `json:"can_autoupdate,omitempty"` }
VersionInfo contains information about a new version.