SYMBOL INDEX (214 symbols across 56 files) FILE: cmd/auth.go function authCmd (line 18) | func authCmd() *cobra.Command { function loginCmd (line 31) | func loginCmd() *cobra.Command { function infoCmd (line 138) | func infoCmd() *cobra.Command { function revokeCmd (line 160) | func revokeCmd() *cobra.Command { FILE: cmd/common.go type Dependencies (line 28) | type Dependencies struct function newLogger (line 38) | func newLogger(format OutputFormat, verbose bool) log.Logger { function newCookieJar (line 56) | func newCookieJar(machine machine.Machine) http.CookieJar { function newKeychain (line 63) | func newKeychain(machine machine.Machine, logger log.Logger, interactive... function initWithCommand (line 100) | func initWithCommand(cmd *cobra.Command) { function createConfigDirectory (line 121) | func createConfigDirectory(os operatingsystem.OperatingSystem, machine m... FILE: cmd/constants.go constant ConfigDirectoryName (line 4) | ConfigDirectoryName = ".ipatool" constant CookieJarFileName (line 5) | CookieJarFileName = "cookies" constant KeychainServiceName (line 6) | KeychainServiceName = "ipatool-auth.service" FILE: cmd/download.go function downloadCmd (line 15) | func downloadCmd() *cobra.Command { FILE: cmd/get_version_metadata.go function getVersionMetadataCmd (line 13) | func getVersionMetadataCmd() *cobra.Command { FILE: cmd/list_versions.go function ListVersionsCmd (line 13) | func ListVersionsCmd() *cobra.Command { FILE: cmd/output_format.go type OutputFormat (line 9) | type OutputFormat constant OutputFormatText (line 12) | OutputFormatText OutputFormat = iota constant OutputFormatJSON (line 13) | OutputFormatJSON function OutputFormatFromString (line 16) | func OutputFormatFromString(value string) (OutputFormat, error) { FILE: cmd/purchase.go function purchaseCmd (line 13) | func purchaseCmd() *cobra.Command { FILE: cmd/root.go function rootCmd (line 15) | func rootCmd() *cobra.Command { function Execute (line 55) | func Execute() int { FILE: cmd/search.go function searchCmd (line 9) | func searchCmd() *cobra.Command { FILE: main.go function main (line 9) | func main() { FILE: pkg/appstore/account.go type Account (line 3) | type Account struct FILE: pkg/appstore/app.go type App (line 7) | type App struct method MarshalZerologObject (line 36) | func (a App) MarshalZerologObject(event *zerolog.Event) { type VersionHistoryInfo (line 15) | type VersionHistoryInfo struct type VersionDetails (line 21) | type VersionDetails struct type Apps (line 28) | type Apps method MarshalZerologArray (line 30) | func (apps Apps) MarshalZerologArray(a *zerolog.Array) { FILE: pkg/appstore/appstore.go type AppStore (line 10) | type AppStore interface type appstore (line 36) | type appstore struct type Args (line 48) | type Args struct function NewAppStore (line 55) | func NewAppStore(args Args) AppStore { FILE: pkg/appstore/appstore_account_info.go type AccountInfoOutput (line 8) | type AccountInfoOutput struct method AccountInfo (line 12) | func (t *appstore) AccountInfo() (AccountInfoOutput, error) { FILE: pkg/appstore/appstore_bag.go type BagInput (line 11) | type BagInput struct type BagOutput (line 13) | type BagOutput struct method Bag (line 17) | func (t *appstore) Bag(input BagInput) (BagOutput, error) { type bagResult (line 40) | type bagResult struct type urlBag (line 44) | type urlBag struct method bagRequest (line 48) | func (*appstore) bagRequest(guid string) http.Request { FILE: pkg/appstore/appstore_download.go type DownloadInput (line 21) | type DownloadInput struct type DownloadOutput (line 29) | type DownloadOutput struct method Download (line 34) | func (t *appstore) Download(input DownloadInput) (DownloadOutput, error) { type downloadItemResult (line 104) | type downloadItemResult struct type downloadResult (line 111) | type downloadResult struct method downloadFile (line 117) | func (t *appstore) downloadFile(src, dst string, progress *progressbar.P... method downloadRequest (line 170) | func (*appstore) downloadRequest(acc Account, app App, guid string, exte... function fileName (line 201) | func fileName(app App, version string) string { method resolveDestinationPath (line 219) | func (t *appstore) resolveDestinationPath(app App, version string, path ... method isDirectory (line 243) | func (t *appstore) isDirectory(path string) (bool, error) { method applyPatches (line 256) | func (t *appstore) applyPatches(item downloadItemResult, acc Account, sr... method writeMetadata (line 284) | func (t *appstore) writeMetadata(metadata map[string]interface{}, acc Ac... FILE: pkg/appstore/appstore_download_test.go type dummyFileInfo (line 24) | type dummyFileInfo struct method Name (line 26) | func (d *dummyFileInfo) Name() string { return "dummy" } method Size (line 27) | func (d *dummyFileInfo) Size() int64 { return 0 } method Mode (line 28) | func (d *dummyFileInfo) Mode() fs.FileMode { return 0 } method ModTime (line 29) | func (d *dummyFileInfo) ModTime() time.Time { return time.Time{} } method IsDir (line 30) | func (d *dummyFileInfo) IsDir() bool { return false } method Sys (line 31) | func (d *dummyFileInfo) Sys() interface{} { return nil } FILE: pkg/appstore/appstore_get_version_metadata.go type GetVersionMetadataInput (line 12) | type GetVersionMetadataInput struct type GetVersionMetadataOutput (line 18) | type GetVersionMetadataOutput struct method GetVersionMetadata (line 23) | func (t *appstore) GetVersionMetadata(input GetVersionMetadataInput) (Ge... method getVersionMetadataRequest (line 71) | func (t *appstore) getVersionMetadataRequest(acc Account, app App, guid ... FILE: pkg/appstore/appstore_list_versions.go type ListVersionsInput (line 11) | type ListVersionsInput struct type ListVersionsOutput (line 16) | type ListVersionsOutput struct method ListVersions (line 21) | func (t *appstore) ListVersions(input ListVersionsInput) (ListVersionsOu... method listVersionsRequest (line 79) | func (t *appstore) listVersionsRequest(acc Account, app App, guid string... FILE: pkg/appstore/appstore_login.go type LoginInput (line 19) | type LoginInput struct type LoginOutput (line 26) | type LoginOutput struct method Login (line 30) | func (t *appstore) Login(input LoginInput) (LoginOutput, error) { type loginAddressResult (line 48) | type loginAddressResult struct type loginAccountResult (line 53) | type loginAccountResult struct type loginResult (line 58) | type loginResult struct method login (line 66) | func (t *appstore) login(email, password, authCode, guid, endpoint strin... method parseLoginResponse (line 128) | func (t *appstore) parseLoginResponse(res *http.Result[loginResult], att... method loginRequest (line 160) | func (t *appstore) loginRequest(email, password, authCode, guid, endpoin... FILE: pkg/appstore/appstore_lookup.go type LookupInput (line 12) | type LookupInput struct type LookupOutput (line 17) | type LookupOutput struct method Lookup (line 21) | func (t *appstore) Lookup(input LookupInput) (LookupOutput, error) { method lookupRequest (line 47) | func (t *appstore) lookupRequest(bundleID, countryCode string) http.Requ... method lookupURL (line 55) | func (t *appstore) lookupURL(bundleID, countryCode string) string { FILE: pkg/appstore/appstore_purchase.go type PurchaseInput (line 18) | type PurchaseInput struct method Purchase (line 23) | func (t *appstore) Purchase(input PurchaseInput) error { type purchaseResult (line 52) | type purchaseResult struct method purchaseWithParams (line 59) | func (t *appstore) purchaseWithParams(acc Account, app App, guid string,... method purchaseRequest (line 98) | func (t *appstore) purchaseRequest(acc Account, app App, storeFront, gui... FILE: pkg/appstore/appstore_purchase_test.go type pricingParametersMatcher (line 331) | type pricingParametersMatcher struct method Matches (line 335) | func (p pricingParametersMatcher) Matches(in interface{}) bool { method String (line 339) | func (p pricingParametersMatcher) String() string { FILE: pkg/appstore/appstore_replicate_sinf.go type Sinf (line 17) | type Sinf struct type ReplicateSinfInput (line 22) | type ReplicateSinfInput struct method ReplicateSinf (line 27) | func (t *appstore) ReplicateSinf(input ReplicateSinfInput) error { type packageManifest (line 89) | type packageManifest struct type packageInfo (line 93) | type packageInfo struct method replicateSinfFromManifest (line 97) | func (*appstore) replicateSinfFromManifest(manifest packageManifest, zip... method replicateSinfFromInfo (line 120) | func (t *appstore) replicateSinfFromInfo(info packageInfo, zip *zip.Writ... method replicateZip (line 136) | func (t *appstore) replicateZip(src *zip.ReadCloser, dst *zip.Writer) er... method readInfoPlist (line 159) | func (*appstore) readInfoPlist(reader *zip.ReadCloser) (*packageInfo, er... method readManifestPlist (line 188) | func (*appstore) readManifestPlist(reader *zip.ReadCloser) (*packageMani... method readBundleName (line 217) | func (*appstore) readBundleName(reader *zip.ReadCloser) (string, error) { FILE: pkg/appstore/appstore_revoke.go method Revoke (line 7) | func (t *appstore) Revoke() error { FILE: pkg/appstore/appstore_search.go type SearchInput (line 13) | type SearchInput struct type SearchOutput (line 19) | type SearchOutput struct method Search (line 24) | func (t *appstore) Search(input SearchInput) (SearchOutput, error) { type searchResult (line 47) | type searchResult struct method searchRequest (line 52) | func (t *appstore) searchRequest(term, countryCode string, limit int64) ... method searchURL (line 60) | func (t *appstore) searchURL(term, countryCode string, limit int64) stri... FILE: pkg/appstore/appstore_test.go function TestAppStore (line 10) | func TestAppStore(t *testing.T) { FILE: pkg/appstore/constants.go constant FailureTypeInvalidCredentials (line 4) | FailureTypeInvalidCredentials = "-5000" constant FailureTypePasswordTokenExpired (line 5) | FailureTypePasswordTokenExpired = "2034" constant FailureTypeLicenseNotFound (line 6) | FailureTypeLicenseNotFound = "9610" constant FailureTypeTemporarilyUnavailable (line 7) | FailureTypeTemporarilyUnavailable = "2059" constant CustomerMessageBadLogin (line 9) | CustomerMessageBadLogin = "MZFinance.BadLogin.Configurator_m... constant CustomerMessageAccountDisabled (line 10) | CustomerMessageAccountDisabled = "Your account is disabled." constant CustomerMessageSubscriptionRequired (line 11) | CustomerMessageSubscriptionRequired = "Subscription Required" constant iTunesAPIDomain (line 13) | iTunesAPIDomain = "itunes.apple.com" constant iTunesAPIPathSearch (line 14) | iTunesAPIPathSearch = "/search" constant iTunesAPIPathLookup (line 15) | iTunesAPIPathLookup = "/lookup" constant PrivateInitDomain (line 17) | PrivateInitDomain = "init." + iTunesAPIDomain constant PrivateInitPath (line 18) | PrivateInitPath = "/bag.xml" constant PrivateAppStoreAPIDomain (line 20) | PrivateAppStoreAPIDomain = "buy." + iTunesAPIDomain constant PrivateAppStoreAPIPathPurchase (line 21) | PrivateAppStoreAPIPathPurchase = "/WebObjects/MZFinance.woa/wa/buyProduct" constant PrivateAppStoreAPIPathDownload (line 22) | PrivateAppStoreAPIPathDownload = "/WebObjects/MZFinance.woa/wa/volumeSto... constant HTTPHeaderStoreFront (line 24) | HTTPHeaderStoreFront = "X-Set-Apple-Store-Front" constant HTTPHeaderPod (line 25) | HTTPHeaderPod = "pod" constant PricingParameterAppStore (line 27) | PricingParameterAppStore = "STDQ" constant PricingParameterAppleArcade (line 28) | PricingParameterAppleArcade = "GAME" FILE: pkg/appstore/error.go type Error (line 3) | type Error struct method Error (line 8) | func (t Error) Error() string { function NewErrorWithMetadata (line 12) | func NewErrorWithMetadata(err error, metadata interface{}) *Error { FILE: pkg/appstore/storefront.go function countryCodeFromStoreFront (line 8) | func countryCodeFromStoreFront(storeFront string) (string, error) { FILE: pkg/http/client.go constant appStoreAuthURL (line 16) | appStoreAuthURL = "https://buy.itunes.apple.com/WebObjects/MZFinance.woa... type Client (line 26) | type Client interface type client (line 32) | type client struct type Args (line 37) | type Args struct type AddHeaderTransport (line 41) | type AddHeaderTransport struct method RoundTrip (line 45) | func (t *AddHeaderTransport) RoundTrip(req *http.Request) (*http.Respo... function NewClient (line 58) | func NewClient[R interface{}](args Args) Client[R] { method Send (line 76) | func (c *client[R]) Send(req Request) (Result[R], error) { method Do (line 120) | func (c *client[R]) Do(req *http.Request) (*http.Response, error) { method NewRequest (line 129) | func (*client[R]) NewRequest(method, url string, body io.Reader) (*http.... method handleJSONResponse (line 138) | func (c *client[R]) handleJSONResponse(res *http.Response) (Result[R], e... method handleXMLResponse (line 157) | func (c *client[R]) handleXMLResponse(res *http.Response) (Result[R], er... function normalizeXMLPlistBody (line 184) | func normalizeXMLPlistBody(body []byte) []byte { function extractEmbeddedPlist (line 209) | func extractEmbeddedPlist(body []byte) []byte { function extractEmbeddedDict (line 218) | func extractEmbeddedDict(body []byte) []byte { function extractDocumentInnerBody (line 227) | func extractDocumentInnerBody(body []byte) []byte { FILE: pkg/http/constants.go type ResponseFormat (line 3) | type ResponseFormat constant ResponseFormatJSON (line 6) | ResponseFormatJSON ResponseFormat = "json" constant ResponseFormatXML (line 7) | ResponseFormatXML ResponseFormat = "xml" constant DefaultUserAgent (line 11) | DefaultUserAgent = "Configurator/2.17 (Macintosh; OS X 15.2; 24C5089c) A... FILE: pkg/http/cookiejar.go type CookieJar (line 6) | type CookieJar interface FILE: pkg/http/http_test.go function TestHTTP (line 10) | func TestHTTP(t *testing.T) { FILE: pkg/http/method.go constant MethodGET (line 4) | MethodGET = "GET" constant MethodPOST (line 5) | MethodPOST = "POST" FILE: pkg/http/payload.go type Payload (line 12) | type Payload interface type XMLPayload (line 16) | type XMLPayload struct method data (line 24) | func (p *XMLPayload) data() ([]byte, error) { type URLPayload (line 20) | type URLPayload struct method data (line 35) | func (p *URLPayload) data() ([]byte, error) { FILE: pkg/http/request.go type Request (line 3) | type Request struct FILE: pkg/http/result.go type Result (line 12) | type Result struct method GetHeader (line 18) | func (c *Result[R]) GetHeader(key string) (string, error) { FILE: pkg/keychain/keychain.go type Keychain (line 4) | type Keychain interface type keychain (line 10) | type keychain struct type Args (line 14) | type Args struct function New (line 18) | func New(args Args) Keychain { FILE: pkg/keychain/keychain_get.go method Get (line 7) | func (k *keychain) Get(key string) ([]byte, error) { FILE: pkg/keychain/keychain_remove.go method Remove (line 7) | func (k *keychain) Remove(key string) error { FILE: pkg/keychain/keychain_set.go method Set (line 9) | func (k *keychain) Set(key string, data []byte) error { FILE: pkg/keychain/keychain_test.go function TestKeychain (line 10) | func TestKeychain(t *testing.T) { FILE: pkg/keychain/keyring.go type Keyring (line 6) | type Keyring interface FILE: pkg/log/log_test.go function TestLog (line 10) | func TestLog(t *testing.T) { FILE: pkg/log/logger.go type Logger (line 12) | type Logger interface type logger (line 18) | type logger struct method Log (line 45) | func (l *logger) Log() *zerolog.Event { method Verbose (line 49) | func (l *logger) Verbose() *zerolog.Event { method Error (line 57) | func (l *logger) Error() *zerolog.Event { type Args (line 23) | type Args struct function NewLogger (line 28) | func NewLogger(args Args) Logger { FILE: pkg/log/writer.go type Writer (line 12) | type Writer interface type writer (line 17) | type writer struct method Write (line 29) | func (l *writer) Write(p []byte) (int, error) { method WriteLevel (line 38) | func (l *writer) WriteLevel(level zerolog.Level, p []byte) (int, error) { function NewWriter (line 22) | func NewWriter() Writer { FILE: pkg/util/machine/machine.go type Machine (line 14) | type Machine interface type machine (line 20) | type machine struct method MacAddress (line 34) | func (*machine) MacAddress() (string, error) { method HomeDirectory (line 54) | func (m *machine) HomeDirectory() string { method ReadPassword (line 62) | func (*machine) ReadPassword(fd int) ([]byte, error) { type Args (line 24) | type Args struct function New (line 28) | func New(args Args) Machine { FILE: pkg/util/machine/machine_test.go function TestMachine (line 13) | func TestMachine(t *testing.T) { FILE: pkg/util/must.go function Must (line 4) | func Must[T any](val T, err error) T { FILE: pkg/util/operatingsystem/operatingsystem.go type OperatingSystem (line 8) | type OperatingSystem interface type operatingSystem (line 19) | type operatingSystem struct method Getenv (line 25) | func (operatingSystem) Getenv(key string) string { method Stat (line 30) | func (operatingSystem) Stat(name string) (os.FileInfo, error) { method Getwd (line 35) | func (operatingSystem) Getwd() (string, error) { method OpenFile (line 40) | func (operatingSystem) OpenFile(name string, flag int, perm os.FileMod... method Remove (line 45) | func (operatingSystem) Remove(name string) error { method IsNotExist (line 50) | func (operatingSystem) IsNotExist(err error) bool { method MkdirAll (line 55) | func (operatingSystem) MkdirAll(path string, perm os.FileMode) error { method Rename (line 60) | func (operatingSystem) Rename(oldPath, newPath string) error { function New (line 21) | func New() OperatingSystem { FILE: pkg/util/operatingsystem/operatingsystem_test.go function TestOS (line 16) | func TestOS(t *testing.T) { FILE: pkg/util/string.go function IfEmpty (line 3) | func IfEmpty(value, fallback string) string { FILE: pkg/util/util_test.go function TestUtil (line 10) | func TestUtil(t *testing.T) { FILE: pkg/util/zip.go type Pair (line 5) | type Pair struct function Zip (line 10) | func Zip[T, U any](ts []T, us []U) ([]Pair[T, U], error) {