Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

smartcatboy/deploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

极光面板

这是什么?

这是一个多服务器端口租用管理面板,你可以添加多台服务器及端口,并将其分配给任意注册用户,租户则可以很方便地使用被分配的端口来完成各种操作,目前支持的端口功能(以下功能均支持 AMD64 或 ARM64 架构运行):

目前,全部端口转发功能均已支持 IPV6 。除 iptables 以外的转发方式,如果中转机器本身同时具备 IPV4IPV6 网络访问能力,可以借助端口转发实现 IPV4 to IPV6IPV6 to IPV4

面板服务器与被控机说明

面板建议安装在单独的一台服务器上,建议安装配置为不低于单核 512M 内存的 VPS 中,可以直接部署到本地。被控机端无需做任何特别配置,只需保证面板服务器能够通过 ssh 连接至被控机即可。

面板服务器在连接被控机的时候会检测被控机是否已经安装好 python (python 为被控机必须依赖),如果被控机上没安装会自动在被控机上通过 apt / yum 执行 python 安装(优先安装python3),如果被控机没有自带 python 且自动安装失败会导致面板显示被控机连接失败(表现为被控机连接状态持续转圈)。

面板(主控机)支持进度:

  • 操作系统
  • CentOS 7+
  • Debian 8+
  • Ubuntu 18+
  • Alpine Linux 3.15.0+ (请使用一键脚本安装)
  • 虚拟平台
  • KVM
  • VMware
  • OVZ (需要 OVZ 支持 docker)
  • CPU 架构
  • AMD64
  • ARM64
  • 网络类型
  • IPV4
  • IPV6

特别说明:由于 docker 默认不开启 IPV6,如果需要在面板通过 IPV6 连接被控机 SSH,请在面板机器的配置文件中开启 ipv6 选项,并使用 ip6tables 命令为容器添加 IPV6 NAT,命令中的 IPV6 地址不需要做任何更改

# 1. docker-compose.yml 配置开启 ipv6 选项,该配置文件默认在 ~/aurora/ 目录下
# 找到 enable_ipv6: false 该行,将 false 改为 true,重建容器
cd ~/aurora/ && docker-compose up -d
# 2. ip6tables 命令,直接复制粘贴回车即可(注意,重启系统会导致 ip6tables 规则被重置,需要手动重新添加)
ip6tables -t nat -A POSTROUTING -s fd00:ea23:9c80:4a54:e242:5f97::/96 -j MASQUERADE

中转机器(被控机)支持进度:

  • 操作系统
  • CentOS 7+
  • Debian 8+
  • Ubuntu 18+
  • Alpine Linux 3.15.0+ (正在开发中,仅支持 iptables 转发和流量统计)
  • 其他操作系统如果支持 docker,可以参考下面的手动安装方法
  • 虚拟平台
  • KVM
  • VMware
  • OVZ
  • CPU 架构
  • AMD64
  • ARM64
  • 网络类型
  • IPV4
  • IPV6
  • Linux init process
  • systemd
  • SysVinit
  • OpenRC

怎么跑起来?

一键脚本(推荐)

目前已支持一键安装、更新(自动同步旧配置)、卸载面板以及备份数据库、添加超级管理员帐号、更换面板端口等操作。使用一键脚本安装后,如果仍需使用一脚脚本更新,请勿更改数据库用户名和密码,否则会使得更新后无法同步更改后的数据库用户名和密码,导致数据库连接出错。

bash <(curl -fsSL https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/install.sh)

由于公开的 github 代理以及 docker 代理不稳定,一键脚本已经移除所有代理选项,如需在国内机器安装,请自行解决相关网络问题。一键脚本也支持更新测试版本,只需要添加 --dev 参数执行脚本即可,但是测试版本并不稳定,可能会出现各种问题,不建议在生产环境中使用。

手动安装 — 中转被控机

对于不在中转机器(被控机)支持进度里面的系统版本,无法直接使用面板连接中转机器。 如果被控机支持运行 docker,则可以利用被控机运行一个网络模式为 host 的特权 centos7 容器,并利用面板连接到 centos7 docker 中,实现转发功能的操作。(或可以参考 aurora-client 直接编译被控端镜像运行)

# 启动 centos 7 特权容器,设置网络模式为 host ,并设置为开机自启动
sudo docker run -d --privileged --name aurora-client --network=host --restart=always -v /lib/modules:/lib/modules centos:7 /usr/sbin/init
# 进入 centos 7 容器内
sudo docker exec -it aurora-client bash
# 在 docker 内安装 openssh 服务端,并修改容器的 ssh 端口(避免跟主机 ssh 服务冲突)
yum makecache -y && yum install -y openssh-server
sed -i "s/#Port 22/Port 62222/" /etc/ssh/sshd_config
# 启用 ssh 服务
systemctl enable --now sshd
# 安装 iptables 转发必须的依赖
yum install -y iproute
# 为 root 账号设置密码
passwd
# 直接在面板添加中转机器 ip:62222 ,用户名 root ,密码为刚刚设置的密码
# 卸载时候只需要在面板删除对应中转机,并删除 aurora-client 容器即可
sudo docker stop aurora-client && sudo docker rm aurora-client

手动安装 — 面板主控机

如果一键脚本提示不支持当前系统版本时,可以尝试使用手动安装的方式。

1. 安装 docker(必须)

curl -fsSL https://get.docker.com | sudo bash -s docker && sudo systemctl enable --now docker

# 如果当前执行安装命令的不是 root 用户,请执行下面部分
# =================非root用户执行==================
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
# =================非root用户执行==================

2. 安装 docker-compose(必须)

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose

# 如果 /usr/local/bin 不在环境变量 PATH 里
# ============================可选================================
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# ============================可选================================

3. 生成 SSH 密钥(建议,非必须)

此步操作目的为让面板服务器通过密钥连接被控机 ssh ,可以提高被控机安全性,非必须步骤,如果不采用密钥连接方式,后续在面板添加被控机使可以选择使用密码连接的方式。

# 如果面板服务器并没有已经生成好的 ssh 密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 后面一直回车,跳过设置 passphase 即可
# 然后还需要将面板服务器 ~/.ssh/id_rsa.pub 里面的内容复制到每一台被控机的 ~/.ssh/authorized_keys 文件中去。

4. 安装并启动面板(必须)

mkdir -p ~/aurora && cd ~/aurora && wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml && docker-compose up -d
# 创建管理员用户(密码必须设置8位以上,否则无法登陆)
docker-compose exec backend python app/initial_data.py

之后可以访问 http://你的IP:8000 进入面板。

配置说明

  1. 修改所有的 POSTGRES_USERPOSTGRES_PASSWORD ,以及相应的 DATABASE_URL ,虽然数据库不公开,但使用默认的数据库用户和密码并不安全!

  2. 后端默认会发送错误信息到 Sentry (建议使用测试版本不要关闭,方便排查错误),可能会导致信息泄漏,移除 ENABLE_SENTRY: 'yes' 就好。

  3. 默认挂载 ~/.ssh/id_rsa 作为连接服务器的密钥,如使用其他密钥或者不使用密钥可以删除配置文件中的 - $HOME/.ssh/id_rsa:/app/ansible/env/ssh_key

更新

正式版

cd ~/aurora
wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose.yml -O docker-compose.yml
docker-compose pull && docker-compose down --remove-orphans && docker-compose up -d

内测版(目前已不维护,请不要使用)

cd ~/aurora
wget https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/docker-compose-dev.yml -O docker-compose.yml
docker-compose pull && docker-compose down --remove-orphans && docker-compose up -d

数据库备份与恢复

备份

docker-compose exec -T postgres pg_dump -d aurora -U [数据库用户名,默认aurora] -c > data.sql

恢复

# 首先先把所有服务停下
docker-compose down
# 只启动数据库服务
docker-compose up -d postgres
# 执行数据恢复
docker-compose exec -T postgres psql -d aurora -U [数据库用户名,默认aurora] < data.sql
# 然后正常启动所有服务
docker-compose up -d

卸载面板

docker-compose down
docker volume rm aurora_db-data
docker volume rm aurora_app-data

面板长什么样?

服务器管理页面

修改/添加服务器

服务器端口管理页面

添加/编辑端口

端口分配页面

端口设置 iptables

端口设置 gost

About

一个多服务器端口租用管理面板

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.