2
This commit is contained in:
112
v2raya/v2raya.sh
112
v2raya/v2raya.sh
@@ -255,6 +255,10 @@ install_v2raya() {
|
|||||||
|
|
||||||
# 卸载 V2rayA
|
# 卸载 V2rayA
|
||||||
uninstall_v2raya() {
|
uninstall_v2raya() {
|
||||||
|
local arch=$(detect_arch)
|
||||||
|
local xray_file="$INSTALL_DIR/xray_${XRAY_VERSION}_${arch}.deb"
|
||||||
|
local v2raya_file="$INSTALL_DIR/v2raya_${V2RAYA_VERSION}_${arch}.deb"
|
||||||
|
|
||||||
print_warning "即将卸载 V2rayA 和 Xray"
|
print_warning "即将卸载 V2rayA 和 Xray"
|
||||||
read -p "是否继续?[y/N] " -n 1 -r
|
read -p "是否继续?[y/N] " -n 1 -r
|
||||||
echo
|
echo
|
||||||
@@ -293,7 +297,30 @@ uninstall_v2raya() {
|
|||||||
apt purge xray v2raya -y 2>/dev/null
|
apt purge xray v2raya -y 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 询问是否删除安装包
|
||||||
|
echo ""
|
||||||
|
read -p "是否删除下载的安装包?[y/N] " -n 1 -r
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
print_info "删除安装包..."
|
||||||
|
if [[ -f "$xray_file" ]]; then
|
||||||
|
rm -f "$xray_file"
|
||||||
|
print_success "已删除: $xray_file"
|
||||||
|
fi
|
||||||
|
if [[ -f "$v2raya_file" ]]; then
|
||||||
|
rm -f "$v2raya_file"
|
||||||
|
print_success "已删除: $v2raya_file"
|
||||||
|
fi
|
||||||
|
# 如果安装目录为空,则删除目录
|
||||||
|
if [[ -d "$INSTALL_DIR" ]] && [[ -z "$(ls -A $INSTALL_DIR)" ]]; then
|
||||||
|
rmdir "$INSTALL_DIR"
|
||||||
|
print_success "已删除空目录: $INSTALL_DIR"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# 验证卸载
|
# 验证卸载
|
||||||
|
echo ""
|
||||||
if dpkg -l | grep -E 'v2raya|xray' &> /dev/null; then
|
if dpkg -l | grep -E 'v2raya|xray' &> /dev/null; then
|
||||||
print_warning "部分组件可能未完全卸载"
|
print_warning "部分组件可能未完全卸载"
|
||||||
dpkg -l | grep -E 'v2raya|xray'
|
dpkg -l | grep -E 'v2raya|xray'
|
||||||
@@ -302,13 +329,70 @@ uninstall_v2raya() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 清理下载的安装包
|
||||||
|
clean_packages() {
|
||||||
|
local arch=$(detect_arch)
|
||||||
|
local xray_file="$INSTALL_DIR/xray_${XRAY_VERSION}_${arch}.deb"
|
||||||
|
local v2raya_file="$INSTALL_DIR/v2raya_${V2RAYA_VERSION}_${arch}.deb"
|
||||||
|
local files_found=0
|
||||||
|
|
||||||
|
print_warning "即将删除下载的安装包"
|
||||||
|
|
||||||
|
# 检查文件是否存在
|
||||||
|
if [[ -f "$xray_file" ]]; then
|
||||||
|
echo " - $xray_file"
|
||||||
|
files_found=1
|
||||||
|
fi
|
||||||
|
if [[ -f "$v2raya_file" ]]; then
|
||||||
|
echo " - $v2raya_file"
|
||||||
|
files_found=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $files_found -eq 0 ]]; then
|
||||||
|
print_info "没有找到需要清理的安装包"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
read -p "是否继续删除?[y/N] " -n 1 -r
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
print_info "已取消清理"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 删除文件
|
||||||
|
if [[ -f "$xray_file" ]]; then
|
||||||
|
rm -f "$xray_file"
|
||||||
|
print_success "已删除: $xray_file"
|
||||||
|
fi
|
||||||
|
if [[ -f "$v2raya_file" ]]; then
|
||||||
|
rm -f "$v2raya_file"
|
||||||
|
print_success "已删除: $v2raya_file"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 如果安装目录为空,则删除目录
|
||||||
|
if [[ -d "$INSTALL_DIR" ]] && [[ -z "$(ls -A $INSTALL_DIR)" ]]; then
|
||||||
|
rmdir "$INSTALL_DIR"
|
||||||
|
print_success "已删除空目录: $INSTALL_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_success "清理完成"
|
||||||
|
}
|
||||||
|
|
||||||
# 检查安装状态
|
# 检查安装状态
|
||||||
check_status() {
|
check_status() {
|
||||||
|
local arch=$(detect_arch)
|
||||||
|
local xray_file="$INSTALL_DIR/xray_${XRAY_VERSION}_${arch}.deb"
|
||||||
|
local v2raya_file="$INSTALL_DIR/v2raya_${V2RAYA_VERSION}_${arch}.deb"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
print_info "============================================"
|
print_info "============================================"
|
||||||
print_info "检查 V2rayA 状态"
|
print_info "检查 V2rayA 状态"
|
||||||
print_info "============================================"
|
print_info "============================================"
|
||||||
|
|
||||||
|
# 检查软件安装状态
|
||||||
if dpkg -l | grep -q v2raya; then
|
if dpkg -l | grep -q v2raya; then
|
||||||
print_success "V2rayA 已安装"
|
print_success "V2rayA 已安装"
|
||||||
|
|
||||||
@@ -333,6 +417,23 @@ check_status() {
|
|||||||
print_warning "Xray 未安装"
|
print_warning "Xray 未安装"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# 检查安装包状态
|
||||||
|
echo ""
|
||||||
|
print_info "安装包状态:"
|
||||||
|
if [[ -f "$xray_file" ]]; then
|
||||||
|
local size=$(du -h "$xray_file" | cut -f1)
|
||||||
|
print_info " Xray: ${CYAN}已下载${NC} (${size})"
|
||||||
|
else
|
||||||
|
print_warning " Xray: 未下载"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -f "$v2raya_file" ]]; then
|
||||||
|
local size=$(du -h "$v2raya_file" | cut -f1)
|
||||||
|
print_info " V2rayA: ${CYAN}已下载${NC} (${size})"
|
||||||
|
else
|
||||||
|
print_warning " V2rayA: 未下载"
|
||||||
|
fi
|
||||||
|
|
||||||
print_info "============================================"
|
print_info "============================================"
|
||||||
echo ""
|
echo ""
|
||||||
}
|
}
|
||||||
@@ -347,8 +448,9 @@ show_menu() {
|
|||||||
echo -e "${NC}"
|
echo -e "${NC}"
|
||||||
echo -e "${GREEN}1.${NC} 安装 V2rayA"
|
echo -e "${GREEN}1.${NC} 安装 V2rayA"
|
||||||
echo -e "${GREEN}2.${NC} 卸载 V2rayA"
|
echo -e "${GREEN}2.${NC} 卸载 V2rayA"
|
||||||
echo -e "${GREEN}3.${NC} 仅下载安装包"
|
echo -e "${GREEN}3.${NC} 下载安装包"
|
||||||
echo -e "${GREEN}4.${NC} 检查状态"
|
echo -e "${GREEN}4.${NC} 清理安装包"
|
||||||
|
echo -e "${GREEN}5.${NC} 检查状态"
|
||||||
echo -e "${GREEN}0.${NC} 退出"
|
echo -e "${GREEN}0.${NC} 退出"
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${CYAN}============================================${NC}"
|
echo -e "${CYAN}============================================${NC}"
|
||||||
@@ -360,7 +462,7 @@ main() {
|
|||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
show_menu
|
show_menu
|
||||||
read -p "请选择操作 [0-4]: " choice
|
read -p "请选择操作 [0-5]: " choice
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
1)
|
1)
|
||||||
@@ -380,6 +482,10 @@ main() {
|
|||||||
read -p "按任意键继续..." -n 1
|
read -p "按任意键继续..." -n 1
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
|
clean_packages
|
||||||
|
read -p "按任意键继续..." -n 1
|
||||||
|
;;
|
||||||
|
5)
|
||||||
check_status
|
check_status
|
||||||
read -p "按任意键继续..." -n 1
|
read -p "按任意键继续..." -n 1
|
||||||
;;
|
;;
|
||||||
|
|||||||
Reference in New Issue
Block a user