GithubHelp home page GithubHelp logo

sus-inspector's Introduction

INTRODUCTION

Inspect Apple macOS software updates.

SUS Inspector

SUS Inspector is an utility app for viewing detailed information about Apple's Software Update Service. It sets up a local Reposado installation to replicate catalogs and then parses them for viewing.

By default, SUS Inspector uses Apple's servers for the catalogs. If you are already replicating the software update service on your local network (using Reposado, OS X Server or something else) you should point SUS Inspector to that local server instead. This will greatly speed up the sync process.

To do this, modify the base URL before launching SUS Inspector for the first time:

$ defaults write com.hjuutilainen.SUS-Inspector baseURL "https://reposado.example.com"

Or edit the URL's manually on the first run setup window.

KNOWN ISSUES

  • There's no way to cancel an active package download.
  • There's no way to cancel an active repo_sync.
  • The 'Extract Package Payload...' from product info window works only for newer gzip compressed payloads.
  • Catalogs can't be modified after the initial setup.
  • Preferences need major UI work

RESETTING AND UNINSTALLING

Removing SUS Inspector's database file effectively resets the application and causes the first run setup window to reappear. This database file is in SQLite format and can be found in:

~/Library/Application Support/SUS Inspector/SUS_Inspector.storedata

By default, all Reposado generated data is kept separate from the application and the default location is in:

~/Library/Application Support/SUS Inspector/Default/

Completely removing SUS Inspector and Reposado data can be done by removing the whole SUS Inspector directory:

~/Library/Application Support/SUS Inspector/

REQUIREMENTS

SUS Inspector requires macOS 10.13 or later.

INSTALLATION

The current release version can be downloaded from the Releases page

The other way to run SUS Inspector is to build from source:

  1. Clone the project (including the Reposado submodule)

     $ git clone --recursive https://github.com/hjuutilainen/sus-inspector.git
    
  2. Open "SUS Inspector.xcodeproj" with Xcode and hit 'Run'

Building requires:

THANKS

LICENSE

SUS Inspector itself is licensed under the Apache License, Version 2.0. The included Reposado is licensed under the new BSD license.

DONATIONS

There's no need to donate, the app is free to use and I'm just happy it's useful to other admins. If you absolutely want to support the development of these tools, you should first go and see a Disney movie of your choice (because Reposado and Munki are open source projects from Walt Disney Animation Studios and my projects simply wouldn't exist without those projects). After that, if you're still up for it, you can buy me a coffee.

sus-inspector's People

Contributors

ericholtam avatar hjuutilainen avatar rickheil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sus-inspector's Issues

No Ventura support

I just launched it after not using it for a while and I don't see any Ventura packages. I refreshed the catalog, but it stays with Catalina, Big Sur and Monterey. I'm not sure if this due to a change with how Apple publishes the catalogs?

Switch to Python 3

It would be great if SUS Inspector would start using Python 3 instead of the EOL Python 2 branch.
Thank you.

NetSUS compatible?

If I point sus-inspector to my NetSUS address it starts a repo_sync but after a long time I only get a empty sus inspector.

Is it only compatible with reposado?

Nothing in SUS Inspector

Before entering this app, I chose "Monterey" with green dot. But I found there is nothing in the app when I entered.
macOS Version: macOS Monterey 12.6.1 (21G217)
SUS Inspector Version: 2.1
Screenshot:
image

Need updated reposado code embedded

The latest SUS updates for Catalina started including gzipped dist data that requires an additional flag --compressed in reposado to properly read and decompress it. The reposado project has been updated to include that fix, but the SUS Inspector reposado code does not. Can the project update the reposado code and release a version?

app crashes on Apple Silicon

app starts normally but when clicking "Save" in "Reposado Configuration" at first launch it crashes:

Process: SUS Inspector [807]
Path: /Applications/SUS Inspector.app/Contents/MacOS/SUS Inspector
Identifier: com.hjuutilainen.SUS-Inspector
Version: 2.0b1 (2.0b1)
Code Type: ARM-64 (Native)
Parent Process: ??? [1]
Responsible: SUS Inspector [807]
User ID: 501

Date/Time: 2020-11-19 09:01:40.538 +0100
OS Version: macOS 11.0.1 (20B29)
Report Version: 12
Anonymous UUID: E47FF8E7-F6C8-48C8-A9DE-978A9751DC68

