A modern terminal-based file viewer with live sharing capabilities
-
Syntax Highlighting Powered by syntect, Catport makes your code easier to read and navigate.
-
Real-time Live Share Instantly share files via WebSockets using axum. Perfect for walkthroughs, code reviews, or lightweight pair programming.
-
File Change Tracking With notify, Catport streams file changes live to connected viewers.
-
Terminal-first Experience Simple, intuitive, and fastโjust like
cat, but supercharged.
catโ View text files.batโ Adds syntax highlighting and paging.catportโ Adds real-time collaborative viewing over the internet.
# Clone the repo
git clone https://github.com/yourusername/catport.git
cd catport
# Build with Cargo
cargo build --release
# Run it
./target/release/catport <command> <file>Catport provides three main commands:
View a file locally with syntax highlighting.
catport view src/main.rsShare a file over WebSocket for others to view in real time.
catport share src/lib.rsThis will print a shareable link that others can use to connect.
Connect to a shared file session and track updates live.
catport connect http://localhost:3000/share/<id>- Rust โ safe, fast, and concurrent
- Axum โ for WebSocket-powered sharing
- Syntect โ syntax highlighting
- Notify โ file watching
- [โ ] Finishing Implementation for Viewing and Syntax Highlighting
- [โ ] Finishing Implementations for Sharing
- Finishing Implementation for Connecting via Terminal
- Global Installation Implementation (PATH)
- Two-way collaborative editing
- Role-based permissions for viewers
- Editor/IDE plugins
I'm building Catport as an open-source community project. Contributions are welcome!
- Fork the repo
- Create a feature branch
- Commit your changes
- Push and open a Pull Request
Check out the Issues page for things to work on.
Catport โ from viewing, to highlighting, to sharing.
