侧边栏壁纸
  • 累计撰写 40 篇文章
  • 累计创建 3 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

ArgoSB Python版本免root一键部署

Administrator
2025-05-27 / 1 评论 / 0 点赞 / 195 阅读 / 0 字 / 正在检测是否收录...

一键安装命令

cd ~ && wget https://raw.githubusercontent.com/zhumengkang/agsb/main/agsb.py && python3 agsb.py

或者

cd ~ && curl -fsSL https://raw.githubusercontent.com/zhumengkang/agsb/main/agsb.py | python3 -

安装

python3 agsb.py install

首次运行会自动安装并配置服务。安装完成后会创建~/bin/agsb命令链接,可直接使用agsb命令操作。

启动服务

agsb
# 或
python3 agsb.py

查看服务状态

agsb status
# 或
python3 agsb.py status

查看单行节点列表

agsb cat
# 或
python3 agsb.py cat

升级脚本

agsb update
# 或
python3 agsb.py update

卸载服务

agsb uninstall
# 或
python3 agsb.py del

环境变量设置

可以通过环境变量自定义配置:

  • vmpt: 指定vmess端口
  • uuid: 指定UUID
  • agn: 指定Argo固定域名
  • agk: 指定Argo授权密钥

例如:

export vmpt=10000
export uuid=your-uuid
python3 agsb.py

安装目录

所有文件安装在用户主目录下的.agsb隐藏文件夹内:

  • ~/.agsb/sing-box: sing-box可执行文件
  • ~/.agsb/cloudflared: cloudflared可执行文件
  • ~/.agsb/sb.json: sing-box配置文件
  • ~/.agsb/list.txt: 节点信息列表
  • ~/.agsb/allnodes.txt: 单行节点列表文件

优点

  1. 无需root权限,普通用户即可使用
  2. 安装在用户主目录下的隐藏文件夹,不影响系统目录
  3. 使用Python 3编写,语法更现代
  4. 仅使用标准库,无需安装任何额外依赖
  5. 保留了原shell脚本的所有核心功能
  6. 自动创建用户目录下的命令链接,使用更方便
  7. 更友好的错误处理和调试信息
  8. 提供直接输出节点功能,方便复制使用

兼容性提示

  • 需要Python 3环境,无需安装额外的依赖
  • 所有文件都安装在用户目录下,不影响系统目录
  • 安装完成后会在~/bin目录创建命令链接,如需使用,请确保该目录在PATH环境变量中

作者

康康的Github项目
康康的YouTube频道
康康的TG群组

#!/bin/sh

# 显示作者信息的函数
show_banner() {
  printf "\n\033[1;36m################################################################################\033[0m\n"
  printf "\033[1;33m#                                                                              #\033[0m\n"
  printf "\033[1;33m#   \033[1;35m作者: 康康\033[1;33m                                                            #\033[0m\n"
  printf "\033[1;33m#   \033[1;34mGithub: https://github.com/zhumengkang/\033[1;33m                              #\033[0m\n"
  printf "\033[1;33m#   \033[1;31mYouTube: https://www.youtube.com/@康康的V2Ray与Clash\033[1;33m                  #\033[0m\n"
  printf "\033[1;33m#   \033[1;36mTelegram: https://t.me/+WibQp7Mww1k5MmZl\033[1;33m                           #\033[0m\n"
  printf "\033[1;33m#                                                                              #\033[0m\n"
  printf "\033[1;33m################################################################################\033[0m\n"
  printf "\033[1;32m\n★ YouTube请点击关注!\033[0m\n"
  printf "\033[1;32m★ Github请点个Star支持!\033[0m\n\n"
}

# 关键:使用与freeroot相同的目录结构
ROOTFS_DIR=$(pwd)
export PATH=$PATH:~/.local/usr/bin:~/.local/bin
max_retries=50
timeout=30
ARCH=$(uname -m)

# 架构检测
if [ "$ARCH" = "x86_64" ]; then
ARCH_ALT=amd64
elif [ "$ARCH" = "aarch64" ]; then
ARCH_ALT=arm64
else
printf "Unsupported CPU architecture: ${ARCH}"
exit 1
fi

# 检查是否是首次安装
if [ ! -e $ROOTFS_DIR/.installed ]; then
show_banner

echo "##############################################################################"
echo "#"
echo "#                         Ubuntu 24.04 环境一键安装器"
echo "#"
echo "#                        Copyright (C) 2024, 康康修改版"
echo "#"
echo "##############################################################################"

read -p "Do you want to install Ubuntu 24.04? (YES/no): " install_ubuntu

# 安装Ubuntu基础系统
case $install_ubuntu in
  [yY][eE][sS]|"")
    echo "开始下载Ubuntu 24.04基础系统..."
    wget --tries=$max_retries --timeout=$timeout --no-hsts -O /tmp/rootfs.tar.gz \
      "http://cdimage.ubuntu.com/ubuntu-base/releases/24.04/release/ubuntu-base-24.04-base-${ARCH_ALT}.tar.gz"
    
    if [ -s /tmp/rootfs.tar.gz ]; then
      echo "解压Ubuntu基础系统..."
      tar -xf /tmp/rootfs.tar.gz -C $ROOTFS_DIR
      echo "✓ Ubuntu基础系统安装完成"
    else
      echo "✗ Ubuntu基础系统下载失败"
      exit 1
    fi
    ;;
  *)
    echo "跳过Ubuntu安装."
    exit 0
    ;;