Time Awake Since Boot: 2200 seconds

System Integrity Protection: enabled

Crashed Thread: 4 Dispatch queue: com.apple.NSFileHandle.fd_monitoring

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString replaceOccurrencesOfString:withString:options:range:]: nil argument'
terminating with uncaught exception of type NSException
abort() called

Error in repy_sync

Hey @hjuutilainen

When I'm running SUS Inspector version 0.3.1 (0.3.1) I do get the following error message when trying to refresh catalogs as well as on the initial sync:

Task exited with code 1.

Traceback (most recent call last):
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 835, in <module>
    main()
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 831, in main
    download_packages=download_packages)
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 733, in sync
    copy_only_if_missing=fast_scan)
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 550, in replicateURLtoFilesystem
    getURL(full_url, local_file_path)
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 465, in getURL
    onlyifnewer=True, etag=saved_etag)
  File "/Users/myuser/Library/Application Support/SUS Inspector/Reposado/reposado.bundle/code/repo_sync", line 349, in curl
    header['http_result_description'] = line.split(None, 2)[2]
IndexError: list index out of range

Resetting SUS Inspector as decribed here did not resolve the issue.

This appeares to be an error with Reposado. However, I did set up reposado withouth SUS inspector on the same machine and it is running withouth issues. Is it maybe an issue with the version of Reposado that has been bundled with SUS Inspector?

I'm running macOS 10.14.5 and I'm using the default SUS provided by Apple. Here's the relevant output from com.hjuutilainen.SUS-Inspector.plist

baseURL = "https://swscan.apple.com/content/catalogs/others/index-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog";

Thank you very much for your reply.
@aschwanb

Yosemite support?

Hey Hannes!

Would it be possible to add Yosemite support? I don't see the 10.10 catalog in there. We're going to start force installing Apple updates, and I'd love to use SUS Inspector to do this.

I see a separate issue open for being able to manually specify catalogs, so that might end up being the same thing.

Thank you!

Mike

missing docs on cocoapods dependency?

Hey Hannes, building the current head from source on 10.10 I get a "ld: library not found for -lPods-AFNetworking", so I'm going to chase down how to resolve that.

No known class method for selector 'imageWithSystemSymbolName:accessibilityDescription:'

No known class method for selector 'imageWithSystemSymbolName:accessibilityDescription:' during compilation:

/Users/<user>/Downloads/sus-inspector-master/SUS Inspector/SIOperationManager.m:137:36: error: no known class method for selector 'imageWithSystemSymbolName:accessibilityDescription:'
        iconFolderSmart = [NSImage imageWithSystemSymbolName:@"folder" accessibilityDescription:@"Folder"];
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/<user>/Downloads/sus-inspector-master/SUS Inspector/SIOperationManager.m:192:36: error: no known class method for selector 'imageWithSystemSymbolName:accessibilityDescription:'
        iconFolderSmart = [NSImage imageWithSystemSymbolName:@"folder.badge.gear" accessibilityDescription:@"Folder with gear"];
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/<user>/Downloads/sus-inspector-master/SUS Inspector/SIOperationManager.m:420:41: error: no known class method for selector 'imageWithSystemSymbolName:accessibilityDescription:'
                catalogImage = [NSImage imageWithSystemSymbolName:@"book" accessibilityDescription:@"Catalog icon"];
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Cannot open SUS Inspector on Xcode 12.3

I tried to run SUS Inspector and I clicked "Run" on Xcode 12.3. But when I try to do so, it returns the following error with a "Build Failed" prompt:

No signing certificate "Developer ID Application" found: No "Developer ID Application" signing certificate matching team ID "8XXWJ76X9Y" with a private key was found.

Why this is happening? Do you have any plans to correct this?

Operating system : macOS Big Sur 11.1 (20C69)
Model : iMac (21.5-inch, 2017)
Processor : 2.3 GHz Dual-Core Intel Core i5
Memory : 8 GB 2133 MHz DDR4
Graphics : Intel Iris Plus Graphics 640 1536 MB

edit catalogs list

upon first app launch I'm prompted to configure the catalogs SUS Inspector queries. There are no options to reconfigure after doing so.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.