mirror of https://github.com/Xhofe/alist
				
				
				
			fix: use base64 encode for ipa install
							parent
							
								
									bec3a327a7
								
							
						
					
					
						commit
						d436a6e676
					
				| 
						 | 
				
			
			@ -1,6 +1,7 @@
 | 
			
		|||
package handles
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/base64"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"strings"
 | 
			
		||||
| 
						 | 
				
			
			@ -16,21 +17,30 @@ func Favicon(c *gin.Context) {
 | 
			
		|||
	c.Redirect(302, setting.GetStr(conf.Favicon))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var DEC = map[string]string{
 | 
			
		||||
	"-": "+",
 | 
			
		||||
	"_": "/",
 | 
			
		||||
	".": "=",
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func Plist(c *gin.Context) {
 | 
			
		||||
	link := c.Param("link")
 | 
			
		||||
	u, err := url.PathUnescape(link)
 | 
			
		||||
	for k, v := range DEC {
 | 
			
		||||
		link = strings.ReplaceAll(link, k, v)
 | 
			
		||||
	}
 | 
			
		||||
	u, err := base64.StdEncoding.DecodeString(link)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		common.ErrorResp(c, err, 500)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	uUrl, err := url.Parse(u)
 | 
			
		||||
	uUrl, err := url.Parse(string(u))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		common.ErrorResp(c, err, 500)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	name := c.Param("name")
 | 
			
		||||
	log.Debug("name", name)
 | 
			
		||||
	u = uUrl.String()
 | 
			
		||||
	Url := uUrl.String()
 | 
			
		||||
	name = strings.TrimSuffix(name, ".plist")
 | 
			
		||||
	name = strings.ReplaceAll(name, "<", "[")
 | 
			
		||||
	name = strings.ReplaceAll(name, ">", "]")
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +73,7 @@ func Plist(c *gin.Context) {
 | 
			
		|||
            </dict>
 | 
			
		||||
        </array>
 | 
			
		||||
    </dict>
 | 
			
		||||
</plist>`, u, url.PathEscape(name), name)
 | 
			
		||||
</plist>`, Url, url.PathEscape(name), name)
 | 
			
		||||
	c.Header("Content-Type", "application/xml;charset=utf-8")
 | 
			
		||||
	c.Status(200)
 | 
			
		||||
	_, _ = c.Writer.WriteString(plist)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue