GithubHelp home page GithubHelp logo

skymsg / airgo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from blockwhalex/airgo

0.0 0.0 0.0 31.33 MB

AirGo, front and rear end separation, multi user, multi protocol proxy service management system, simple and easy to use. support: vless,vmess,shadowsocks,hysteria2

License: GNU General Public License v3.0

Shell 0.41% JavaScript 0.01% Go 76.13% TypeScript 6.50% HTML 0.03% Vue 15.68% Dockerfile 0.01% SCSS 1.23%

airgo's Introduction

AirGo 前后端分离,多用户,多协议代理服务管理系统,简单易用

License Go Gorm Gin Vue TypeScript Linux


Supported protocols:Vless,Vmess,shadowsocks,Hysteria2

AirGo, front and rear end separation, multi user, multi protocol proxy service management system, simple and easy to use.
support: vless,vmess,shadowsocks,hysteria2



TG频道:https://t.me/Air_Go TG群组:https://t.me/AirGo_Group 文档上次更新日期:2024.4.8


面板部分功能展示

Display of panel functions

目录:

1 部署-前后端不分离

1-1 直接安装

  • 安装核心,使用Ubuntu、Debian、Centos等Linux系统,执行以下命令,然后根据提示安装
bash <(curl -Ls https://raw.githubusercontent.com/ppoonk/AirGo/main/server/scripts/install.sh)
  • 修改配置文件,配置文件目录 /usr/local/AirGo/config.yaml,首次安装,会根据配置文件config.yaml自动初始化数据,请务必修改管理员账号和密码
  • 启动核心,systemctl start AirGo
  • 浏览器访问:http://ip:port,其中端口为配置文件设定的值

1-2 使用Docker安装

  • 在合适的目录新建配置文件,例如:/$PWD/air/config.yaml,配置文件内容如下。首次安装,会根据配置文件config.yaml自动初始化数据,请务必修改管理员账号和密码
system:
  admin-email: [email protected]
  admin-password: adminadmin
  http-port: 80
  https-port: 443
  db-type: sqlite
mysql:
  address: mysql.sql.com
  port: 3306
  config: charset=utf8mb4&parseTime=True&loc=Local
  db-name: imdemo
  username: imdemo
  password: xxxxxx
  max-idle-conns: 10
  max-open-conns: 100
sqlite:
  path: ./air.db
  • 启动docker命令参考如下:
docker run -tid \
  -v $PWD/air/config.yaml:/air/config.yaml \
  -p 80:80 \
  -p 443:443 \
  --name airgo \
  --restart always \
  --privileged=true \
  ppoiuty/airgo:latest
  • docker compose参考如下:
version: '3'

services:
  airgo:
    container_name: airgo
    image: ppoiuty/airgo:latest
    ports:
      - "80:80"
      - "443:443"
    restart: "always"
    privileged: true
    volumes:
      - ./config.yaml:/air/config.yaml
  • 浏览器访问:http://ip:port,其中端口为配置文件设定的值

2 部署-前后端分离

2-1 后端

2-1-1 直接安装

bash <(curl -Ls https://raw.githubusercontent.com/ppoonk/AirGo/main/server/scripts/install.sh)
  • 修改配置文件,配置文件目录 /usr/local/AirGo/config.yaml,首次安装,会根据配置文件config.yaml自动初始化数据,请务必修改管理员账号和密码
  • 启动核心,systemctl start AirGo

2-1-2 docker 安装

  • 提前准备好配置文件 config.yaml,参考 config.yaml,首次安装,会根据配置文件config.yaml自动初始化数据,请务必修改管理员账号和密码
  • 启动docker命令参考如下:
docker run -tid \
  -v $PWD/air/config.yaml:/air/config.yaml \
  -p 80:80 \
  -p 443:443 \
  --name airgo \
  --restart always \
  --privileged=true \
  ppoiuty/airgo:latest
  • docker compose参考如下:
version: '3'
services:
  airgo:
    container_name: airgo
    image: ppoiuty/airgo:latest
    ports:
      - "80:80"
      - "443:443"
    restart: "always"
    privileged: true
    volumes:
      - ./config.yaml:/air/config.yaml

2-2 前端

2-2-1 部署到 Vercel 等云平台

  • fork本项目,修改./web/index.htmlwindow.httpurl字段为自己的后端地址,,可以设置多个,以英文符号 | 分割。由于vercel的限制,请填https接口地址
  • 登录Vercel,Add New Project,参考下图配置,注意红圈内的设置! image
  • 部署成功后,自定义域名即可(域名解析到76.76.21.21)

2-2-2 部署到 Nginx、Caddy、OpenResty 等 Web 应用服务器

  • 下载 release 中编译好的静态资源的 AirGo-web.zip
  • 修改./web/index.htmlwindow.httpurl字段为自己的后端地址,可以设置多个,以英文符号 | 分割
  • 在 项目/web/ 下,执行 npm i && npm run build
  • 打包后的静态资源文件夹为 web,将web文件夹上传到服务器合适位置。新建网站(纯静态),网站位置选择该web文件夹

3 配置ssl(可选)

3-1 给前端设置ssl证书

通过 宝塔面板(bt.cn)1panel(1panel.cn) 等可直接申请、导入证书

3-2 给后端设置ssl证书

  • 1、通过 宝塔面板(bt.cn)1panel(1panel.cn),先申请或导入证书,再开启反向代理
  • 2、如果您已经拥有证书,只需要复制在安装目录(/usr/local/AirGo/)下,将其重命名为 air.cerair.key,然后重启 AirGo

4 配置文件说明

system:
  mode: release                //模式,默认为 release。如果为 dev,即开发模式。控制台会输出更多信息
  admin-email: [email protected]  //管理员账号,初始化之前需要修改!
  admin-password: adminadmin   //管理员密码,初始化之前需要修改!
  http-port: 8899              //核心监听端口
  https-port: 443              //核心监听端口
  db-type: sqlite              //数据库类型,可选值:mysql,mariadb,sqlite
mysql:
  address: xxx.com             //mysql数据库地址
  port: 3306                   //mysql数据库端口
  db-name: xxx                 //mysql数据库名称
  username: xxx                //mysql数据库用户名
  password: xxx                //mysql数据库密码
  config: charset=utf8mb4&parseTime=True&loc=Local //保持默认即可
  max-idle-conns: 10
  max-open-conns: 100
sqlite:
  path: ./air.db               //sqlite数据库文件名

5 对接节点

现支持V2bx、XrayR,暂不支持官方版本,请使用下面的版本:

5-1 V2bX

5-1-1 直接安装 V2bX

bash <(curl -Ls https://raw.githubusercontent.com/ppoonk/V2bX/main/scripts/install.sh)
  • 安装完成后请根据需要在/etc/V2bX/config.json中修改配置文件
  • 启动:使用管理脚本AV或直接 systemctl start AV

5-1-2 docker 安装 V2bX

  • 提前准备好配置文件 config.json,参考 config.json
  • 启动docker命令参考如下:
docker run -tid \
  -v $PWD/av/config.json:/etc/V2bX/config.json \
  --name av \
  --restart always \
  --net=host \
  --privileged=true \
  ppoiuty/av:latest
  • docker compose参考如下:
version: '3'
services:
  AV:
    container_name: AV
    image: ppoiuty/av:latest
    network_mode: "host"
    restart: "always"
    privileged: true
    volumes:
      - ./config.json:/etc/V2bX/config.json

5-2 XrayR

5-2-1 直接安装 XrayR

bash <(curl -Ls https://raw.githubusercontent.com/ppoonk/XrayR-for-AirGo/main/scripts/manage.sh)
  • 安装完成后请根据需要在/usr/local/XrayR/config.yml中修改配置文件
  • 启动:使用管理脚本XrayR或直接 systemctl start XrayR

5-2-2 docker 安装 XrayR

  • 提前准备好配置文件 config.yml,参考 config.yml

  • 启动docker命令参考如下:

docker run -tid \
  -v $PWD/xrayr/config.yml:/etc/XrayR/config.yml \
  --name xrayr \
  --restart always \
  --net=host \
  --privileged=true \
  ppoiuty/xrayr:latest
  • docker compose参考如下:
version: '3'
services:
  xrayr:
    container_name: xrayr
    image: ppoiuty/xrayr:latest
    network_mode: "host"
    restart: "always"
    privileged: true
    volumes:
      - ./config.yml:/etc/XrayR/config.yml

6 更新面板

更新时,请检查 前端版本后端核心版本,它们处在不同位置并且版本号保持一致,如图:

6-1 更新后端

  • 方式1: 下载新的二进制文件,替换旧的,然后执行 ./AirGo update 完成更新
  • 方式2: 在版本 v0.2.5之后,通过面板-管理员-系统,可以点击 升级按钮完成更新
  • 说明:更新核心后,角色绑定的菜单和casbin权限(api权限)会设置为当前核心的默认值

6-2 更新前端

按照 2-1 前端重新部署即可

7 命令行

./AirGo help                    获取帮助
./AirGo reset --resetAdmin      重置admin password
./AirGo start                   启动AirGo, 指定配置文件路径:./AirGo start --config path2/config.yaml
./AirGo update                  更新数据库相关AirGo数据
./AirGo version                 查看AirGo的当前版本

8 更多说明

点击查看更多

airgo's People

Contributors

ppoonk avatar shuangyu233 avatar litecn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.