Release 0.1 ("Grenoble")
After three years of development, we're proud to release our first version of Camlistore, 0.1, codename "Grenoble", the beautiful city where we're currently releasing it from.
As reflected in the version number, Camlistore is not yet done, but it's at least ready for people to start using and playing with. We've been using it ourselves for a year.
We plan to do subsequent releases in a more timely fashion.
- Linux and OS X support. And probably any Unix.
- Command-line tools:
camput: upload blobs, files, or directories (any size). The camput tool can also make share claims to share those resources with others, or can be used to make raw permanodes & claims.
camget: get blobs or files (not directories), either your own, or from friends' Camlistore servers if they've shared with you.
cammount: FUSE-mount your Camlistore (Linux and OS X only): either static directories (e.g. backups from camput), or a virtual "recent" directories of recent files uploaded (e.g. from your Android phone)
camtool: additional swiss-army knife tools, and manual sync tool ("camtool sync").
camlistored: the server.
- Web UI (optional part of the server, on by default). Not great, but lets you browse your Camlistore resources.
- Android client: upload photos ("Share to Camlistore")
- Blob storage options: local disk, Amazon S3, Google Cloud Storage, ...
- Search index storage options: in-memory, SQLite, MySQL, Postgres, Mongo, ...
- All sorts of replication:
camlistored: The server supports both asynchronous and synchronous replication from incoming blobs to any storage backend, which includes other remote Camlistore servers
camtool sync: The camtool command supports syncing from servers (or local disk blob directories) to other servers (or other local disk blob directories), as well as a "third-leg" mode, where you can sync from A to B> by using the network to communicate differences, but instead copying missing blobs to destination C (e.g. a local portable harddisk to be manually transported to B)
- The server and command-line tools are written in Go, so it runs everywhere, and easily (no library versioning stress). Just a single binary to copy to your Raspberry Pi running NetBSD or Linux or whatever.
- Sharding, mirroring, unioning, ...
What doesn't work (or work well)
Things currently known to be broken or not yet finished:
- Windows support. Has worked at times, but may currently be broken again. It will improve and hopefully stay stable in future releases.
- iOS client. Nascent.
- WebDAV server (for mounting your Camlistore resources on Windows) is currently broken, but once worked.
- App Engine support. App Engine used to work, but is currently broken until a new App Engine SDK comes out with Go 1.1 support (soon).
- Encryption. Designed, but not implemented.
Much is planned:
- Much more documentation
- Photo gallery & blog serving
- More sharing support
- Import from social networks & web services
- Fixing all the broken things.
- Better, sexier web interface
- Easier to install and use
We welcome feedback, feature requests, bug reports, and code contributions!