perkeep.org: perkeep.org

Directories

PathSynopsis
app/helloThe hello application serves as an example on how to make stand-alone server applications, interacting with a Perkeep server.
app/publisherThe publisher application serves and renders items published by Perkeep.
app/publisher/jsThis package contains source code for gopherjs, to generate javascript code that is included in the publisher web UI.
app/scanningcabinetThe scanning cabinet program is a server application to store scanned documents in Perkeep, and to manage them.
app/scanningcabinet/scancabThe scancab tool scans document and uploads them to the scanning cabinet Perkeep application.
app/scanningcabinet/uiTODO(steve.armstrong): Until app/scanningcabinet/handler.go handleUiFile() properly manages Content-Type, be sure to update it whenever adding a new file type to the pattern below.
clients/web/embed/closureThe updatelibrary command allows to selectively download from the closure library git repository (at a chosen revision) the resources needed by the Perkeep ui.
clients/web/embed/fontawesomePackage fontawesome provides access to the Font Awesome font library and embeds them into the Go binary when compiled with the genfileembed tool.
clients/web/embed/glitchPackage glich embeds the little piggy animation resources.
clients/web/embed/keepyPackage keepy embeds the keepy parakeet animation resources.
clients/web/embed/leafletPackage leaflet provides access to the Leaflet JavaScript and CSS resources, as well as the Leaflet.awesome-markers, and embeds them into the Go binary when compiled with the genfileembed tool.
clients/web/embed/lessPackage less provides the LESS CSS framework/rewriter.
clients/web/embed/opensansPackage opensans provides access to the Font Awesome font library and embeds them into the Go binary when compiled with the genfileembed tool.
clients/web/embed/reactPackage react provides access to the React JavaScript libraries and embeds them into the Go binary when compiled with the genfileembed tool.
cmd/pkThe pk binary is a collection of commands to help with the use of a camlistore server.
cmd/pk-deployThe pk-deploy program deploys Perkeep on cloud computing platforms such as Google Compute Engine or Amazon EC2.
cmd/pk-devimportThe pk-devimport command runs an importer, using the importer code linked into the binary, against a Perkeep server.
cmd/pk-getThe pk-get tool fetches blobs, files, and directories.
cmd/pk-mountThe pk-mount tool mounts a root directory blob onto the given mountpoint.
cmd/pk-putThe pk-put tool mainly pushes blobs, files, and directories.
devupdate_closure_compiler downloads a new version of the closure compiler if the one in tmp/closure-compiler doesn't exist or is older than the requested version.
dev/devcamThe devcam tool is a collection of wrappers around the camlistore programs (camistored, pk-put, pk...) which take care of setup and configuration, so they can be used by developers to ease hacking on camlistore.
dev/envvardocProgram envvardoc will verify all referenced environment variables in go source are properly documented.
internal/azure/storagePackage storage implements a generic Azure storage client, not specific to Perkeep.
internal/chanworker
internal/closurePackage closure provides tools to help with the use of the closure library.
internal/closure/genclosuredepsThe genclosuredeps command, similarly to the closure depswriter.py tool, outputs to os.Stdout for each .js file, which namespaces it provides, and the namespaces it requires, hence helping the closure library to resolve dependencies between those files.
internal/closure/jstestPackage jstest uses the Go testing package to test JavaScript code using Node and Mocha.
internal/geocodePackage geocode handles mapping user-entered locations into lat/long polygons.
internal/gpgagentPackage gpgagent interacts with the local GPG Agent.
internal/hashutilPackage hashutil contains misc hashing functions lacking homes elsewhere.
internal/httputilPackage httputil contains a bunch of HTTP utility code, some generic, and some Perkeep-specific.
internal/images
internal/images/fastjpegPackage fastjpeg uses djpeg(1), from the Independent JPEG Group's (www.ijg.org) jpeg package, to quickly down-sample images on load.
internal/images/resizePackage resize resizes images.
internal/leak
internal/lruPackage lru implements an LRU cache.
internal/magicPackage magic implements MIME type sniffing of data based on the well-known "magic" number prefixes in the file.
internal/mediaPackage media provides means for querying information about audio and video data.
internal/netutilPackage netutil identifies the system userid responsible for localhost TCP connections.
internal/osutilPackage osutil provides operating system-specific path information, and other utility functions.
internal/osutil/gcePackage gce configures hooks for running Perkeep for Google Compute Engine.
internal/pinentryPackage pinentry interfaces with the pinentry(1) command to securely prompt the user for a password using whichever user interface the user is currently using.
internal/pools
internal/testhooksPackage testhooks is a shared package between Perkeep packages and test code, to let tests do gross things that we don't want to expose normally.
misc/dockerCommand dock builds Perkeep's various Docker images.
misc/docker/synologyCommand build_syno builds and packages Perkeep for Synology appliances.
misc/releaseCommand make-release builds the tarballs and zip archives for the Perkeep release downloads.
pkg/appPackage app provides helpers for server applications interacting with Perkeep.
pkg/authPackage auth implements Camlistore authentication.
pkg/blobPackage blob defines types to refer to and retrieve low-level Perkeep blobs.
pkg/blobserverPackage blobserver defines how raw blobs are stored and accessed.
pkg/blobserver/archiverPackage archiver zips lots of little blobs into bigger zip files and stores them somewhere.
pkg/blobserver/azurePackage azure registers the "azure" blobserver storage type, storing blobs in a Microsoft Azure Blob Storage container.
pkg/blobserver/b2
pkg/blobserver/blobpackedPackage blobpacked registers the "blobpacked" blobserver storage type, storing blobs initially as one physical blob per logical blob, but then rearranging little physical blobs into large contiguous blobs organized by how they'll likely be accessed.
pkg/blobserver/condPackage cond registers the "cond" conditional blobserver storage type to select routing of get/put operations on blobs to other storage targets as a function of their content.
pkg/blobserver/dirPackage dir implements the blobserver Storage interface for a directory, detecting whether the directory is file-per-blob (localdisk) or diskpacked.
pkg/blobserver/diskpackedPackage diskpacked registers the "diskpacked" blobserver storage type, storing blobs packed together into monolithic data files with an index listing the sizes and offsets of the little blobs within the large files.
pkg/blobserver/encryptPackage encrypt registers the "encrypt" blobserver storage type which stores all blobs and metadata with NaCl encryption into other wrapped storage targets (e.g.
pkg/blobserver/filesPackage files implements the blobserver interface by storing each blob in its own file in nested directories.
pkg/blobserver/gethandlerPackage gethandler implements the HTTP handler for fetching blobs.
pkg/blobserver/google/cloudstoragePackage cloudstorage registers the "googlecloudstorage" blob storage type, storing blobs on Google Cloud Storage (not Google Drive).
pkg/blobserver/google/drivePackage drive registers the "googledrive" blobserver storage type, storing blobs in a Google Drive folder.
pkg/blobserver/google/drive/servicePackage service translates blobserver.Storage methods into Google Drive API methods.
pkg/blobserver/handlersPackage handlers implements the HTTP interface to the Perkeep blob server.
pkg/blobserver/localPackage local implements functionality common to both the "localdisk" and "diskpacked" storage mechanisms.
pkg/blobserver/localdiskPackage localdisk registers the "filesystem" blobserver storage type, storing blobs in a forest of sharded directories at the specified root.
pkg/blobserver/memoryPackage memory registers the "memory" blobserver storage type, storing blobs in an in-memory map.
pkg/blobserver/mongoPackage mongo registers the "mongo" blobserver storage type, storing blobs using MongoDB.
pkg/blobserver/namespacePackage namespace implements the "namespace" blobserver storage type.
pkg/blobserver/overlayPackage overlay registers the "overlay" blobserver storage type that presents storage that is the result of overlaying a storage ("upper") on top of another storage ("lower").
pkg/blobserver/protocolPackage protocol contains types for Perkeep protocol types.
pkg/blobserver/proxycachePackage proxycache registers the "proxycache" blobserver storage type, which uses a provided blobserver as a cache for a second origin blobserver.
pkg/blobserver/remotePackage remote registers the "remote" blobserver storage type, storing and fetching blobs from a remote Perkeep server over HTTPS.
pkg/blobserver/replicaPackage replica registers the "replica" blobserver storage type, providing synchronous replication to one more backends.
pkg/blobserver/s3Package s3 registers the "s3" blobserver storage type, storing blobs in an Amazon Web Services' S3 storage bucket.
pkg/blobserver/sftpPackage sftp registers the "sftp" blobserver storage type, storing blobs one-per-file in a forest of sharded directories to a remote SFTP server over an SSH connection.
pkg/blobserver/shardPackage shard registers the "shard" blobserver storage type, predictably spraying out blobs out over the provided backends based on their blobref.
pkg/blobserver/statsPackage stats contains an in-memory StatReceiver that only stores sizes of received blobs but not their contents.
pkg/blobserver/storagetestPackage storagetest tests blobserver.Storage implementations
pkg/blobserver/unionPackage union registers the "union" read-only blobserver storage type to read from the given subsets, serving the first responding.
pkg/buildinfoPackage buildinfo provides information about the current build.
pkg/cacherPackage cacher provides various blobref fetching caching mechanisms.
pkg/camerrorsPackage camerrors define specific errors that are used to decide on how to deal with some failure cases.
pkg/camlegalPackage camlegal registers the Perkeep License
pkg/clientPackage client implements a Perkeep client.
pkg/client/androidPackage android contains code specific to running the Perkeep client code as a child process on Android.
pkg/cmdmainPackage cmdmain contains the shared implementation for pk-get, pk-put, pk, and other Perkeep command-line tools.
pkg/constantsPackage constants contains Perkeep constants.
pkg/convPackage conv contains utilities for parsing values delimited by spaces.
pkg/deploy/gcePackage gce provides tools to deploy Perkeep on Google Compute Engine.
pkg/envPackage env detects what sort of environment Perkeep is running in.
pkg/fileembedPackage fileembed provides access to static data resources (images, HTML, css, etc) embedded into the binary with genfileembed.
pkg/fileembed/genfileembedThe genfileembed command embeds resources into Go files, to eliminate run-time dependencies on files on the filesystem.
pkg/fsPackage fs implements a FUSE filesystem for Perkeep and is used by the pk-mount binary.
pkg/gcPackage gc defines a generic garbage collector.
pkg/gpgchallengePackage gpgchallenge provides a Client and a Server so that a Client can prove ownership of an IP address by solving a GPG challenge sent by the Server at the claimed IP.
pkg/gpgchallenge/clientThe client command is an example client of the gpgchallenge package.
pkg/gpgchallenge/serverThe server command is an example server of the gpgchallenge package.
pkg/importerPackage importer imports content from third-party websites.
pkg/importer/allimportersPackage allimporters registers all the importer implementations.
pkg/importer/dummyPackage dummy is an example importer for development purposes.
pkg/importer/feedPackage feed implements an importer for RSS, Atom, and RDF feeds.
pkg/importer/feed/atomPackage atom defines XML data structures for an Atom feed.
pkg/importer/feed/rdfPackage rdf defines XML data structures for an RDF feed.
pkg/importer/feed/rssPackage rss defines XML data structures for an RSS feed.
pkg/importer/flickrPackage flickr implements an importer for flickr.com accounts.
pkg/importer/gphotosPackage gphotos implements a Google Photos importer, using the Google Drive API to access the Google Photos folder.
pkg/importer/instapaperPackage instapaper implements a instapaper.com importer.
pkg/importer/mastodonPackage mastodon provides an importer for servers using the Mastodon API.
pkg/importer/picasaPackage picasa implements an importer for picasa.com accounts.
pkg/importer/pinboardPackage pinboard imports pinboard.in posts.
pkg/importer/plaidPackage plaid implements an importer for financial transactions from plaid.com
pkg/importer/swarmPackage swarm implements an importer for Foursquare Swarm check-ins.
pkg/importer/testPackage test provides common functionality for importer tests.
pkg/importer/twitterPackage twitter implements a twitter.com importer.
pkg/indexPackage index provides a generic indexing system on top of the abstract Storage interface.
pkg/index/indextestPackage indextest contains the unit tests for the indexer so they can be re-used for each specific implementation of the index Storage interface.
pkg/index/sqlindexPackage sqlindex implements the sorted.KeyValue interface using an *sql.DB.
pkg/index/sqlite
pkg/jsonsignPackage jsonsign implements Perkeep's cryptographic signing and verification of JSON blobs.
pkg/jsonsign/signhandlerPackage signhandler implements the HTTP interface to signing and verifying Perkeep JSON blobs.
pkg/kvutilPackage kvutil contains helpers related to github.com/cznic/kv.
pkg/publishPackage publish exposes the types and functions that can be used from a Go template, for publishing.
pkg/schemaPackage schema manipulates Camlistore schema blobs.
pkg/schema/nodeattrPackage nodeattr contains constants for permanode attribute names.
pkg/searchPackage search describes and answers Perkeep search queries.
pkg/serverPackage server implements the server HTTP interface for the UI, publishing, setup, status, sync, thubnailing, etc.
pkg/server/appPackage app helps with configuring and starting server applications from Perkeep.
pkg/serverinitPackage serverinit is responsible for mapping from a Perkeep configuration file and instantiating HTTP Handlers for all the necessary endpoints.
pkg/sortedPackage sorted provides a KeyValue interface and constructor registry.
pkg/sorted/bufferPackage buffer provides a sorted.KeyValue implementation that buffers one KeyValue implementation in front of an another.
pkg/sorted/kvfilePackage kvfile provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/cznic/kv.
pkg/sorted/kvtestPackage kvtest tests sorted.KeyValue implementations.
pkg/sorted/leveldbPackage leveldb provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/syndtr/goleveldb.
pkg/sorted/mongoPackage mongo provides an implementation of sorted.KeyValue using MongoDB.
pkg/sorted/mysqlPackage mysql provides an implementation of sorted.KeyValue on top of MySQL.
pkg/sorted/postgresPackage postgres provides an implementation of sorted.KeyValue on top of PostgreSQL.
pkg/sorted/sqlitePackage sqlite provides an implementation of sorted.KeyValue using an SQLite database file.
pkg/sorted/sqlkvPackage sqlkv implements the sorted.KeyValue interface using an *sql.DB.
pkg/testPackage test provides common Perkeep test objects.
pkg/test/assertsPackage asserts provides a bad implementation of test predicate helpers.
pkg/test/dockertestPackage dockertest contains helper functions for setting up and tearing down docker containers to aid in testing.
pkg/test/integration
pkg/types/camtypesPackage camtypes is like the types package, but higher-level and contains Perkeep-specific types.
pkg/types/clientconfigPackage clientconfig provides types related to the client configuration file.
pkg/types/serverconfigPackage serverconfig provides types related to the server configuration file.
pkg/webserverPackage webserver implements a superset wrapper of http.Server.
pkg/webserver/listen
server/camnetdnsThe camnetdns server serves camlistore.net's DNS server and its DNS challenges
server/perkeepdThe perkeepd binary is the Perkeep server.
server/perkeepd/uiPackage ui contains the resources for the Camlistore web UI.
server/perkeepd/ui/closure
server/perkeepd/ui/gouiThe goui program inserts the javascript code generated by gopherjs for the web UI into the existing web UI javascript codebase.
server/perkeepd/ui/goui/aboutdialogPackage aboutdialog provides a menu item element that is used in the header menu of the web UI, to display an "About" dialog.
server/perkeepd/ui/goui/dirchildrenPackage dirchildren provides a Query object suitable to send search queries to get the children of a directory, for use in the Directory aspect of the web UI.
server/perkeepd/ui/goui/downloadbuttonPackage downloadbutton provides a Button element that is used in the sidebar of the web UI, to download as a zip file all selected files.
server/perkeepd/ui/goui/geoPackage geo provides utilities helping with geographic coordinates in the map aspect of the Perkeep web UI.
server/perkeepd/ui/goui/importsharePackage importshare provides a method to import blobs shared from another Perkeep server.
server/perkeepd/ui/goui/mapqueryPackage mapquery provides a Query object suitable to send search queries from the map aspect of the web UI.
server/perkeepd/ui/goui/selectallbuttonPackage selectallbutton provides a Button element that is used in the sidebar of the web UI, to select all the items matching the current search in the web UI.
server/perkeepd/ui/goui/sharebuttonPackage sharebutton provides a Button element that is used in the sidebar of the web UI, to share the selected items with a share claim.

Updated 2020-10-11. Refresh now. Tools for package owners.