
Security News
Risky Biz Podcast: Making Reachability Analysis Work in Real-World Codebases
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
cloud_encrypted_sync
Advanced tools
Cloud Encrypted Sync (CES) is a command line tool distributed as a Ruby gem for syncing a local folder to cloud storage via external adapters, with localy managed encryption (you control the keys).
Even though you could simply use CES to backup a local folder to the cloud, it's original intended purpose is to sync a folder across multiple computers, so it should work for that, too.
gem install cloud_encrypted_sync
In addition to this gem you'll also need to install an adapter gem for the particular cloud you want to backup to. At the time of this writing, the author has provided two adapters, one for Amazon S3 (cloud_encrypted_sync_s3_adapter) and one for local filesystems (cloud_encrypted_sync_filesystem_adapter) which has been tested to work with Ubuntu One and Dropbox folders, and should work well with any other cloud storage service that uses similar "magic" folders on the local file system. In addition, anyone can create an adapter to work with other clouds. Search rubygems.org for "cloud encrypted sync" to find out if someone has already created an adapter for your preferred cloud.
CES runs as a command line tool and takes options as CLI arguments and/or from a config file. Arguments passed at the command line take precedence over those in the config file.
ces --adapter s3 \
--s3-bucket my-backup-bucket \
--s3-access-key-id ACCESS_KEY_ID \
--s3-access-id SECRET_ACCESS_KEY \
--encryption-key MYENCRYPTIONKEY \
/path/to/source/folder
Configuration options may be passed to CES via the command line, or via a config yaml file.
The default location for the config file is ~/.cloud_encrypted_sync/config.rc.yml
CES requires the following configuration settings. Any of these may alternatively be placed in
the config.rc.yml
except for --data-dir
(which tells CES which folder contains the config
file to use).
--adapter ADAPTERNAME
The name of the adapter to use. See instructions for your preferred
adapter for instructions of what to place here.--encryption-key XXX
The encryption key (shocking, I know).In addition to these settings, your chosen adapter will probably also have additional adapter
specific settings as well, such as credentials to log into your cloud storage account. Adapter
specific settings may work the same the the above standard settings in that they may be included
on the command or in the config.rc.yml
file (unless the adapter author breaks convention and
tries to do something weird).
To create your own adapter to a cloud storage service, you'll need to do the following.
cloud_encrypted_sync_*_adapter
where *
is the name of your adapter.
It is recommended that you name your adapter after the cloud service that it interfaces to.
(eg. cloud_encrypted_sync_s3_adapter ). CES will not be able to find and load your adapter
unless it precisely matches this naming convention.CloudEncryptedSync::Adapters
namespace that
inherites from Template
. The name of this class will determine the value that users pass with
--adaper
on the command line to select your adapter. For instance, if you name your class
MySuperDooperAdapter
, then users will need to pass --adapter my_super_dooper_adapter
at the
command line to select your adapter.Note: cloud_encrypted_sync_baseline_adapter is a forkable repository that should make the above steps easier. Simply fork it, rename it, update it as necessary, and push it to rubygems.org.
It is likely that, before publishing your new adapter to rubygems.org, you'll want to build and install your gem locally to test it with CES. When you do this you'll also want to have the CES gem itself built and installed locally, rather than installed from rubygems.org. It has been found that when CES has been installed from rubygems.org, it is unable to find and load locally built adapters, and visa-versa. The CES author is very interested in any patches that provide an elegant solution to this annoyance.
FAQs
Unknown package
We found that cloud_encrypted_sync demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.
Security News
CISA’s 2025 draft SBOM guidance adds new fields like hashes, licenses, and tool metadata to make software inventories more actionable.