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