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.