esac

# 安装proot
mkdir $ROOTFS_DIR/usr/local/bin -p

echo "下载proot工具..."
# 首先尝试康康的源
wget --tries=$max_retries --timeout=$timeout --no-hsts -O $ROOTFS_DIR/usr/local/bin/proot "https://raw.githubusercontent.com/zhumengkang/test/main/proot-${ARCH}"

# 检查下载是否成功,如果不成功则尝试freeroot的源
while [ ! -s "$ROOTFS_DIR/usr/local/bin/proot" ]; do
  rm $ROOTFS_DIR/usr/local/bin/proot -rf
  echo "尝试备用源下载proot..."
  wget --tries=$max_retries --timeout=$timeout --no-hsts -O $ROOTFS_DIR/usr/local/bin/proot "https://raw.githubusercontent.com/foxytouxxx/freeroot/main/proot-${ARCH}"
  
  if [ -s "$ROOTFS_DIR/usr/local/bin/proot" ]; then
    chmod 755 $ROOTFS_DIR/usr/local/bin/proot
    echo "✓ proot下载成功"
    break
  fi
  
  chmod 755 $ROOTFS_DIR/usr/local/bin/proot
  sleep 1
done

chmod 755 $ROOTFS_DIR/usr/local/bin/proot

# 基础配置
printf "nameserver 1.1.1.1\nnameserver 1.0.0.1\nnameserver 8.8.8.8" > ${ROOTFS_DIR}/etc/resolv.conf
rm -rf /tmp/rootfs.tar.gz /tmp/sbin

# 创建初始化标记
touch $ROOTFS_DIR/.installed
echo "✓ 基础配置完成"

# 首次安装后自动配置环境
echo "正在配置Ubuntu环境,请稍候..."

$ROOTFS_DIR/usr/local/bin/proot \
  --rootfs="${ROOTFS_DIR}" \
  -0 -w "/root" -b /dev -b /sys -b /proc -b /etc/resolv.conf --kill-on-exit \
  /bin/bash -c '
echo "更新软件源..."
apt update

echo "安装基础软件包..."
DEBIAN_FRONTEND=noninteractive apt install -y \
  curl wget git vim nano htop tmux \
  python3 python3-pip nodejs npm \
  build-essential net-tools \
  zip unzip sudo locales tree \
  ca-certificates gnupg lsb-release

echo "配置语言环境..."
locale-gen en_US.UTF-8

echo "配置bash环境..."
cat > /root/.bashrc << "BASHRC_END"
# ~/.bashrc: executed by bash(1) for non-login shells.

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

# 自定义PS1
PS1="\[\033[01;32m\]\[email protected]\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "

# 别名
alias ll="ls -la --color=auto"
alias la="ls -a --color=auto"
alias ls="ls --color=auto"
alias ..="cd .."
alias ...="cd ../.."
alias grep="grep --color=auto"
alias h="history"
alias c="clear"

# 欢迎信息
if [ -t 0 ]; then
clear
printf "\n\033[1;36m################################################################################\033[0m\n"
printf "\033[1;33m#                                                                              #\033[0m\n"
printf "\033[1;33m#   \033[1;35m作者: 康康\033[1;33m                                                            #\033[0m\n"
printf "\033[1;33m#   \033[1;34mGithub: https://github.com/zhumengkang/\033[1;33m                              #\033[0m\n"
printf "\033[1;33m#   \033[1;31mYouTube: https://www.youtube.com/@康康的V2Ray与Clash\033[1;33m                  #\033[0m\n"
printf "\033[1;33m#   \033[1;36mTelegram: https://t.me/+WibQp7Mww1k5MmZl\033[1;33m                           #\033[0m\n"
printf "\033[1;33m#                                                                              #\033[0m\n"
printf "\033[1;33m################################################################################\033[0m\n"
printf "\033[1;32m\n★ YouTube请点击关注!\033[0m\n"
printf "\033[1;32m★ Github请点个Star支持!\033[0m\n\n"
printf "\033[1;36m欢迎进入Ubuntu 24.04环境!\033[0m\n\n"

echo "════════════════════════════════════════════════════════════════"
echo "                        使用说明"
echo "════════════════════════════════════════════════════════════════"
printf "\033[1;32m进入环境:\033[0m ./root.sh\n"
printf "\033[1;31m退出环境:\033[0m exit 或按 Ctrl+D\n"
echo "════════════════════════════════════════════════════════════════"
echo "系统信息:"
cat /etc/os-release | grep PRETTY_NAME
echo "架构: $(uname -m)"
echo "可用工具: git, vim, htop, python3, node, curl, wget"
echo "════════════════════════════════════════════════════════════════"
echo ""
fi
BASHRC_END

apt clean
echo "✓ Ubuntu环境配置完成!"
'

printf "\033[1;36m安装完成!即将进入Ubuntu 24.04环境...\033[0m\n\n"
sleep 2
fi

# 检查环境是否已安装
if [ ! -e $ROOTFS_DIR/.installed ]; then
echo "Ubuntu环境未正确安装,请重新运行安装脚本"
exit 1
fi

# 启动Ubuntu环境
echo "启动Ubuntu 24.04环境..."
export TERM=xterm-256color

$ROOTFS_DIR/usr/local/bin/proot \
--rootfs="${ROOTFS_DIR}" \
-0 -w "/root" -b /dev -b /sys -b /proc -b /etc/resolv.conf --kill-on-exit \
/bin/bash --login
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区