@@ -382,6 +382,57 @@ An example of the catalog output is as follows:
382382
383383```
384384
385+
386+ ### fairtool source verify
387+
388+ The ` fairtool source verify ` can be used to check the validity of the
389+ apps in a JSON catalog.
390+
391+ For example:
392+
393+ ``` shell
394+ % fairtool source create https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa > catalog.json
395+
396+ % fairtool source verify catalog.json
397+
398+ [
399+ {
400+ " app" : {
401+ " bundleIdentifier" : " app.Cloud-Cuckoo"
402+ " sha256" : " 56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686" ,
403+ " size" : 5136274
404+ }
405+ }
406+ ]
407+ ```
408+
409+ If, for example, the resource at the ` downloadURL ` no longer matches the
410+ SHA256 checksum or file size, the catalog's validation errors
411+ would look like:
412+
413+ ``` json
414+ [
415+ {
416+ "app" : {
417+ "bundleIdentifier" : " app.Cloud-Cuckoo"
418+ "size" : 5136274 ,
419+ "sha256" : " 56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686"
420+ },
421+ "failures" : [
422+ {
423+ "type" : " size_mismatch" ,
424+ "message" : " Download size mismatch (5136274 vs. 5052688) from: https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa"
425+ },
426+ {
427+ "type" : " checksum_failed" ,
428+ "message" : " Checksum mismatch (56e748bf053aff8612702ba9f1aa13031ef0c29313cc4047e3176b9ba8526686 vs. 07e74b8db6eed309a6cdc92e40d5f7b7fd00922126f8ff49085516dd052ffa3a) from: https://github.com/Cloud-Cuckoo/App/releases/latest/download/Cloud-Cuckoo-iOS.ipa"
429+ }
430+ ]
431+ }
432+ ]
433+ ```
434+
435+
385436#### App Source Catalog
386437
387438The format of the catalog and the meaning of the various properties is described
@@ -390,9 +441,11 @@ at [https://appfair.net/#app-source-catalog](https://appfair.net/#app-source-cat
390441
391442### fairtool online
392443
393- An experimental web service with limited functionality is available at
444+ An experimental web service with a subset of the
445+ fairtool's functionality is available at:
394446[ https://fairtool.herokuapp.com ] ( https://fairtool.herokuapp.com ) .
395- The service can be used to inspect the properties of .app .zip and .ipa
447+
448+ This service can be used to inspect the properties of ` .app ` ` .zip ` and ` .ipa `
396449URLs online, as well as generate default catalog entries for
397450application artifacts.
398451
@@ -426,7 +479,7 @@ See the [documentation for FairCore](https://fair-ground.github.io/Fair/document
426479
427480The ` FairApp ` module contains the necessary functionality for
428481building and distributing an app on a fair ground such as
429- [ appfair.net] ( https://appfair.net ) .
482+ [ appfair.net] ( https://appfair.net ) . ` FairApp ` depends on ` FairCore ` .
430483
431484Important types are
432485[ AppCatalog] ( https://fair-ground.github.io/Fair/documentation/fairapp/appcatalog ) ,
@@ -438,18 +491,29 @@ See the [documentation for FairApp](https://fair-ground.github.io/Fair/documenta
438491
439492### FairExpo
440493
441- The ` FairExpo ` module
494+ The ` FairExpo ` module provides a cross-platform set of networking
495+ protocols, such as utilities for interacting with a
496+ [ GraphQLEndpointService] ( https://fair-ground.github.io/Fair/documentation/fairexpo/graphqlendpointservice ) ,
497+ getting metadata from the
498+ [ HomebrewAPI] ( https://fair-ground.github.io/Fair/documentation/fairexpo/homebrewapi/ ) ,
499+ and creating and verifying App Source catalogs with the
500+ [ https://fair-ground.github.io/Fair/documentation/fairexpo/appcatalogapi ] ( AppCatalogAPI ) .
442501
502+ ` FairExpo ` depends on ` FairApp ` .
503+
443504See the [ documentation for FairExpo] ( https://fair-ground.github.io/Fair/documentation/fairexpo/ ) .
444505
445506### FairKit
446507
447- The ` FairKit ` module
508+ The ` FairKit ` module contains optional SwiftUI Views and enhancements,
509+ such as a SwiftUI [ WebView] ( https://fair-ground.github.io/Fair/documentation/fairkit/webview ) .
510+
511+ ` FairKit ` depends on ` FairApp ` .
448512
449513See the [ documentation for FairKit] ( https://fair-ground.github.io/Fair/documentation/fairkit/ ) .
450514
451515
452- ## Swift Package Manager usage
516+ ## Swift Package Manager
453517
454518In order to add the Fair module to an existing package named "App",
455519
0 commit comments