Help us shape the future of Go! Take the 2026 Go Developer Survey

updater

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2023 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Overview

Package updater provides an updater for AdGuardHome.

Index

Constants

View Source
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.

View Source
const MaxResponseSize = 64 * 1024

MaxResponseSize is responses on server's requests maximum length in bytes.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Client *http.Client

	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

	// VersionCheckURL is url to the latest version announcement.
	VersionCheckURL 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

func NewUpdater(conf *Config) *Updater

NewUpdater creates a new Updater.

func (*Updater) NewVersion

func (u *Updater) NewVersion() (nv string)

NewVersion returns the available new version.

func (*Updater) Update

func (u *Updater) Update(firstRun bool) (err error)

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) VersionCheckURL

func (u *Updater) VersionCheckURL() (vcu string)

VersionCheckURL returns the version check URL.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL