2
0

SilentConfig.cs 11 KB

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