一個基於 Node.js 和 Vue.js 的局域網聊天應用,支持文字、圖片、視頻和文件傳輸。支持消息加密。支持Docker部署。支持nginx反向代理。
| 功能 | 描述 |
|---|---|
| 💬 即時聊天 | 即時文字消息傳輸 |
| 🌐 多語言 | 支持中文和英文界面 |
| 👋 用戶提及 | 支持 @用戶名 提及通知,帶音效和桌面通知 |
| 📜 歷史消息 | 支持載入歷史聊天記錄 |
| 📷 圖片分享 | 支持 jpg、png、gif 格式 |
| 🎥 視頻分享 | 支持 mp4、webm 格式 |
| 🎵 音頻分享 | 支持 mp3、wav、ogg、m4a 格式 |
| 📄 文件傳輸 | 支持所有類型文件 |
| 👥 用戶列表 | 顯示在線用戶 |
| 📊 上傳進度 | 實時顯示文件上傳進度 |
| 😊 表情符號 | 支持發送表情 |
| 🌓 深色模式 | 支持淺色/深色主題切換 |
/server - 後端服務器代碼
/public - 前端 Vue.js 應用
/uploads - 上傳文件存儲目錄
git clone https://github.com/yeongpin/LanLocalChat.git
cd LanLocalChat
npm install
npm run server
npm run dev
請把 .env.example 複製一份,改名為 .env,並修改以下內容
SERVER_PORT=13050 # 服務器端口
PUBLIC_PORT=5173 # 前端端口
HOST=0.0.0.0 # 服務器地址
PUBLIC_HOST=0.0.0.0 # 前端地址
VITE_SERVER_PORT=13050 # 服務器端口
VITE_NAME_LIMIT=20 # 用戶名長度限制
# 歷史記錄和上傳文件的保留時間 (0d0h0m0s 表示立即清理)
CLEANUP_INTERVAL=1h # 清理檢查間隔
HISTORY_RETENTION=7d # 歷史記錄保留時間
UPLOADS_RETENTION=1d # 上傳文件保留時間
npm run build:all
會Build vite 到 dist 文件夾,並部署在 0.0.0.0:13050 下面,直接訪問 IP:13050 即可
如想要手動Build,請運行
npm run build
然後運行
npm run server
server {
listen 80;
server_name localhost;
# 添加这一行来增加上传大小限制
client_max_body_size 50M;
location / {
proxy_pass http://127.0.0.1:13050;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
docker run -p 13050:13050 ghcr.io/yeongpin/lanlocalchat:main
| 類別 | 技術 |
|---|---|
| 後端 | |
| 前端 | |
| 工具 |
🔄 改進用戶系統
🎨 界面優化
房間密碼
創建房間
加入房間
離開房間
Content type
Image
Digest
sha256:fe77c94c7…
Size
66.1 MB
Last updated
over 1 year ago
docker pull xjxjin/lanlocalchat