index.html 36 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685
  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <meta name="description" content="A remote monitoring and management tool">
  7. <meta name="author" content="Ylianst">
  8. <link rel="canonical" href="https://ylianst.github.io/MeshCentral/how-to-contribute/">
  9. <link rel="prev" href="../intelamt/">
  10. <link rel="next" href="../other/adfs_sso_guide/">
  11. <link rel="icon" href="../images/favicon.ico">
  12. <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.40">
  13. <title>Contribute to MeshCentral - MeshCentral Documentation</title>
  14. <link rel="stylesheet" href="../assets/stylesheets/main.8c3ca2c6.min.css">
  15. <link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
  16. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  17. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
  18. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  19. <link rel="stylesheet" href="../stylesheets/extra.css">
  20. <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  21. </head>
  22. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
  23. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  24. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  25. <label class="md-overlay" for="__drawer"></label>
  26. <div data-md-component="skip">
  27. <a href="#contribute-to-meshcentral" class="md-skip">
  28. Skip to content
  29. </a>
  30. </div>
  31. <div data-md-component="announce">
  32. </div>
  33. <header class="md-header" data-md-component="header">
  34. <nav class="md-header__inner md-grid" aria-label="Header">
  35. <a href=".." title="MeshCentral Documentation" class="md-header__button md-logo" aria-label="MeshCentral Documentation" data-md-component="logo">
  36. <img src="../images/favicon.ico" alt="logo">
  37. </a>
  38. <label class="md-header__button md-icon" for="__drawer">
  39. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
  40. </label>
  41. <div class="md-header__title" data-md-component="header-title">
  42. <div class="md-header__ellipsis">
  43. <div class="md-header__topic">
  44. <span class="md-ellipsis">
  45. MeshCentral Documentation
  46. </span>
  47. </div>
  48. <div class="md-header__topic" data-md-component="header-topic">
  49. <span class="md-ellipsis">
  50. Contribute to MeshCentral
  51. </span>
  52. </div>
  53. </div>
  54. </div>
  55. <label class="md-header__button md-icon" for="__search">
  56. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  57. </label>
  58. <div class="md-search" data-md-component="search" role="dialog">
  59. <label class="md-search__overlay" for="__search"></label>
  60. <div class="md-search__inner" role="search">
  61. <form class="md-search__form" name="search">
  62. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
  63. <label class="md-search__icon md-icon" for="__search">
  64. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
  65. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
  66. </label>
  67. <nav class="md-search__options" aria-label="Search">
  68. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  69. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
  70. </button>
  71. </nav>
  72. </form>
  73. <div class="md-search__output">
  74. <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
  75. <div class="md-search-result" data-md-component="search-result">
  76. <div class="md-search-result__meta">
  77. Initializing search
  78. </div>
  79. <ol class="md-search-result__list" role="presentation"></ol>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="md-header__source">
  86. <a href="https://github.com/Ylianst/MeshCentral" title="Go to repository" class="md-source" data-md-component="source">
  87. <div class="md-source__icon md-icon">
  88. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  89. </div>
  90. <div class="md-source__repository">
  91. Ylianst/MeshCentral
  92. </div>
  93. </a>
  94. </div>
  95. </nav>
  96. </header>
  97. <div class="md-container" data-md-component="container">
  98. <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
  99. <div class="md-grid">
  100. <ul class="md-tabs__list">
  101. <li class="md-tabs__item">
  102. <a href=".." class="md-tabs__link">
  103. Home
  104. </a>
  105. </li>
  106. <li class="md-tabs__item">
  107. <a href="../install/" class="md-tabs__link">
  108. Install
  109. </a>
  110. </li>
  111. <li class="md-tabs__item">
  112. <a href="../meshcentral/" class="md-tabs__link">
  113. MeshCentral2
  114. </a>
  115. </li>
  116. <li class="md-tabs__item">
  117. <a href="../design/" class="md-tabs__link">
  118. Design and Architecture
  119. </a>
  120. </li>
  121. <li class="md-tabs__item">
  122. <a href="../meshcmd/" class="md-tabs__link">
  123. MeshCmd
  124. </a>
  125. </li>
  126. <li class="md-tabs__item">
  127. <a href="../meshctrl/" class="md-tabs__link">
  128. MeshCtrl
  129. </a>
  130. </li>
  131. <li class="md-tabs__item">
  132. <a href="../meshrouter/" class="md-tabs__link">
  133. Mesh Router
  134. </a>
  135. </li>
  136. <li class="md-tabs__item">
  137. <a href="../intelamt/" class="md-tabs__link">
  138. Intel AMT
  139. </a>
  140. </li>
  141. <li class="md-tabs__item md-tabs__item--active">
  142. <a href="./" class="md-tabs__link">
  143. How to Contribute
  144. </a>
  145. </li>
  146. <li class="md-tabs__item">
  147. <a href="../other/adfs_sso_guide/" class="md-tabs__link">
  148. Other
  149. </a>
  150. </li>
  151. </ul>
  152. </div>
  153. </nav>
  154. <main class="md-main" data-md-component="main">
  155. <div class="md-main__inner md-grid">
  156. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  157. <div class="md-sidebar__scrollwrap">
  158. <div class="md-sidebar__inner">
  159. <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
  160. <label class="md-nav__title" for="__drawer">
  161. <a href=".." title="MeshCentral Documentation" class="md-nav__button md-logo" aria-label="MeshCentral Documentation" data-md-component="logo">
  162. <img src="../images/favicon.ico" alt="logo">
  163. </a>
  164. MeshCentral Documentation
  165. </label>
  166. <div class="md-nav__source">
  167. <a href="https://github.com/Ylianst/MeshCentral" title="Go to repository" class="md-source" data-md-component="source">
  168. <div class="md-source__icon md-icon">
  169. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
  170. </div>
  171. <div class="md-source__repository">
  172. Ylianst/MeshCentral
  173. </div>
  174. </a>
  175. </div>
  176. <ul class="md-nav__list" data-md-scrollfix>
  177. <li class="md-nav__item">
  178. <a href=".." class="md-nav__link">
  179. <span class="md-ellipsis">
  180. Home
  181. </span>
  182. </a>
  183. </li>
  184. <li class="md-nav__item md-nav__item--nested">
  185. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_2" >
  186. <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
  187. <span class="md-ellipsis">
  188. Install
  189. </span>
  190. <span class="md-nav__icon md-icon"></span>
  191. </label>
  192. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
  193. <label class="md-nav__title" for="__nav_2">
  194. <span class="md-nav__icon md-icon"></span>
  195. Install
  196. </label>
  197. <ul class="md-nav__list" data-md-scrollfix>
  198. <li class="md-nav__item">
  199. <a href="../install/" class="md-nav__link">
  200. <span class="md-ellipsis">
  201. Quick Start Guide
  202. </span>
  203. </a>
  204. </li>
  205. <li class="md-nav__item">
  206. <a href="../install/install2/" class="md-nav__link">
  207. <span class="md-ellipsis">
  208. Full Install Guide
  209. </span>
  210. </a>
  211. </li>
  212. </ul>
  213. </nav>
  214. </li>
  215. <li class="md-nav__item md-nav__item--nested">
  216. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_3" >
  217. <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
  218. <span class="md-ellipsis">
  219. MeshCentral2
  220. </span>
  221. <span class="md-nav__icon md-icon"></span>
  222. </label>
  223. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
  224. <label class="md-nav__title" for="__nav_3">
  225. <span class="md-nav__icon md-icon"></span>
  226. MeshCentral2
  227. </label>
  228. <ul class="md-nav__list" data-md-scrollfix>
  229. <li class="md-nav__item">
  230. <a href="../meshcentral/" class="md-nav__link">
  231. <span class="md-ellipsis">
  232. MeshCentral2 Guide
  233. </span>
  234. </a>
  235. </li>
  236. <li class="md-nav__item">
  237. <a href="../meshcentral/config/" class="md-nav__link">
  238. <span class="md-ellipsis">
  239. All Configuration Options
  240. </span>
  241. </a>
  242. </li>
  243. <li class="md-nav__item">
  244. <a href="../meshcentral/agents/" class="md-nav__link">
  245. <span class="md-ellipsis">
  246. Agent Information
  247. </span>
  248. </a>
  249. </li>
  250. <li class="md-nav__item">
  251. <a href="../meshcentral/assistant/" class="md-nav__link">
  252. <span class="md-ellipsis">
  253. Assistant
  254. </span>
  255. </a>
  256. </li>
  257. <li class="md-nav__item">
  258. <a href="../meshcentral/codesigning/" class="md-nav__link">
  259. <span class="md-ellipsis">
  260. Code Signing
  261. </span>
  262. </a>
  263. </li>
  264. <li class="md-nav__item">
  265. <a href="../meshcentral/debugging/" class="md-nav__link">
  266. <span class="md-ellipsis">
  267. Debugging
  268. </span>
  269. </a>
  270. </li>
  271. <li class="md-nav__item">
  272. <a href="../meshcentral/devicetabs/" class="md-nav__link">
  273. <span class="md-ellipsis">
  274. Device Tabs
  275. </span>
  276. </a>
  277. </li>
  278. <li class="md-nav__item">
  279. <a href="../meshcentral/plugins/" class="md-nav__link">
  280. <span class="md-ellipsis">
  281. Plugins
  282. </span>
  283. </a>
  284. </li>
  285. <li class="md-nav__item">
  286. <a href="../meshcentral/SSLnletsencrypt/" class="md-nav__link">
  287. <span class="md-ellipsis">
  288. SSL
  289. </span>
  290. </a>
  291. </li>
  292. <li class="md-nav__item">
  293. <a href="../meshcentral/security/" class="md-nav__link">
  294. <span class="md-ellipsis">
  295. Security
  296. </span>
  297. </a>
  298. </li>
  299. <li class="md-nav__item">
  300. <a href="../meshcentral/tokens/" class="md-nav__link">
  301. <span class="md-ellipsis">
  302. Tokens
  303. </span>
  304. </a>
  305. </li>
  306. <li class="md-nav__item">
  307. <a href="../meshcentral/faq/" class="md-nav__link">
  308. <span class="md-ellipsis">
  309. FAQ
  310. </span>
  311. </a>
  312. </li>
  313. <li class="md-nav__item">
  314. <a href="../meshcentral/tipsntricks/" class="md-nav__link">
  315. <span class="md-ellipsis">
  316. Tips n Tricks
  317. </span>
  318. </a>
  319. </li>
  320. <li class="md-nav__item">
  321. <a href="../messaging/" class="md-nav__link">
  322. <span class="md-ellipsis">
  323. Messaging
  324. </span>
  325. </a>
  326. </li>
  327. <li class="md-nav__item">
  328. <a href="../meshcentral/customization/" class="md-nav__link">
  329. <span class="md-ellipsis">
  330. Customization
  331. </span>
  332. </a>
  333. </li>
  334. <li class="md-nav__item">
  335. <a href="../meshcentral/openidConnectStrategy/" class="md-nav__link">
  336. <span class="md-ellipsis">
  337. openidConnectStrategy
  338. </span>
  339. </a>
  340. </li>
  341. </ul>
  342. </nav>
  343. </li>
  344. <li class="md-nav__item md-nav__item--nested">
  345. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_4" >
  346. <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
  347. <span class="md-ellipsis">
  348. Design and Architecture
  349. </span>
  350. <span class="md-nav__icon md-icon"></span>
  351. </label>
  352. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
  353. <label class="md-nav__title" for="__nav_4">
  354. <span class="md-nav__icon md-icon"></span>
  355. Design and Architecture
  356. </label>
  357. <ul class="md-nav__list" data-md-scrollfix>
  358. <li class="md-nav__item">
  359. <a href="../design/" class="md-nav__link">
  360. <span class="md-ellipsis">
  361. Design and Architecture
  362. </span>
  363. </a>
  364. </li>
  365. </ul>
  366. </nav>
  367. </li>
  368. <li class="md-nav__item md-nav__item--nested">
  369. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_5" >
  370. <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
  371. <span class="md-ellipsis">
  372. MeshCmd
  373. </span>
  374. <span class="md-nav__icon md-icon"></span>
  375. </label>
  376. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
  377. <label class="md-nav__title" for="__nav_5">
  378. <span class="md-nav__icon md-icon"></span>
  379. MeshCmd
  380. </label>
  381. <ul class="md-nav__list" data-md-scrollfix>
  382. <li class="md-nav__item">
  383. <a href="../meshcmd/" class="md-nav__link">
  384. <span class="md-ellipsis">
  385. MeshCmd
  386. </span>
  387. </a>
  388. </li>
  389. </ul>
  390. </nav>
  391. </li>
  392. <li class="md-nav__item md-nav__item--nested">
  393. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_6" >
  394. <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
  395. <span class="md-ellipsis">
  396. MeshCtrl
  397. </span>
  398. <span class="md-nav__icon md-icon"></span>
  399. </label>
  400. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
  401. <label class="md-nav__title" for="__nav_6">
  402. <span class="md-nav__icon md-icon"></span>
  403. MeshCtrl
  404. </label>
  405. <ul class="md-nav__list" data-md-scrollfix>
  406. <li class="md-nav__item">
  407. <a href="../meshctrl/" class="md-nav__link">
  408. <span class="md-ellipsis">
  409. MeshCtrl
  410. </span>
  411. </a>
  412. </li>
  413. </ul>
  414. </nav>
  415. </li>
  416. <li class="md-nav__item md-nav__item--nested">
  417. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_7" >
  418. <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
  419. <span class="md-ellipsis">
  420. Mesh Router
  421. </span>
  422. <span class="md-nav__icon md-icon"></span>
  423. </label>
  424. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
  425. <label class="md-nav__title" for="__nav_7">
  426. <span class="md-nav__icon md-icon"></span>
  427. Mesh Router
  428. </label>
  429. <ul class="md-nav__list" data-md-scrollfix>
  430. <li class="md-nav__item">
  431. <a href="../meshrouter/" class="md-nav__link">
  432. <span class="md-ellipsis">
  433. MeshCentral Router
  434. </span>
  435. </a>
  436. </li>
  437. </ul>
  438. </nav>
  439. </li>
  440. <li class="md-nav__item md-nav__item--nested">
  441. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_8" >
  442. <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
  443. <span class="md-ellipsis">
  444. Intel AMT
  445. </span>
  446. <span class="md-nav__icon md-icon"></span>
  447. </label>
  448. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
  449. <label class="md-nav__title" for="__nav_8">
  450. <span class="md-nav__icon md-icon"></span>
  451. Intel AMT
  452. </label>
  453. <ul class="md-nav__list" data-md-scrollfix>
  454. <li class="md-nav__item">
  455. <a href="../intelamt/" class="md-nav__link">
  456. <span class="md-ellipsis">
  457. Intel AMT
  458. </span>
  459. </a>
  460. </li>
  461. </ul>
  462. </nav>
  463. </li>
  464. <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
  465. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" checked>
  466. <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="">
  467. <span class="md-ellipsis">
  468. How to Contribute
  469. </span>
  470. <span class="md-nav__icon md-icon"></span>
  471. </label>
  472. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="true">
  473. <label class="md-nav__title" for="__nav_9">
  474. <span class="md-nav__icon md-icon"></span>
  475. How to Contribute
  476. </label>
  477. <ul class="md-nav__list" data-md-scrollfix>
  478. <li class="md-nav__item md-nav__item--active">
  479. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  480. <label class="md-nav__link md-nav__link--active" for="__toc">
  481. <span class="md-ellipsis">
  482. Contribute to MeshCentral
  483. </span>
  484. <span class="md-nav__icon md-icon"></span>
  485. </label>
  486. <a href="./" class="md-nav__link md-nav__link--active">
  487. <span class="md-ellipsis">
  488. Contribute to MeshCentral
  489. </span>
  490. </a>
  491. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  492. <label class="md-nav__title" for="__toc">
  493. <span class="md-nav__icon md-icon"></span>
  494. Table of contents
  495. </label>
  496. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  497. <li class="md-nav__item">
  498. <a href="#contributing-to-meshcentral-via-github-pull-request" class="md-nav__link">
  499. <span class="md-ellipsis">
  500. Contributing to MeshCentral via GitHub Pull Request
  501. </span>
  502. </a>
  503. </li>
  504. <li class="md-nav__item">
  505. <a href="#contribute-to-meshcentrals-multilingual-support" class="md-nav__link">
  506. <span class="md-ellipsis">
  507. Contribute to MeshCentral's Multilingual Support
  508. </span>
  509. </a>
  510. <nav class="md-nav" aria-label="Contribute to MeshCentral's Multilingual Support">
  511. <ul class="md-nav__list">
  512. <li class="md-nav__item">
  513. <a href="#additional-information" class="md-nav__link">
  514. <span class="md-ellipsis">
  515. Additional Information:
  516. </span>
  517. </a>
  518. </li>
  519. </ul>
  520. </nav>
  521. </li>
  522. </ul>
  523. </nav>
  524. </li>
  525. </ul>
  526. </nav>
  527. </li>
  528. <li class="md-nav__item md-nav__item--nested">
  529. <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type="checkbox" id="__nav_10" >
  530. <label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
  531. <span class="md-ellipsis">
  532. Other
  533. </span>
  534. <span class="md-nav__icon md-icon"></span>
  535. </label>
  536. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
  537. <label class="md-nav__title" for="__nav_10">
  538. <span class="md-nav__icon md-icon"></span>
  539. Other
  540. </label>
  541. <ul class="md-nav__list" data-md-scrollfix>
  542. <li class="md-nav__item">
  543. <a href="../other/adfs_sso_guide/" class="md-nav__link">
  544. <span class="md-ellipsis">
  545. ADFS SSO Guide
  546. </span>
  547. </a>
  548. </li>
  549. <li class="md-nav__item">
  550. <a href="../other/meshcentral_satellite/" class="md-nav__link">
  551. <span class="md-ellipsis">
  552. MeshCentral Satellite
  553. </span>
  554. </a>
  555. </li>
  556. </ul>
  557. </nav>
  558. </li>
  559. </ul>
  560. </nav>
  561. </div>
  562. </div>
  563. </div>
  564. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  565. <div class="md-sidebar__scrollwrap">
  566. <div class="md-sidebar__inner">
  567. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  568. <label class="md-nav__title" for="__toc">
  569. <span class="md-nav__icon md-icon"></span>
  570. Table of contents
  571. </label>
  572. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  573. <li class="md-nav__item">
  574. <a href="#contributing-to-meshcentral-via-github-pull-request" class="md-nav__link">
  575. <span class="md-ellipsis">
  576. Contributing to MeshCentral via GitHub Pull Request
  577. </span>
  578. </a>
  579. </li>
  580. <li class="md-nav__item">
  581. <a href="#contribute-to-meshcentrals-multilingual-support" class="md-nav__link">
  582. <span class="md-ellipsis">
  583. Contribute to MeshCentral's Multilingual Support
  584. </span>
  585. </a>
  586. <nav class="md-nav" aria-label="Contribute to MeshCentral's Multilingual Support">
  587. <ul class="md-nav__list">
  588. <li class="md-nav__item">
  589. <a href="#additional-information" class="md-nav__link">
  590. <span class="md-ellipsis">
  591. Additional Information:
  592. </span>
  593. </a>
  594. </li>
  595. </ul>
  596. </nav>
  597. </li>
  598. </ul>
  599. </nav>
  600. </div>
  601. </div>
  602. </div>
  603. <div class="md-content" data-md-component="content">
  604. <article class="md-content__inner md-typeset">
  605. <h1 id="contribute-to-meshcentral">Contribute to MeshCentral<a class="headerlink" href="#contribute-to-meshcentral" title="Permanent link">&para;</a></h1>
  606. <h2 id="contributing-to-meshcentral-via-github-pull-request">Contributing to MeshCentral via GitHub Pull Request<a class="headerlink" href="#contributing-to-meshcentral-via-github-pull-request" title="Permanent link">&para;</a></h2>
  607. <p>If you're looking to contribute beyond translations, such as updating documentation or enhancing the software by adding features or fixing bugs, the process involves several key steps:</p>
  608. <ol>
  609. <li>
  610. <p><strong>Fork the Repository:</strong> Start by forking the <a href="https://github.com/Ylianst/MeshCentral">MeshCentral</a> repository on GitHub. This creates a copy of the repository under your own GitHub account, allowing you to make changes without affecting the original project.</p>
  611. </li>
  612. <li>
  613. <p><strong>Make Your Changes</strong></p>
  614. <ul>
  615. <li>In your forked repository, create a new branch to keep your changes organized. This helps in managing different contributions separately.</li>
  616. <li>Make the necessary changes in your repository. This could involve updating documentation files or modifying code to add new features or fix bugs.</li>
  617. </ul>
  618. </li>
  619. <li>
  620. <p><strong>Review Your Changes:</strong> Before submitting your work, carefully review the changes you’ve made. Check the "Files Changed" section on GitHub to ensure that all modifications are intended and correctly implemented.</p>
  621. </li>
  622. <li>
  623. <p><strong>Submit a Pull Request</strong></p>
  624. <ul>
  625. <li>Once your changes are ready and reviewed, submit a pull request (PR) from your branch to the <code>master</code> branch of the main MeshCentral repository.</li>
  626. <li>When creating the pull request, provide a clear and detailed description of what changes have been made and why. This helps maintainers understand the purpose of your contributions.</li>
  627. </ul>
  628. </li>
  629. <li>
  630. <p><strong>Wait for Review:</strong> After submitting your pull request, wait for a project maintainer to review your contribution. Review time can vary depending on the complexity of the changes and the availability of the maintainers.</p>
  631. </li>
  632. <li>
  633. <p><strong>Respond to Feedback:</strong> The maintainer may request further modifications or provide feedback on your pull request. Be prepared to make additional changes based on their suggestions to ensure that your contribution meets the project’s standards and requirements.</p>
  634. </li>
  635. <li>
  636. <p><strong>Final Steps:</strong> Once your pull request is approved and merged by a maintainer, your contributions will be incorporated into the MeshCentral project. Congratulations, and thank you for helping improve MeshCentral! </p>
  637. </li>
  638. </ol>
  639. <hr />
  640. <h2 id="contribute-to-meshcentrals-multilingual-support">Contribute to MeshCentral's Multilingual Support<a class="headerlink" href="#contribute-to-meshcentrals-multilingual-support" title="Permanent link">&para;</a></h2>
  641. <p>To make MeshCentral multilingual, your contributions are crucial. Follow these steps to translate the interface into various languages.</p>
  642. <ol>
  643. <li>
  644. <p><strong>Remove Local Translations:</strong> Delete <code>translate.json</code> from your <code>meshcentral-data</code> folder. This file contains your local copy of translations, which may become outdated as new features and texts are added.</p>
  645. </li>
  646. <li>
  647. <p><strong>Access MeshCentral:</strong> Ensure you are logged into MeshCentral.</p>
  648. </li>
  649. <li><strong>Open Translation Tool:</strong> Visit <code>https://YOURMESHCENTRALSERVER.COM/translator.htm</code> to access the translation interface.</li>
  650. <li>
  651. <p><strong>Choose a Language:</strong> Select the language you wish to translate from the list provided.</p>
  652. </li>
  653. <li>
  654. <p><strong>Translate Text:</strong> Use the search function or scroll through the list to find text segments you want to translate. Utilize the "show no translations only" checkbox to filter untranslated texts.</p>
  655. </li>
  656. <li><strong>Enter Translations:</strong> For each text segment, enter your translation in the bottom box (not the top one) and click <code>SET (F1)</code>.</li>
  657. <li>
  658. <p><strong>Repeat Translation:</strong> Continue translating by repeating steps 5 and 6 for other texts as desired.</p>
  659. </li>
  660. <li>
  661. <p><strong>Save and Apply Translations</strong></p>
  662. <ul>
  663. <li>Click <code>SAVE TO SERVER (F3)</code> to save your translations to <code>meshcentral-data/translate.json</code> locally in your MeshCentral server.</li>
  664. <li>Optionally, click <code>SAVE TO FILE (F4)</code> to download the <code>translate.json</code> file for offline review or sharing.</li>
  665. </ul>
  666. </li>
  667. <li>
  668. <p><strong>Deploy Translations:</strong> Click <code>TRANSLATE SERVER</code> and allow some time for the process to complete (approximately 5-15 minutes depending on server specifications). This command line output will indicate when the translation is complete.<br />
  669. <img alt="" src="images/translation-msg-output.png" /></p>
  670. </li>
  671. <li>
  672. <p><strong>Finalize Changes:</strong> It’s crucial to restart MeshCentral to ensure that the translated files are picked up correctly.</p>
  673. </li>
  674. <li><strong>Share your translations:</strong> Once a language translation is complete, take the latest <code>translation.json</code> and share it by emailing it to the maintainer (Ylianst, <code>ylianst@gmail.com</code>) or by submitting it to the MeshCentral GitHub repository via a pull request.</li>
  675. </ol>
  676. <hr />
  677. <h4 id="additional-information">Additional Information:<a class="headerlink" href="#additional-information" title="Permanent link">&para;</a></h4>
  678. <ul>
  679. <li>If you make any changes to <code>default.handlebars</code>, run the translate server to propagate these modifications to the language-specific handlebar files located in <code>node_modules/meshcentral/views/translations</code>.</li>
  680. </ul>
  681. <p>By following these steps, you help MeshCentral support any language you choose, making it more accessible worldwide. By sharing your translations with us, you also help make these languages available to other users, improving the community and extending the software's reach.</p>
  682. </article>
  683. </div>
  684. <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
  685. </div>
  686. <button type="button" class="md-top md-icon" data-md-component="top" hidden>
  687. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
  688. Back to top
  689. </button>
  690. </main>
  691. <footer class="md-footer">
  692. <div class="md-footer-meta md-typeset">
  693. <div class="md-footer-meta__inner md-grid">
  694. <div class="md-copyright">
  695. </div>
  696. </div>
  697. </div>
  698. </footer>
  699. </div>
  700. <div class="md-dialog" data-md-component="dialog">
  701. <div class="md-dialog__inner md-typeset"></div>
  702. </div>
  703. <script id="__config" type="application/json">{"base": "..", "features": ["navigation.tabs", "navigation.expand", "navigation.top", "navigation.instant"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
  704. <script src="../assets/javascripts/bundle.525ec568.min.js"></script>
  705. </body>
  706. </html>