SilentConfig.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294
  1. using Newtonsoft.Json;
  2. using System;
  3. namespace Optimizer
  4. {
  5. [Serializable]
  6. public sealed class SilentConfig
  7. {
  8. [JsonProperty("WindowsVersion", Required = Required.Always, NullValueHandling = NullValueHandling.Ignore)]
  9. public int WindowsVersion { get; set; }
  10. [JsonProperty("PostAction", NullValueHandling = NullValueHandling.Ignore)]
  11. public PostAction PostAction { get; set; }
  12. [JsonProperty("Cleaner", NullValueHandling = NullValueHandling.Ignore)]
  13. public Cleaner Cleaner { get; set; }
  14. [JsonProperty("Pinger", NullValueHandling = NullValueHandling.Ignore)]
  15. public Pinger Pinger { get; set; }
  16. [JsonProperty("ProcessControl", NullValueHandling = NullValueHandling.Ignore)]
  17. public ProcessControl ProcessControl { get; set; }
  18. [JsonProperty("HostsEditor", NullValueHandling = NullValueHandling.Ignore)]
  19. public HostsEditor HostsEditor { get; set; }
  20. [JsonProperty("RegistryFix", NullValueHandling = NullValueHandling.Ignore)]
  21. public RegistryFix RegistryFix { get; set; }
  22. [JsonProperty("Integrator", NullValueHandling = NullValueHandling.Ignore)]
  23. public Integrator Integrator { get; set; }
  24. [JsonProperty("Tweaks", NullValueHandling = NullValueHandling.Ignore)]
  25. public Tweaks Tweaks { get; set; }
  26. [JsonProperty("AdvancedTweaks", NullValueHandling = NullValueHandling.Ignore)]
  27. public AdvancedTweaks AdvancedTweaks { get; set; }
  28. }
  29. [Serializable]
  30. public sealed class AdvancedTweaks
  31. {
  32. [JsonProperty("DisableHPET", NullValueHandling = NullValueHandling.Ignore)]
  33. public bool? DisableHPET { get; set; }
  34. [JsonProperty("EnableLoginVerbose", NullValueHandling = NullValueHandling.Ignore)]
  35. public bool? EnableLoginVerbose { get; set; }
  36. [JsonProperty("UnlockAllCores", NullValueHandling = NullValueHandling.Ignore)]
  37. public bool? UnlockAllCores { get; set; }
  38. [JsonProperty("EnableRegistryBackups", NullValueHandling = NullValueHandling.Ignore)]
  39. public bool? EnableRegistryBackups { get; set; }
  40. [JsonProperty("SvchostProcessSplitting", NullValueHandling = NullValueHandling.Ignore)]
  41. public SvchostProcessSplitting SvchostProcessSplitting { get; set; }
  42. }
  43. [Serializable]
  44. public sealed class Cleaner
  45. {
  46. [JsonProperty("TempFiles", NullValueHandling = NullValueHandling.Ignore)]
  47. public bool? TempFiles { get; set; }
  48. [JsonProperty("BsodDumps", NullValueHandling = NullValueHandling.Ignore)]
  49. public bool? BsodDumps { get; set; }
  50. [JsonProperty("ErrorReports", NullValueHandling = NullValueHandling.Ignore)]
  51. public bool? ErrorReports { get; set; }
  52. [JsonProperty("RecycleBin", NullValueHandling = NullValueHandling.Ignore)]
  53. public bool? RecycleBin { get; set; }
  54. [JsonProperty("GoogleChrome", NullValueHandling = NullValueHandling.Ignore)]
  55. public BaseBrowser GoogleChrome { get; set; }
  56. [JsonProperty("MozillaFirefox", NullValueHandling = NullValueHandling.Ignore)]
  57. public BaseBrowser MozillaFirefox { get; set; }
  58. [JsonProperty("MicrosoftEdge", NullValueHandling = NullValueHandling.Ignore)]
  59. public BaseBrowser MicrosoftEdge { get; set; }
  60. [JsonProperty("BraveBrowser", NullValueHandling = NullValueHandling.Ignore)]
  61. public BaseBrowser BraveBrowser { get; set; }
  62. [JsonProperty("InternetExplorer", NullValueHandling = NullValueHandling.Ignore)]
  63. public bool? InternetExplorer { get; set; }
  64. }
  65. [Serializable]
  66. public sealed class BaseBrowser
  67. {
  68. [JsonProperty("Cache", NullValueHandling = NullValueHandling.Ignore)]
  69. public bool? Cache { get; set; }
  70. [JsonProperty("Cookies", NullValueHandling = NullValueHandling.Ignore)]
  71. public bool? Cookies { get; set; }
  72. [JsonProperty("History", NullValueHandling = NullValueHandling.Ignore)]
  73. public bool? History { get; set; }
  74. [JsonProperty("Session", NullValueHandling = NullValueHandling.Ignore)]
  75. public bool? Session { get; set; }
  76. [JsonProperty("Passwords", NullValueHandling = NullValueHandling.Ignore)]
  77. public bool? Passwords { get; set; }
  78. }
  79. [Serializable]
  80. public sealed class HostsEditor
  81. {
  82. [JsonProperty("Block", NullValueHandling = NullValueHandling.Ignore)]
  83. public string[] Block { get; set; }
  84. [JsonProperty("Remove", NullValueHandling = NullValueHandling.Ignore)]
  85. public string[] Remove { get; set; }
  86. [JsonProperty("Add", NullValueHandling = NullValueHandling.Ignore)]
  87. public AddHostsEntry[] Add { get; set; }
  88. [JsonProperty("IncludeWwwCname", NullValueHandling = NullValueHandling.Ignore)]
  89. public bool? IncludeWwwCname { get; set; }
  90. }
  91. [Serializable]
  92. public sealed class AddHostsEntry
  93. {
  94. [JsonProperty("Domain", NullValueHandling = NullValueHandling.Ignore)]
  95. public string Domain { get; set; }
  96. [JsonProperty("IPAddress", NullValueHandling = NullValueHandling.Ignore)]
  97. public string IpAddress { get; set; }
  98. }
  99. [Serializable]
  100. public sealed class Integrator
  101. {
  102. [JsonProperty("TakeOwnership", NullValueHandling = NullValueHandling.Ignore)]
  103. public bool? TakeOwnership { get; set; }
  104. [JsonProperty("OpenWithCMD", NullValueHandling = NullValueHandling.Ignore)]
  105. public bool? OpenWithCmd { get; set; }
  106. }
  107. [Serializable]
  108. public sealed class Pinger
  109. {
  110. [JsonProperty("SetDNS", NullValueHandling = NullValueHandling.Ignore)]
  111. public string SetDns { get; set; }
  112. [JsonProperty("FlushDNSCache", NullValueHandling = NullValueHandling.Ignore)]
  113. public bool? FlushDnsCache { get; set; }
  114. [JsonProperty("CustomDNSv4", NullValueHandling = NullValueHandling.Ignore)]
  115. public string[] CustomDNSv4 { get; set; }
  116. [JsonProperty("CustomDNSv6", NullValueHandling = NullValueHandling.Ignore)]
  117. public string[] CustomDNSv6 { get; set; }
  118. }
  119. [Serializable]
  120. public sealed class PostAction
  121. {
  122. [JsonProperty("Restart", NullValueHandling = NullValueHandling.Ignore)]
  123. public bool? Restart { get; set; }
  124. [JsonProperty("RestartType", NullValueHandling = NullValueHandling.Ignore)]
  125. public string RestartType { get; set; }
  126. }
  127. [Serializable]
  128. public sealed class ProcessControl
  129. {
  130. [JsonProperty("Prevent", NullValueHandling = NullValueHandling.Ignore)]
  131. public string[] Prevent { get; set; }
  132. [JsonProperty("Allow", NullValueHandling = NullValueHandling.Ignore)]
  133. public string[] Allow { get; set; }
  134. }
  135. [Serializable]
  136. public sealed class RegistryFix
  137. {
  138. [JsonProperty("TaskManager", NullValueHandling = NullValueHandling.Ignore)]
  139. public bool? TaskManager { get; set; }
  140. [JsonProperty("CommandPrompt", NullValueHandling = NullValueHandling.Ignore)]
  141. public bool? CommandPrompt { get; set; }
  142. [JsonProperty("ControlPanel", NullValueHandling = NullValueHandling.Ignore)]
  143. public bool? ControlPanel { get; set; }
  144. [JsonProperty("FolderOptions", NullValueHandling = NullValueHandling.Ignore)]
  145. public bool? FolderOptions { get; set; }
  146. [JsonProperty("RunDialog", NullValueHandling = NullValueHandling.Ignore)]
  147. public bool? RunDialog { get; set; }
  148. [JsonProperty("RightClickMenu", NullValueHandling = NullValueHandling.Ignore)]
  149. public bool? RightClickMenu { get; set; }
  150. [JsonProperty("WindowsFirewall", NullValueHandling = NullValueHandling.Ignore)]
  151. public bool? WindowsFirewall { get; set; }
  152. [JsonProperty("RegistryEditor", NullValueHandling = NullValueHandling.Ignore)]
  153. public bool? RegistryEditor { get; set; }
  154. }
  155. [Serializable]
  156. public sealed class SvchostProcessSplitting
  157. {
  158. [JsonProperty("Disable", NullValueHandling = NullValueHandling.Ignore)]
  159. public bool? Disable { get; set; }
  160. [JsonProperty("RAM", NullValueHandling = NullValueHandling.Ignore)]
  161. public int? Ram { get; set; }
  162. }
  163. [Serializable]
  164. public sealed class Tweaks
  165. {
  166. public bool? EnablePerformanceTweaks { get; set; }
  167. public bool? DisableNetworkThrottling { get; set; }
  168. public bool? DisableWindowsDefender { get; set; }
  169. public bool? DisableSystemRestore { get; set; }
  170. public bool? DisablePrintService { get; set; }
  171. public bool? DisableMediaPlayerSharing { get; set; }
  172. public bool? DisableErrorReporting { get; set; }
  173. public bool? DisableHomeGroup { get; set; }
  174. public bool? DisableSuperfetch { get; set; }
  175. public bool? DisableTelemetryTasks { get; set; }
  176. public bool? DisableCompatibilityAssistant { get; set; }
  177. public bool? DisableFaxService { get; set; }
  178. public bool? DisableSmartScreen { get; set; }
  179. public bool? DisableCloudClipboard { get; set; }
  180. public bool? DisableStickyKeys { get; set; }
  181. public bool? DisableHibernation { get; set; }
  182. public bool? DisableSMB1 { get; set; }
  183. public bool? DisableSMB2 { get; set; }
  184. public bool? DisableNTFSTimeStamp { get; set; }
  185. public bool? DisableSearch { get; set; }
  186. public bool? EnableUtcTime { get; set; }
  187. public bool? ShowAllTrayIcons { get; set; }
  188. public bool? RemoveMenusDelay { get; set; }
  189. public bool? DisableOffice2016Telemetry { get; set; }
  190. public bool? DisableVisualStudioTelemetry { get; set; }
  191. public bool? DisableFirefoxTemeletry { get; set; }
  192. public bool? DisableChromeTelemetry { get; set; }
  193. public bool? DisableNVIDIATelemetry { get; set; }
  194. public bool? DisableEdgeDiscoverBar { get; set; }
  195. public bool? DisableEdgeTelemetry { get; set; }
  196. public bool? EnableLegacyVolumeSlider { get; set; }
  197. public bool? DisableQuickAccessHistory { get; set; }
  198. public bool? DisableStartMenuAds { get; set; }
  199. public bool? UninstallOneDrive { get; set; }
  200. public bool? DisableMyPeople { get; set; }
  201. public bool? DisableAutomaticUpdates { get; set; }
  202. public bool? ExcludeDrivers { get; set; }
  203. public bool? DisableTelemetryServices { get; set; }
  204. public bool? DisablePrivacyOptions { get; set; }
  205. public bool? DisableCortana { get; set; }
  206. public bool? DisableSensorServices { get; set; }
  207. public bool? DisableWindowsInk { get; set; }
  208. public bool? DisableSpellingTyping { get; set; }
  209. public bool? DisableXboxLive { get; set; }
  210. public bool? DisableGameBar { get; set; }
  211. public bool? DisableInsiderService { get; set; }
  212. public bool? DisableStoreUpdates { get; set; }
  213. public bool? EnableLongPaths { get; set; }
  214. public bool? RemoveCastToDevice { get; set; }
  215. public bool? EnableGamingMode { get; set; }
  216. public bool? RestoreClassicPhotoViewer { get; set; }
  217. public bool? DisableModernStandby { get; set; }
  218. public bool? HideTaskbarWeather { get; set; }
  219. public bool? HideTaskbarSearch { get; set; }
  220. public bool? DisableNewsInterests { get; set; }
  221. public bool? DisableOneDrive { get; set; }
  222. public bool? TaskbarToLeft { get; set; }
  223. public bool? DisableSnapAssist { get; set; }
  224. public bool? DisableWidgets { get; set; }
  225. public bool? DisableChat { get; set; }
  226. public bool? ClassicMenu { get; set; }
  227. public bool? DisableTPMCheck { get; set; }
  228. public bool? CompactMode { get; set; }
  229. public bool? DisableStickers { get; set; }
  230. public bool? DisableVirtualizationBasedTechnology { get; set; }
  231. public bool? DisableCoPilotAI { get; set; }
  232. }
  233. }