E-Nav 导航站正式上线!支持本机一键脚本与Docker部署
为提升可维护性和实用性,便耗了亿点点时间开发了一个完整的全栈版本。新版本不仅保留了原有的简洁设计,还增加了后台管理功能。
特性:支持一键式安装和Docker容器化部署,确保快速部署和自动维护;配备简洁的后台管理界面,支持响应式设计和主题切换;具备智能favicon获取和自定义图标上传功能;内置实时搜索过滤和搜索引擎集成;在安全方面,采用密码加密存储、会话安全管理和完善的XSS/注入防护机制
演示站点 | 使用文档 | 问题反馈
支持项目
项目完全开源免费,如果觉得对您有帮助:
- 帮忙点个 Star⭐
- 推荐给身边的朋友
- 关注项目动态,查看最新更新
💻 后台管理
- 访问地址:
http://您的域名:1239/admin
- 默认密码:
admin
- 请及时修改默认密码以确保安全
Nginx反代一键脚本也附上吧 点我跳转
🚀 快速部署
方式一:Docker部署(推荐)
docker run -d \
--name e-nav \
-p 1239:1239 \
-v $(pwd)/data:/app/data \
--restart unless-stopped \
ecouus/e-nav:latest
更新
docker pull ecouus/e-nav:latest && docker stop e-nav && docker rm e-nav && docker run -d --name e-nav -p 1239:1239 -v $(pwd)/data:/app/data --restart unless-stopped ecouus/e-nav:latest
💡 端口修改说明
-p 1239:1239
中第一个1239可更改为任意未被占用的端口- 例如:
-p 8080:1239
则使用8080端口访问
💡 挂载路径说明
$(pwd)/data
表示挂载到宿主机当前工作目录的data文件夹下
Docker Compose 部署
下载源文件
sudo apt install git -y && git clone https://github.com/ecouus/E-Nav.git && cd E-Nav
根据需要编辑 docker-compose.yml
文件
启动
docker-compose up -d
更新
docker-compose pull && docker-compose up -d
方式二:一键脚本部署
- 安装
curl -fsSL https://raw.githubusercontent.com/ecouus/E-Nav/main/OneClick.sh -o OneClick.sh && chmod +x OneClick.sh && bash OneClick.sh install
- 卸载
bash OneClick.sh uninstall
方法三:手动部署
- 安装必要软件
apt update
apt install -y git
- 安装 Go
wget https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> /root/.bashrc
source /root/.bashrc
- 克隆项目
cd /root
git clone https://github.com/ecouus/E-Nav.git
cd E-Nav
- 初始化和编译
go mod init E-Nav
go mod tidy
go build -o E-Nav
- 创建系统服务
cat > /etc/systemd/system/E-Nav.service << EOF
[Unit]
Description=E-Nav Go Web Application
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/root/E-Nav
ExecStart=/root/E-Nav/E-Nav
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
- 启动服务
systemctl daemon-reload
systemctl enable E-Nav
systemctl start E-Nav
常用命令
# 查看服务状态
systemctl status E-Nav
# 启动服务
systemctl start E-Nav
# 停止服务
systemctl stop E-Nav
# 重启服务
systemctl restart E-Nav
# 查看日志
journalctl -u E-Nav
注意事项
- 请确保使用root用户执行脚本
- 本机部署需确保服务器1239端口未被占用
- 建议安装完成后及时修改后台密码
- 如遇问题,请查看服务日志排查
技术架构
后端技术栈
- 框架: Go (Golang)
- 路由: Gorilla Mux
- 会话管理: Gorilla Sessions
- 密码加密: bcrypt
- 数据存储: JSON文件存储
- API: RESTful架构
前端技术栈
- 布局: HTML5 + CSS3
- 交互: 原生JavaScript (ES6+)
- 图标: Font Awesome
- 样式特性:
- Flexbox/Grid布局
- CSS变量
- 响应式设计
- 深色模式支持
- CSS动画和过渡效果
📦 项目结构
e-nav/
├── 📄 main.go # 主程序
├── 📁 static/ # 静态文件目录
│ ├── 📄 css/ # CSS文件
│ ├── 📄 js/ # JavaScript文件
│ └── 📄 favicon.ico # 网站图标
├── 📁 templates/ # HTML模板目录
│ ├── 📄 index.html # 主页模板
│ ├── 📄 admin_login.html # 管理员登录页面
│ └── 📄 admin_dashboard.html # 管理员控制面板
├── 📄 bookmarks.json # 数据存储
└── 📄 config.json # 配置文件
🔧 常用命令
# Docker 环境
docker ps # 查看容器状态
docker logs e-nav # 查看运行日志
docker restart e-nav # 重启服务
docker stop e-nav # 停止服务
docker start e-nav # 启动服务
# 本机部署环境
systemctl status E-Nav # 查看服务状态
systemctl restart E-Nav # 重启服务
journalctl -u E-Nav # 查看日志
⚠️ 注意事项
- 请使用root用户执行安装脚本
- 确保端口1239未被占用
- 及时修改默认管理密码
- 定期备份重要数据