https://github.com/itcodehery/project_catport
A modern terminal-based file viewer with live sharing capabilities
https://github.com/itcodehery/project_catport
cat code rust sharing viewer websocket
Last synced: 4 months ago
JSON representation
A modern terminal-based file viewer with live sharing capabilities
- Host: GitHub
- URL: https://github.com/itcodehery/project_catport
- Owner: itcodehery
- Created: 2025-08-12T09:10:31.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2025-09-09T11:58:11.000Z (5 months ago)
- Last Synced: 2025-09-09T14:38:46.207Z (5 months ago)
- Topics: cat, code, rust, sharing, viewer, websocket
- Language: Rust
- Homepage:
- Size: 151 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ο»Ώ
---
# πΎ Catport
_A modern terminal-based file live sharing utility with file viewing capabilities_
---
## Features
- **Syntax Highlighting**
Powered by [syntect](https://github.com/trishume/syntect), Catport makes your code easier to read and navigate.
- **Real-time Live Share**
Instantly share files via **WebSockets** using [axum](https://github.com/tokio-rs/axum). Perfect for walkthroughs, code reviews, or lightweight pair programming.
- **File Change Tracking**
With [notify](https://github.com/notify-rs/notify), Catport streams file changes live to connected viewers.
- **Terminal-first Experience**
Simple, intuitive, and fastβjust like `cat`, but supercharged.
---
## Cat β Bat β Catport
- **`cat`** β View text files.
- **`bat`** β Adds syntax highlighting and paging.
- **`catport`** β Adds **real-time collaborative viewing** over the internet.
---
## Installation
```bash
# Clone the repo
git clone https://github.com/yourusername/catport.git
cd catport
# Build with Cargo
cargo build --release
# Run it
./target/release/catport
```
---
## Commands
Catport provides three main commands:
### View
View a file locally with syntax highlighting.
```bash
catport view src/main.rs
```
### Share
Share a file over WebSocket for others to view in real time.
```bash
catport share src/lib.rs
```
This will print a **shareable link** that others can use to connect.
### Connect
Connect to a shared file session and track updates live.
```bash
catport connect http://localhost:3000/share/
```
---
## Built With
- [Rust](https://www.rust-lang.org/) β safe, fast, and concurrent
- [Axum](https://github.com/tokio-rs/axum) β for WebSocket-powered sharing
- [Syntect](https://github.com/trishume/syntect) β syntax highlighting
- [Notify](https://github.com/notify-rs/notify) β file watching
---
## Roadmap
- [β
] 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
---
## Contributing
I'm building Catport as an **open-source community project**. Contributions are welcome!
1. Fork the repo
2. Create a feature branch
3. Commit your changes
4. Push and open a Pull Request
Check out the [Issues](./issues) page for things to work on.
---
**Catport** β _from viewing, to highlighting, to sharing._
---