feat(direct link): add option to get direct link with download enforced (#2651)

This commit is contained in:
Aaron Liu
2025-07-15 13:22:04 +08:00
parent d19fc0e75c
commit e96b595622
5 changed files with 17 additions and 11 deletions

View File

@@ -86,12 +86,14 @@ func ExtractArchive(c *gin.Context) {
}
// AnonymousPermLink 文件中转后的永久直链接
func AnonymousPermLink(c *gin.Context) {
name := c.Param("name")
if err := explorer.RedirectDirectLink(c, name); err != nil {
c.JSON(404, serializer.Err(c, err))
c.Abort()
return
func AnonymousPermLink(download bool) gin.HandlerFunc {
return func(c *gin.Context) {
name := c.Param("name")
if err := explorer.RedirectDirectLink(c, name, download); err != nil {
c.JSON(404, serializer.Err(c, err))
c.Abort()
return
}
}
}

View File

@@ -245,7 +245,10 @@ func initMasterRouter(dep dependency.Dep) *gin.Engine {
{
source.GET(":id/:name",
middleware.HashID(hashid.SourceLinkID),
controllers.AnonymousPermLink)
controllers.AnonymousPermLink(false))
source.GET("d/:id/:name",
middleware.HashID(hashid.SourceLinkID),
controllers.AnonymousPermLink(true))
}
shareShort := r.Group("s")