global_value.go 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package pkg
  2. import (
  3. "strconv"
  4. "strings"
  5. )
  6. // SetAppVersion ---------------------------------------------
  7. func SetAppVersion(appVersion string) {
  8. _appVersion = appVersion
  9. }
  10. func AppVersion() string {
  11. return _appVersion
  12. }
  13. func AppVersionInt() (int, int, int) {
  14. if _major == 0 && _minor == 0 && _patch == 0 {
  15. nowAppVersion := strings.ToLower(_appVersion)
  16. nowAppVersion = strings.ReplaceAll(nowAppVersion, "v", "")
  17. if strings.Contains(nowAppVersion, "-lite") == true {
  18. nowAppVersion = strings.ReplaceAll(nowAppVersion, "-lite", "")
  19. }
  20. if strings.Contains(nowAppVersion, "-beta") == true {
  21. nowAppVersion = strings.Split(nowAppVersion, "-beta")[0]
  22. }
  23. versions := strings.Split(nowAppVersion, ".")
  24. if len(versions) == 3 {
  25. _major, _ = strconv.Atoi(versions[0])
  26. _minor, _ = strconv.Atoi(versions[1])
  27. _patch, _ = strconv.Atoi(versions[2])
  28. return _major, _minor, _patch
  29. } else {
  30. return 0, 0, 0
  31. }
  32. }
  33. return _major, _minor, _patch
  34. }
  35. // SetExtEnCode ---------------------------------------------
  36. func SetExtEnCode(extEnCode string) {
  37. _extEnCode = extEnCode
  38. }
  39. func ExtEnCode() string {
  40. return _extEnCode
  41. }
  42. // SetBaseKey ---------------------------------------------
  43. func SetBaseKey(baseKey string) {
  44. _baseKey = baseKey
  45. }
  46. func BaseKey() string {
  47. return _baseKey
  48. }
  49. // SetAESKey16 ---------------------------------------------
  50. func SetAESKey16(aESKey16 string) {
  51. _aESKey16 = aESKey16
  52. }
  53. func AESKey16() string {
  54. return _aESKey16
  55. }
  56. // SetAESIv16 ---------------------------------------------
  57. func SetAESIv16(aESIv16 string) {
  58. _aESIv16 = aESIv16
  59. }
  60. func AESIv16() string {
  61. return _aESIv16
  62. }
  63. // ConfigRootDirFPath ---------------------------------------------
  64. func ConfigRootDirFPath() string {
  65. if _configRootDirFPath == "" {
  66. _configRootDirFPath = GetConfigRootDirFPath()
  67. }
  68. return _configRootDirFPath
  69. }
  70. func DefDebugFolder() string {
  71. var err error
  72. if _defDebugFolder == "" {
  73. _defDebugFolder, err = GetRootDebugFolder()
  74. if err != nil {
  75. panic(err)
  76. }
  77. }
  78. return _defDebugFolder
  79. }
  80. func DefTmpFolder() string {
  81. var err error
  82. if _defTmpFolder == "" {
  83. _defTmpFolder, err = GetRootTmpFolder()
  84. if err != nil {
  85. panic(err)
  86. }
  87. }
  88. return _defTmpFolder
  89. }
  90. func DefRodTmpRootFolder() string {
  91. var err error
  92. if _defRodTmpRootFolder == "" {
  93. _defRodTmpRootFolder, err = GetRodTmpRootFolder()
  94. if err != nil {
  95. panic(err)
  96. }
  97. }
  98. return _defRodTmpRootFolder
  99. }
  100. func DefSubFixCacheFolder() string {
  101. var err error
  102. if _defSubFixCacheFolder == "" {
  103. _defSubFixCacheFolder, err = GetRootSubFixCacheFolder()
  104. if err != nil {
  105. panic(err)
  106. }
  107. }
  108. return _defSubFixCacheFolder
  109. }
  110. func AdblockTmpFolder() string {
  111. var err error
  112. if _adblockTmpFolder == "" {
  113. _adblockTmpFolder, err = GetPluginFolderByName(Plugin_Adblock)
  114. if err != nil {
  115. panic(err)
  116. }
  117. }
  118. return _adblockTmpFolder
  119. }
  120. // LiteMode ---------------------------------------------
  121. func LiteMode() bool {
  122. return _liteMode
  123. }
  124. func SetLiteMode(liteMode bool) {
  125. _liteMode = liteMode
  126. }
  127. // LinuxConfigPathInSelfPath ---------------------------------------------
  128. // 针对制作群晖的 SPK 应用,无法写入默认的 /config 目录而给出的新的编译条件,直接指向这个目录到当前程序的目录
  129. func LinuxConfigPathInSelfPath() string {
  130. return setLinuxConfigPathInSelfPath
  131. }
  132. func SetLinuxConfigPathInSelfPath(setPath string) {
  133. setLinuxConfigPathInSelfPath = setPath
  134. }
  135. var setLinuxConfigPathInSelfPath = ""
  136. // ---------------------------------------------
  137. // util.go
  138. var (
  139. _appVersion = "" // 程序的版本号
  140. _extEnCode = "" // 扩展加密部分
  141. _baseKey = "" // 基础的密钥,密钥会基于这个基础的密钥生成
  142. _aESKey16 = "" // AES密钥
  143. _aESIv16 = "" // 初始化向量
  144. _configRootDirFPath = ""
  145. _defDebugFolder = ""
  146. _defTmpFolder = ""
  147. _defRodTmpRootFolder = ""
  148. _defSubFixCacheFolder = ""
  149. _adblockTmpFolder = ""
  150. _liteMode = false
  151. _major = 0
  152. _minor = 0
  153. _patch = 0
  154. )