返回列表 发布新帖

[活动线报] 阿里云学生认证免费用9年ECS云服务器

210 3
发表于 2025-8-21 10:52:53 来自手机 | 查看全部 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 辰东 于 2025-8-21 10:55 编辑

配置2C0.5G 80Mbps,空间也不多弄个发行版Alpine差不多了
1000113256.webp
1000113259.webp

感觉只能用来内网穿透啊

游客,如果您要查看本帖隐藏内容请回复


基本设置可以参考如下流水账:

一、 基本设置

1. ssh修改为密码登录 (不推荐)
  1. doas vi /etc/ssh/sshd_config.d/50-cloud-init.conf
复制代码


2. 软链接sudo
  1. doas ln -s $(which doas) /usr/local/bin/sudo
复制代码


3. 修改主机名
  1. sudo vi /etc/hostname
  2. reboot
复制代码


4. 调整时区
  1. sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码


5. 修改root密码
  1. sudo passwd root
复制代码


6. alpine用户提权
  1. su - root
  2. passwd alpine
复制代码


7 .替换阿里云镜像源
  1. # 把原本的注释掉, 添加下面两个镜像源
  2. http://mirrors.cloud.aliyuncs.com/alpine/v3.20/main
  3. http://mirrors.cloud.aliyuncs.com/alpine/v3.20/community

  4. # 更新
  5. sudo apk update
复制代码



二、 系统环境

1. 安装pip
  1. sudo apk add py3-pip
复制代码


2. 创建python虚拟环境
  1. cd /path
  2. python3 -m venv myenv
  3. source myenv/bin/activate
  4. pip install requests colorlog
复制代码


3. 管理定时任务
  1. # 查看当前用户的 crontab
  2. crontab -l

  3. # 编辑当前用户的 crontab
  4. crontab -e
复制代码


4. 流量监控
1. 脚本名aliyun_traffic.sh

