对于痛苦,主要亚文化的代价实在太大,也要认识到痛苦也是我们的一部分。
clouldon
-
作为生活本身的哲学基础的操练 -
作为生活本身的哲学基础的操练居然是推特吗,那很多了
-
Linux自用命令脚本Linux自用命令脚本
speedtest测速
sudo apt-get install curl && curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash && sudo apt-get install speedtest适用于Debian
vkit工具箱 作者@vps.dance
原文链接
GitHub源码链接bash <(curl -Lso- https://sh.vps.dance/vkit.sh)国内机如果不能用, 可尝试切换镜像
bash <(curl -Lso- https://sh.vps.dance/vkit.sh) ghproxyVKit 提供Linux VPS常用的系统软件安装, 以及系统优化脚本, 目前集成功能如下. 配置SSH Public Key (SSH免密登录) 终端优化 (颜色美化/上下键查找历史) 安装并开启 BBR 系统优化 (TCP网络优化/资源限制优化) 安装常用软件 (ping/traceroute/nslookup/nping/nc/tcpdump) 修改默认SSH端口 (减少被扫描风险) 增加swap分区 (虚拟内存) IPv4/IPv6优先级调整, 启用/禁用IPv6 安装 Xray (同时安装 增强版的geosite/geoip规则) 安装 SS 安装 snell 安装 hy2 安装 realm (端口转发工具) 安装 gost (隧道/端口转发工具) 安装 nali (IP查询工具) 安装 ddns-go (DDNS工具) 安装 miniserve (HTTP 文件服务器) 使用 CF WARP 添加 IPv4/IPv6 网络 检测 VPS流媒体解锁 (RegionRestrictionCheck) 检测 单线程/多线程网速 (i-abc/Speedtest) 检测 VPS信息/IO/到国际网速 (Bench.sh) 性能/IO 测试 (YABS) 检测 TCP回程路由 (BestTrace) 检测 TCP回程路由 (NextTrace) 检测 Tiktok解锁 (TikTokCheck) 检测 IP质量 (IPQuality) 理论支持的Linux: Ubuntu/Debian, Centos/Redhat (未做严格测试). -
ppp_install.shPPP 安装与管理脚本
这是一个用于安装、配置、更新和管理
openppp2服务的 Bash 脚本。脚本需要 root 权限才能执行,并提供菜单驱动的界面来执行各种操作。脚本内容
#!/bin/bash # 检查是否以 root 权限运行(安装和更新需要 root 权限) if [ "$(id -u)" != "0" ]; then echo "错误:此脚本需要以 root 权限运行,请使用 sudo 或切换到 root 用户" exit 1 fi # 检查文件是否具有可执行权限并修复 check_and_fix_permissions() { local file="$1" local desc="$2" if [ -f "$file" ] && [ ! -x "$file" ]; then chmod +x "$file" && echo "✅ 已为 $desc 添加可执行权限" elif [ -f "$file" ]; then echo "✅ $desc 已具有可执行权限" fi } # 调试:确认脚本开始执行 echo "✅ 脚本启动,进入主循环" # 主循环 while true; do # 调试:确认菜单打印 echo "✅ 开始打印菜单" echo "请选择操作:" echo "1) 安装(完整安装openppp2和配置)" echo "2) 改完配置后的系统服务写入(跳过拉取和修改,直接配置服务)" echo "3) 更新(更新openppp2 二进制文件并配置服务)" echo "4) 重启(重启ppp.service)" echo "5) 停止(停止ppp.service)" echo "6) 查看运行状况(查看/opt/ppp/ppp.log)" echo "7) 卸载 ppp(删除 /opt/ppp、停止并删除 ppp.service 并重载系统服务)" echo "8) 退出" read -p "请输入选项 (1/2/3/4/5/6/7/8): " OPERATION case $OPERATION in 1) echo "正在更新软件源并安装 jq 和 uuidgen..." if command -v apt-get &> /dev/null; then apt-get update apt-get install -y jq uuid-runtime elif command -v dnf &> /dev/null; then dnf update -y dnf install -y jq util-linux elif command -v yum &> /dev/null; then yum update -y yum install -y jq util-linux else echo "错误:无法识别包管理器,请手动安装 jq 和 uuidgen" continue fi if ! command -v jq &> /dev/null; then echo "错误:jq 安装失败" continue fi echo "✅ jq 安装完成,版本:$(jq --version)" if ! command -v uuidgen &> /dev/null; then echo "错误:uuidgen 安装失败" continue fi echo "✅ uuidgen 安装完成" mkdir -p /opt/ppp && cd /opt/ppp if [ -f "/opt/ppp/ppp" ]; then echo "检测到已存在 ppp 文件,将重新下载并覆盖" fi wget https://github.com/liulilittle/openppp2/releases/latest/download/openppp2-linux-amd64.zip && \ unzip -o $(ls | grep -m1 'openppp2.*\.zip') ppp -d . && \ chmod +x ppp && \ echo "✅ ppp 安装完成" && \ rm -f $(ls | grep -m1 'openppp2.*\.zip') check_and_fix_permissions "/opt/ppp/ppp" "ppp 二进制文件" wget https://raw.githubusercontent.com/zouazhi/zouazhi/main/ppp/config/ppp.sh && \ chmod +x ppp.sh && \ echo "✅ 启动脚本 ppp.sh 拉取完成" check_and_fix_permissions "/opt/ppp/ppp.sh" "ppp.sh 启动脚本" echo "是否自行修改 appsettings.json 文件?" echo "1) 是(脚本将暂停)" echo "2) 否(通过脚本输入 IP、端口和 GUID)" read -p "请输入选项 (1/2): " CONFIG_OPTION if [ "$CONFIG_OPTION" = "1" ]; then echo "请手动修改 /opt/ppp/appsettings.json 文件后重新运行" continue elif [ "$CONFIG_OPTION" != "2" ]; then echo "错误:无效选项" continue fi wget -O appsettings.json https://raw.githubusercontent.com/zouazhi/zouazhi/main/ppp/config/appsettings.json && \ echo "✅ 配置文件 appsettings.json 拉取完成" read -p "请输入新的 IP 地址(默认 1.1.1.1): " NEW_IP read -p "请输入新的端口(默认 20000): " NEW_PORT read -p "请输入新的 GUID(留空随机生成): " NEW_GUID NEW_IP=${NEW_IP:-"1.1.1.1"} NEW_PORT=${NEW_PORT:-"20000"} if [ -z "$NEW_GUID" ]; then NEW_GUID=$(uuidgen) echo "✅ 已生成随机 UUID:$NEW_GUID" fi if ! [[ "$NEW_IP" =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then echo "错误:无效 IP" continue fi if ! [[ "$NEW_PORT" =~ ^[0-9]+$ ]] || [ "$NEW_PORT" -lt 1 ] || [ "$NEW_PORT" -gt 65535 ]; then echo "错误:端口无效" continue fi cp appsettings.json appsettings.json.bak && echo "✅ 已备份配置文件" jq --arg ip "$NEW_IP" --arg port "$NEW_PORT" --arg guid "$NEW_GUID" ' .tcp.listen.port = ($port | tonumber) | .udp.listen.port = ($port | tonumber) | .udp.static.servers[0] = ($ip + ":" + $port) | .client.server = ("ppp://" + $ip + ":" + $port) | .client.guid = $guid ' appsettings.json > temp.json && mv temp.json appsettings.json && \ echo "✅ 已更新配置" ;; 2) if [ ! -f "/opt/ppp/appsettings.json" ]; then echo "错误:未找到配置文件" continue fi cd /opt/ppp check_and_fix_permissions "/opt/ppp/ppp" "ppp 二进制文件" check_and_fix_permissions "/opt/ppp/ppp.sh" "ppp.sh 启动脚本" ;; 3) mkdir -p /opt/ppp && cd /opt/ppp wget https://github.com/liulilittle/openppp2/releases/latest/download/openppp2-linux-amd64.zip && \ unzip -o $(ls | grep -m1 'openppp2.*\.zip') ppp -d . && \ chmod +x ppp && \ echo "✅ ppp 更新完成" && \ rm -f $(ls | grep -m1 'openppp2.*\.zip') check_and_fix_permissions "/opt/ppp/ppp" "ppp 二进制文件" check_and_fix_permissions "/opt/ppp/ppp.sh" "ppp.sh 启动脚本" systemctl restart ppp.service && echo "✅ ppp.service 已重启" ;; 4) systemctl daemon-reload systemctl restart ppp.service && echo "✅ ppp.service 已重启" ;; 5) systemctl stop ppp.service && echo "✅ ppp.service 已停止" ;; 6) if [ -f "/opt/ppp/ppp.log" ]; then cat /opt/ppp/ppp.log else echo "错误:/opt/ppp/ppp.log 不存在" fi ;; 7) echo "正在卸载 ppp..." if systemctl is-active --quiet ppp.service; then systemctl stop ppp.service && echo "✅ 已停止 ppp.service" fi if systemctl is-enabled --quiet ppp.service; then systemctl disable ppp.service && echo "✅ 已禁用 ppp.service" fi rm -f /etc/systemd/system/ppp.service && echo "✅ 已删除 ppp.service 文件" systemctl daemon-reload && echo "✅ 已重载 systemd" rm -rf /opt/ppp && echo "✅ 已删除 /opt/ppp" echo "✅ 请手动删除脚本文件 /root/ppp_install.sh 以完成清理(命令:rm /root/ppp_install.sh)" echo "✅ ppp 卸载完成!" exit 0 ;; 8) echo "✅ 退出脚本" exit 0 ;; *) echo "错误:无效选项" exit 1 ;; esac echo "✅ 当前操作完成!" echo done -
openppp2简易使用教程1.openppp2项目简介
介绍一种VPN-openppp2,目前来看不会被墙,而且支持内网穿透,虚拟子网,UDP多线路宽频聚合,CDN转发,国内自动BGP分流等等更多功能看github
仓库:https://github.com/liulilittle/openppp2
使用指南:https://github.com/liulilittle/openppp2/blob/main/README_CN.md下文将openppp2简称为ppp
ppp目前在IPv6上支持不好,不太能跑在IPv6上,使用前得把IPv4优先或者禁用IPv6(Window客户端),如果是直连比较吃线路,除非个人会调整网络调优,或是使用CDN转发。
其在Linux下运行支持较为良好,而在Windows上常常会遇到奇奇怪怪的问题(IPv6问题导致无法进行有效通讯),作者已给出部分解决方法,见使用指南。原版安装参考原文-快速开始
2.脚本简介及服务端安装
因为最近使用了AI写了一键脚本,在Debian系统里面还是可用的。
wget -4 -O ppp_install.sh https://raw.githubusercontent.com/zouazhi/zouazhi/main/ppp/ppp_install.sh && chmod +x ppp_install.sh && ./ppp_install.sh脚本地址:https://github.com/zouazhi/zouazhi/blob/main/ppp/ppp_install.sh
拉取脚本之后,✅ 脚本启动,进入主循环 openppp2一键脚本 请选择操作: 1) 服务端-自动交互安装[完整安装ppp及配置,系统服务] 2) 服务端-自行修改配置[跳过配置文件,直通系统服务] 3) 通用-更新[更新openppp2二进制文件并重新配置服务] 4) 通用-重启[重启ppp服务] 5) 通用-停止[停止ppp服务] 6) 通用-查看运行状况[查看ppp.log和系统服务状态] 7) 通用-卸载ppp[删除文件-删除重载系统服务] 8) 退出脚本 请输入选项[1-8]:2.1全新服务端安装
数字1就会安装jq、uuidgen 和 unzip,拉取启动脚本,和部分改好的配置文件,和系统服务功能。
工作目录默认放在opt/ppp下,此时可以选择(1自行修改或(2交互式输入,如下所示。✅ ppp.sh 启动脚本 拉取完成 ✅ ppp.sh 启动脚本 已具有可执行权限 是否自行修改 appsettings.json 文件? 1) 是(脚本将暂停) 2) 否(通过脚本输入 IP、端口和 GUID) 请输入选项 (1/2):以下介绍两个1-1和1-2的不同
2.2修改配置文件和交互
(2交互较为简单,只需要输入数字2,然后输入IP,端口,GUID,后续会进行配置文件的补全,并完成启动,完成这一步的的直接转到[[#3.客户端使用]]
对于自行修改配置文件
(1则需要修改opt/pppppsettings.json里面tcp,udp监听端口(默认20000)以及udp下的"servers": ["1.1.1.1:20000"],"client"下的"guid",和"server"(默认为ppp://1.1.1.1:20000),其中1.1.1.1即为入口的IP,20000即为工作端口。附GUID生成网站:https://www.guidgen.com/
该脚本拉取的配置文件是经修改的精简版本,方便快速启动并默认开启内网穿透,更多内容请看上文仓库原文配置文件及使用说明。
2.3自行修改配置文件后续
该为选择1-1之后脚本暂停之后重新执行脚本,即为主循环中的2。
优先参考原文
重新执行脚本:bash /root/ppp_install.sh即会自动拉取启动脚本和系统服务。
2.4服务端启动脚本及系统服务
若是选择服务端的启动脚本为下所示,放置于
/opt/ppp/ppp.sh内./ppp --mode=server > ./ppp.log脚本内系统服务为引用改sh文件进行服务运行,系统服务如下所示
[Unit] Description=PPP PRIVATE NETWORK™ 2 After=network.target network-online.target [Service] Type=simple User=root Group=root WorkingDirectory=/opt/ppp ExecStart=/bin/bash /opt/ppp/ppp.sh Restart=always RestartSec=20 StartLimitBurst=5 SyslogIdentifier=ppp [Install] WantedBy=multi-user.target即可以使用
service ppp stop等service系统服务命令进行控制相应的查看当前运行状况可以采用检查
service ppp status和/opt/ppp/ppp.log来判断运行状况。
其中/opt/ppp/ppp.log其实为实时运行图:PPP -------------------------------------------------------------------------------- Application started. Press Ctrl+C to shut down. Max Concurrent : 1 Process : 149273 Triplet : linux:X86_64 Cwd : /opt/ppp Template : /opt/ppp/appsettings.json Public IP : :: Interface IP : :: Service 1 : [::]:20000/ppp+tcp Service 2 : [::]:20000/ppp+udp Hosting Environment : server:production VPN ---------------------------------------------------------------------------- Duration : 00:35:46 Sessions : 0 TX : 0.000000 B RX : 0.000000 B IN : 21.000000 B OUT : 6.154297 KB实际上,openppp2的启动命令为
./ppp --mode=server,在终端输入即可得到实时运行的流量变化,客户端数等内容,但其为前台运行,本脚本将其运行页面写入ppp.log以便管理
同样你也可以使用screen等工具使其在后台启动(目录下自行./ppp --mode=server),此时并不需要系统服务,望读者注意。3.客户端使用
客户端和服务端使用同一套二进制文件,同样对于配置文件,其中包括服务端部分和客户端部分,最简化的配置文件只需包含各自服务端/客户端的配置内容。
上文所提到的配置文件已经包括客户端,服务端两部分,即是通用的。所以直接从服务端拉取配置文件即可,对于每个不同的客户端,其GUID不能相同,但从服务端拉取的配置文件是修改过的,且当前主机为第一客户端,所以不用修改,与其他小伙伴共享时也需修改其GUID。另外对于下文启用了--tun-vnet=yes的--tun-ip=10.0.0.5同时在线的子网IP也不能相同。3.1Windows
Windows用户若存在IPv4/IPv6双栈问题请阅读原文并尝试使用以下命令,或者直接禁用IPv6。
命令 功能 格式 --system-network-reset网络重置 --system-network-reset--system-network-optimization性能优化 --system-network-optimization--system-network-preferred-ipv4设置IPV4网络优先 --system-network-preferred-ipv4--system-network-preferred-ipv6设置IPV6网络优先 --system-network-preferred-ipv6--no-lsp禁用LSP --no-lsp优先参考原文
- 现于releases中下载openppp2-windows-amd64.zip
- 解压后去除
cmcc_cidr.txt, crtc_cidr.txt, ip.txt, starrylink.net.key, starrylink.net.pem, appsettings.json,然后放入服务器拉取的appsettings.json。 - 新建bat文件
start.bat填入以下命令
start ppp.exe --mode=client --config=./config/修改这里.json --auto-pull-iplist --tun-ip=10.0.0.5 --tun-gw=10.0.0.0 --tun-mask=24 --tun-host=yes --link-restart=3 --tun-vnet=yes --tun-static=no --block-quic=yes --set-http-proxy=no --tun-mux-acceleration=3 --tun-ssmt=4/st其中
--tun-host为控制网络走VPN
--tun-static为是否启用udp静态隧道
--config=./config/修改这里.json为配置文件目录,此为例子,按需修改。如果配置文件名为appsettings.json则为--config=./appsettings.json。
更多命令参考原文
然后点击start.bat即可3.2Linux客户端
对于Linux其运行和提到的服务端相似,而启动命令可以参照下
./ppp --mode=client --config=./ggvHK.json --tun-ip=10.0.0.88 --tun-gw=10.0.0.0 --tun-mask=24 --tun-host=no --link-restart=3 --tun-mux-acceleration=3 --tun-static=no --tun-ssmt=4/st --block-quic=yes > ./ppp.log可以使用一键脚本写入,将启动sh文件将服务端的
--mode=server改为--mode=client即可。3.3启动后
启动后可以用ping去简易判断连接情况,不受
--tun-host影响PS C:\Users\2233\Desktop> ping 10.0.0.1 正在 Ping 10.0.0.1 具有 32 字节的数据: 来自 10.0.0.1 的回复: 字节=32 时间=73ms TTL=127 来自 10.0.0.1 的回复: 字节=32 时间=67ms TTL=127 来自 10.0.0.1 的回复: 字节=32 时间=70ms TTL=127 来自 10.0.0.1 的回复: 字节=32 时间=73ms TTL=127对于IPv6问题的用户可以采用http代理的模式替代,可以使用启动命令的
--set-http-proxy=yes进行系统代理,或自行代理。配置文件默认使用8080端口进行http代理(sock5帮我删掉了)。"http-proxy": { "bind": "0.0.0.0", "port": 8080 } -
Welcome to your NodeBB!Welcome to your brand new NodeBB forum!
This is what a topic and post looks like. As an administrator, you can edit the post's title and content.
To customise your forum, go to the Administrator Control Panel. You can modify all aspects of your forum there, including installation of third-party plugins.Additional Resources