Compare commits

...

3 commits

Author SHA1 Message Date
nistootsin
e18c22e6d2
Merge a86f00b56c into d54e7a9b14 2025-04-15 19:47:41 +07:00
Shishkevich D.
d54e7a9b14
fix: encoding subscription title in base64 2025-04-15 19:29:54 +07:00
Shishkevich D.
45c3d730d4
fix: Error when generating shadowsocks keys in Blake3_AES_256_GCM 2025-04-15 18:33:26 +07:00
2 changed files with 12 additions and 4 deletions

View file

@ -85,7 +85,7 @@ func (a *SUBController) subs(c *gin.Context) {
// Add headers // Add headers
c.Writer.Header().Set("Subscription-Userinfo", header) c.Writer.Header().Set("Subscription-Userinfo", header)
c.Writer.Header().Set("Profile-Update-Interval", a.updateInterval) c.Writer.Header().Set("Profile-Update-Interval", a.updateInterval)
c.Writer.Header().Set("Profile-Title", a.subTitle) c.Writer.Header().Set("Profile-Title", "base64:" + base64.StdEncoding.EncodeToString([]byte(a.subTitle)))
if a.subEncrypt { if a.subEncrypt {
c.String(200, base64.StdEncoding.EncodeToString([]byte(result))) c.String(200, base64.StdEncoding.EncodeToString([]byte(result)))
@ -119,7 +119,7 @@ func (a *SUBController) subJsons(c *gin.Context) {
// Add headers // Add headers
c.Writer.Header().Set("Subscription-Userinfo", header) c.Writer.Header().Set("Subscription-Userinfo", header)
c.Writer.Header().Set("Profile-Update-Interval", a.updateInterval) c.Writer.Header().Set("Profile-Update-Interval", a.updateInterval)
c.Writer.Header().Set("Profile-Title", a.subTitle) c.Writer.Header().Set("Profile-Title", "base64:" + base64.StdEncoding.EncodeToString([]byte(a.subTitle)))
c.String(200, jsonSub) c.String(200, jsonSub)
} }

View file

@ -140,8 +140,10 @@ class RandomUtil {
static randomShadowsocksPassword() { static randomShadowsocksPassword() {
const array = new Uint8Array(32); const array = new Uint8Array(32);
window.crypto.getRandomValues(array); window.crypto.getRandomValues(array);
return Base64.encode(String.fromCharCode(...array));
return Base64.alternativeEncode(String.fromCharCode(...array));
} }
} }
@ -528,6 +530,12 @@ class Base64 {
) )
} }
static alternativeEncode(content) {
return window.btoa(
content
)
}
static decode(content = "") { static decode(content = "") {
return new TextDecoder() return new TextDecoder()
.decode( .decode(