Code Monkey home page Code Monkey logo

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/AirGo_Channel TG群组:https://t.me/AirGo_Group 文档上次更新日期:2024.5.21


面板部分功能展示

Display of panel functions

目录:

1 部署-前后端不分离

1-1 直接安装

  • 安装核心,使用Ubuntu、Debian、Centos等Linux系统,执行以下命令,然后根据提示安装
bash <(curl -Ls https://raw.githubusercontent.com/AirGo-Official/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/AirGo-Official/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/AirGo-Official/AirGo/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 fuckpura avatar litecn avatar

Stargazers

 avatar uzkitio avatar  avatar An Mei avatar  avatar agostop avatar vardven avatar josemespitia avatar  avatar  avatar Athenakia avatar  avatar  avatar  avatar  avatar  avatar isaylife avatar

airgo's Issues

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.