RS3F is the file sharing tool used at Corexalys.
It is based on sshfs + gocryptfs to share files in a zero-trust architecture.
It relies on keepassxc or pass to fetch the password for a volume. If none are available, it falls back to a simple stdin password prompt.
- Fetch the latest
rs3f_all.debfrom the releases page - Install it by double clicking on it (if your DE supports it)
OR
Copy the deb file to /tmp/rs3f.deb and run
sudo apt-get install -y -f /tmp/rs3f.deb
- Clone the repo
git clone https://github.com/Corexalys/rs3f
- Install the package to your user env
cd rs3f nix-env -i -f default.nix
# Mount a volume
rs3fc mount volname@server:port target
rs3fc mount volname@server target
rs3fc mount volname target
rs3fc mount volname
# Unmount a volume
rs3fc umount targetYou can use a config file to specify the default server/port, the default mountpoint target, the "password pattern" or the keepassxc database path.
Here is an example configuration file:
# ~/.config/rs3f/config.ini
# or
# ~/.rs3f.ini
[rs3f]
mountpoint=./{volume}
# Use keepass by default, with a custom database path
fetchers=keepassxc,stdin
password_pattern=rs3f/{volume}@{server}:{port}
keepassxc_database=~/Passwords.kdbx
# Set the default server and port to use
server=my_rs3f_server.com
port=22
# Debug sshfs
sshfs_extra_args=-d
# Readonly gocryptfs mounts and debug
gocrypfts_extra_args=-ro -dAt the moment the source code is not yet published. Once fully reviewed internally, it will be available at github.com/Corexalys/rs3f_server.
A volume is represented on the server as a user.
rs3fcfirst connects to the server usingsshfsas the desired user- it then mounts a
gocryptfsthat is available in the volume's home