跳转至内容
  • Github 项目推荐

    软件教程
    2
    0 赞同
    2 帖子
    48 浏览
    四折光曲
    https://github.com/koodo-reader/koodo-reader
  • 作为生活本身的哲学基础的操练

    哲学基础
    14
    0 赞同
    14 帖子
    154 浏览
    四折光曲
    自我解剖的代价是溶解,好处是上升,坏的是容易否定循环,不知道在说啥
  • 作为人类之物种有限的符号思考

    哲学基础
    1
    0 赞同
    1 帖子
    41 浏览
    四折光曲
    我向过去瞩目,眼下空无一人,我不具有真理,我只是世界的过客
  • 作为反理性的爱情的体验和思考

    哲学基础
    3
    0 赞同
    3 帖子
    38 浏览
    四折光曲
    主流视角将亲密关系的模因分为三种不同的人格,焦虑,回避,安全,老实说我倒是能模拟出对应的精神状态和人格构成和历史,具体事件具体分析吧
  • Linux自用命令脚本

    软件教程
    1
    0 赞同
    1 帖子
    39 浏览
    clouldonC
    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) ghproxy VKit 提供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.sh

    软件教程 openppp2
    1
    0 赞同
    1 帖子
    21 浏览
    clouldonC
    PPP 安装与管理脚本 这是一个用于安装、配置、更新和管理 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
  • Welcome to your NodeBB!

    讨论
    2
    0 赞同
    2 帖子
    45 浏览
    四折光曲
    BBS,互联网遥远的记忆()
  • openppp2简易使用教程

    软件教程 openppp2
    1
    0 赞同
    1 帖子
    41 浏览
    clouldonC
    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         } 点击查看启动图