fix(sub): Add Clash subscription profile filename header (#4743)

This commit is contained in:
xiaoxiyao
2026-06-01 22:32:56 +08:00
committed by GitHub
parent 6b2243a40f
commit 2b7c1eeb6a

View File

@@ -277,6 +277,10 @@ func (a *SUBController) subClashs(c *gin.Context) {
profileUrl = fmt.Sprintf("%s://%s%s", scheme, hostWithPort, c.Request.RequestURI)
}
a.ApplyCommonHeaders(c, header, a.updateInterval, a.subTitle, a.subSupportUrl, profileUrl, a.subAnnounce, a.subEnableRouting, a.subRoutingRules)
if a.subTitle != "" {
// Clash clients commonly use Content-Disposition to choose the imported profile name.
c.Writer.Header().Set("Content-Disposition", fmt.Sprintf(`attachment; filename*=UTF-8''%s`, a.subTitle))
}
c.Data(200, "application/yaml; charset=utf-8", []byte(clashSub))
}
}