-
Notifications
You must be signed in to change notification settings - Fork 1
/
main.go
62 lines (49 loc) · 1.03 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package main
import (
"os"
"time"
"github.com/charmbracelet/log"
"github.com/urfave/cli/v2"
)
var logger = log.NewWithOptions(os.Stderr, log.Options{
ReportCaller: false,
ReportTimestamp: true,
TimeFormat: time.TimeOnly,
Level: log.DebugLevel,
Prefix: "Patcher",
})
var (
info map[string]interface{}
directory string
assets string
ipa string
)
func main() {
app := &cli.App{
Name: "patcher-ios",
Usage: "Patches the Discord IPA with icons, utilities and features to ease usability.",
Action: func(context *cli.Context) error {
ipa = context.Args().Get(0)
if ipa == "" {
logger.Error("Please provide a path to the IPA.")
os.Exit(1)
}
logger.Infof("Requested IPA patch for \"%s\"", ipa)
extract()
loadInfo()
setReactNavigationName()
setSupportedDevices()
setFileAccess()
setAppName()
setIcons()
saveInfo()
archive()
exit()
return nil
},
}
assets = os.TempDir()
if err := app.Run(os.Args); err != nil {
logger.Fatal(err)
}
}