---
Intra is a modern LAN-based messaging application designed for local network communication without internet dependency. It includes:
- Android app (Jetpack Compose)
- FastAPI backend
- Web client (
backend/static) - Desktop admin utility
Run these from repo root (
IntraChat-Android-FastAPI).
Start_Server.batBackground mode:
Start_Server.bat --backgroundchmod +x start_server.sh
./start_server.shThese scripts automatically:
- Check for and install external tools (FFmpeg, Tesseract OCR, Ghostscript)
- Create
backend/venvif missing - Install/update dependencies from
backend/requirements.txt - Start
backend/run_server.py
Install and auto-start on boot:
chmod +x setup_systemd.sh
sudo ./setup_systemd.sh installUninstall service:
sudo ./setup_systemd.sh uninstallUseful checks:
sudo systemctl status intra_backend.service
sudo journalctl -u intra_backend.service -fcd backend
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
python -m pip install -r requirements.txt
python run_server.pyrun_server.py supports:
--host--port--reload/--no-reload
- Android and server machine should be on same Wi-Fi/LAN.
- Start backend and note displayed local IP.
- In app/client, set server as
http://<SERVER_IP>:8000.
- π JWT Authentication
- π¬ Real-time messaging (WebSocket)
- π File/media sharing
- π€ Lumir AI assistant integration
- π₯ Group chat support
- β¨οΈ Typing indicators
- πΎ Offline message handling
- π Dark/Light mode
- π± Android + Web + Desktop tooling
Available from backend static host:
http://<SERVER_IP>:8000
IntraChat-Android-FastAPI/
βββ backend/ # FastAPI backend + web static files
β βββ server.py # Main ASGI app
β βββ run_server.py # Starter script (IP print + uvicorn launch)
β βββ requirements.txt
β βββ static/ # Web client
β βββ lumir/ # AI logic
β
βββ app/ # Android app source
βββ Start_Server.bat # Windows starter
βββ start_server.sh # Linux starter
βββ setup_systemd.sh # Linux systemd installer/uninstaller
βββ GUIDE.md # Beginner-friendly setup guide
- Fork the repository
- Create a branch (
git checkout -b feature/AmazingFeature) - Commit (
git commit -m 'Add some AmazingFeature') - Push (
git push origin feature/AmazingFeature) - Open a Pull Request
GPLv3 License. See LICENSE.
Made with β€οΈ for local network communication
β Star this repo if you find it useful!

