博文

目前显示的是标签为“编译”的博文

搭建C++编译环境 手动编译aria2

图片
参考 https://weair.cc/build-aria2/ https://ivo-wang.github.io/2019/04/18/%E5%85%B3%E4%BA%8Earia2%E6%9C%80%E5%AE%8C%E6%95%B4%E7%9A%84%E4%B8%80%E7%AF%87/

caddy自行编译, 同时打包 naive 和 trojan 插件共存, 同时可以作为V2ray/Xray的前置web服务器

图片
搭建 Go 环境 wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin 检查环境是否搭好了 go version 应该输出 go 的版本 编译 安装 xcaddy go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest 编译 caddy 带上插件 naive 和 trojan ~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive --with github.com/imgk/caddy-trojan 使用 配置Caddyfile {   order forward_proxy before file_server   order trojan before file_server   servers :443 {     listener_wrappers {       trojan     }   }   trojan {     caddy     no_proxy     users e16d9cb045d7  #密码   } } :443, npp.tzzhu.gq:443 {   tls e16d9cb045d7@gmail.com   forward_proxy {     basic_auth e16d9cb045d7 e16d9cb045d7   #密码     hide_ip     hide_via     probe_resistance   }   file_server {     root /var/www/html   } } trj.tzzhu.gq:443 {   tls e16d9cb045d7@gmail.com   trojan {     connect_method     websocket   }   file_

xray去掉日志打印

图片
需求  现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,可能会检测运行过程中的日志。 分析 对代码进行了一番阅读理解,发现有这么两个打印日志的方法。 WriteToLog  阅读理解以后,发现是这里实现最终打印日志的动作。 把函数内容注释掉就行了。 Println 阅读理解了一下,还不能简单地全部都删。不然就可以 sed 和 grep 批量注释了。 把下面这两个地方注释了,就不会打印日志了。 注释了上面这几行以后,编译会报错 先后会报这么一些错 main/version.go:4:2: imported and not used: "fmt" main/version.go:24:9: s declared but not used main/version.go:23:2: version declared but not used main/version.go:6:2: imported and not used: "github.com/xtls/xray-core/core" 所以最终还需要修改结果是: nano main/version.go 实操过程 效果 ====== 后记 不知道怎么编译 xray 的参考此篇 下载xray v1.7.2代码 修改并编译 hash变得不一样

xray去掉config参数 配置文件内置 修改ConfigLoader函数

图片
需求 现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,也许会检测启动时的参数 -config。 如果我们不使用 -config 参数,程序会从 stdin: 读取配置文件。 那么我们把配置文件写死在源码中,把程序原来要从 stdin: 读配置文件的,变成加载源码中写死的配置文件。 分析 运行xray时,提示要从stdin:读取配置文件 在源码中搜索 "stdin:",经过一番阅读理解,读取配置文件的代码位于  编辑这个文件,将ConfigLoader函数改为: io.ReadAll 用法参考:  https://pkg.go.dev/io/ioutil#ReadAll 这里使用反引号的字符串,因为是带有双引号的,有换行的字符串。 语法参考: https://gfw.go101.org/article/basic-types-and-value-literals.html 比如,我随便找一个最简单的配置文件  https://github.com/XTLS/Xray-examples/blob/main/VLESS-TCP/config_server.json 修改源码 nano main/confloader/external/external.go ConfigLoader函数修改为: func ConfigLoader(arg string) (out io.Reader, err error) {         var data []byte         switch {         case strings.HasPrefix(arg, "http://"), strings.HasPrefix(arg, "https://"):                 data, err = FetchHTTPContent(arg)         case arg == "stdin:": //              data, err = io.ReadAll(os.Stdin)                 strConfig := strings.NewReader(`{   "log":

下载xray v1.7.2代码 修改并编译 hash变得不一样

图片
现在流行一波白嫖容器。有些容器提供方不支持xray,所以如果检测到是xray就会封停。 我们猜测,也许会检测主程序。检测主程序的hash,判断是否与xray发布版相同。 那么对策就是修改源码,自行编译,这样再去算hash,就不会与发行版相同。 安装 go 环境 (官方) https://go.dev/doc/install 复制下载链接 wget 下载 wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz go官方脚本 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.5.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin 检查是否输出 go 的版本,来验证是否go环境配置成功。 go version 下载 v1.7.2 源码 找到 Release 下载文件的地方 https://github.com/XTLS/Xray-core/releases/tag/v1.7.2 翻到最下面有源码的压缩包 复制下载链接, wget 下载 wget https://github.com/XTLS/Xray-core/archive/refs/tags/v1.7.2.zip 解压 unzip v1.7.2.zip 编译 进入源码目录 cd Xray-core-1.7.2 编译命令 (Xray官方) go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main 第一次编译会下载很多依赖,需要一点时间,请耐心等待。 最后会得到xray可执行文件 查 SHA-1 MD5 hash sha1sum xray md5sum xray 修改源码 随便修改一个go文件 nano ./main/main.go 找个字符串,随便加点乱码,保存。 再编译一次 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main 再查一下 SHA-1 MD5 hash sha1sum xray md5sum xray 可以看到 hash 变化了。 ======== 后记 安装

根据操作系统架构, 取最新版本Go编译环境, 编译NaïveProxy的Caddy

图片
一键执行 bash <(curl -L https://github.com/crazypeace/naive/raw/main/buildcaddy.sh) 作为我的NaiveProxy一键脚本的一部分,如果系统环境不能直接使用NaïveProxy作者编译出来的Caddy,那就自己编译一份吧。 参考 Go 官方安装过程 https://go.dev/doc/install NaïveProxy 官方编译流程 https://github.com/klzgrad/naiveproxy 其它脚本中的代码 https://github.com/shell-script/naivecaddy/blob/master/naivecaddy.sh https://lhy.life/20211218-naiveproxy/ https://github.com/233boy/v2ray/blob/master/install.sh

Bandwagon CentOS7 编译 FFmpeg

图片
参考 http://blog.51cto.com/12889016/2102827 一、下载并编译yasm wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz tar -xvf yasm-1.3.0.tar.gz cd yasm-1.3.0/ ./configure && make && make install  二、下载并编译FFmpeg wget http://www.ffmpeg.org/releases/ffmpeg-4.1.tar.gz tar -xvf ffmpeg-4.1.tar.gz cd ffmpeg-4.1/ ./configure && make && make install  测试了一下you-get和VPS之前就有的aria2、caddy、v2ray功能都正常。打个snapshot备份好。 ---- 以下是推广 ---- 推荐: 电信优化线路 China Telecom IDC / China Telecom CN2 GIA https://bandwagonhost.com/aff.php?aff=15946&pid=87 联通优化线路 Direct route via CN2 and China Unicom   https://bandwagonhost.com/aff.php?aff=15946&pid=57 如果不满足你的需求, 还可以看看 别的配置 页面底部可以打开所有产品列表

The Hot3 in Last 30 Days

无服务器 自建短链服务 Url-Shorten-Worker 完整的部署教程

ClouDNS .asia免费域名 托管到CloudFlare开CDN白嫖Websocket WS通道翻墙 / desec.io