简单魔改glider使其支持base64格式链接

admin 2023年1月1日14:48:00安全文章评论1 views883字阅读2分56秒阅读模式

前言

glider是个很香的东西,支持把各种梯子协议聚合起来变成一个随机代理池。这玩意目前唯一的遗憾是对格式有要求,而机场提供的都是base64编码的,那我来魔改一波。

机场订阅解析

这玩意最开始是看@zgao师傅弄的,不过当时他并没有说base64他是怎么转换的。既然如此那就只能靠自己了。

首先,把自己买的订阅,简单的转换一下。

curl -s https://sub.sssss.com | base64 -d | sed 's/^/forward=&/g'

在每个协议前加上forward=

简单魔改glider使其支持base64格式链接

随便拿一个出来,可以看到解开就是一串json。这里注意有的只有addr,没有host的。

简单魔改glider使其支持base64格式链接

转换之后,直接添加到配置文件即可。

配置文件用官方提供的example魔改就行(config/examples/4.multiple_forwarders/glider.conf)。


魔改代码

那么接下来的思路就是,解码->提取json->生成特定格式。下面就直接贴代码了。至于为什么要加在这里,自己去研究把,很简单的。
这里主要是抛砖迎玉,别的协议也可以这操作。简单魔改glider使其支持base64格式链接

	ss := s[8:]
jsonStr, err := base64.StdEncoding.DecodeString(ss)
fmt.Println(string(jsonStr))
if err != nil {
log.F("base64 decode err: %s", err)
return nil, err
}
var data vmJson

err = json.Unmarshal(jsonStr, &data)
if err != nil {
log.F("json unmarshal err: %s", err)
}

if data.Host != "" {
s = fmt.Sprintf("vmess://%[email protected]%s:%s", data.ID, data.Host, data.Port)
} else {
s = fmt.Sprintf("vmess://%[email protected]%s:%s", data.ID, data.Add, data.Port)
}

效果

简单魔改glider使其支持base64格式链接


原文始发于微信公众号(safe6安全的成长日记):简单魔改glider使其支持base64格式链接

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月1日14:48:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  简单魔改glider使其支持base64格式链接 http://cn-sec.com/archives/1491702.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: