Skip to content

Commit a6b39cb

Browse files
committed
Updated docs and added Local Filesystem passthrough commands
1 parent 6d28605 commit a6b39cb

12 files changed

Lines changed: 2361 additions & 3 deletions

File tree

README.md

Lines changed: 249 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,24 @@ Want an interactive demo of our sharing capabilities, [click here](https://zephy
1818
- ☁️ **GitHub-Backed Storage**: Uses a private GitHub repository as distributed storage
1919
- 🗂️ **Hierarchical Organization**: Create folders and organize files with full path support
2020
- 🔍 **Search Functionality**: Quickly find files by name or path
21-
- 📝 **Version Control**: Full git history of all vault operations
21+
- 📝 **Version Control**: Full git history of all vault operations with customizable commit messages
2222
- 💻 **Cross-Platform**: Works on Windows, macOS, and Linux
2323
- 🎯 **Stateless Mode**: Use with `-u` flag to authenticate without persistent sessions
24-
- 🔄 **Interactive Shell**: REPL mode for multiple commands without re-authentication
24+
- 🔄 **Interactive Shell (REPL)**:
25+
- Multiple commands without re-authentication
26+
- TAB completion for file paths
27+
- Local filesystem access via `lls`/`ldir` commands
28+
- Real-time command history
2529
- 📤 **Secure File Sharing**: Share individual files without exposing your entire vault
2630
- Generate shareable links with unique encryption keys
2731
- Share via command-line or browser-based download page
2832
- Recipients decrypt files in their browser (zero-knowledge sharing)
29-
- Complete file metadata and history in share links
33+
- Search and manage shared files by name
34+
- Easy revocation of access
35+
- ⚙️ **Configurable Settings**: Customize commit attribution, hash lengths, and messages
36+
- 📊 **Vault Information**: Get statistics and metadata about files and vault size
37+
- 📖 **File Preview**: Read file contents directly without download
38+
- ⏱️ **Progress Indicators**: Visual feedback during all vault operations
3039

3140
## Prerequisites
3241

@@ -125,6 +134,7 @@ Username: myusername
125134
Password: ••••••••••
126135
✔ Welcome, myusername. Session Active.
127136
Type 'help' for commands or 'exit' to quit.
137+
(Press TAB to autocomplete file paths)
128138
129139
zep> upload ./document.pdf documents/report.pdf
130140
✔ Upload successful.
@@ -134,9 +144,19 @@ NAME TYPE STORAGE ID
134144
---- ---- ----------
135145
report.pdf [FILE] a3f2e1c9d4b6f8e2
136146
147+
zep> lls Documents
148+
file1.txt
149+
file2.pdf
150+
137151
zep> exit
138152
```
139153

154+
**REPL Features:**
155+
- **TAB Completion**: Press TAB to cycle through file path suggestions
156+
- **Local File Access**: Use `lls`/`ldir` to browse local filesystem without exiting shell
157+
- **Persistent Session**: Stay authenticated across multiple commands
158+
- **Command History**: Shell remembers previous commands
159+
140160
### Command Line Mode
141161

142162
Run commands directly without entering the shell:
@@ -671,6 +691,232 @@ Completely removes all files and history from the remote vault. **This is irreve
671691

672692
---
673693

694+
### `read` - Display File Contents
695+
696+
Read and display file contents directly from the vault without downloading to disk.
697+
698+
**Usage:**
699+
```bash
700+
./zep read <vault-path> [--shared <share-string>]
701+
```
702+
703+
**Aliases:** `cat`, `view`, `display`
704+
705+
**Arguments:**
706+
- `vault-path`: Path to file in vault
707+
708+
**Flags:**
709+
- `--shared <share-string>`: Read a shared file
710+
711+
**Examples:**
712+
```bash
713+
# Read a text file
714+
./zep read documents/notes.txt
715+
716+
# Read with pipes
717+
./zep read documents/log.txt | grep ERROR
718+
719+
# Read shared file
720+
./zep read _ --shared "username:ref:password:base64"
721+
```
722+
723+
**Use Cases:**
724+
- Quick file preview without saving to disk
725+
- Content search and filtering
726+
- Viewing configuration files
727+
- Checking log files
728+
729+
**Note**: Best for text files. Binary files will appear as gibberish.
730+
731+
---
732+
733+
### `info` - Display Vault or File Information
734+
735+
Get detailed information about your vault or specific files.
736+
737+
**Usage:**
738+
```bash
739+
./zep info [file-path]
740+
```
741+
742+
**Examples:**
743+
```bash
744+
# Vault statistics (no arguments)
745+
./zep info
746+
# Output: Total files, folders, size, settings, etc.
747+
748+
# File information
749+
./zep info documents/report.pdf
750+
# Output: File size, storage ID, encryption key, path, etc.
751+
```
752+
753+
**Shows:**
754+
- When called without arguments:
755+
- Total files and folders
756+
- Total vault size
757+
- Commit author and message settings
758+
- File/share hash lengths
759+
760+
- When called with file path:
761+
- File name, path, type
762+
- Storage ID and encrypted key
763+
- File size
764+
- Folder contents summary
765+
766+
**Use Cases:**
767+
- Audit vault size and contents
768+
- Verify file metadata before sharing
769+
- Check storage efficiency
770+
- Find large files
771+
772+
---
773+
774+
### `settings show` - Display Vault Settings
775+
776+
Display all current vault configuration settings.
777+
778+
**Usage:**
779+
```bash
780+
./zep settings show
781+
```
782+
783+
**Example Output:**
784+
```
785+
=== Vault Settings ===
786+
Commit Author: Zephyrus <auchrio@proton.me>
787+
Commit Message: Zephyrus: Updated Vault
788+
File Hash Length: 16 chars
789+
Share Hash Length: 6 chars
790+
```
791+
792+
**Shows:**
793+
- Git commit author name and email
794+
- Default commit message
795+
- File storage ID length
796+
- Share reference hash length
797+
798+
---
799+
800+
### `settings set` - Modify Vault Settings
801+
802+
Update specific vault configuration values.
803+
804+
**Usage:**
805+
```bash
806+
./zep settings set <key> <value>
807+
```
808+
809+
**Arguments:**
810+
- `key`: Setting to modify (case-insensitive)
811+
- `author_name` - Git commit author
812+
- `author_email` - Git commit email
813+
- `commit_message` - Default commit message
814+
- `file_hash_length` - Storage ID length (8-64)
815+
- `share_hash_length` - Share ref length (4-32)
816+
- `value`: New value for setting
817+
818+
**Examples:**
819+
```bash
820+
# Custom git author
821+
./zep settings set author_name "Engineering Team"
822+
./zep settings set author_email "eng@company.com"
823+
824+
# Longer hash lengths
825+
./zep settings set file_hash_length 32
826+
./zep settings set share_hash_length 8
827+
828+
# Custom commit message
829+
./zep settings set commit_message "Daily Backup"
830+
```
831+
832+
**Effect:** All future operations use updated settings in git history.
833+
834+
---
835+
836+
### `shared info` - View Share Details
837+
838+
Get detailed information about a specific share.
839+
840+
**Usage:**
841+
```bash
842+
./zep shared info <share-id>
843+
```
844+
845+
**Arguments:**
846+
- `share-id`: Share reference ID
847+
848+
**Example:**
849+
```bash
850+
./zep shared info 72cTWg
851+
# Output: Filename, vault path, creation date, share details
852+
```
853+
854+
---
855+
856+
### `localls` - List Local Files
857+
858+
List files from your local filesystem. REPL-only command.
859+
860+
**Usage (REPL only):**
861+
```bash
862+
zep> localls [arguments]
863+
```
864+
865+
**Aliases:** `lls`
866+
867+
**Arguments:** Pass any `ls` (Unix/Linux) or `dir` (Windows) arguments
868+
869+
**Behavior:**
870+
- **Linux/macOS**: Runs `ls` command
871+
- **Windows**: Runs `ls` if available, falls back to `dir`
872+
873+
**Examples:**
874+
```bash
875+
zep> lls
876+
zep> lls Documents
877+
zep> lls -la
878+
zep> lls *.pdf
879+
```
880+
881+
**Use Cases:**
882+
- Verify files exist before upload
883+
- Navigate local directories in REPL
884+
- No need to exit shell to check files
885+
886+
---
887+
888+
### `localdir` - Detailed Local Directory Listing
889+
890+
List files with detailed information from your local filesystem. REPL-only command.
891+
892+
**Usage (REPL only):**
893+
```bash
894+
zep> localdir [arguments]
895+
```
896+
897+
**Aliases:** `ldir`
898+
899+
**Arguments:** Pass any `dir` (Windows) or `ls` (Unix/Linux) arguments
900+
901+
**Behavior:**
902+
- **Windows**: Runs `dir` with detailed output
903+
- **Linux/macOS**: Runs `ls -la` for equivalent detail
904+
905+
**Examples:**
906+
```bash
907+
zep> ldir
908+
zep> ldir Downloads
909+
zep> ldir /A
910+
```
911+
912+
**Use Cases:**
913+
- Check file sizes before upload
914+
- Verify file modification times
915+
- Monitor directory state
916+
- Confirm file availability
917+
918+
---
919+
674920
## Usage Patterns
675921

676922
### Pattern 1: Interactive Shell (Recommended)

0 commit comments

Comments
 (0)