该教程已过期,13.X版本已支持直接在Linux/MacOS运行界面/安装: https://www.dogfight360.com/blog/18682/
steamcommunity 302后端使用caddy,在生成所有配置文件后可直接迁移到Linux/Macos环境下使用
1.首先要在Windows环境 / Wine下 运行 steamcommunity 302 并在设置里打勾需要开启的功能,然后正常启动服务
如果目标环境为Macos,请记得将证书期限设置为1年,不要设置为10年
2.前往caddy/release页下载caddy对应系统版本 (下载tar.gz/zip的压缩包格式的)
https://github.com/caddyserver/caddy/releases/tag/v2.6.4
下载后解压得到caddy

2.编辑 steamcommunity_302.caddy.json
批量替换,将端口替换为443
注意:此处端口7119为随机生成,全局进行批量替换为443即可

3.将302目录下的文件与caddy一同拷贝到Linux/Macos (一共是6个文件)
steamcommunityCA.pem
steamcommunityCA.key
steamcommunity.key
steamcommunity.crt
steamcommunity_302.caddy.json
caddy
记得hosts也要复制!
hosts文件里的对应条目,均为#S302结尾

4.导入根证书 steamcommunityCA.pem
由于不同发行版导入方式不同,这里仅给出参考方法,应该都需要root权限
Centos:cp steamcommunityCA.pem /etc/pki/ca-trust/source/anchors/steamcommunityCA
.crt
运行/bin/update-ca-trust
Ubuntu:cp steamcommunityCA.pem /usr/local/share/ca-certificates/steamcommunityCA.crt
运行update-ca-certificates
其他: 由于一些证书策略变动,若以上步骤导入后依然出现证书错误,则需要使用nss进行导入
安装nss包之后使用certutilcertutil -A -d sql:~/.pki/nssdb -n "Steamcommunity302" -t C,, -i "steamcommunityCA.pem"
certutil -A -d sql:~/.var/app/com.valvesoftware.Steam/.pki/nssdb -n "Steamcommunity302" -t C,, -i "steamcommunityCA.pem"
Macos:
https://www.cnblogs.com/reachos/p/12201389.html
5.文件到位并写入对应hosts后,运行
#赋予caddy执行权限chmod +x caddy
#启动./caddy run --config steamcommunity_302.caddy.json --adapter caddyfile
linux非图形界面可以使用吗
可以
目前Linux端遇到的几个问题:
1. Discord 直连连不上。我看了一下,配置文件里,Windows这一侧有一个steamcommunity_302.dsgw监听了本地127.0.0.99:1302,302的caddy.json配置文件对discord.gg是走反代127.0.0.99:1302,但是Linux这边没有监听1302端口,所以跟着走*.discord.gg的几个域名应该全卡住了。
2. LinuxMint 20.3(基于Ubuntu20.04)在复制steamcommunityCA.pem后只需要执行
certutil -A -d sql:$HOME/.pki/nssdb -n "Steamcommunity302" -t C,, -i "steamcommunityCA.pem"
即可,不需要处理.var
的那个。执行这句不需要root权限,但很诡异的是这条命令只认识$HOME
,不认识~
语法糖。建议更新一下文档。3. 与discord相关的
162.159.0.0/16
这一组IP疯狂报错(实测是在本地被Q了,无法直连)。查试了1.下个版本看看处理下,编译个Linux环境的二进制网关处理这部分.目前只有Windows
2.发行版众多.有些问题得自己悟.valve那个是之前某个版本的.反正放总比漏好
我个人实测执行
certutil
是必需的,不然Steam客户端会在登录页面无限转圈。第三条被字数限制给截断了。查试了下这其实是 Cloudflare 的 CDN,但是不支持把IP替换成公众的CDN IP(也就是说用不了Cloudflare优选)。怀疑这是Discord自己买的高级CDN IP段,这个貌似无解了。
某次更新后certutil就成必须的了
不是不能替换.而是本身就是被掐的.直接访问的话换成啥IP都没用
在mac os 环境下运行成功后,其他浏览器可以正常访问steam,但是Safari会警告,同时git clone 会报错:SSL certificate problem: Invalid certificate chain。麻烦问下该如何解决呢?
有些程序不走系统根证书的.得自己导入.或者干脆干掉git的证书验证
还是windows方便,一行git config –global http.sslbackend schannel。全都正常跑。
我知道了,哥,刚搜索了下safari为什么给我警告,原来是我从windows上拷贝过来的证书是10年的,mac只能是1年。现在git clone 和Safari 都正常了
😂,steamdeck的写了这个忘写..不知道apple啥时候整45天限制
最后一步怎么运行?
MACOS下
没区别呀.macos进终端后运行.运行参数一样的.文件别下错就OK
chmod: caddy: No such file or directory
你得先cd到caddy的目录再执行
2024/11/06 17:50:48.435 INFO using provided configuration {“config_file”: “steamcommunity_302.caddy.json”, “config_adapter”: “caddyfile”}
run: adapting config using caddyfile: parsing caddyfile tokens for ‘reverse_proxy’: steamcommunity_302.caddy.json:25 – Error during parsing: unrecognized subdirective dynamic
run: adapting config using caddyfile: parsing caddyfile tokens for ‘reverse_proxy’: steamcommunity_302.caddy.json:25 – Error during parsing: unrecognized subdirective dynamic
25行附近有错误,自己排查不用发上来,注意caddy版本要下载文章顶部指定的
大佬大佬,我做了一个Ubuntu连创意工坊的教程想发布在B站,用的是大佬的302和caddy,请求大佬批准,目前视频刚刚投稿BV1qUSyYQEJT,如果不可以的话也没关系我会立刻删除。
🆗,注明出处就OK
视频里和简介都标明了是大佬您的作品
抱歉大佬,我发的视频剪接被屏蔽了,我也是才发现,现在已经补上了