perkeep.org

module
Version: v0.0.0-...-0f53db2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2021 License: Apache-2.0

README

Perkeep is your personal storage system.

It's a way to store, sync, share, import, model, and back up content. Keep your stuff for life.

For more, see
Other useful files
  • BUILDING - how to compile it ("go run make.go")
  • CONTRIBUTING - how to do development and contribute
Perkeep Resources
Continuous Integration

Linux Test Status Windows Test Status

Code of Conduct

Please note that this project uses a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Directories

Path Synopsis
app
hello
The hello application serves as an example on how to make stand-alone server applications, interacting with a Perkeep server.
The hello application serves as an example on how to make stand-alone server applications, interacting with a Perkeep server.
publisher
The publisher application serves and renders items published by Perkeep.
The publisher application serves and renders items published by Perkeep.
publisher/js
This package contains source code for gopherjs, to generate javascript code that is included in the publisher web UI.
This package contains source code for gopherjs, to generate javascript code that is included in the publisher web UI.
scanningcabinet
The scanning cabinet program is a server application to store scanned documents in Perkeep, and to manage them.
The scanning cabinet program is a server application to store scanned documents in Perkeep, and to manage them.
scanningcabinet/scancab
The scancab tool scans document and uploads them to the scanning cabinet Perkeep application.
The scancab tool scans document and uploads them to the scanning cabinet Perkeep application.
scanningcabinet/ui
TODO(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.
TODO(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/closure
The updatelibrary command allows to selectively download from the closure library git repository (at a chosen revision) the resources needed by the Perkeep ui.
The updatelibrary command allows to selectively download from the closure library git repository (at a chosen revision) the resources needed by the Perkeep ui.
web/embed/keepy
Package keepy embeds the keepy parakeet animation resources.
Package keepy embeds the keepy parakeet animation resources.
web/embed/leaflet
Package 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.
Package 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.
web/embed/less
Package less provides the LESS CSS framework/rewriter.
Package less provides the LESS CSS framework/rewriter.
web/embed/opensans
Package opensans provides access to the Font Awesome font library and embeds them into the Go binary when compiled with the genfileembed tool.
Package opensans provides access to the Font Awesome font library and embeds them into the Go binary when compiled with the genfileembed tool.
web/embed/react
Package react provides access to the React JavaScript libraries and embeds them into the Go binary when compiled with the genfileembed tool.
Package react provides access to the React JavaScript libraries and embeds them into the Go binary when compiled with the genfileembed tool.
cmd
pk
The pk binary is a collection of commands to help with the use of a camlistore server.
The pk binary is a collection of commands to help with the use of a camlistore server.
pk-deploy
The pk-deploy program deploys Perkeep on cloud computing platforms such as Google Compute Engine or Amazon EC2.
The pk-deploy program deploys Perkeep on cloud computing platforms such as Google Compute Engine or Amazon EC2.
pk-devimport
The pk-devimport command runs an importer, using the importer code linked into the binary, against a Perkeep server.
The pk-devimport command runs an importer, using the importer code linked into the binary, against a Perkeep server.
pk-get
The pk-get tool fetches blobs, files, and directories.
The pk-get tool fetches blobs, files, and directories.
pk-mount
The pk-mount tool mounts a root directory blob onto the given mountpoint.
The pk-mount tool mounts a root directory blob onto the given mountpoint.
pk-put
The pk-put tool mainly pushes blobs, files, and directories.
The pk-put tool mainly pushes blobs, files, and directories.
dev
update_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.
update_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.
devcam
The 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.
The 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.
envvardoc
Program envvardoc will verify all referenced environment variables in go source are properly documented.
Program envvardoc will verify all referenced environment variables in go source are properly documented.
misc
docker
Command dock builds Perkeep's various Docker images.
Command dock builds Perkeep's various Docker images.
docker/synology
Command build_syno builds and packages Perkeep for Synology appliances.
Command build_syno builds and packages Perkeep for Synology appliances.
release
Command make-release builds the tarballs and zip archives for the Perkeep release downloads.
Command make-release builds the tarballs and zip archives for the Perkeep release downloads.
pkg
app
Package app provides helpers for server applications interacting with Perkeep.
Package app provides helpers for server applications interacting with Perkeep.
auth
Package auth implements Camlistore authentication.
Package auth implements Camlistore authentication.
blob
Package blob defines types to refer to and retrieve low-level Perkeep blobs.
Package blob defines types to refer to and retrieve low-level Perkeep blobs.
blobserver
Package blobserver defines how raw blobs are stored and accessed.
Package blobserver defines how raw blobs are stored and accessed.
blobserver/archiver
Package archiver zips lots of little blobs into bigger zip files and stores them somewhere.
Package archiver zips lots of little blobs into bigger zip files and stores them somewhere.
blobserver/azure
Package azure registers the "azure" blobserver storage type, storing blobs in a Microsoft Azure Blob Storage container.
Package azure registers the "azure" blobserver storage type, storing blobs in a Microsoft Azure Blob Storage container.
blobserver/blobpacked
Package 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.
Package 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.
blobserver/cond
Package 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.
Package 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.
blobserver/dir
Package dir implements the blobserver Storage interface for a directory, detecting whether the directory is file-per-blob (localdisk) or diskpacked.
Package dir implements the blobserver Storage interface for a directory, detecting whether the directory is file-per-blob (localdisk) or diskpacked.
blobserver/diskpacked
Package 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.
Package 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.
blobserver/encrypt
Package encrypt registers the "encrypt" blobserver storage type which stores all blobs and metadata with NaCl encryption into other wrapped storage targets (e.g.
Package encrypt registers the "encrypt" blobserver storage type which stores all blobs and metadata with NaCl encryption into other wrapped storage targets (e.g.
blobserver/files
Package files implements the blobserver interface by storing each blob in its own file in nested directories.
Package files implements the blobserver interface by storing each blob in its own file in nested directories.
blobserver/gethandler
Package gethandler implements the HTTP handler for fetching blobs.
Package gethandler implements the HTTP handler for fetching blobs.
blobserver/google/cloudstorage
Package cloudstorage registers the "googlecloudstorage" blob storage type, storing blobs on Google Cloud Storage (not Google Drive).
Package cloudstorage registers the "googlecloudstorage" blob storage type, storing blobs on Google Cloud Storage (not Google Drive).
blobserver/google/drive
Package drive registers the "googledrive" blobserver storage type, storing blobs in a Google Drive folder.
Package drive registers the "googledrive" blobserver storage type, storing blobs in a Google Drive folder.
blobserver/google/drive/service
Package service translates blobserver.Storage methods into Google Drive API methods.
Package service translates blobserver.Storage methods into Google Drive API methods.
blobserver/handlers
Package handlers implements the HTTP interface to the Perkeep blob server.
Package handlers implements the HTTP interface to the Perkeep blob server.
blobserver/local
Package local implements functionality common to both the "localdisk" and "diskpacked" storage mechanisms.
Package local implements functionality common to both the "localdisk" and "diskpacked" storage mechanisms.
blobserver/localdisk
Package localdisk registers the "filesystem" blobserver storage type, storing blobs in a forest of sharded directories at the specified root.
Package localdisk registers the "filesystem" blobserver storage type, storing blobs in a forest of sharded directories at the specified root.
blobserver/memory
Package memory registers the "memory" blobserver storage type, storing blobs in an in-memory map.
Package memory registers the "memory" blobserver storage type, storing blobs in an in-memory map.
blobserver/mongo
Package mongo registers the "mongo" blobserver storage type, storing blobs using MongoDB.
Package mongo registers the "mongo" blobserver storage type, storing blobs using MongoDB.
blobserver/namespace
Package namespace implements the "namespace" blobserver storage type.
Package namespace implements the "namespace" blobserver storage type.
blobserver/overlay
Package 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").
Package 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").
blobserver/protocol
Package protocol contains types for Perkeep protocol types.
Package protocol contains types for Perkeep protocol types.
blobserver/proxycache
Package proxycache registers the "proxycache" blobserver storage type, which uses a provided blobserver as a cache for a second origin blobserver.
Package proxycache registers the "proxycache" blobserver storage type, which uses a provided blobserver as a cache for a second origin blobserver.
blobserver/remote
Package remote registers the "remote" blobserver storage type, storing and fetching blobs from a remote Perkeep server over HTTPS.
Package remote registers the "remote" blobserver storage type, storing and fetching blobs from a remote Perkeep server over HTTPS.
blobserver/replica
Package replica registers the "replica" blobserver storage type, providing synchronous replication to one more backends.
Package replica registers the "replica" blobserver storage type, providing synchronous replication to one more backends.
blobserver/s3
Package s3 registers the "s3" blobserver storage type, storing blobs in an Amazon Web Services' S3 storage bucket.
Package s3 registers the "s3" blobserver storage type, storing blobs in an Amazon Web Services' S3 storage bucket.
blobserver/sftp
Package 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.
Package 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.
blobserver/shard
Package shard registers the "shard" blobserver storage type, predictably spraying out blobs out over the provided backends based on their blobref.
Package shard registers the "shard" blobserver storage type, predictably spraying out blobs out over the provided backends based on their blobref.
blobserver/stats
Package stats contains an in-memory StatReceiver that only stores sizes of received blobs but not their contents.
Package stats contains an in-memory StatReceiver that only stores sizes of received blobs but not their contents.
blobserver/storagetest
Package storagetest tests blobserver.Storage implementations
Package storagetest tests blobserver.Storage implementations
blobserver/union
Package union registers the "union" read-only blobserver storage type to read from the given subsets, serving the first responding.
Package union registers the "union" read-only blobserver storage type to read from the given subsets, serving the first responding.
buildinfo
Package buildinfo provides information about the current build.
Package buildinfo provides information about the current build.
cacher
Package cacher provides various blobref fetching caching mechanisms.
Package cacher provides various blobref fetching caching mechanisms.
camerrors
Package camerrors define specific errors that are used to decide on how to deal with some failure cases.
Package camerrors define specific errors that are used to decide on how to deal with some failure cases.
camlegal
Package camlegal registers the Perkeep License
Package camlegal registers the Perkeep License
client
Package client implements a Perkeep client.
Package client implements a Perkeep client.
client/android
Package android contains code specific to running the Perkeep client code as a child process on Android.
Package android contains code specific to running the Perkeep client code as a child process on Android.
cmdmain
Package cmdmain contains the shared implementation for pk-get, pk-put, pk, and other Perkeep command-line tools.
Package cmdmain contains the shared implementation for pk-get, pk-put, pk, and other Perkeep command-line tools.
constants
Package constants contains Perkeep constants.
Package constants contains Perkeep constants.
conv
Package conv contains utilities for parsing values delimited by spaces.
Package conv contains utilities for parsing values delimited by spaces.
deploy/gce
Package gce provides tools to deploy Perkeep on Google Compute Engine.
Package gce provides tools to deploy Perkeep on Google Compute Engine.
env
Package env detects what sort of environment Perkeep is running in.
Package env detects what sort of environment Perkeep is running in.
fs
Package fs implements a FUSE filesystem for Perkeep and is used by the pk-mount binary.
Package fs implements a FUSE filesystem for Perkeep and is used by the pk-mount binary.
gc
Package gc defines a generic garbage collector.
Package gc defines a generic garbage collector.
gpgchallenge
Package 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.
Package 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.
gpgchallenge/client
The client command is an example client of the gpgchallenge package.
The client command is an example client of the gpgchallenge package.
gpgchallenge/server
The server command is an example server of the gpgchallenge package.
The server command is an example server of the gpgchallenge package.
importer
Package importer imports content from third-party websites.
Package importer imports content from third-party websites.
importer/allimporters
Package allimporters registers all the importer implementations.
Package allimporters registers all the importer implementations.
importer/dummy
Package dummy is an example importer for development purposes.
Package dummy is an example importer for development purposes.
importer/feed
Package feed implements an importer for RSS, Atom, and RDF feeds.
Package feed implements an importer for RSS, Atom, and RDF feeds.
importer/feed/atom
Package atom defines XML data structures for an Atom feed.
Package atom defines XML data structures for an Atom feed.
importer/feed/rdf
Package rdf defines XML data structures for an RDF feed.
Package rdf defines XML data structures for an RDF feed.
importer/feed/rss
Package rss defines XML data structures for an RSS feed.
Package rss defines XML data structures for an RSS feed.
importer/flickr
Package flickr implements an importer for flickr.com accounts.
Package flickr implements an importer for flickr.com accounts.
importer/gphotos
Package gphotos implements a Google Photos importer, using the Google Drive API to access the Google Photos folder.
Package gphotos implements a Google Photos importer, using the Google Drive API to access the Google Photos folder.
importer/instapaper
Package instapaper implements a instapaper.com importer.
Package instapaper implements a instapaper.com importer.
importer/mastodon
Package mastodon provides an importer for servers using the Mastodon API.
Package mastodon provides an importer for servers using the Mastodon API.
importer/picasa
Package picasa implements an importer for picasa.com accounts.
Package picasa implements an importer for picasa.com accounts.
importer/pinboard
Package pinboard imports pinboard.in posts.
Package pinboard imports pinboard.in posts.
importer/plaid
Package plaid implements an importer for financial transactions from plaid.com
Package plaid implements an importer for financial transactions from plaid.com
importer/swarm
Package swarm implements an importer for Foursquare Swarm check-ins.
Package swarm implements an importer for Foursquare Swarm check-ins.
importer/test
Package test provides common functionality for importer tests.
Package test provides common functionality for importer tests.
importer/twitter
Package twitter implements a twitter.com importer.
Package twitter implements a twitter.com importer.
index
Package index provides a generic indexing system on top of the abstract sorted.KeyValue interface.
Package index provides a generic indexing system on top of the abstract sorted.KeyValue interface.
index/indextest
Package indextest contains the unit tests for the indexer so they can be re-used for each specific implementation of the index Storage interface.
Package indextest contains the unit tests for the indexer so they can be re-used for each specific implementation of the index Storage interface.
jsonsign
Package jsonsign implements Perkeep's cryptographic signing and verification of JSON blobs.
Package jsonsign implements Perkeep's cryptographic signing and verification of JSON blobs.
jsonsign/signhandler
Package signhandler implements the HTTP interface to signing and verifying Perkeep JSON blobs.
Package signhandler implements the HTTP interface to signing and verifying Perkeep JSON blobs.
kvutil
Package kvutil contains helpers related to github.com/cznic/kv.
Package kvutil contains helpers related to github.com/cznic/kv.
publish
Package publish exposes the types and functions that can be used from a Go template, for publishing.
Package publish exposes the types and functions that can be used from a Go template, for publishing.
schema
Package schema manipulates Camlistore schema blobs.
Package schema manipulates Camlistore schema blobs.
schema/nodeattr
Package nodeattr contains constants for permanode attribute names.
Package nodeattr contains constants for permanode attribute names.
search
Package search describes and answers Perkeep search queries.
Package search describes and answers Perkeep search queries.
server
Package server implements the server HTTP interface for the UI, publishing, setup, status, sync, thubnailing, etc.
Package server implements the server HTTP interface for the UI, publishing, setup, status, sync, thubnailing, etc.
server/app
Package app helps with configuring and starting server applications from Perkeep.
Package app helps with configuring and starting server applications from Perkeep.
serverinit
Package serverinit is responsible for mapping from a Perkeep configuration file and instantiating HTTP Handlers for all the necessary endpoints.
Package serverinit is responsible for mapping from a Perkeep configuration file and instantiating HTTP Handlers for all the necessary endpoints.
sorted
Package sorted provides a KeyValue interface and constructor registry.
Package sorted provides a KeyValue interface and constructor registry.
sorted/buffer
Package buffer provides a sorted.KeyValue implementation that buffers one KeyValue implementation in front of an another.
Package buffer provides a sorted.KeyValue implementation that buffers one KeyValue implementation in front of an another.
sorted/kvfile
Package kvfile provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/cznic/kv.
Package kvfile provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/cznic/kv.
sorted/kvtest
Package kvtest tests sorted.KeyValue implementations.
Package kvtest tests sorted.KeyValue implementations.
sorted/leveldb
Package leveldb provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/syndtr/goleveldb.
Package leveldb provides an implementation of sorted.KeyValue on top of a single mutable database file on disk using github.com/syndtr/goleveldb.
sorted/mongo
Package mongo provides an implementation of sorted.KeyValue using MongoDB.
Package mongo provides an implementation of sorted.KeyValue using MongoDB.
sorted/mysql
Package mysql provides an implementation of sorted.KeyValue on top of MySQL.
Package mysql provides an implementation of sorted.KeyValue on top of MySQL.
sorted/postgres
Package postgres provides an implementation of sorted.KeyValue on top of PostgreSQL.
Package postgres provides an implementation of sorted.KeyValue on top of PostgreSQL.
sorted/sqlite
Package sqlite provides an implementation of sorted.KeyValue using an SQLite database file.
Package sqlite provides an implementation of sorted.KeyValue using an SQLite database file.
sorted/sqlkv
Package sqlkv implements the sorted.KeyValue interface using an *sql.DB.
Package sqlkv implements the sorted.KeyValue interface using an *sql.DB.
test
Package test provides common Perkeep test objects.
Package test provides common Perkeep test objects.
test/asserts
Package asserts provides a bad implementation of test predicate helpers.
Package asserts provides a bad implementation of test predicate helpers.
test/dockertest
Package dockertest contains helper functions for setting up and tearing down docker containers to aid in testing.
Package dockertest contains helper functions for setting up and tearing down docker containers to aid in testing.
types/camtypes
Package camtypes is like the types package, but higher-level and contains Perkeep-specific types.
Package camtypes is like the types package, but higher-level and contains Perkeep-specific types.
types/clientconfig
Package clientconfig provides types related to the client configuration file.
Package clientconfig provides types related to the client configuration file.
types/serverconfig
Package serverconfig provides types related to the server configuration file.
Package serverconfig provides types related to the server configuration file.
webserver
Package webserver implements a superset wrapper of http.Server.
Package webserver implements a superset wrapper of http.Server.
server
camnetdns
The camnetdns server serves camlistore.net's DNS server and its DNS challenges
The camnetdns server serves camlistore.net's DNS server and its DNS challenges
perkeepd
The perkeepd binary is the Perkeep server.
The perkeepd binary is the Perkeep server.
perkeepd/ui
Package ui contains the resources for the Camlistore web UI.
Package ui contains the resources for the Camlistore web UI.
website
internal
azure/storage
Package storage implements a generic Azure storage client, not specific to Perkeep.
Package storage implements a generic Azure storage client, not specific to Perkeep.
closure
Package closure provides tools to help with the use of the closure library.
Package closure provides tools to help with the use of the closure library.
closure/genclosuredeps
The 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.
The 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.
closure/jstest
Package jstest uses the Go testing package to test JavaScript code using Node and Mocha.
Package jstest uses the Go testing package to test JavaScript code using Node and Mocha.
geocode
Package geocode handles mapping user-entered locations into lat/long polygons.
Package geocode handles mapping user-entered locations into lat/long polygons.
gpgagent
Package gpgagent interacts with the local GPG Agent.
Package gpgagent interacts with the local GPG Agent.
hashutil
Package hashutil contains misc hashing functions lacking homes elsewhere.
Package hashutil contains misc hashing functions lacking homes elsewhere.
httputil
Package httputil contains a bunch of HTTP utility code, some generic, and some Perkeep-specific.
Package httputil contains a bunch of HTTP utility code, some generic, and some Perkeep-specific.
images/fastjpeg
Package fastjpeg uses djpeg(1), from the Independent JPEG Group's (www.ijg.org) jpeg package, to quickly down-sample images on load.
Package fastjpeg uses djpeg(1), from the Independent JPEG Group's (www.ijg.org) jpeg package, to quickly down-sample images on load.
images/resize
Package resize resizes images.
Package resize resizes images.
lru
Package lru implements an LRU cache.
Package lru implements an LRU cache.
magic
Package magic implements MIME type sniffing of data based on the well-known "magic" number prefixes in the file.
Package magic implements MIME type sniffing of data based on the well-known "magic" number prefixes in the file.
media
Package media provides means for querying information about audio and video data.
Package media provides means for querying information about audio and video data.
netutil
Package netutil identifies the system userid responsible for localhost TCP connections.
Package netutil identifies the system userid responsible for localhost TCP connections.
osutil
Package osutil provides operating system-specific path information, and other utility functions.
Package osutil provides operating system-specific path information, and other utility functions.
osutil/gce
Package gce configures hooks for running Perkeep for Google Compute Engine.
Package gce configures hooks for running Perkeep for Google Compute Engine.
pinentry
Package pinentry interfaces with the pinentry(1) command to securely prompt the user for a password using whichever user interface the user is currently using.
Package pinentry interfaces with the pinentry(1) command to securely prompt the user for a password using whichever user interface the user is currently using.
testhooks
Package 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.
Package 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.
video/thumbnail
Package thumbnail generates image thumbnails from videos.
Package thumbnail generates image thumbnails from videos.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL