SilentConfig.cs 10 KB

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