{"id":15032804,"url":"https://github.com/aurora-admin-panel/deploy","last_synced_at":"2025-05-14T09:13:12.368Z","repository":{"id":39863465,"uuid":"316086239","full_name":"Aurora-Admin-Panel/deploy","owner":"Aurora-Admin-Panel","description":"一个多服务器端口租用管理面板","archived":false,"fork":false,"pushed_at":"2025-01-06T16:06:40.000Z","size":1227,"stargazers_count":1779,"open_issues_count":63,"forks_count":480,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-14T09:12:31.768Z","etag":null,"topics":["admin-panel","gost","iptables","port-forwarding"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aurora-Admin-Panel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-26T00:43:44.000Z","updated_at":"2025-05-14T08:31:33.000Z","dependencies_parsed_at":"2025-01-30T17:10:55.712Z","dependency_job_id":null,"html_url":"https://github.com/Aurora-Admin-Panel/deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aurora-Admin-Panel%2Fdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aurora-Admin-Panel%2Fdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aurora-Admin-Panel%2Fdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aurora-Admin-Panel%2Fdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aurora-Admin-Panel","download_url":"https://codeload.github.com/Aurora-Admin-Panel/deploy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110447,"owners_count":22016392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-panel","gost","iptables","port-forwarding"],"created_at":"2024-09-24T20:19:29.167Z","updated_at":"2025-05-14T09:13:12.323Z","avatar_url":"https://github.com/Aurora-Admin-Panel.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 极光面板\n\n## 这是什么？\n\n这是一个多服务器端口租用管理面板，你可以添加多台服务器及端口，并将其分配给任意注册用户，租户则可以很方便地使用被分配的端口来完成各种操作，目前支持的端口功能（**以下功能均支持 AMD64 或 ARM64 架构运行**）：\n\n- [iptables](https://www.netfilter.org/)\n- [socat](http://www.dest-unreach.org/socat/)\n- [gost](https://github.com/ginuerzh/gost)\n- [ehco](https://github.com/Ehco1996/ehco)\n- [realm](https://github.com/zephyrchien/realm)\n- [v2ray](https://github.com/v2fly/v2ray-core)\n- [brook](https://github.com/txthinking/brook)\n- [iperf](https://iperf.fr)\n- [haproxy](http://www.haproxy.org)\n- [wstunnel](https://github.com/erebe/wstunnel)\n- [shadowsocks](https://github.com/shadowsocks)\n- [tinyPortMapper](https://github.com/wangyu-/tinyPortMapper)\n- [Prometheus Node Exporter](https://github.com/leishi1313/node_exporter)\n\n目前，全部端口转发功能均已支持 `IPV6` 。除 `iptables` 以外的转发方式，如果中转机器本身同时具备 `IPV4` 和 `IPV6` 网络访问能力，可以借助端口转发实现 `IPV4 to IPV6` 或 `IPV6 to IPV4`。\n\n### 面板服务器与被控机说明\n\n**面板建议安装在单独的一台服务器上，建议安装配置为不低于单核 512M 内存的 VPS 中**，可以直接部署到本地。**被控机端无需做任何特别配置，只需保证面板服务器能够通过 ssh 连接至被控机即可。**\n\n面板服务器在连接被控机的时候会检测被控机是否已经安装好 python （python 为被控机必须依赖），如果被控机上没安装会自动在被控机上通过 apt / yum 执行 python 安装（优先安装python3），如果被控机没有自带 python 且自动安装失败会导致面板显示被控机连接失败（表现为被控机连接状态持续转圈）。\n\n#### 面板（主控机）支持进度：\n\n- 操作系统\n- [x] CentOS 7+\n- [x] Debian 8+\n- [x] Ubuntu 18+\n- [x] Alpine Linux 3.15.0+ （请使用一键脚本安装）\n- 虚拟平台\n- [x] KVM\n- [x] VMware\n- [x] OVZ （需要 OVZ 支持 docker）\n- CPU 架构\n- [x] AMD64\n- [x] ARM64\n- 网络类型\n- [x] IPV4\n- [X] IPV6\n\n特别说明：由于 docker 默认不开启 IPV6，如果需要在面板通过 IPV6 连接被控机 SSH，请在面板机器的配置文件中开启 `ipv6` 选项，并使用 `ip6tables` 命令为容器添加 IPV6 NAT，**命令中的 IPV6 地址不需要做任何更改**：\n\n```shell\n# 1. docker-compose.yml 配置开启 ipv6 选项，该配置文件默认在 ~/aurora/ 目录下\n# 找到 enable_ipv6: false 该行，将 false 改为 true，重建容器\ncd ~/aurora/ \u0026\u0026 docker-compose up -d\n# 2. ip6tables 命令，直接复制粘贴回车即可（注意，重启系统会导致 ip6tables 规则被重置，需要手动重新添加）\nip6tables -t nat -A POSTROUTING -s fd00:ea23:9c80:4a54:e242:5f97::/96 -j MASQUERADE\n```\n\n#### 中转机器（被控机）支持进度：\n\n- 操作系统\n- [x] CentOS 7+\n- [x] Debian 8+\n- [x] Ubuntu 18+\n- [ ] Alpine Linux 3.15.0+  （正在开发中，仅支持 iptables 转发和流量统计）\n- [x] 其他操作系统如果支持 docker，可以参考下面的手动安装方法\n- 虚拟平台\n- [x] KVM\n- [x] VMware\n- [x] OVZ\n- CPU 架构\n- [x] AMD64\n- [x] ARM64\n- 网络类型\n- [x] IPV4\n- [X] IPV6\n- Linux init process\n- [x] systemd\n- [ ] SysVinit\n- [ ] OpenRC\n\n## 怎么跑起来？\n\n## 一键脚本（推荐）\n\n目前已支持一键安装、更新（自动同步旧配置）、卸载面板以及备份数据库、添加超级管理员帐号、更换面板端口等操作。**使用一键脚本安装后，如果仍需使用一脚脚本更新，请勿更改数据库用户名和密码，否则会使得更新后无法同步更改后的数据库用户名和密码，导致数据库连接出错。**\n\n```shell\nbash \u003c(curl -fsSL https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/install.sh)\n```\n\n**由于公开的 github 代理以及 docker 代理不稳定，一键脚本已经移除所有代理选项，如需在国内机器安装，请自行解决相关网络问题**。一键脚本也支持更新测试版本，只需要添加 `--dev` 参数执行脚本即可，但是测试版本并不稳定，可能会出现各种问题，不建议在生产环境中使用。\n\n## 手动安装 — 中转被控机\n\n**对于不在中转机器（被控机）支持进度里面的系统版本，无法直接使用面板连接中转机器。** 如果被控机支持运行 docker，则可以利用被控机运行一个网络模式为 host 的特权 centos7 容器，并利用面板连接到 centos7 docker 中，实现转发功能的操作。（或可以参考 [aurora-client](https://github.com/smartcatboy/aurora-client) 直接编译被控端镜像运行）\n\n```shell\n# 启动 centos 7 特权容器，设置网络模式为 host ，并设置为开机自启动\nsudo docker run -d --privileged --name aurora-client --network=host --restart=always -v /lib/modules:/lib/modules centos:7 /usr/sbin/init\n# 进入 centos 7 容器内\nsudo docker exec -it aurora-client bash\n# 在 docker 内安装 openssh 服务端，并修改容器的 ssh 端口（避免跟主机 ssh 服务冲突）\nyum makecache -y \u0026\u0026 yum install -y openssh-server\nsed -i \"s/#Port 22/Port 62222/\" /etc/ssh/sshd_config\n# 启用 ssh 服务\nsystemctl enable --now sshd\n# 安装 iptables 转发必须的依赖\nyum install -y iproute\n# 为 root 账号设置密码\npasswd\n# 直接在面板添加中转机器 ip:62222 ，用户名 root ，密码为刚刚设置的密码\n# 卸载时候只需要在面板删除对应中转机，并删除 aurora-client 容器即可\nsudo docker stop aurora-client \u0026\u0026 sudo docker rm aurora-client\n```\n\n## 手动安装 — 面板主控机\n\n如果一键脚本提示不支持当前系统版本时，可以尝试使用手动安装的方式。\n\n### 1. 安装 docker（必须）\n\n```shell\ncurl -fsSL https://get.docker.com | sudo bash -s docker \u0026\u0026 sudo systemctl enable --now docker\n\n# 如果当前执行安装命令的不是 root 用户，请执行下面部分\n# =================非root用户执行==================\nsudo groupadd docker\nsudo usermod -aG docker $USER\nnewgrp docker\n# =================非root用户执行==================\n```\n\n### 2. 安装 docker-compose（必须）\n\n```shell\nsudo curl -L \"https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)\" -o /usr/local/bin/docker-compose \u0026\u0026 sudo chmod +x /usr/local/bin/docker-compose\n\n# 如果 /usr/local/bin 不在环境变量 PATH 里\n# ============================可选================================\nsudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose\n# ============================可选================================\n```\n\n### 3. 生成 SSH 密钥（建议，非必须）\n\n此步操作目的为让面板服务器通过密钥连接被控机 ssh ，**可以提高被控机安全性，非必须步骤**，如果不采用密钥连接方式，后续在面板添加被控机使可以选择使用密码连接的方式。\n\n```shell\n# 如果面板服务器并没有已经生成好的 ssh 密钥\nssh-keygen -t rsa -b 4096 -C \"your_email@example.com\"\n# 后面一直回车，跳过设置 passphase 即可\n# 然后还需要将面板服务器 ~/.ssh/id_rsa.pub 里面的内容复制到每一台被控机的 ~/.ssh/authorized_keys 文件中去。\n```\n\n### 4. 安装并启动面板（必须）\n\n```shell\nmkdir -p ~/aurora \u0026\u0026 cd ~/aurora \u0026\u0026 wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml \u0026\u0026 docker-compose up -d\n# 创建管理员用户（密码必须设置8位以上，否则无法登陆）\ndocker-compose exec backend python app/initial_data.py\n```\n之后可以访问 `http://你的IP:8000` 进入面板。\n\n## 配置说明\n\n1. 修改所有的 `POSTGRES_USER` 和 `POSTGRES_PASSWORD` ，以及相应的 `DATABASE_URL` ，虽然数据库不公开，但使用默认的数据库用户和密码并不安全！\n\n2. 后端默认会发送错误信息到 Sentry （**建议使用测试版本不要关闭，方便排查错误**），可能会导致信息泄漏，移除 `ENABLE_SENTRY: 'yes'` 就好。\n\n3. 默认挂载 `~/.ssh/id_rsa` 作为连接服务器的密钥，如使用其他密钥或者不使用密钥可以删除配置文件中的 `- $HOME/.ssh/id_rsa:/app/ansible/env/ssh_key` 。\n\n## 更新\n\n### 正式版\n```shell\ncd ~/aurora\nwget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml\ndocker-compose pull \u0026\u0026 docker-compose down --remove-orphans \u0026\u0026 docker-compose up -d\n```\n\n### ~~内测版（目前已不维护，请不要使用）~~\n```shell\ncd ~/aurora\nwget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose-dev.yml -O docker-compose.yml\ndocker-compose pull \u0026\u0026 docker-compose down --remove-orphans \u0026\u0026 docker-compose up -d\n```\n\n## 数据库备份与恢复\n\n### 备份\n```shell\ndocker-compose exec -T postgres pg_dump -d aurora -U [数据库用户名，默认aurora] -c \u003e data.sql\n```\n\n### 恢复\n```shell\n# 首先先把所有服务停下\ndocker-compose down\n# 只启动数据库服务\ndocker-compose up -d postgres\n# 执行数据恢复\ndocker-compose exec -T postgres psql -d aurora -U [数据库用户名，默认aurora] \u003c data.sql\n# 然后正常启动所有服务\ndocker-compose up -d\n```\n\n## 卸载面板\n```shell\ndocker-compose down\ndocker volume rm aurora_db-data\ndocker volume rm aurora_app-data\n```\n\n## 面板长什么样？\n\n### 服务器管理页面\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/servers.png)\n\n#### 修改/添加服务器\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/servers_edit.png)\n\n### 服务器端口管理页面\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/server.png)\n\n#### 添加/编辑端口\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/server_port_edit.png)\n\n#### 端口分配页面\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/server_port_users.png)\n\n#### 端口设置 iptables\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/server_port_edit_rule_iptables.png)\n\n#### 端口设置 gost\n\n![](https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/img/server_port_edit_rule_gost.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurora-admin-panel%2Fdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faurora-admin-panel%2Fdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faurora-admin-panel%2Fdeploy/lists"}