@@ -3,7 +3,7 @@ package config
33import (
44 "encoding/base64"
55 "fmt"
6- "io/ioutil "
6+ "io"
77 "net/http"
88 "os"
99 "path/filepath"
@@ -14,7 +14,7 @@ import (
1414
1515func (mask * HeadersMask ) PullDiscordVers (discordPath string ) {
1616 dExist := true
17- normalD , err := ioutil .ReadDir (filepath .Join (discordPath , "discord" ))
17+ normalD , err := os .ReadDir (filepath .Join (discordPath , "discord" ))
1818
1919 if os .IsNotExist (err ) {
2020 dExist = false
@@ -23,7 +23,7 @@ func (mask *HeadersMask) PullDiscordVers(discordPath string) {
2323 }
2424
2525 dCExist := true
26- normalCD , err := ioutil .ReadDir (filepath .Join (discordPath , "discordcanary" ))
26+ normalCD , err := os .ReadDir (filepath .Join (discordPath , "discordcanary" ))
2727
2828 if os .IsNotExist (err ) {
2929 dCExist = false
@@ -68,30 +68,45 @@ func (mask *HeadersMask) PullDiscordVers(discordPath string) {
6868 }
6969}
7070
71- var discordAssetReg = regexp .MustCompile (`assets/+? ([a-z0-9]+?)\.js` )
71+ var discordAssetReg = regexp .MustCompile (`assets/([a-z0-9]+?)\.js` )
7272var buildNumReg = regexp .MustCompile (`buildNumber` )
73+ var buildNumVReg = regexp .MustCompile (`\d{6}` )
7374
7475// https://github.com/Merubokkusu/Discord-S.C.U.M/blob/master/discum/start/superproperties.py thank you!
7576func (mask HeadersMask ) PullBuildId () string {
7677 respRaw , err := http .Get (fmt .Sprintf ("https://%vdiscord.com/login" , mask .DomainPrefix )) //idk if its different but i am very tired atm so yk
7778 tools .PanicIfErr (err )
78- resp , err := ioutil .ReadAll (respRaw .Body )
79- tools .PanicIfErr (err )
80- assets := discordAssetReg .FindAll (resp , 50 )
81- buildFileRaw , err := http .Get (fmt .Sprintf ("https://%vdiscord.com/%v" , mask .DomainPrefix , string (assets [len (assets )- 2 ])))
82- tools .PanicIfErr (err )
83- buildFile , err := ioutil .ReadAll (buildFileRaw .Body )
79+ resp , err := io .ReadAll (respRaw .Body )
8480 tools .PanicIfErr (err )
81+ assets := discordAssetReg .FindAll (resp , 200 )
82+
83+ foundNumber := ""
8584
86- buildFileS := string (buildFile )
87-
88- buildLoc := buildNumReg .FindStringIndex (buildFileS )
85+ for _ , asset := range assets [len (assets )- 7 :] {
86+ buildFileRaw , err := http .Get (fmt .Sprintf ("https://%vdiscord.com/%v" , mask .DomainPrefix , string (asset )))
87+ tools .PanicIfErr (err )
88+ buildFile , err := io .ReadAll (buildFileRaw .Body )
89+ tools .PanicIfErr (err )
90+
91+ buildFileS := buildFile
92+
93+ buildLoc := buildNumReg .FindIndex (buildFileS )
94+
95+ if len (buildLoc ) != 0 {
96+ outLoc := buildNumVReg .FindIndex (buildFileS [buildLoc [1 ]:])
97+ if len (outLoc ) == 0 {continue }
98+ if outLoc [0 ] > 20 {continue }
99+ out := buildFileS [buildLoc [1 ]+ outLoc [0 ]:buildLoc [1 ]+ outLoc [1 ]]
100+ foundNumber = string (out )
101+ break
102+ }
103+ }
89104
90- if len ( buildLoc ) == 0 {
91- panic ("Build num not located! Auto loading has failed :( " )
105+ if foundNumber == "" {
106+ panic ("Couldn't find the build number, autoload failed! " )
92107 }
93108
94- return buildFileS [ buildLoc [ 1 ] + 3 : buildLoc [ 1 ] + 9 ]
109+ return foundNumber
95110}
96111
97112func (mask * HeadersMask ) EncodeSuperProps () {
0 commit comments