先修改 Bark 通知相关配置
  1. #!/bin/sh

  2. # Bark 通知相关配置
  3. BARK_URL="你的Bark通知API"
  4. BARK_GROUP="通知分组"
  5. BARK_ICON="https://kechang.uk/pic/kechang_icon_round.png"

  6. echo "------------------------------"

  7. # 获取当前脚本的绝对路径
  8. SCRIPT_PATH=$(realpath "\$0")

  9. # 保存流量数据的文件
  10. TRAFFIC_FILE="/var/tmp/network_traffic.dat"
  11. CURRENT_MONTH=$(date +"%Y-%m")
  12. SHUTDOWN_THRESHOLD=$((20 * 1024 * 1024 * 1024))  # 20GB 转换为字节的整数表示
  13. NOTIFICATION_THRESHOLD=$((19 * 1024 * 1024 * 1024))  # 19GB 转换为字节的整数表示

  14. # 自动检测活跃的网络接口(排除 lo 环回接口)
  15. INTERFACES=$(ls /sys/class/net | grep -v lo)

  16. # 如果流量文件不存在或者月份不同,则创建并初始化
  17. if [ ! -f $TRAFFIC_FILE ]; then
  18.     echo "$CURRENT_MONTH 0 0" > $TRAFFIC_FILE
  19. else
  20.     saved_month=$(awk '{print $1}' $TRAFFIC_FILE)
  21.     if [ "$saved_month" != "$CURRENT_MONTH" ]; then
  22.         echo "$CURRENT_MONTH 0 0" > $TRAFFIC_FILE
  23.     fi
  24. fi

  25. # 读取之前的接收和发送累计流量
  26. read saved_month last_total_in last_total_out < $TRAFFIC_FILE

  27. # 初始化本次启动后的累计流量
  28. current_total_in=0
  29. current_total_out=0

  30. # 遍历每个接口,获取并输出流量信息
  31. for INTERFACE in $INTERFACES; do
  32.     # 获取当前接收和发送的字节数
  33.     in_bytes=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $2}')
  34.     out_bytes=$(cat /proc/net/dev | grep $INTERFACE | awk '{print $10}')

  35.     # 本次启动后的累计流量
  36.     current_total_in=$((current_total_in + in_bytes))
  37.     current_total_out=$((current_total_out + out_bytes))
  38. done

  39. # 计算本次启动前后的累计流量
  40. total_in=$((last_total_in + current_total_in - last_total_in))
  41. total_out=$((last_total_out + current_total_out - last_total_out))
  42. total_bytes=$((total_in + total_out))

  43. # 检查是否达到19GB的通知阈值
  44. if [ "$total_bytes" -ge "$NOTIFICATION_THRESHOLD" ] && [ "$total_bytes" -lt "$SHUTDOWN_THRESHOLD" ]; then
  45.     BARK_TITLE="aliyun_x86%E6%B5%81%E9%87%8F%E5%91%8A%E8%AD%A6"
  46.     BARK_MSG="%E6%80%BB%E6%B5%81%E9%87%8F%E5%B7%B2%E8%BE%BE%E5%88%B0%2019GB,%20%E8%AF%B7%E6%B3%A8%E6%84%8F%E6%B5%81%E9%87%8F%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5"

  47.     curl -s -X GET "$BARK_URL/$BARK_TITLE/$BARK_MSG?group=$BARK_GROUP&icon=$BARK_ICON" > /dev/null

  48.     echo "总流量已达到 19GB, 请注意流量使用情况"
  49. fi

  50. # 检查是否达到20GB的关机阈值
  51. if [ "$total_bytes" -ge "$SHUTDOWN_THRESHOLD" ]; then
  52.     BARK_TITLE="aliyun_x86%E6%B5%81%E9%87%8F%E4%B8%8A%E9%99%90"
  53.     BARK_MSG="%E6%80%BB%E6%B5%81%E9%87%8F%E5%B7%B2%E8%BE%BE%E5%88%B0%2020GB,%20%E7%B3%BB%E7%BB%9F%E5%8D%B3%E5%B0%86%E5%85%B3%E6%9C%BA..."

  54.     curl -s -X GET "$BARK_URL/$BARK_TITLE/$BARK_MSG?group=$BARK_GROUP&icon=$BARK_ICON" > /dev/null

  55.     echo "总流量已达到 20GB, 系统即将关机..."
  56.     sudo shutdown -h now
  57. fi

  58. # 自适应单位输出
  59. if [ $total_bytes -lt 1024 ]; then
  60.     total="$total_bytes bytes"
  61. elif [ $total_bytes -lt $((1024 * 1024)) ]; then
  62.     total=$(echo "scale=2; $total_bytes / 1024" | bc)
  63.     total="$total KB"
  64. elif [ $total_bytes -lt $((1024 * 1024 * 1024)) ]; then
  65.     total=$(echo "scale=2; $total_bytes / 1024 / 1024" | bc)
  66.     total="$total MB"
  67. else
  68.     total=$(echo "scale=2; $total_bytes / 1024 / 1024 / 1024" | bc)
  69.     total="$total GB"
  70. fi

  71. # 输出结果
  72. echo "本月已使用流量: $total"
  73. echo "------------------------------"

  74. # 将本次启动后的流量数据保存到文件
  75. echo "$CURRENT_MONTH $current_total_in $current_total_out" > $TRAFFIC_FILE

  76. # 检查是否已经存在cron任务
  77. CRON_CMD="*/5 * * * * $SCRIPT_PATH"
  78. (crontab -l | grep -F "$CRON_CMD") || {
  79.     # 尝试添加cron任务,并捕获错误
  80.     (crontab -l 2>/dev/null; echo "$CRON_CMD") | crontab - 2>/tmp/cron_error.log

  81.     # 检查是否出现了权限错误
  82.     if grep -q "you are not allowed to use this program" /tmp/cron_error.log; then
  83.         echo "无法添加定时任务:没有权限。请以root用户或管理员权限运行此脚本。" >&2
  84.     elif grep -q "permission denied" /tmp/cron_error.log; then
  85.         echo "无法添加定时任务:权限被拒绝。请以root用户或管理员权限运行此脚本。" >&2
  86.     fi

  87.     # 删除错误日志
  88.     rm -f /tmp/cron_error.log
  89. }
复制代码


2. 赋予执行权限
  1. sudo chmod +x aliyun_traffic.sh
复制代码


3. 执行一次, 保证定时任务开启
  1. ./aliyun_traffic.sh
复制代码


5. FRP内网穿透

1. 服务端
  1. # 1. 安装frp
  2. sudo apk add frp

  3. # 2. 查看配置文件
  4. sudo apk info -L frp

  5. # 3. 编辑配置文件
  6. sudo vi /etc/frp/frps.toml

  7. bindPort = 7000
  8. # 配置 frp dashboard
  9. webServer.addr = "0.0.0.0"
  10. webServer.port = 7500
  11. webServer.user = "用户名"
  12. webServer.password = "密码"
  13. # 配置 token 认证,frpc 客户端也需指定一样的token
  14. auth.method = "token"
  15. auth.token = "密码"

  16. # 4. 添加启动项
  17. sudo rc-update add frps default

  18. # 5. 启动服务
  19. sudo rc-service frps start
  20. sudo rc-service frps stop     # 停止
  21. sudo rc-service frps restart  # 重启
  22. sudo rc-service frps status   # 查看状态
复制代码


2. 客户端
  1. # 1. 下载对应架构的frp, 并上传到客户端解压, 然后cd到解压后的目录
  2. https://github.com/fatedier/frp/releases

  3. # 2. 复制文件
  4. sudo cp frpc /usr/local/bin/
  5. chmod +x /usr/local/bin/frpc
  6. sudo mkdir -p /etc/frp/
  7. sudo cp frpc.toml /etc/frp/frpc.toml

  8. # 3. 编辑客户端配置文件
  9. sudo vim /etc/frp/frpc.toml

  10. serverAddr = "服务端ip"
  11. serverPort = 7000
  12. auth.method = "token"
  13. auth.token = "密码"

  14. [[proxies]]
  15. name = "代理名称"
  16. type = "tcp"
  17. localIP = "127.0.0.1"
  18. localPort = 本地端口
  19. remotePort = 远程端口

  20. # 4. 配置启动项
  21. sudo vim /etc/systemd/system/frpc.service

  22. [Unit]  
  23. Description=FRP Client  
  24. After=network.target  

  25. [Service]  
  26. Type=simple  
  27. User=nobody
  28. ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml
  29. Restart=always  

  30. [Install]  
  31. WantedBy=multi-user.target

  32. # 5. 开机启动
  33. chmod 777 /etc/systemd/system/frpc.service
  34. sudo systemctl daemon-reload  # 重新加载systemd配置,以识别新的服务文件  
  35. sudo systemctl enable frpc    # 设置开机启动  
  36. sudo systemctl start frpc     # 立即启动服务
  37. sudo systemctl status frpc    # 查看状态
复制代码


6. htop
  1. sudo apk add htop
复制代码


三、 恢复镜像

1. 上传镜像到OSS
https://oss.console.aliyun.com/bucket/oss-cn-wulanchabu

2. 导入镜像
https://ecs.console.aliyun.com/image/region/cn-wulanchabu


3. 备份数据&停止实例&更换操作系统
1000113258.webp
装了docker和alist-tvbox,还剩100M 内存,其实能跑的东西很多。

评论3

rgm1988 发表于 2025-8-21 18:21:00 来自手机 | 查看全部
感谢分享
沙发 2025-8-21 18:21:00 回复 收起回复
回复

使用道具 举报

2546897星光赞助(未赞助不可申请) 发表于 2025-8-21 20:25:51 来自手机 | 查看全部
666
板凳 2025-8-21 20:25:51 回复 收起回复
回复

使用道具 举报

丶海蓝无魂 发表于 2025-8-23 12:09:25 | 查看全部
感谢分享
地板 2025-8-23 12:09:25 回复 收起回复
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

ysqbbs@outlook.com

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加QQ群
Copyright © 2001-2025 源社区 版权所有 All Rights Reserved.
关灯 在本版发帖
扫一扫添加QQ群
返回顶部
快速回复 返回顶部 返回列表