2025-06-20 17:13:51 +08:00
|
|
|
#!/bin/bash
|
|
|
|
|
# This script is used to initialize the environment for the project
|
|
|
|
|
# Usage: ./init.sh
|
|
|
|
|
# Author: LiDong
|
|
|
|
|
# Date: 2022-11-08
|
|
|
|
|
|
|
|
|
|
# 出错退出
|
|
|
|
|
set -e
|
|
|
|
|
# 获取公网IP
|
|
|
|
|
IP=$(curl -s ifconfig.me)
|
|
|
|
|
|
|
|
|
|
# 使用ip-api.com获取IP地理位置信息
|
|
|
|
|
INFO=$(curl -s "http://ip-api.com/json/${IP}")
|
|
|
|
|
|
|
|
|
|
# 判断是否在中国
|
|
|
|
|
if echo "$INFO" | grep -q '"country":"China"'; then
|
|
|
|
|
echo "IP is in China"
|
|
|
|
|
# 如果 REMOTE_CONTAINERS 为 true,则为容器开发环境,进行相关配置
|
|
|
|
|
if [ "$REMOTE_CONTAINERS" = "true" ]; then
|
|
|
|
|
# 容器开发环境,配置容器内部的环境变量
|
|
|
|
|
echo "Configuring environment variables for container development environment"
|
|
|
|
|
# 记录hostname到 data/hostname.txt 如果 data 目录不存在,则创建
|
|
|
|
|
if [ ! -d "data" ]; then
|
|
|
|
|
mkdir data
|
|
|
|
|
chmod 777 data
|
|
|
|
|
fi
|
|
|
|
|
echo "$(hostname)" >data/hostname.txt
|
|
|
|
|
|
|
|
|
|
# 配置goproxy
|
|
|
|
|
echo "Configuring goproxy"
|
|
|
|
|
go env -w GO111MODULE=on
|
|
|
|
|
go env -w GOPROXY=https://goproxy.cn,direct
|
|
|
|
|
|
|
|
|
|
# 配置npm mirror
|
|
|
|
|
echo "Configuring npm mirror"
|
|
|
|
|
npm config set registry https://registry.npmmirror.com
|
|
|
|
|
yarn config set registry https://registry.npmmirror.com
|
|
|
|
|
|
|
|
|
|
# 安装pgit
|
|
|
|
|
echo "Installing pgit"
|
|
|
|
|
curl -o pgit https://gitee.com/gcslaoli/pgit/raw/main/shell/pgit && chmod +x pgit && sudo mv pgit /usr/local/bin
|
|
|
|
|
|
|
|
|
|
# 安装cool-tools
|
|
|
|
|
echo "Installing cool-tools ..."
|
2025-06-20 22:03:38 +00:00
|
|
|
go install blazing/cool-tools@latest
|
2025-06-20 17:13:51 +08:00
|
|
|
# 安装gf
|
|
|
|
|
echo "Installing gf use mirror ..."
|
|
|
|
|
pgit wget -O gf \
|
|
|
|
|
https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH) &&
|
|
|
|
|
chmod +x gf &&
|
|
|
|
|
./gf install -y &&
|
|
|
|
|
rm ./gf
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
echo "IP is not in China"
|
|
|
|
|
# 如果 REMOTE_CONTAINERS 为 true,则为容器开发环境,进行相关配置
|
|
|
|
|
if [ "$REMOTE_CONTAINERS" = "true" ]; then
|
|
|
|
|
# 容器开发环境,配置容器内部的环境变量
|
|
|
|
|
echo "Configuring environment variables for container development environment"
|
|
|
|
|
# 记录hostname到 data/hostname.txt 如果 data 目录不存在,则创建
|
|
|
|
|
if [ ! -d "data" ]; then
|
|
|
|
|
mkdir data
|
|
|
|
|
chmod 777 data
|
|
|
|
|
fi
|
|
|
|
|
echo "$(hostname)" >data/hostname.txt
|
|
|
|
|
|
|
|
|
|
# 安装cool-tools
|
|
|
|
|
echo "Installing cool-tools ..."
|
2025-06-20 22:03:38 +00:00
|
|
|
go install blazing/cool-tools@latest
|
2025-06-20 17:13:51 +08:00
|
|
|
# 安装gf
|
|
|
|
|
echo "Installing gf use mirror ..."
|
|
|
|
|
wget -O gf \
|
|
|
|
|
https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH) &&
|
|
|
|
|
chmod +x gf &&
|
|
|
|
|
./gf install -y &&
|
|
|
|
|
rm ./gf
|
|
|
|
|
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
fi
|