Directories
¶
| Path | Synopsis |
|---|---|
|
crypto
Package crypto provides AES-256-GCM encryption with HKDF-derived per-session keys for the Zaparoo API WebSocket transport.
|
Package crypto provides AES-256-GCM encryption with HKDF-derived per-session keys for the Zaparoo API WebSocket transport. |
|
permissions
Package permissions defines client roles and the capability lookup that gates privileged API methods.
|
Package permissions defines client roles and the capability lookup that gates privileged API methods. |
|
validation
Package validation provides validation for API request parameters using go-playground/validator with custom validators for Zaparoo-specific types.
|
Package validation provides validation for API request parameters using go-playground/validator with custom validators for Zaparoo-specific types. |
|
credits
Package credits holds the contributor list and the third-party software notices embedded in Core.
|
Package credits holds the contributor list and the third-party software notices embedded in Core. |
|
Package audio provides cross-platform audio playback using malgo.
|
Package audio provides cross-platform audio playback using malgo. |
|
gme
Package gme plays chiptune rips (NES .nsf/.nsfe, Game Boy .gbs, PC Engine .hes, MSX .kss and SNES .spc) by emulating the original sound hardware with Game_Music_Emu.
|
Package gme plays chiptune rips (NES .nsf/.nsfe, Game Boy .gbs, PC Engine .hes, MSX .kss and SNES .spc) by emulating the original sound hardware with Game_Music_Emu. |
|
midi
Package midi renders Standard MIDI Files (.mid, .midi, .kar and RIFF .rmi) to stereo float audio.
|
Package midi renders Standard MIDI Files (.mid, .midi, .kar and RIFF .rmi) to stereo float audio. |
|
nativedec
Package nativedec decodes MP3, FLAC and Ogg Vorbis with dr_mp3, dr_flac and stb_vorbis, single-file C decoders vendored in third_party, and AAC with libfaad (faad2) for network streams; see StreamDecoder.
|
Package nativedec decodes MP3, FLAC and Ogg Vorbis with dr_mp3, dr_flac and stb_vorbis, single-file C decoders vendored in third_party, and AAC with libfaad (faad2) for network streams; see StreamDecoder. |
|
radio
Package radio plays internet radio: Icecast and Shoutcast streams, pls and m3u playlists of them, and audio HLS.
|
Package radio plays internet radio: Icecast and Shoutcast streams, pls and m3u playlists of them, and audio HLS. |
|
trackmeta
Package trackmeta reads the tags and cover art of an audio track.
|
Package trackmeta reads the tags and cover art of an audio track. |
|
vgm
Package vgm plays VGM and VGZ files, register logs of arcade, console and computer sound chips, by emulating the chips with cores from libvgm and emu2413.
|
Package vgm plays VGM and VGZ files, register logs of arcade, console and computer sound chips, by emulating the chips with cores from libvgm and emu2413. |
|
container
Package container decides when a directory of indexed media collapses to a single logical launch target, such as a disc folder holding one cue sheet beside its bin tracks.
|
Package container decides when a directory of indexed media collapses to a single logical launch target, such as a disc folder holding one cue sheet beside its bin tracks. |
|
perfmetrics
Package perfmetrics captures coarse process and SQLite resource counters for long media operations.
|
Package perfmetrics captures coarse process and SQLite resource counters for long media operations. |
|
scraper
Package scraper defines the metadata scraper types and generic run loop.
|
Package scraper defines the metadata scraper types and generic run loop. |
|
scraper/gamedatabase
Package gamedatabase fills in game metadata from the embedded copy of PigSaint's GameDataBase: genre, players, controls, save and add-on hardware, franchise, ports, compilation contents, release year, developer and publisher.
|
Package gamedatabase fills in game metadata from the embedded copy of PigSaint's GameDataBase: genre, players, controls, save and add-on hardware, franchise, ports, compilation contents, release year, developer and publisher. |
|
scraper/gamelistxml
Package gamelistxml implements a scraper that reads EmulationStation gamelist.xml files to enrich the Zaparoo MediaDB with developer, publisher, genre, rating, year, artwork paths, and descriptions.
|
Package gamelistxml implements a scraper that reads EmulationStation gamelist.xml files to enrich the Zaparoo MediaDB with developer, publisher, genre, rating, year, artwork paths, and descriptions. |
|
scraper/libretrothumbs
Package libretrothumbs downloads box art, screenshots and title screens from the libretro thumbnail server, the source RetroArch uses.
|
Package libretrothumbs downloads box art, screenshots and title screens from the libretro thumbnail server, the source RetroArch uses. |
|
scraper/localmedia
Package localmedia imports EmulationStation-style media folder artwork.
|
Package localmedia imports EmulationStation-style media folder artwork. |
|
scraper/misterarcade
Package misterarcade imports the MiSTer arcade catalog's metadata onto indexed .mra rows.
|
Package misterarcade imports the MiSTer arcade catalog's metadata onto indexed .mra rows. |
|
scraper/misterdocs
Package misterdocs imports metadata from MiSTer Downloader content installed under docs/<system> directories.
|
Package misterdocs imports metadata from MiSTer Downloader content installed under docs/<system> directories. |
|
scraper/mra
Package mra reads the MAME set name out of a MiSTer arcade descriptor.
|
Package mra reads the MAME set name out of a MiSTer arcade descriptor. |
|
scraper/pinuppopper
Package pinuppopper imports table metadata and artwork from a PinUP Popper install into the media database.
|
Package pinuppopper imports table metadata and artwork from a PinUP Popper install into the media database. |
|
scraper/scrapertest
Package scrapertest holds assertions shared by the scraper packages' tests.
|
Package scrapertest holds assertions shared by the scraper packages' tests. |
|
scraper/ssgenre
Package ssgenre maps ScreenScraper genre names onto Core's genre vocabulary.
|
Package ssgenre maps ScreenScraper genre names onto Core's genre vocabulary. |
|
sessionevidence
Package sessionevidence turns a host's privacy-filtered foreground/screen/ keyguard observations into proven, closed play intervals.
|
Package sessionevidence turns a host's privacy-filtered foreground/screen/ keyguard observations into proven, closed play intervals. |
|
tags
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors.
|
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors. |
|
bgpriority
Package bgpriority lowers the scheduling priority of dedicated background worker goroutines so long-running work (media indexing, scraping) yields CPU and storage bandwidth to foreground activity.
|
Package bgpriority lowers the scheduling priority of dedicated background worker goroutines so long-running work (media indexing, scraping) yields CPU and storage bandwidth to foreground activity. |
|
boolutil
Package boolutil interprets the loosely-typed booleans that reach Core from user input: ZapScript arguments and traits, configuration values, and API payloads.
|
Package boolutil interprets the loosely-typed booleans that reach Core from user input: ZapScript arguments and traits, configuration values, and API payloads. |
|
command
Package command provides an abstraction over exec.Command for testability.
|
Package command provides an abstraction over exec.Command for testability. |
|
gameid
Package gameid wraps go-gameid disc identification for the two things that need it: the indexer (identify a disc image to store as a media property) and the optical drive reader (identify an inserted disc live).
|
Package gameid wraps go-gameid disc identification for the two things that need it: the indexer (identify a disc image to store as a media property) and the optical drive reader (identify an inserted disc live). |
|
hoststatus
Package hoststatus reads the state of the machine Core runs on: its network links, Bluetooth adapter, storage, displays and controllers, and asks the operating system to reboot, shut down or suspend it.
|
Package hoststatus reads the state of the machine Core runs on: its network links, Bluetooth adapter, storage, displays and controllers, and asks the operating system to reboot, shut down or suspend it. |
|
inputactivity
Package inputactivity detects whether a person is using a device's keyboard, mouse or controllers.
|
Package inputactivity detects whether a person is using a device's keyboard, mouse or controllers. |
|
inputmacro
Package inputmacro classifies control tokens shared by input transports and emitters.
|
Package inputmacro classifies control tokens shared by input transports and emitters. |
|
linuxinput
Package linuxinput creates the uinput virtual devices the input engine drives on Linux.
|
Package linuxinput creates the uinput virtual devices the input engine drives on Linux. |
|
linuxinput/gamepadmap
Package gamepadmap holds the ZapScript gamepad button names and the raw evdev button codes they resolve to.
|
Package gamepadmap holds the ZapScript gamepad button names and the raw evdev button codes they resolve to. |
|
pathutil
Package pathutil provides path resolution utilities with no dependencies on other Zaparoo packages.
|
Package pathutil provides path resolution utilities with no dependencies on other Zaparoo packages. |
|
power
Package power reports whether the device is running on mains power or a battery, and how much of that battery is left.
|
Package power reports whether the device is running on mains power or a battery, and how much of that battery is left. |
|
syncutil
Package syncutil provides mutex primitives with optional deadlock detection.
|
Package syncutil provides mutex primitives with optional deadlock detection. |
|
useragent
Package useragent identifies Core on every outbound HTTP request.
|
Package useragent identifies Core on every outbound HTTP request. |
|
windowsinput
Package windowsinput drives virtual keyboard input on Windows.
|
Package windowsinput drives virtual keyboard input on Windows. |
|
wuffspng
Package wuffspng decodes PNG images with Wuffs, Google's memory-safe image decoders, compiled from the vendored single-file C release wuffs-v0.4.c (google/wuffs commit 7f70dda95c77b10c087c0908790837b5e9c15713, licensed Apache-2.0 OR MIT; see LICENSE-APACHE and LICENSE-MIT).
|
Package wuffspng decodes PNG images with Wuffs, Google's memory-safe image decoders, compiled from the vendored single-file C release wuffs-v0.4.c (google/wuffs commit 7f70dda95c77b10c087c0908790837b5e9c15713, licensed Apache-2.0 OR MIT; see LICENSE-APACHE and LICENSE-MIT). |
|
zstdembed
Package zstdembed reads and writes the zstd-compressed data files Core embeds.
|
Package zstdembed reads and writes the zstd-compressed data files Core embeds. |
|
Package launchables defines shared IDs and URI helpers for platform-owned virtual launch targets.
|
Package launchables defines shared IDs and URI helpers for platform-owned virtual launch targets. |
|
android
Package android is the Android platform.
|
Package android is the Android platform. |
|
ids
Package ids provides platform ID constants.
|
Package ids provides platform ID constants. |
|
mediaslot
Package mediaslot defines media slot identifiers shared across launch, playback, and playlist routing.
|
Package mediaslot defines media slot identifiers shared across launch, playback, and playlist routing. |
|
mister/catalog
Package catalog preserves the original Core import path for the standalone github.com/ZaparooProject/zaparoo-core/mister/catalog module.
|
Package catalog preserves the original Core import path for the standalone github.com/ZaparooProject/zaparoo-core/mister/catalog module. |
|
mister/cpcdsk
Package cpcdsk reads the CP/M directory of Amstrad CPC .dsk images in both the standard and extended formats.
|
Package cpcdsk reads the CP/M directory of Amstrad CPC .dsk images in both the standard and extended formats. |
|
mister/decb
Package decb reads the file directory of Tandy CoCo Disk Extended Color BASIC disk images.
|
Package decb reads the file directory of Tandy CoCo Disk Extended Color BASIC disk images. |
|
mister/fatimg
Package fatimg reads files from FAT12, FAT16 and FAT32 disk images without loading them into memory.
|
Package fatimg reads files from FAT12, FAT16 and FAT32 disk images without loading them into memory. |
|
mister/mgl
Package mgl preserves the original Core import path for the standalone github.com/ZaparooProject/zaparoo-core/mister/mgl module.
|
Package mgl preserves the original Core import path for the standalone github.com/ZaparooProject/zaparoo-core/mister/mgl module. |
|
mister/mmb
Package mmb reads the disc catalog of a BBC/Acorn MMFS MMB container.
|
Package mmb reads the disc catalog of a BBC/Acorn MMFS MMB container. |
|
mister/trs80cas
Package trs80cas reads program headers from TRS-80 cassette images.
|
Package trs80cas reads program headers from TRS-80 cassette images. |
|
shared/esapi
Package esapi provides types and helpers for reading EmulationStation gamelist.xml files.
|
Package esapi provides types and helpers for reading EmulationStation gamelist.xml files. |
|
shared/esde
Package esde provides shared utilities for EmulationStation Desktop Edition based platforms including ES-DE, Batocera ES, and RetroBat.
|
Package esde provides shared utilities for EmulationStation Desktop Edition based platforms including ES-DE, Batocera ES, and RetroBat. |
|
shared/esmedia
Package esmedia resolves local EmulationStation-style media folders and paths.
|
Package esmedia resolves local EmulationStation-style media folders and paths. |
|
shared/gamehandoff
Package gamehandoff tells when a launched game has been handed to the emulator or core that runs it.
|
Package gamehandoff tells when a launched game has been handed to the emulator or core that runs it. |
|
shared/linuxbase/gamescope
Package gamescope makes externally launched windows visible and focused in gamescope Gaming Mode sessions.
|
Package gamescope makes externally launched windows visible and focused in gamescope Gaming Mode sessions. |
|
shared/linuxbase/procscanner
Package procscanner provides a shared process scanner for monitoring multiple types of processes with a single /proc scan.
|
Package procscanner provides a shared process scanner for monitoring multiple types of processes with a single /proc scan. |
|
shared/linuxbase/proctracker
Package proctracker provides process exit tracking using pidfd_open on Linux 5.3+.
|
Package proctracker provides process exit tracking using pidfd_open on Linux 5.3+. |
|
shared/linuxemu
Package linuxemu provides reusable emulator discovery and launchers for Linux-family platforms.
|
Package linuxemu provides reusable emulator discovery and launchers for Linux-family platforms. |
|
shared/pinup
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors.
|
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors. |
|
shared/retroarch
Package retroarch provides reusable RetroArch CLI launchers.
|
Package retroarch provides reusable RetroArch CLI launchers. |
|
shared/steam/steamtracker
Package steamtracker provides Steam game lifecycle tracking on Linux.
|
Package steamtracker provides Steam game lifecycle tracking on Linux. |
|
updatepayload
Package updatepayload describes platform files shipped beside the Core binary that must stay in sync when an unmanaged install updates itself.
|
Package updatepayload describes platform files shipped beside the Core binary that must stay in sync when an unmanaged install updates itself. |
|
windows
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors.
|
Zaparoo Core Copyright (c) 2026 The Zaparoo Project Contributors. |
|
windows/windowfocus
Package windowfocus activates windows created by launched Windows processes.
|
Package windowfocus activates windows created by launched Windows processes. |
|
zapos
Package zapos implements the Zaparoo OS appliance platform.
|
Package zapos implements the Zaparoo OS appliance platform. |
|
ccid
Package ccid is the reader driver for USB CCID contactless readers.
|
Package ccid is the reader driver for USB CCID contactless readers. |
|
ccid/proto
Package proto speaks the USB CCID message protocol to one card slot.
|
Package proto speaks the USB CCID message protocol to one card slot. |
|
libnfc/tags
Package tags gives the shared tag layer access to a tag through libnfc.
|
Package tags gives the shared tag layer access to a tag through libnfc. |
|
shared/nfctag
Package nfctag reads and writes NFC tags for every reader driver, so the same physical tag gives the same token whichever reader it is presented to.
|
Package nfctag reads and writes NFC tags for every reader driver, so the same physical tag gives the same token whichever reader it is presented to. |
|
shared/nfctag/tagsim
Package tagsim provides in-memory NFC tags for tests.
|
Package tagsim provides in-memory NFC tags for tests. |
|
shared/serialport
Package serialport provides the production serial boundary shared by readers.
|
Package serialport provides the production serial boundary shared by readers. |
|
testutils
Package testutils provides common testing utilities for reader tests.
|
Package testutils provides common testing utilities for reader tests. |
|
autoadvance
Package autoadvance moves playlists on without anyone pressing next.
|
Package autoadvance moves playlists on without anyone pressing next. |
|
broker
Package broker provides a simple in-process notification broker for broadcasting messages to multiple consumers without blocking.
|
Package broker provides a simple in-process notification broker for broadcasting messages to multiple consumers without blocking. |
|
decks
Package decks holds the local deck feature: composing deck items from indexed media and, later, projecting deck membership into the media database and opening decks as playlists.
|
Package decks holds the local deck feature: composing deck items from indexed media and, later, projecting deck membership into the media database and opening decks as playlists. |
|
device
Package device keeps Core's view of the machine it runs on current while clients are connected, and tells them when it changes.
|
Package device keeps Core's view of the machine it runs on current while clients are connected, and tells them when it changes. |
|
discovery/mdns
Package mdns advertises a single DNS-SD service over multicast DNS.
|
Package mdns advertises a single DNS-SD service over multicast DNS. |
|
idle
Package idle provides a small scheduler for "run eventually" background work.
|
Package idle provides a small scheduler for "run eventually" background work. |
|
inbox
Package inbox provides a service for managing persistent system notifications.
|
Package inbox provides a service for managing persistent system notifications. |
|
librarysync
Package librarysync keeps this device's library converged with the linked Zaparoo Online account while the user has Library sync turned on.
|
Package librarysync keeps this device's library converged with the linked Zaparoo Online account while the user has Library sync turned on. |
|
playlistmemory
Package playlistmemory remembers where each playlist was left, which playlists were open when Core stopped, and how far into long audio tracks playback got.
|
Package playlistmemory remembers where each playlist was left, which playlists were open when Core stopped, and how far into long audio tracks playback got. |
|
profiles
Package profiles implements device profiles: named buckets of preferences and limits.
|
Package profiles implements device profiles: named buckets of preferences and limits. |
|
remote
Package remote implements the device-side remote operations client: it advertises capability to the Online API, long-polls for queued operations, executes them locally, and reports results back, replaying any result the device couldn't report the first time.
|
Package remote implements the device-side remote operations client: it advertises capability to the Online API, long-polls for queued operations, executes them locally, and reports results back, replaying any result the device couldn't report the first time. |
|
runfailure
Package runfailure maps the error a ZapScript run ends with onto the stable category and safe message every client-facing report of that run shares: the run method's error response and the run.failed notification.
|
Package runfailure maps the error a ZapScript run ends with onto the stable category and safe message every client-facing report of that run shares: the run method's error response and the run.failed notification. |
|
scanmode
Package scanmode resolves the scan mode that applies to a token: its own #tap or #hold trait, then the configured mode of the reader it came from, then the global readers.scan.mode.
|
Package scanmode resolves the scan mode that applies to a token: its own #tap or #hold trait, then the configured mode of the reader it came from, then the global readers.scan.mode. |
|
updater/otameta
Package otameta reads the signed update manifest and decides which release archive a device is allowed to install from it.
|
Package otameta reads the signed update manifest and decides which release archive a device is allowed to install from it. |
|
testing
|
|
|
helpers
Package helpers provides testing utilities for API operations.
|
Package helpers provides testing utilities for API operations. |
|
scantest
Package scantest populates media databases in tests through the production staging pipeline.
|
Package scantest populates media databases in tests through the production staging pipeline. |
|
sqlmock
Package sqlmock provides SQL mocking utilities for testing.
|
Package sqlmock provides SQL mocking utilities for testing. |
|
ui
|
|
|
events
Package events manages global, transient UI requests.
|
Package events manages global, transient UI requests. |
Click to show internal directories.
Click to hide internal directories.