Please contact the owner of the site that linked you to the original URL and let them know their link is broken.
diff --git a/assets/js/043e14d3.a18e0ad1.js b/assets/js/043e14d3.a18e0ad1.js
new file mode 100644
index 00000000..c6d82be6
--- /dev/null
+++ b/assets/js/043e14d3.a18e0ad1.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8731],{7388:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var r=s(4848),i=s(8453);const a={sidebar_position:5},o="Upload & Deploy Packages",t={id:"dev_guide/deploy_packages",title:"Upload & Deploy Packages",description:"\ud83d\ude80 Uploading and Deploying an Arch Linux Package on GitHub",source:"@site/docs/dev_guide/deploy_packages.md",sourceDirName:"dev_guide",slug:"/dev_guide/deploy_packages",permalink:"/documentation/dev_guide/deploy_packages",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/deploy_packages.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"},next:{title:"Writing Documentation",permalink:"/documentation/dev_guide/write"}},c={},d=[{value:"\ud83d\ude80 Uploading and Deploying an Arch Linux Package on GitHub",id:"-uploading-and-deploying-an-arch-linux-package-on-github",level:3},{value:"1\ufe0f\u20e3 Prepare the Package",id:"1\ufe0f\u20e3-prepare-the-package",level:3},{value:"2\ufe0f\u20e3 Create a GitHub Repository",id:"2\ufe0f\u20e3-create-a-github-repository",level:3},{value:"3\ufe0f\u20e3 Upload the Package",id:"3\ufe0f\u20e3-upload-the-package",level:3},{value:"4\ufe0f\u20e3 Set Up a Repository for pacman",id:"4\ufe0f\u20e3-set-up-a-repository-for-pacman",level:3},{value:"5\ufe0f\u20e3 Serve the Repository on GitHub Pages",id:"5\ufe0f\u20e3-serve-the-repository-on-github-pages",level:3},{value:"6\ufe0f\u20e3 Configure pacman to Use Your Repository",id:"6\ufe0f\u20e3-configure-pacman-to-use-your-repository",level:3},{value:"\ud83d\udee0\ufe0f Automating Updates with GitHub Actions",id:"\ufe0f-automating-updates-with-github-actions",level:3},{value:"\u2705 Final Testing",id:"-final-testing",level:3}];function l(e){const n={a:"a",code:"code",h1:"h1",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"upload--deploy-packages",children:"Upload & Deploy Packages"}),"\n",(0,r.jsx)(n.h3,{id:"-uploading-and-deploying-an-arch-linux-package-on-github",children:"\ud83d\ude80 Uploading and Deploying an Arch Linux Package on GitHub"}),"\n",(0,r.jsxs)(n.p,{children:["Hosting an Arch Linux package on GitHub is a great way to distribute it. Users can download and install your package directly or use your repository for easier management with ",(0,r.jsx)(n.code,{children:"pacman"}),". Here's how to do it step-by-step."]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"1\ufe0f\u20e3-prepare-the-package",children:["1\ufe0f\u20e3 ",(0,r.jsx)(n.strong,{children:"Prepare the Package"})]}),"\n",(0,r.jsxs)(n.p,{children:["Ensure you\u2019ve created your Arch package using a ",(0,r.jsx)(n.code,{children:"PKGBUILD"})," file."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Build the package"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["Navigate to your package directory containing the ",(0,r.jsx)(n.code,{children:"PKGBUILD"})," and run:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"makepkg -si\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This will create a ",(0,r.jsx)(n.code,{children:".pkg.tar.zst"})," file (e.g., ",(0,r.jsx)(n.code,{children:"mypackage-1.0-1-x86_64.pkg.tar.zst"}),")."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Sign the package (optional but recommended)"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"If you\u2019re distributing the package securely, sign it with your GPG key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --detach-sign --armor mypackage-1.0-1-x86_64.pkg.tar.zst\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This creates a signature file ",(0,r.jsx)(n.code,{children:"mypackage-1.0-1-x86_64.pkg.tar.zst.sig"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"2\ufe0f\u20e3-create-a-github-repository",children:["2\ufe0f\u20e3 ",(0,r.jsx)(n.strong,{children:"Create a GitHub Repository"})]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Go to ",(0,r.jsx)(n.a,{href:"https://github.com",children:"GitHub"})," and create a new repository."]}),"\n",(0,r.jsxs)(n.li,{children:["Name the repository (e.g., ",(0,r.jsx)(n.code,{children:"arch-packages"}),") and add a description."]}),"\n",(0,r.jsx)(n.li,{children:"Initialize it with a README file (optional)."}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"3\ufe0f\u20e3-upload-the-package",children:["3\ufe0f\u20e3 ",(0,r.jsx)(n.strong,{children:"Upload the Package"})]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Clone the repository to your local system:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git clone https://github.com/yourusername/arch-packages.git\ncd arch-packages\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Copy your package files (",(0,r.jsx)(n.code,{children:".pkg.tar.zst"})," and ",(0,r.jsx)(n.code,{children:".sig"}),") to the repository directory:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"cp ../mypackage-1.0-1-x86_64.pkg.tar.zst .\ncp ../mypackage-1.0-1-x86_64.pkg.tar.zst.sig .\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Commit and push the files:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'git add mypackage-1.0-1-x86_64.pkg.tar.zst mypackage-1.0-1-x86_64.pkg.tar.zst.sig\ngit commit -m "Add mypackage version 1.0"\ngit push origin main\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"4\ufe0f\u20e3-set-up-a-repository-for-pacman",children:["4\ufe0f\u20e3 ",(0,r.jsxs)(n.strong,{children:["Set Up a Repository for ",(0,r.jsx)(n.code,{children:"pacman"})]})]}),"\n",(0,r.jsxs)(n.p,{children:["To create a repository compatible with ",(0,r.jsx)(n.code,{children:"pacman"}),", you need a database file (",(0,r.jsx)(n.code,{children:".db"}),") and signature file (",(0,r.jsx)(n.code,{children:".db.sig"}),")."]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Generate the database"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["Run ",(0,r.jsx)(n.code,{children:"repo-add"})," to create a repository database for your packages:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"repo-add myrepo.db.tar.gz mypackage-1.0-1-x86_64.pkg.tar.zst\n"})}),"\n",(0,r.jsx)(n.p,{children:"This will generate files like:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.code,{children:"myrepo.db.tar.gz"})}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"myrepo.db.tar.gz.sig"})," (if signed)"]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Rename ",(0,r.jsx)(n.code,{children:"myrepo.db.tar.gz"})," to ",(0,r.jsx)(n.code,{children:"myrepo.db"})," for convenience:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"mv myrepo.db.tar.gz myrepo.db\nmv myrepo.db.tar.gz.sig myrepo.db.sig\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Add repository files to GitHub"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["Copy the ",(0,r.jsx)(n.code,{children:".db"})," and ",(0,r.jsx)(n.code,{children:".sig"})," files to the repository and push them:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'git add myrepo.db myrepo.db.sig\ngit commit -m "Add repository database"\ngit push origin main\n'})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"5\ufe0f\u20e3-serve-the-repository-on-github-pages",children:["5\ufe0f\u20e3 ",(0,r.jsx)(n.strong,{children:"Serve the Repository on GitHub Pages"})]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Enable GitHub Pages for the repository:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Go to your repository\u2019s ",(0,r.jsx)(n.strong,{children:"Settings"})," > ",(0,r.jsx)(n.strong,{children:"Pages"}),"."]}),"\n",(0,r.jsxs)(n.li,{children:["Under ",(0,r.jsx)(n.strong,{children:"Source"}),", select ",(0,r.jsx)(n.code,{children:"main"})," (or the branch you\u2019re using) and set the folder to ",(0,r.jsx)(n.code,{children:"/root"})," or ",(0,r.jsx)(n.code,{children:"/docs"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Note the URL for your repository, which will be in the format:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:"https://yourusername.github.io/arch-packages/\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.h3,{id:"6\ufe0f\u20e3-configure-pacman-to-use-your-repository",children:["6\ufe0f\u20e3 ",(0,r.jsxs)(n.strong,{children:["Configure ",(0,r.jsx)(n.code,{children:"pacman"})," to Use Your Repository"]})]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Add your repository to ",(0,r.jsx)(n.code,{children:"/etc/pacman.conf"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-plaintext",children:"[myrepo]\nSigLevel = Required\nServer = https://yourusername.github.io/arch-packages\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Update ",(0,r.jsx)(n.code,{children:"pacman"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -Syu\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Install your package:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S mypackage\n"})}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-automating-updates-with-github-actions",children:"\ud83d\udee0\ufe0f Automating Updates with GitHub Actions"}),"\n",(0,r.jsxs)(n.p,{children:["To automate the deployment of new packages to GitHub, use ",(0,r.jsx)(n.strong,{children:"GitHub Actions"}),":"]}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Create a ",(0,r.jsx)(n.code,{children:".github/workflows/deploy.yml"})," file in your repository:"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-yaml",children:'name: Deploy Arch Linux Package\n\non:\n push:\n branches:\n - main\n\njobs:\n deploy:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout code\n uses: actions/checkout@v3\n\n - name: Install Arch tools\n run: |\n sudo apt update\n sudo apt install archlinux-keyring devscripts pacman\n\n - name: Generate repository database\n run: |\n repo-add myrepo.db.tar.gz *.pkg.tar.zst\n mv myrepo.db.tar.gz myrepo.db\n mv myrepo.db.tar.gz.sig myrepo.db.sig\n\n - name: Commit and push repository updates\n run: |\n git add myrepo.db myrepo.db.sig\n git commit -m "Update repository database"\n git push origin main\n'})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Push this file to your repository. The workflow will automatically run on every push to update the repository database."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"-final-testing",children:"\u2705 Final Testing"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Clone your repository to verify it\u2019s accessible:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"git clone https://yourusername.github.io/arch-packages\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsx)(n.p,{children:"Test package installation from your custom repository as described in step 6."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.p,{children:"By following these steps, you'll have a fully functional Arch Linux package repository hosted on GitHub, ready for others to use. \ud83c\udf89"})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>t});var r=s(6540);const i={},a=r.createContext(i);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/043e14d3.a2136bc9.js b/assets/js/043e14d3.a2136bc9.js
deleted file mode 100644
index 7dee406b..00000000
--- a/assets/js/043e14d3.a2136bc9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8731],{7388:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>i,default:()=>p,frontMatter:()=>d,metadata:()=>s,toc:()=>c});var o=n(4848),a=n(8453);const d={sidebar_position:4},i="Upload & Deploy Packages",s={id:"dev_guide/deploy_packages",title:"Upload & Deploy Packages",description:"",source:"@site/docs/dev_guide/deploy_packages.md",sourceDirName:"dev_guide",slug:"/dev_guide/deploy_packages",permalink:"/documentation/dev_guide/deploy_packages",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/deploy_packages.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gog_key"},next:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"}},r={},c=[];function u(e){const t={h1:"h1",...(0,a.R)(),...e.components};return(0,o.jsx)(t.h1,{id:"upload--deploy-packages",children:"Upload & Deploy Packages"})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>s});var o=n(6540);const a={},d=o.createContext(a);function i(e){const t=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),o.createElement(d.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/404ec107.2157b3fe.js b/assets/js/404ec107.2157b3fe.js
new file mode 100644
index 00000000..717ad54e
--- /dev/null
+++ b/assets/js/404ec107.2157b3fe.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5473],{60:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>u,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=n(4848),o=n(8453);const s={sidebar_position:4},r="Install Keyrings",a={id:"dev_guide/install_keyring",title:"Install Keyrings",description:"",source:"@site/docs/dev_guide/install_keyring.md",sourceDirName:"dev_guide",slug:"/dev_guide/install_keyring",permalink:"/documentation/dev_guide/install_keyring",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/install_keyring.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gpg_key"},next:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"}},d={},l=[];function c(e){const t={h1:"h1",...(0,o.R)(),...e.components};return(0,i.jsx)(t.h1,{id:"install-keyrings",children:"Install Keyrings"})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const o={},s=i.createContext(o);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/404ec107.de148e32.js b/assets/js/404ec107.de148e32.js
deleted file mode 100644
index 522f096a..00000000
--- a/assets/js/404ec107.de148e32.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5473],{60:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>l,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(4848),o=n(8453);const s={sidebar_position:5},r="Install Keyrings",a={id:"dev_guide/install_keyring",title:"Install Keyrings",description:"",source:"@site/docs/dev_guide/install_keyring.md",sourceDirName:"dev_guide",slug:"/dev_guide/install_keyring",permalink:"/documentation/dev_guide/install_keyring",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/install_keyring.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"},next:{title:"Writing Documentation",permalink:"/documentation/dev_guide/write"}},d={},c=[];function u(e){const t={h1:"h1",...(0,o.R)(),...e.components};return(0,i.jsx)(t.h1,{id:"install-keyrings",children:"Install Keyrings"})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var i=n(6540);const o={},s=i.createContext(o);function r(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/89ebda57.ed80bc3b.js b/assets/js/89ebda57.94bcc6f7.js
similarity index 99%
rename from assets/js/89ebda57.ed80bc3b.js
rename to assets/js/89ebda57.94bcc6f7.js
index 8baa34a0..6c79b1fa 100644
--- a/assets/js/89ebda57.ed80bc3b.js
+++ b/assets/js/89ebda57.94bcc6f7.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5766],{8521:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>t,metadata:()=>o,toc:()=>d});var r=s(4848),i=s(8453);const t={sidebar_position:2},l="Generate GPG Key",o={id:"dev_guide/gpg_key",title:"Generate GPG Key",description:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",source:"@site/docs/dev_guide/gpg_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/gpg_key",permalink:"/documentation/dev_guide/gpg_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/gpg_key.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Build From Source",permalink:"/documentation/dev_guide/build_source"},next:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gog_key"}},c={},d=[{value:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",id:"-how-to-generate-a-gpg-key-on-snigdha-os",level:3},{value:"\ud83d\udee0\ufe0f Step 1: Install GPG",id:"\ufe0f-step-1-install-gpg",level:3},{value:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair",id:"\ufe0f-step-2-create-a-new-gpg-key-pair",level:3},{value:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key",id:"\ufe0f-step-3-verify-the-generated-key",level:3},{value:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key",id:"\ufe0f-step-4-export-your-public-key",level:3},{value:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption",id:"\ufe0f-step-5-test-encryption-and-decryption",level:3},{value:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys",id:"\ufe0f-step-6-back-up-your-keys",level:3},{value:"\ud83d\ude80 Final Tips",id:"-final-tips",level:3}];function a(e){const n={code:"code",h1:"h1",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"generate-gpg-key",children:"Generate GPG Key"}),"\n",(0,r.jsx)(n.h3,{id:"-how-to-generate-a-gpg-key-on-snigdha-os",children:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS"}),"\n",(0,r.jsx)(n.p,{children:"GPG (GNU Privacy Guard) is a tool for secure communication and data encryption. It allows you to create and manage public and private keys, encrypt files, and sign documents. Here\u2019s how you can generate a GPG key on Snigdha OS, step by step, with examples."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-1-install-gpg",children:"\ud83d\udee0\ufe0f Step 1: Install GPG"}),"\n",(0,r.jsx)(n.p,{children:"Most Snigdha OS installations come with GPG pre-installed. If it\u2019s not installed, use the following command to install it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S gnupg\n"})}),"\n",(0,r.jsx)(n.p,{children:"To verify the installation, check the version:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --version\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-2-create-a-new-gpg-key-pair",children:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Start the key generation process"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Run the following command:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --full-generate-key\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Select the key type"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll see a prompt to choose the type of key. Options typically include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.strong,{children:"(1) RSA and RSA (default)"})}),"\n",(0,r.jsx)(n.li,{children:"(2) DSA and Elgamal"}),"\n",(0,r.jsx)(n.li,{children:"(3) DSA (sign only)"}),"\n",(0,r.jsx)(n.li,{children:"(4) RSA (sign only)"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Press ",(0,r.jsx)(n.code,{children:"1"})," and hit Enter to select the default ",(0,r.jsx)(n.strong,{children:"RSA and RSA"})," type."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the key length"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["You\u2019ll be prompted to specify the key size. A common recommendation is ",(0,r.jsx)(n.strong,{children:"4096 bits"})," for strong encryption. Type ",(0,r.jsx)(n.code,{children:"4096"})," and press Enter."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the expiration date"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You can define how long the key should be valid. Options include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"0"})," for no expiration"]}),"\n",(0,r.jsxs)(n.li,{children:["Specify a duration, e.g., ",(0,r.jsx)(n.code,{children:"1y"})," for one year, ",(0,r.jsx)(n.code,{children:"2y"})," for two years, or ",(0,r.jsx)(n.code,{children:"1m"})," for one month."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For this example, type ",(0,r.jsx)(n.code,{children:"0"})," (no expiration) and press Enter. When prompted, confirm your choice."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Enter your details"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll be asked for:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your real name"}),": Enter your full name."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your email address"}),": Enter a valid email address."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"A comment (optional)"}),": Add a description or leave it blank."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Real name: John Doe\nEmail address: johndoe@example.com\nComment: Snigdha OS User\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Review the details and confirm by typing ",(0,r.jsx)(n.code,{children:"O"})," (for OK)."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set a passphrase"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Choose a strong passphrase to protect your private key. This passphrase will be required whenever you use your private key for encryption or signing."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-3-verify-the-generated-key",children:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key"}),"\n",(0,r.jsx)(n.p,{children:"Once the key is generated, you can list your keys with:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,r.jsx)(n.p,{children:"Output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"/home/username/.gnupg/pubring.kbx\n---------------------------------\npub rsa4096 2023-12-05 [SC] [expires: 2025-12-05]\n ABCD1234EFGH5678IJKL9012MNOP3456QRST7890\nuid [ultimate] John Doe \nsub rsa4096 2023-12-05 [E] [expires: 2025-12-05]\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"pub"}),": Your primary key (for signing and certification)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"sub"}),": Subkey (for encryption)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[SC]"}),": Key capabilities: Sign and Certify."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[E]"}),": Encryption."]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-4-export-your-public-key",children:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key"}),"\n",(0,r.jsx)(n.p,{children:"To share your public key with others, export it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This creates a file ",(0,r.jsx)(n.code,{children:"public_key.asc"})," with your public key in ASCII format."]}),"\n",(0,r.jsx)(n.p,{children:"To display the key in the terminal:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-5-test-encryption-and-decryption",children:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Encrypt a file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Create a sample file to encrypt:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'echo "Hello, this is a test message!" > message.txt\n'})}),"\n",(0,r.jsx)(n.p,{children:"Encrypt the file with your public key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output message.txt.gpg --encrypt --recipient johndoe@example.com message.txt\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This generates an encrypted file ",(0,r.jsx)(n.code,{children:"message.txt.gpg"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Decrypt the file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Decrypt the file using your private key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output decrypted_message.txt --decrypt message.txt.gpg\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Enter your passphrase when prompted. The decrypted content will be saved in ",(0,r.jsx)(n.code,{children:"decrypted_message.txt"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-6-back-up-your-keys",children:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys"}),"\n",(0,r.jsx)(n.p,{children:"Always back up your keys to prevent losing access:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your private key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export-secret-keys johndoe@example.com > private_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your public key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Store these files (",(0,r.jsx)(n.code,{children:"private_key.asc"})," and ",(0,r.jsx)(n.code,{children:"public_key.asc"}),") in a safe place."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"-final-tips",children:"\ud83d\ude80 Final Tips"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Keep your private key secure. Never share it."}),"\n",(0,r.jsx)(n.li,{children:"Regularly update your passphrase for added security."}),"\n",(0,r.jsxs)(n.li,{children:["Use tools like ",(0,r.jsx)(n.strong,{children:"gpg-agent"})," for easier key management."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"That\u2019s it! You now have a functional GPG key pair set up on Snigdha OS. \ud83c\udf89"})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var r=s(6540);const i={},t=r.createContext(i);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[5766],{8521:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>t,metadata:()=>o,toc:()=>d});var r=s(4848),i=s(8453);const t={sidebar_position:2},l="Generate GPG Key",o={id:"dev_guide/gpg_key",title:"Generate GPG Key",description:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",source:"@site/docs/dev_guide/gpg_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/gpg_key",permalink:"/documentation/dev_guide/gpg_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/gpg_key.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Build From Source",permalink:"/documentation/dev_guide/build_source"},next:{title:"Upload Key => Server",permalink:"/documentation/dev_guide/upload_gpg_key"}},c={},d=[{value:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS",id:"-how-to-generate-a-gpg-key-on-snigdha-os",level:3},{value:"\ud83d\udee0\ufe0f Step 1: Install GPG",id:"\ufe0f-step-1-install-gpg",level:3},{value:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair",id:"\ufe0f-step-2-create-a-new-gpg-key-pair",level:3},{value:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key",id:"\ufe0f-step-3-verify-the-generated-key",level:3},{value:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key",id:"\ufe0f-step-4-export-your-public-key",level:3},{value:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption",id:"\ufe0f-step-5-test-encryption-and-decryption",level:3},{value:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys",id:"\ufe0f-step-6-back-up-your-keys",level:3},{value:"\ud83d\ude80 Final Tips",id:"-final-tips",level:3}];function a(e){const n={code:"code",h1:"h1",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"generate-gpg-key",children:"Generate GPG Key"}),"\n",(0,r.jsx)(n.h3,{id:"-how-to-generate-a-gpg-key-on-snigdha-os",children:"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS"}),"\n",(0,r.jsx)(n.p,{children:"GPG (GNU Privacy Guard) is a tool for secure communication and data encryption. It allows you to create and manage public and private keys, encrypt files, and sign documents. Here\u2019s how you can generate a GPG key on Snigdha OS, step by step, with examples."}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-1-install-gpg",children:"\ud83d\udee0\ufe0f Step 1: Install GPG"}),"\n",(0,r.jsx)(n.p,{children:"Most Snigdha OS installations come with GPG pre-installed. If it\u2019s not installed, use the following command to install it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"sudo pacman -S gnupg\n"})}),"\n",(0,r.jsx)(n.p,{children:"To verify the installation, check the version:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --version\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-2-create-a-new-gpg-key-pair",children:"\ud83d\udee0\ufe0f Step 2: Create a New GPG Key Pair"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Start the key generation process"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Run the following command:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --full-generate-key\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Select the key type"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll see a prompt to choose the type of key. Options typically include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.strong,{children:"(1) RSA and RSA (default)"})}),"\n",(0,r.jsx)(n.li,{children:"(2) DSA and Elgamal"}),"\n",(0,r.jsx)(n.li,{children:"(3) DSA (sign only)"}),"\n",(0,r.jsx)(n.li,{children:"(4) RSA (sign only)"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Press ",(0,r.jsx)(n.code,{children:"1"})," and hit Enter to select the default ",(0,r.jsx)(n.strong,{children:"RSA and RSA"})," type."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the key length"}),":"]}),"\n",(0,r.jsxs)(n.p,{children:["You\u2019ll be prompted to specify the key size. A common recommendation is ",(0,r.jsx)(n.strong,{children:"4096 bits"})," for strong encryption. Type ",(0,r.jsx)(n.code,{children:"4096"})," and press Enter."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set the expiration date"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You can define how long the key should be valid. Options include:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"0"})," for no expiration"]}),"\n",(0,r.jsxs)(n.li,{children:["Specify a duration, e.g., ",(0,r.jsx)(n.code,{children:"1y"})," for one year, ",(0,r.jsx)(n.code,{children:"2y"})," for two years, or ",(0,r.jsx)(n.code,{children:"1m"})," for one month."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["For this example, type ",(0,r.jsx)(n.code,{children:"0"})," (no expiration) and press Enter. When prompted, confirm your choice."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Enter your details"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"You\u2019ll be asked for:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your real name"}),": Enter your full name."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"Your email address"}),": Enter a valid email address."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"A comment (optional)"}),": Add a description or leave it blank."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"Example:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"Real name: John Doe\nEmail address: johndoe@example.com\nComment: Snigdha OS User\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Review the details and confirm by typing ",(0,r.jsx)(n.code,{children:"O"})," (for OK)."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Set a passphrase"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Choose a strong passphrase to protect your private key. This passphrase will be required whenever you use your private key for encryption or signing."}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-3-verify-the-generated-key",children:"\ud83d\udee0\ufe0f Step 3: Verify the Generated Key"}),"\n",(0,r.jsx)(n.p,{children:"Once the key is generated, you can list your keys with:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,r.jsx)(n.p,{children:"Output:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{children:"/home/username/.gnupg/pubring.kbx\n---------------------------------\npub rsa4096 2023-12-05 [SC] [expires: 2025-12-05]\n ABCD1234EFGH5678IJKL9012MNOP3456QRST7890\nuid [ultimate] John Doe \nsub rsa4096 2023-12-05 [E] [expires: 2025-12-05]\n"})}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"pub"}),": Your primary key (for signing and certification)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"sub"}),": Subkey (for encryption)."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[SC]"}),": Key capabilities: Sign and Certify."]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:"[E]"}),": Encryption."]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-4-export-your-public-key",children:"\ud83d\udee0\ufe0f Step 4: Export Your Public Key"}),"\n",(0,r.jsx)(n.p,{children:"To share your public key with others, export it:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This creates a file ",(0,r.jsx)(n.code,{children:"public_key.asc"})," with your public key in ASCII format."]}),"\n",(0,r.jsx)(n.p,{children:"To display the key in the terminal:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com\n"})}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-5-test-encryption-and-decryption",children:"\ud83d\udee0\ufe0f Step 5: Test Encryption and Decryption"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Encrypt a file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Create a sample file to encrypt:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:'echo "Hello, this is a test message!" > message.txt\n'})}),"\n",(0,r.jsx)(n.p,{children:"Encrypt the file with your public key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output message.txt.gpg --encrypt --recipient johndoe@example.com message.txt\n"})}),"\n",(0,r.jsxs)(n.p,{children:["This generates an encrypted file ",(0,r.jsx)(n.code,{children:"message.txt.gpg"}),"."]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Decrypt the file"}),":"]}),"\n",(0,r.jsx)(n.p,{children:"Decrypt the file using your private key:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --output decrypted_message.txt --decrypt message.txt.gpg\n"})}),"\n",(0,r.jsxs)(n.p,{children:["Enter your passphrase when prompted. The decrypted content will be saved in ",(0,r.jsx)(n.code,{children:"decrypted_message.txt"}),"."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"\ufe0f-step-6-back-up-your-keys",children:"\ud83d\udee0\ufe0f Step 6: Back Up Your Keys"}),"\n",(0,r.jsx)(n.p,{children:"Always back up your keys to prevent losing access:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your private key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export-secret-keys johndoe@example.com > private_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"Export your public key"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-bash",children:"gpg --armor --export johndoe@example.com > public_key.asc\n"})}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["\n",(0,r.jsxs)(n.p,{children:["Store these files (",(0,r.jsx)(n.code,{children:"private_key.asc"})," and ",(0,r.jsx)(n.code,{children:"public_key.asc"}),") in a safe place."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsx)(n.h3,{id:"-final-tips",children:"\ud83d\ude80 Final Tips"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Keep your private key secure. Never share it."}),"\n",(0,r.jsx)(n.li,{children:"Regularly update your passphrase for added security."}),"\n",(0,r.jsxs)(n.li,{children:["Use tools like ",(0,r.jsx)(n.strong,{children:"gpg-agent"})," for easier key management."]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"That\u2019s it! You now have a functional GPG key pair set up on Snigdha OS. \ud83c\udf89"})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>l,x:()=>o});var r=s(6540);const i={},t=r.createContext(i);function l(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:l(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/92e44ed4.4ff6c65e.js b/assets/js/92e44ed4.4ff6c65e.js
new file mode 100644
index 00000000..960fc563
--- /dev/null
+++ b/assets/js/92e44ed4.4ff6c65e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8728],{6867:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>t,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var s=n(4848),i=n(8453);const o={sidebar_position:3},t="Upload Key => Server",d={id:"dev_guide/upload_gpg_key",title:"Upload Key => Server",description:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",source:"@site/docs/dev_guide/upload_gpg_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/upload_gpg_key",permalink:"/documentation/dev_guide/upload_gpg_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/upload_gpg_key.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"},next:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"}},l={},a=[{value:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",id:"-sending-and-receiving-gpg-keys-using-a-key-server",level:3},{value:"1\ufe0f\u20e3 Send (Upload) Your Public Key to a Key Server",id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",level:3},{value:"A. Export Your Key's Fingerprint",id:"a-export-your-keys-fingerprint",level:4},{value:"B. Send the Key to a Key Server",id:"b-send-the-key-to-a-key-server",level:4},{value:"2\ufe0f\u20e3 Receive (Download) a Public Key from a Key Server",id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",level:3},{value:"A. Search for a Key by Email or Key ID",id:"a-search-for-a-key-by-email-or-key-id",level:4},{value:"B. Receive the Key Directly by Key ID",id:"b-receive-the-key-directly-by-key-id",level:4},{value:"3\ufe0f\u20e3 Verify the Downloaded Key",id:"3\ufe0f\u20e3-verify-the-downloaded-key",level:3},{value:"4\ufe0f\u20e3 Sign a Received Key (Optional)",id:"4\ufe0f\u20e3-sign-a-received-key-optional",level:3},{value:"5\ufe0f\u20e3 Synchronize Keys with a Key Server",id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",level:3},{value:"6\ufe0f\u20e3 Tips for Key Server Usage",id:"6\ufe0f\u20e3-tips-for-key-server-usage",level:3}];function c(e){const r={code:"code",h1:"h1",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h1,{id:"upload-key--server",children:"Upload Key => Server"}),"\n",(0,s.jsx)(r.h3,{id:"-sending-and-receiving-gpg-keys-using-a-key-server",children:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server"}),"\n",(0,s.jsx)(r.p,{children:"Key servers are repositories for sharing and retrieving GPG public keys. They make it easy to distribute your public key and fetch others\u2019 keys for verifying signatures or encrypted communications. Here's how to send and receive GPG keys to/from a key server."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",children:["1\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Send (Upload) Your Public Key to a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-export-your-keys-fingerprint",children:["A. ",(0,s.jsx)(r.strong,{children:"Export Your Key's Fingerprint"})]}),"\n",(0,s.jsx)(r.p,{children:"First, identify your key by its fingerprint. List your GPG keys:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"Example output:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"pub rsa4096 2023-12-05 [SC]\n A41886F639658CA1A5519426E1415F19F21171F2\nuid [ultimate] Eshan Roy \nsub rsa4096 2023-12-05 [E]\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Copy the key ID or fingerprint (e.g., ",(0,s.jsx)(r.code,{children:"A41886F639658CA1A5519426E1415F19F21171F2"}),")."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-send-the-key-to-a-key-server",children:["B. ",(0,s.jsx)(r.strong,{children:"Send the Key to a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"Use the following command to upload your public key to a key server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["Replace ",(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})," with your preferred key server (e.g., ",(0,s.jsx)(r.code,{children:"keys.openpgp.org"}),")."]}),"\n",(0,s.jsx)(r.li,{children:"Replace the key ID with your actual key ID or fingerprint."}),"\n"]}),"\n",(0,s.jsx)(r.p,{children:"If successful, your public key is now available on the key server for others to retrieve."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",children:["2\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Receive (Download) a Public Key from a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-search-for-a-key-by-email-or-key-id",children:["A. ",(0,s.jsx)(r.strong,{children:"Search for a Key by Email or Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you know the email address or key ID of the person whose key you need, search for it:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --search-keys eshanized@example.com\n"})}),"\n",(0,s.jsx)(r.p,{children:"You\u2019ll see a list of matching keys. Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"(1) Eshan Roy \n A41886F639658CA1A5519426E1415F19F21171F2\n(2) John X. Doe \n 1234EFGH5678IJKL9012MNOP3456QRST7890ABCD\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Choose the appropriate key by typing its number (e.g., ",(0,s.jsx)(r.code,{children:"1"}),") and pressing Enter."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-receive-the-key-directly-by-key-id",children:["B. ",(0,s.jsx)(r.strong,{children:"Receive the Key Directly by Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you already know the key ID or fingerprint:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"The public key will be downloaded and added to your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"3\ufe0f\u20e3-verify-the-downloaded-key",children:["3\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Verify the Downloaded Key"})]}),"\n",(0,s.jsx)(r.p,{children:"After receiving a key, verify its details to ensure it belongs to the correct person:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Check the ",(0,s.jsx)(r.code,{children:"uid"})," (user ID) and ensure it matches the expected email or name."]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"4\ufe0f\u20e3-sign-a-received-key-optional",children:["4\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Sign a Received Key (Optional)"})]}),"\n",(0,s.jsx)(r.p,{children:"If you trust the key\u2019s owner, you can sign the key to indicate trust:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --sign-key A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"This adds your signature to their key and shows others you vouch for its authenticity."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",children:["5\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Synchronize Keys with a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"If the key is updated (e.g., new subkeys added), synchronize it with the server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --refresh-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"This ensures you have the latest version of all keys in your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"6\ufe0f\u20e3-tips-for-key-server-usage",children:["6\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Tips for Key Server Usage"})]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Choose a Reliable Key Server"}),": Common servers include:"]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keys.openpgp.org"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://pgp.mit.edu"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Use TLS for Security"}),":\nSome key servers support HTTPS for secure communication:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkps://keys.openpgp.org --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Update Regularly"}),":\nSynchronize your keyring periodically to stay current with any changes or revocations."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.p,{children:"By following these steps, you can efficiently share your GPG public key and fetch others' keys for secure communication and verification. \ud83c\udf89"})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>t,x:()=>d});var s=n(6540);const i={},o=s.createContext(i);function t(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/935f2afb.e7197ae2.js b/assets/js/935f2afb.1ef85d04.js
similarity index 52%
rename from assets/js/935f2afb.e7197ae2.js
rename to assets/js/935f2afb.1ef85d04.js
index 4724ec96..0c66dd12 100644
--- a/assets/js/935f2afb.e7197ae2.js
+++ b/assets/js/935f2afb.1ef85d04.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Overview","href":"/documentation/","docId":"introduction/overview","unlisted":false},{"type":"link","label":"Story & Name","href":"/documentation/introduction/name_and_story","docId":"introduction/name_and_story","unlisted":false},{"type":"link","label":"Code of Conduct","href":"/documentation/introduction/code_of_conduct","docId":"introduction/code_of_conduct","unlisted":false},{"type":"link","label":"Release Notes","href":"/documentation/introduction/release_notes","docId":"introduction/release_notes","unlisted":false},{"type":"link","label":"Reporting Bugs","href":"/documentation/introduction/reporting_bugs","docId":"introduction/reporting_bugs","unlisted":false},{"type":"link","label":"Frequently Asked","href":"/documentation/introduction/faqs","docId":"introduction/faqs","unlisted":false},{"type":"link","label":"Contribution Guidelines","href":"/documentation/introduction/contributing","docId":"introduction/contributing","unlisted":false},{"type":"link","label":"Coding Standard","href":"/documentation/introduction/coding-standard","docId":"introduction/coding-standard","unlisted":false},{"type":"link","label":"Aim & Motivation","href":"/documentation/introduction/motivation","docId":"introduction/motivation","unlisted":false}],"href":"/documentation/category/introduction"},{"type":"category","label":"Before Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"System Requirements","href":"/documentation/before_installation/system_requirements","docId":"before_installation/system_requirements","unlisted":false},{"type":"link","label":"Important Notes","href":"/documentation/before_installation/imporatnt_notes","docId":"before_installation/imporatnt_notes","unlisted":false},{"type":"link","label":"Internet Connection","href":"/documentation/before_installation/internet_connection","docId":"before_installation/internet_connection","unlisted":false}],"href":"/documentation/category/before-installation"},{"type":"category","label":"Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Download Snigdha OS","href":"/documentation/installation/download_snigdha_os","docId":"installation/download_snigdha_os","unlisted":false},{"type":"link","label":"Make Bootable USB","href":"/documentation/installation/making_bootable_usb","docId":"installation/making_bootable_usb","unlisted":false},{"type":"link","label":"Live Environment","href":"/documentation/installation/live_env","docId":"installation/live_env","unlisted":false},{"type":"link","label":"Offline Installation","href":"/documentation/installation/offline_install","docId":"installation/offline_install","unlisted":false},{"type":"link","label":"Online Installation","href":"/documentation/installation/online_install","docId":"installation/online_install","unlisted":false},{"type":"link","label":"Install Snigdha OS","href":"/documentation/installation/start_installation","docId":"installation/start_installation","unlisted":false},{"type":"link","label":"Virtualbox","href":"/documentation/installation/virtualbox_installation","docId":"installation/virtualbox_installation","unlisted":false}],"href":"/documentation/category/installation"},{"type":"category","label":"Post Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Language","href":"/documentation/post_installation/language","docId":"post_installation/language","unlisted":false},{"type":"link","label":"Update Snigdha OS","href":"/documentation/post_installation/update","docId":"post_installation/update","unlisted":false},{"type":"link","label":"Customize Snigdha OS","href":"/documentation/post_installation/customization","docId":"post_installation/customization","unlisted":false},{"type":"link","label":"Install Packages","href":"/documentation/post_installation/install_packages","docId":"post_installation/install_packages","unlisted":false}],"href":"/documentation/category/post-installation"},{"type":"category","label":"User Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Cheetsheet/Shortcuts","href":"/documentation/user_guide/cheetsheet","docId":"user_guide/cheetsheet","unlisted":false},{"type":"link","label":"Installing with AUR","href":"/documentation/user_guide/aur","docId":"user_guide/aur","unlisted":false}],"href":"/documentation/category/user-guide"},{"type":"category","label":"Troubleshoot","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Troubleshoot: Wifi","href":"/documentation/troubleshoot/wifi","docId":"troubleshoot/wifi","unlisted":false},{"type":"link","label":"Troubleshoot: Bluetooth","href":"/documentation/troubleshoot/bluetooth","docId":"troubleshoot/bluetooth","unlisted":false},{"type":"link","label":"Troubleshoot: Sound","href":"/documentation/troubleshoot/sound","docId":"troubleshoot/sound","unlisted":false},{"type":"link","label":"Troubleshoot: Display","href":"/documentation/troubleshoot/display","docId":"troubleshoot/display","unlisted":false}],"href":"/documentation/category/troubleshoot"},{"type":"category","label":"Packages","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Welcome","href":"/documentation/packages/snigdhaos_welcome","docId":"packages/snigdhaos_welcome","unlisted":false},{"type":"link","label":"Blackbox","href":"/documentation/packages/snigdhaos_blackbox","docId":"packages/snigdhaos_blackbox","unlisted":false}],"href":"/documentation/category/packages"},{"type":"category","label":"Developers Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Build From Source","href":"/documentation/dev_guide/build_source","docId":"dev_guide/build_source","unlisted":false},{"type":"link","label":"Generate GPG Key","href":"/documentation/dev_guide/gpg_key","docId":"dev_guide/gpg_key","unlisted":false},{"type":"link","label":"Upload Key => Server","href":"/documentation/dev_guide/upload_gog_key","docId":"dev_guide/upload_gog_key","unlisted":false},{"type":"link","label":"Upload & Deploy Packages","href":"/documentation/dev_guide/deploy_packages","docId":"dev_guide/deploy_packages","unlisted":false},{"type":"link","label":"Install Keyrings","href":"/documentation/dev_guide/install_keyring","docId":"dev_guide/install_keyring","unlisted":false},{"type":"link","label":"Writing Documentation","href":"/documentation/dev_guide/write","docId":"dev_guide/write","unlisted":false},{"type":"link","label":"PKGBUILD Template","href":"/documentation/dev_guide/pkgbuild","docId":"dev_guide/pkgbuild","unlisted":false}],"href":"/documentation/category/developers-guide"},{"type":"category","label":"Tools","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Tool: DNS Enum","href":"/documentation/tools/dns","docId":"tools/dns","unlisted":false}],"href":"/documentation/category/tools"}]},"docs":{"before_installation/imporatnt_notes":{"id":"before_installation/imporatnt_notes","title":"Important Notes","description":"\ud83d\udccc We do not recommended you to install Snigdha OS via VM (\'Virtual Machine\' = virtual machine), as it is optimized for use on real hardware or physical machine.","sidebar":"tutorialSidebar"},"before_installation/internet_connection":{"id":"before_installation/internet_connection","title":"Internet Connection","description":"","sidebar":"tutorialSidebar"},"before_installation/system_requirements":{"id":"before_installation/system_requirements","title":"System Requirements","description":"Minimum Requirements","sidebar":"tutorialSidebar"},"dev_guide/build_source":{"id":"dev_guide/build_source","title":"Build From Source","description":"Overview","sidebar":"tutorialSidebar"},"dev_guide/deploy_packages":{"id":"dev_guide/deploy_packages","title":"Upload & Deploy Packages","description":"","sidebar":"tutorialSidebar"},"dev_guide/gpg_key":{"id":"dev_guide/gpg_key","title":"Generate GPG Key","description":"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS","sidebar":"tutorialSidebar"},"dev_guide/install_keyring":{"id":"dev_guide/install_keyring","title":"Install Keyrings","description":"","sidebar":"tutorialSidebar"},"dev_guide/pkgbuild":{"id":"dev_guide/pkgbuild","title":"PKGBUILD Template","description":"Snigdha OS has it\'s own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.","sidebar":"tutorialSidebar"},"dev_guide/upload_gog_key":{"id":"dev_guide/upload_gog_key","title":"Upload Key => Server","description":"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server","sidebar":"tutorialSidebar"},"dev_guide/write":{"id":"dev_guide/write","title":"Writing Documentation","description":"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:","sidebar":"tutorialSidebar"},"installation/download_snigdha_os":{"id":"installation/download_snigdha_os","title":"Download Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/live_env":{"id":"installation/live_env","title":"Live Environment","description":"","sidebar":"tutorialSidebar"},"installation/making_bootable_usb":{"id":"installation/making_bootable_usb","title":"Make Bootable USB","description":"","sidebar":"tutorialSidebar"},"installation/offline_install":{"id":"installation/offline_install","title":"Offline Installation","description":"","sidebar":"tutorialSidebar"},"installation/online_install":{"id":"installation/online_install","title":"Online Installation","description":"","sidebar":"tutorialSidebar"},"installation/start_installation":{"id":"installation/start_installation","title":"Install Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/virtualbox_installation":{"id":"installation/virtualbox_installation","title":"Virtualbox","description":"","sidebar":"tutorialSidebar"},"introduction/code_of_conduct":{"id":"introduction/code_of_conduct","title":"Code of Conduct","description":"A code of conduct outlines expected behavior and guidelines for individuals within a specific community, organization, or group.","sidebar":"tutorialSidebar"},"introduction/coding-standard":{"id":"introduction/coding-standard","title":"Coding Standard","description":"1. Consistent Naming Conventions:","sidebar":"tutorialSidebar"},"introduction/contributing":{"id":"introduction/contributing","title":"Contribution Guidelines","description":"Thank you for considering contributing to Snigdha OS! We welcome contributions from everyone.","sidebar":"tutorialSidebar"},"introduction/faqs":{"id":"introduction/faqs","title":"Frequently Asked","description":"Here are some frequently asked questions (FAQs) about Snigdha OS (penetration distribution):","sidebar":"tutorialSidebar"},"introduction/motivation":{"id":"introduction/motivation","title":"Aim & Motivation","description":"The motivation behind Snigdha OS is to create a lightweight, efficient, and customizable Linux distribution that caters to specific use cases, particularly in the realm of penetration testing and ethical hacking. The OS is designed to be resource-efficient, making it suitable for use on a wide range of hardware, including older systems, mobile devices, and virtual environments.","sidebar":"tutorialSidebar"},"introduction/name_and_story":{"id":"introduction/name_and_story","title":"Story & Name","description":"Eshan Roy, widely known as eshanized, is the founder, lead maintainer, and developer of Snigdha OS.","sidebar":"tutorialSidebar"},"introduction/overview":{"id":"introduction/overview","title":"Overview","description":"Snigdha OS is a lightweight and highly customizable Linux distribution based on Arch and Linux Zen Kernel, minimalism, and focus on user-centric design. We are also working on penetration distribution and blackbox.","sidebar":"tutorialSidebar"},"introduction/release_notes":{"id":"introduction/release_notes","title":"Release Notes","description":"FOR IMMEDIATE RELEASE","sidebar":"tutorialSidebar"},"introduction/reporting_bugs":{"id":"introduction/reporting_bugs","title":"Reporting Bugs","description":"If you discover a security vulnerability within Snigdha OS as well as any packages and tools, please follow our security policy so we can address it promptly.","sidebar":"tutorialSidebar"},"packages/snigdhaos_blackbox":{"id":"packages/snigdhaos_blackbox","title":"Blackbox","description":"","sidebar":"tutorialSidebar"},"packages/snigdhaos_welcome":{"id":"packages/snigdhaos_welcome","title":"Welcome","description":"","sidebar":"tutorialSidebar"},"post_installation/customization":{"id":"post_installation/customization","title":"Customize Snigdha OS","description":"","sidebar":"tutorialSidebar"},"post_installation/install_packages":{"id":"post_installation/install_packages","title":"Install Packages","description":"","sidebar":"tutorialSidebar"},"post_installation/language":{"id":"post_installation/language","title":"Language","description":"","sidebar":"tutorialSidebar"},"post_installation/update":{"id":"post_installation/update","title":"Update Snigdha OS","description":"","sidebar":"tutorialSidebar"},"tools/dns":{"id":"tools/dns","title":"Tool: DNS Enum","description":"","sidebar":"tutorialSidebar"},"troubleshoot/bluetooth":{"id":"troubleshoot/bluetooth","title":"Troubleshoot: Bluetooth","description":"Troubleshooting Bluetooth on Snigdha OS involves several steps. Here\'s the common practice:","sidebar":"tutorialSidebar"},"troubleshoot/display":{"id":"troubleshoot/display","title":"Troubleshoot: Display","description":"","sidebar":"tutorialSidebar"},"troubleshoot/sound":{"id":"troubleshoot/sound","title":"Troubleshoot: Sound","description":"","sidebar":"tutorialSidebar"},"troubleshoot/wifi":{"id":"troubleshoot/wifi","title":"Troubleshoot: Wifi","description":"","sidebar":"tutorialSidebar"},"user_guide/aur":{"id":"user_guide/aur","title":"Installing with AUR","description":"","sidebar":"tutorialSidebar"},"user_guide/cheetsheet":{"id":"user_guide/cheetsheet","title":"Cheetsheet/Shortcuts","description":"","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8581],{5610:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Introduction","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Overview","href":"/documentation/","docId":"introduction/overview","unlisted":false},{"type":"link","label":"Story & Name","href":"/documentation/introduction/name_and_story","docId":"introduction/name_and_story","unlisted":false},{"type":"link","label":"Code of Conduct","href":"/documentation/introduction/code_of_conduct","docId":"introduction/code_of_conduct","unlisted":false},{"type":"link","label":"Release Notes","href":"/documentation/introduction/release_notes","docId":"introduction/release_notes","unlisted":false},{"type":"link","label":"Reporting Bugs","href":"/documentation/introduction/reporting_bugs","docId":"introduction/reporting_bugs","unlisted":false},{"type":"link","label":"Frequently Asked","href":"/documentation/introduction/faqs","docId":"introduction/faqs","unlisted":false},{"type":"link","label":"Contribution Guidelines","href":"/documentation/introduction/contributing","docId":"introduction/contributing","unlisted":false},{"type":"link","label":"Coding Standard","href":"/documentation/introduction/coding-standard","docId":"introduction/coding-standard","unlisted":false},{"type":"link","label":"Aim & Motivation","href":"/documentation/introduction/motivation","docId":"introduction/motivation","unlisted":false}],"href":"/documentation/category/introduction"},{"type":"category","label":"Before Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"System Requirements","href":"/documentation/before_installation/system_requirements","docId":"before_installation/system_requirements","unlisted":false},{"type":"link","label":"Important Notes","href":"/documentation/before_installation/imporatnt_notes","docId":"before_installation/imporatnt_notes","unlisted":false},{"type":"link","label":"Internet Connection","href":"/documentation/before_installation/internet_connection","docId":"before_installation/internet_connection","unlisted":false}],"href":"/documentation/category/before-installation"},{"type":"category","label":"Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Download Snigdha OS","href":"/documentation/installation/download_snigdha_os","docId":"installation/download_snigdha_os","unlisted":false},{"type":"link","label":"Make Bootable USB","href":"/documentation/installation/making_bootable_usb","docId":"installation/making_bootable_usb","unlisted":false},{"type":"link","label":"Live Environment","href":"/documentation/installation/live_env","docId":"installation/live_env","unlisted":false},{"type":"link","label":"Offline Installation","href":"/documentation/installation/offline_install","docId":"installation/offline_install","unlisted":false},{"type":"link","label":"Online Installation","href":"/documentation/installation/online_install","docId":"installation/online_install","unlisted":false},{"type":"link","label":"Install Snigdha OS","href":"/documentation/installation/start_installation","docId":"installation/start_installation","unlisted":false},{"type":"link","label":"Virtualbox","href":"/documentation/installation/virtualbox_installation","docId":"installation/virtualbox_installation","unlisted":false}],"href":"/documentation/category/installation"},{"type":"category","label":"Post Installation","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Language","href":"/documentation/post_installation/language","docId":"post_installation/language","unlisted":false},{"type":"link","label":"Update Snigdha OS","href":"/documentation/post_installation/update","docId":"post_installation/update","unlisted":false},{"type":"link","label":"Customize Snigdha OS","href":"/documentation/post_installation/customization","docId":"post_installation/customization","unlisted":false},{"type":"link","label":"Install Packages","href":"/documentation/post_installation/install_packages","docId":"post_installation/install_packages","unlisted":false}],"href":"/documentation/category/post-installation"},{"type":"category","label":"User Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Cheetsheet/Shortcuts","href":"/documentation/user_guide/cheetsheet","docId":"user_guide/cheetsheet","unlisted":false},{"type":"link","label":"Installing with AUR","href":"/documentation/user_guide/aur","docId":"user_guide/aur","unlisted":false}],"href":"/documentation/category/user-guide"},{"type":"category","label":"Troubleshoot","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Troubleshoot: Wifi","href":"/documentation/troubleshoot/wifi","docId":"troubleshoot/wifi","unlisted":false},{"type":"link","label":"Troubleshoot: Bluetooth","href":"/documentation/troubleshoot/bluetooth","docId":"troubleshoot/bluetooth","unlisted":false},{"type":"link","label":"Troubleshoot: Sound","href":"/documentation/troubleshoot/sound","docId":"troubleshoot/sound","unlisted":false},{"type":"link","label":"Troubleshoot: Display","href":"/documentation/troubleshoot/display","docId":"troubleshoot/display","unlisted":false}],"href":"/documentation/category/troubleshoot"},{"type":"category","label":"Packages","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Welcome","href":"/documentation/packages/snigdhaos_welcome","docId":"packages/snigdhaos_welcome","unlisted":false},{"type":"link","label":"Blackbox","href":"/documentation/packages/snigdhaos_blackbox","docId":"packages/snigdhaos_blackbox","unlisted":false}],"href":"/documentation/category/packages"},{"type":"category","label":"Developers Guide","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Build From Source","href":"/documentation/dev_guide/build_source","docId":"dev_guide/build_source","unlisted":false},{"type":"link","label":"Generate GPG Key","href":"/documentation/dev_guide/gpg_key","docId":"dev_guide/gpg_key","unlisted":false},{"type":"link","label":"Upload Key => Server","href":"/documentation/dev_guide/upload_gpg_key","docId":"dev_guide/upload_gpg_key","unlisted":false},{"type":"link","label":"Install Keyrings","href":"/documentation/dev_guide/install_keyring","docId":"dev_guide/install_keyring","unlisted":false},{"type":"link","label":"Upload & Deploy Packages","href":"/documentation/dev_guide/deploy_packages","docId":"dev_guide/deploy_packages","unlisted":false},{"type":"link","label":"Writing Documentation","href":"/documentation/dev_guide/write","docId":"dev_guide/write","unlisted":false},{"type":"link","label":"PKGBUILD Template","href":"/documentation/dev_guide/pkgbuild","docId":"dev_guide/pkgbuild","unlisted":false}],"href":"/documentation/category/developers-guide"},{"type":"category","label":"Tools","collapsible":false,"collapsed":false,"items":[{"type":"link","label":"Tool: DNS Enum","href":"/documentation/tools/dns","docId":"tools/dns","unlisted":false}],"href":"/documentation/category/tools"}]},"docs":{"before_installation/imporatnt_notes":{"id":"before_installation/imporatnt_notes","title":"Important Notes","description":"\ud83d\udccc We do not recommended you to install Snigdha OS via VM (\'Virtual Machine\' = virtual machine), as it is optimized for use on real hardware or physical machine.","sidebar":"tutorialSidebar"},"before_installation/internet_connection":{"id":"before_installation/internet_connection","title":"Internet Connection","description":"","sidebar":"tutorialSidebar"},"before_installation/system_requirements":{"id":"before_installation/system_requirements","title":"System Requirements","description":"Minimum Requirements","sidebar":"tutorialSidebar"},"dev_guide/build_source":{"id":"dev_guide/build_source","title":"Build From Source","description":"Overview","sidebar":"tutorialSidebar"},"dev_guide/deploy_packages":{"id":"dev_guide/deploy_packages","title":"Upload & Deploy Packages","description":"\ud83d\ude80 Uploading and Deploying an Arch Linux Package on GitHub","sidebar":"tutorialSidebar"},"dev_guide/gpg_key":{"id":"dev_guide/gpg_key","title":"Generate GPG Key","description":"\ud83d\udd10 How to Generate a GPG Key on Snigdha OS","sidebar":"tutorialSidebar"},"dev_guide/install_keyring":{"id":"dev_guide/install_keyring","title":"Install Keyrings","description":"","sidebar":"tutorialSidebar"},"dev_guide/pkgbuild":{"id":"dev_guide/pkgbuild","title":"PKGBUILD Template","description":"Snigdha OS has it\'s own PKGBUILD template for building packages. We follow the the template so that we can maintain the packages in a better way. If you are building packages for Snigdha OS, then it will be a good option to follow the PKGBUILD template.","sidebar":"tutorialSidebar"},"dev_guide/upload_gpg_key":{"id":"dev_guide/upload_gpg_key","title":"Upload Key => Server","description":"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server","sidebar":"tutorialSidebar"},"dev_guide/write":{"id":"dev_guide/write","title":"Writing Documentation","description":"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:","sidebar":"tutorialSidebar"},"installation/download_snigdha_os":{"id":"installation/download_snigdha_os","title":"Download Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/live_env":{"id":"installation/live_env","title":"Live Environment","description":"","sidebar":"tutorialSidebar"},"installation/making_bootable_usb":{"id":"installation/making_bootable_usb","title":"Make Bootable USB","description":"","sidebar":"tutorialSidebar"},"installation/offline_install":{"id":"installation/offline_install","title":"Offline Installation","description":"","sidebar":"tutorialSidebar"},"installation/online_install":{"id":"installation/online_install","title":"Online Installation","description":"","sidebar":"tutorialSidebar"},"installation/start_installation":{"id":"installation/start_installation","title":"Install Snigdha OS","description":"","sidebar":"tutorialSidebar"},"installation/virtualbox_installation":{"id":"installation/virtualbox_installation","title":"Virtualbox","description":"","sidebar":"tutorialSidebar"},"introduction/code_of_conduct":{"id":"introduction/code_of_conduct","title":"Code of Conduct","description":"A code of conduct outlines expected behavior and guidelines for individuals within a specific community, organization, or group.","sidebar":"tutorialSidebar"},"introduction/coding-standard":{"id":"introduction/coding-standard","title":"Coding Standard","description":"1. Consistent Naming Conventions:","sidebar":"tutorialSidebar"},"introduction/contributing":{"id":"introduction/contributing","title":"Contribution Guidelines","description":"Thank you for considering contributing to Snigdha OS! We welcome contributions from everyone.","sidebar":"tutorialSidebar"},"introduction/faqs":{"id":"introduction/faqs","title":"Frequently Asked","description":"Here are some frequently asked questions (FAQs) about Snigdha OS (penetration distribution):","sidebar":"tutorialSidebar"},"introduction/motivation":{"id":"introduction/motivation","title":"Aim & Motivation","description":"The motivation behind Snigdha OS is to create a lightweight, efficient, and customizable Linux distribution that caters to specific use cases, particularly in the realm of penetration testing and ethical hacking. The OS is designed to be resource-efficient, making it suitable for use on a wide range of hardware, including older systems, mobile devices, and virtual environments.","sidebar":"tutorialSidebar"},"introduction/name_and_story":{"id":"introduction/name_and_story","title":"Story & Name","description":"Eshan Roy, widely known as eshanized, is the founder, lead maintainer, and developer of Snigdha OS.","sidebar":"tutorialSidebar"},"introduction/overview":{"id":"introduction/overview","title":"Overview","description":"Snigdha OS is a lightweight and highly customizable Linux distribution based on Arch and Linux Zen Kernel, minimalism, and focus on user-centric design. We are also working on penetration distribution and blackbox.","sidebar":"tutorialSidebar"},"introduction/release_notes":{"id":"introduction/release_notes","title":"Release Notes","description":"FOR IMMEDIATE RELEASE","sidebar":"tutorialSidebar"},"introduction/reporting_bugs":{"id":"introduction/reporting_bugs","title":"Reporting Bugs","description":"If you discover a security vulnerability within Snigdha OS as well as any packages and tools, please follow our security policy so we can address it promptly.","sidebar":"tutorialSidebar"},"packages/snigdhaos_blackbox":{"id":"packages/snigdhaos_blackbox","title":"Blackbox","description":"","sidebar":"tutorialSidebar"},"packages/snigdhaos_welcome":{"id":"packages/snigdhaos_welcome","title":"Welcome","description":"","sidebar":"tutorialSidebar"},"post_installation/customization":{"id":"post_installation/customization","title":"Customize Snigdha OS","description":"","sidebar":"tutorialSidebar"},"post_installation/install_packages":{"id":"post_installation/install_packages","title":"Install Packages","description":"","sidebar":"tutorialSidebar"},"post_installation/language":{"id":"post_installation/language","title":"Language","description":"","sidebar":"tutorialSidebar"},"post_installation/update":{"id":"post_installation/update","title":"Update Snigdha OS","description":"","sidebar":"tutorialSidebar"},"tools/dns":{"id":"tools/dns","title":"Tool: DNS Enum","description":"","sidebar":"tutorialSidebar"},"troubleshoot/bluetooth":{"id":"troubleshoot/bluetooth","title":"Troubleshoot: Bluetooth","description":"Troubleshooting Bluetooth on Snigdha OS involves several steps. Here\'s the common practice:","sidebar":"tutorialSidebar"},"troubleshoot/display":{"id":"troubleshoot/display","title":"Troubleshoot: Display","description":"","sidebar":"tutorialSidebar"},"troubleshoot/sound":{"id":"troubleshoot/sound","title":"Troubleshoot: Sound","description":"","sidebar":"tutorialSidebar"},"troubleshoot/wifi":{"id":"troubleshoot/wifi","title":"Troubleshoot: Wifi","description":"","sidebar":"tutorialSidebar"},"user_guide/aur":{"id":"user_guide/aur","title":"Installing with AUR","description":"","sidebar":"tutorialSidebar"},"user_guide/cheetsheet":{"id":"user_guide/cheetsheet","title":"Cheetsheet/Shortcuts","description":"","sidebar":"tutorialSidebar"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/a6f8198f.870e6635.js b/assets/js/a6f8198f.870e6635.js
deleted file mode 100644
index 56c305b9..00000000
--- a/assets/js/a6f8198f.870e6635.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4084],{7772:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>d,default:()=>h,frontMatter:()=>o,metadata:()=>t,toc:()=>a});var s=n(4848),i=n(8453);const o={sidebar_position:3},d="Upload Key => Server",t={id:"dev_guide/upload_gog_key",title:"Upload Key => Server",description:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",source:"@site/docs/dev_guide/upload_gog_key.md",sourceDirName:"dev_guide",slug:"/dev_guide/upload_gog_key",permalink:"/documentation/dev_guide/upload_gog_key",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/upload_gog_key.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Generate GPG Key",permalink:"/documentation/dev_guide/gpg_key"},next:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"}},l={},a=[{value:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server",id:"-sending-and-receiving-gpg-keys-using-a-key-server",level:3},{value:"1\ufe0f\u20e3 Send (Upload) Your Public Key to a Key Server",id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",level:3},{value:"A. Export Your Key's Fingerprint",id:"a-export-your-keys-fingerprint",level:4},{value:"B. Send the Key to a Key Server",id:"b-send-the-key-to-a-key-server",level:4},{value:"2\ufe0f\u20e3 Receive (Download) a Public Key from a Key Server",id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",level:3},{value:"A. Search for a Key by Email or Key ID",id:"a-search-for-a-key-by-email-or-key-id",level:4},{value:"B. Receive the Key Directly by Key ID",id:"b-receive-the-key-directly-by-key-id",level:4},{value:"3\ufe0f\u20e3 Verify the Downloaded Key",id:"3\ufe0f\u20e3-verify-the-downloaded-key",level:3},{value:"4\ufe0f\u20e3 Sign a Received Key (Optional)",id:"4\ufe0f\u20e3-sign-a-received-key-optional",level:3},{value:"5\ufe0f\u20e3 Synchronize Keys with a Key Server",id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",level:3},{value:"6\ufe0f\u20e3 Tips for Key Server Usage",id:"6\ufe0f\u20e3-tips-for-key-server-usage",level:3}];function c(e){const r={code:"code",h1:"h1",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.h1,{id:"upload-key--server",children:"Upload Key => Server"}),"\n",(0,s.jsx)(r.h3,{id:"-sending-and-receiving-gpg-keys-using-a-key-server",children:"\ud83c\udf10 Sending and Receiving GPG Keys Using a Key Server"}),"\n",(0,s.jsx)(r.p,{children:"Key servers are repositories for sharing and retrieving GPG public keys. They make it easy to distribute your public key and fetch others\u2019 keys for verifying signatures or encrypted communications. Here's how to send and receive GPG keys to/from a key server."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"1\ufe0f\u20e3-send-upload-your-public-key-to-a-key-server",children:["1\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Send (Upload) Your Public Key to a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-export-your-keys-fingerprint",children:["A. ",(0,s.jsx)(r.strong,{children:"Export Your Key's Fingerprint"})]}),"\n",(0,s.jsx)(r.p,{children:"First, identify your key by its fingerprint. List your GPG keys:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"Example output:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"pub rsa4096 2023-12-05 [SC]\n A41886F639658CA1A5519426E1415F19F21171F2\nuid [ultimate] Eshan Roy \nsub rsa4096 2023-12-05 [E]\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Copy the key ID or fingerprint (e.g., ",(0,s.jsx)(r.code,{children:"A41886F639658CA1A5519426E1415F19F21171F2"}),")."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-send-the-key-to-a-key-server",children:["B. ",(0,s.jsx)(r.strong,{children:"Send the Key to a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"Use the following command to upload your public key to a key server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["Replace ",(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})," with your preferred key server (e.g., ",(0,s.jsx)(r.code,{children:"keys.openpgp.org"}),")."]}),"\n",(0,s.jsx)(r.li,{children:"Replace the key ID with your actual key ID or fingerprint."}),"\n"]}),"\n",(0,s.jsx)(r.p,{children:"If successful, your public key is now available on the key server for others to retrieve."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"2\ufe0f\u20e3-receive-download-a-public-key-from-a-key-server",children:["2\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Receive (Download) a Public Key from a Key Server"})]}),"\n",(0,s.jsxs)(r.h4,{id:"a-search-for-a-key-by-email-or-key-id",children:["A. ",(0,s.jsx)(r.strong,{children:"Search for a Key by Email or Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you know the email address or key ID of the person whose key you need, search for it:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --search-keys eshanized@example.com\n"})}),"\n",(0,s.jsx)(r.p,{children:"You\u2019ll see a list of matching keys. Example:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-plaintext",children:"(1) Eshan Roy \n A41886F639658CA1A5519426E1415F19F21171F2\n(2) John X. Doe \n 1234EFGH5678IJKL9012MNOP3456QRST7890ABCD\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Choose the appropriate key by typing its number (e.g., ",(0,s.jsx)(r.code,{children:"1"}),") and pressing Enter."]}),"\n",(0,s.jsxs)(r.h4,{id:"b-receive-the-key-directly-by-key-id",children:["B. ",(0,s.jsx)(r.strong,{children:"Receive the Key Directly by Key ID"})]}),"\n",(0,s.jsx)(r.p,{children:"If you already know the key ID or fingerprint:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"The public key will be downloaded and added to your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"3\ufe0f\u20e3-verify-the-downloaded-key",children:["3\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Verify the Downloaded Key"})]}),"\n",(0,s.jsx)(r.p,{children:"After receiving a key, verify its details to ensure it belongs to the correct person:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --list-keys\n"})}),"\n",(0,s.jsxs)(r.p,{children:["Check the ",(0,s.jsx)(r.code,{children:"uid"})," (user ID) and ensure it matches the expected email or name."]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"4\ufe0f\u20e3-sign-a-received-key-optional",children:["4\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Sign a Received Key (Optional)"})]}),"\n",(0,s.jsx)(r.p,{children:"If you trust the key\u2019s owner, you can sign the key to indicate trust:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --sign-key A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n",(0,s.jsx)(r.p,{children:"This adds your signature to their key and shows others you vouch for its authenticity."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"5\ufe0f\u20e3-synchronize-keys-with-a-key-server",children:["5\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Synchronize Keys with a Key Server"})]}),"\n",(0,s.jsx)(r.p,{children:"If the key is updated (e.g., new subkeys added), synchronize it with the server:"}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --refresh-keys\n"})}),"\n",(0,s.jsx)(r.p,{children:"This ensures you have the latest version of all keys in your keyring."}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsxs)(r.h3,{id:"6\ufe0f\u20e3-tips-for-key-server-usage",children:["6\ufe0f\u20e3 ",(0,s.jsx)(r.strong,{children:"Tips for Key Server Usage"})]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Choose a Reliable Key Server"}),": Common servers include:"]}),"\n",(0,s.jsxs)(r.ul,{children:["\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keyserver.ubuntu.com"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://keys.openpgp.org"})}),"\n",(0,s.jsx)(r.li,{children:(0,s.jsx)(r.code,{children:"hkp://pgp.mit.edu"})}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Use TLS for Security"}),":\nSome key servers support HTTPS for secure communication:"]}),"\n",(0,s.jsx)(r.pre,{children:(0,s.jsx)(r.code,{className:"language-bash",children:"gpg --keyserver hkps://keys.openpgp.org --send-keys A41886F639658CA1A5519426E1415F19F21171F2\n"})}),"\n"]}),"\n",(0,s.jsxs)(r.li,{children:["\n",(0,s.jsxs)(r.p,{children:[(0,s.jsx)(r.strong,{children:"Update Regularly"}),":\nSynchronize your keyring periodically to stay current with any changes or revocations."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(r.hr,{}),"\n",(0,s.jsx)(r.p,{children:"By following these steps, you can efficiently share your GPG public key and fetch others' keys for secure communication and verification. \ud83c\udf89"})]})}function h(e={}){const{wrapper:r}={...(0,i.R)(),...e.components};return r?(0,s.jsx)(r,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>t});var s=n(6540);const i={},o=s.createContext(i);function d(e){const r=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function t(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:d(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ec3de22d.5a4b6592.js b/assets/js/ec3de22d.5a4b6592.js
new file mode 100644
index 00000000..2af569ad
--- /dev/null
+++ b/assets/js/ec3de22d.5a4b6592.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4893],{5877:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>l,frontMatter:()=>r,metadata:()=>d,toc:()=>u});var o=n(4848),i=n(8453);const r={sidebar_position:6},s="Writing Documentation",d={id:"dev_guide/write",title:"Writing Documentation",description:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:",source:"@site/docs/dev_guide/write.md",sourceDirName:"dev_guide",slug:"/dev_guide/write",permalink:"/documentation/dev_guide/write",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/write.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Upload & Deploy Packages",permalink:"/documentation/dev_guide/deploy_packages"},next:{title:"PKGBUILD Template",permalink:"/documentation/dev_guide/pkgbuild"}},a={},u=[];function c(e){const t={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h1,{id:"writing-documentation",children:"Writing Documentation"}),"\n",(0,o.jsx)(t.p,{children:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"User guides to help Snigdha OS end users with some advanced features."}),"\n",(0,o.jsxs)(t.li,{children:["More ",(0,o.jsx)(t.a,{href:"/introduction/faqs",children:"frequently asked questions"}),"."]}),"\n",(0,o.jsxs)(t.li,{children:["Expanded ",(0,o.jsx)(t.a,{href:"/category/troubleshoot",children:"troubleshooting"})," steps."]}),"\n",(0,o.jsxs)(t.li,{children:["Step-by-step tutorials for Snigdha OS ",(0,o.jsx)(t.a,{href:"/category/developers-guide",children:"development"})," or ",(0,o.jsx)(t.a,{href:"/category/installation",children:"installation"}),"."]}),"\n",(0,o.jsx)(t.li,{children:"Improving literally anything else you think we should elaborate on or explain better."}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["A good way to find topics to write about is to look for common questions in the ",(0,o.jsx)(t.a,{href:"https://forum.snigdhaos.org/t/support",children:"support tag"})," of our community."]})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var o=n(6540);const i={},r=o.createContext(i);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/ec3de22d.f1320b06.js b/assets/js/ec3de22d.f1320b06.js
deleted file mode 100644
index 834750e4..00000000
--- a/assets/js/ec3de22d.f1320b06.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[4893],{5877:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>c,frontMatter:()=>r,metadata:()=>d,toc:()=>u});var i=n(4848),o=n(8453);const r={sidebar_position:6},s="Writing Documentation",d={id:"dev_guide/write",title:"Writing Documentation",description:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:",source:"@site/docs/dev_guide/write.md",sourceDirName:"dev_guide",slug:"/dev_guide/write",permalink:"/documentation/dev_guide/write",draft:!1,unlisted:!1,editUrl:"https://github.com/Snigdha-OS/documentation/tree/master/docs/dev_guide/write.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Install Keyrings",permalink:"/documentation/dev_guide/install_keyring"},next:{title:"PKGBUILD Template",permalink:"/documentation/dev_guide/pkgbuild"}},a={},u=[];function l(e){const t={a:"a",h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"writing-documentation",children:"Writing Documentation"}),"\n",(0,i.jsx)(t.p,{children:"Adding documentation can help countless future of Snigdha OS users. A few ideas of what to work on:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"User guides to help Snigdha OS end users with some advanced features."}),"\n",(0,i.jsxs)(t.li,{children:["More ",(0,i.jsx)(t.a,{href:"/introduction/faqs",children:"frequently asked questions"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["Expanded ",(0,i.jsx)(t.a,{href:"/category/troubleshoot",children:"troubleshooting"})," steps."]}),"\n",(0,i.jsxs)(t.li,{children:["Step-by-step tutorials for Snigdha OS ",(0,i.jsx)(t.a,{href:"/category/developers-guide",children:"development"})," or ",(0,i.jsx)(t.a,{href:"/category/installation",children:"installation"}),"."]}),"\n",(0,i.jsx)(t.li,{children:"Improving literally anything else you think we should elaborate on or explain better."}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["A good way to find topics to write about is to look for common questions in the ",(0,i.jsx)(t.a,{href:"https://forum.snigdhaos.org/t/support",children:"support tag"})," of our community."]})]})}function c(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>d});var i=n(6540);const o={},r=i.createContext(o);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/main.7fc3f15a.js b/assets/js/main.7fc3f15a.js
new file mode 100644
index 00000000..b28177ce
--- /dev/null
+++ b/assets/js/main.7fc3f15a.js
@@ -0,0 +1,2 @@
+/*! For license information please see main.7fc3f15a.js.LICENSE.txt */
+(self.webpackChunkdocuments=self.webpackChunkdocuments||[]).push([[8792],{8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),o=n.n(r),a=n(4054);const i={"01a85c17":[()=>Promise.all([n.e(1869),n.e(8209)]).then(n.bind(n,9158)),"@theme/BlogTagsListPage",9158],"043e14d3":[()=>n.e(8731).then(n.bind(n,7388)),"@site/docs/dev_guide/deploy_packages.md",7388],"06ee4edd":[()=>n.e(9886).then(n.t.bind(n,1472,19)),"~docs/default/category-documentation-tutorialsidebar-category-developers-guide-ae5.json",1472],"0b3ceb4d":[()=>n.e(858).then(n.t.bind(n,1966,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",1966],"0b7de297":[()=>n.e(6793).then(n.bind(n,4083)),"@site/docs/troubleshoot/bluetooth.md",4083],"0e1f2be5":[()=>n.e(9489).then(n.bind(n,8799)),"@site/docs/introduction/coding-standard.md",8799],"143ddb83":[()=>n.e(7152).then(n.bind(n,4647)),"@site/docs/before_installation/system_requirements.md",4647],"14e72bca":[()=>n.e(3324).then(n.t.bind(n,3391,19)),"~blog/default/documentation-blog-d20.json",3391],"14eb3368":[()=>Promise.all([n.e(1869),n.e(6969)]).then(n.bind(n,4136)),"@theme/DocCategoryGeneratedIndexPage",4136],"151aa183":[()=>n.e(5990).then(n.bind(n,8244)),"@site/docs/installation/online_install.md",8244],"16a4261c":[()=>n.e(5305).then(n.bind(n,6443)),"@site/docs/introduction/motivation.md",6443],17896441:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8401)]).then(n.bind(n,4799)),"@theme/DocItem",4799],"1b1ff061":[()=>n.e(8758).then(n.bind(n,4e3)),"@site/docs/introduction/release_notes.md",4e3],"1c0d73a2":[()=>n.e(5564).then(n.t.bind(n,1783,19)),"~blog/default/documentation-blog-tags-bug-b05-list.json",1783],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(5533),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"1f9d4574":[()=>n.e(3865).then(n.bind(n,9726)),"@site/docs/installation/start_installation.md",9726],"21abdd8f":[()=>n.e(155).then(n.bind(n,24)),"@site/src/pages/cookie-consent.md",24],"24e7cd5a":[()=>n.e(5678).then(n.bind(n,1546)),"@site/docs/installation/virtualbox_installation.md",1546],"34e267cb":[()=>n.e(1809).then(n.bind(n,4245)),"@site/docs/installation/download_snigdha_os.md",4245],"36717f71":[()=>n.e(467).then(n.bind(n,1044)),"@site/docs/troubleshoot/wifi.md",1044],"374f080d":[()=>n.e(6227).then(n.bind(n,9535)),"@site/docs/before_installation/internet_connection.md",9535],"393be207":[()=>n.e(4134).then(n.bind(n,6602)),"@site/src/pages/markdown-page.md",6602],"3f32b921":[()=>n.e(3459).then(n.bind(n,1360)),"@site/docs/installation/offline_install.md",1360],"400546c3":[()=>n.e(2246).then(n.bind(n,47)),"@site/docs/packages/snigdhaos_welcome.md",47],"404ec107":[()=>n.e(5473).then(n.bind(n,60)),"@site/docs/dev_guide/install_keyring.md",60],"556b5122":[()=>n.e(5715).then(n.bind(n,6131)),"@site/docs/introduction/contributing.md",6131],"5d63bb5c":[()=>n.e(6301).then(n.t.bind(n,8155,19)),"~docs/default/category-documentation-tutorialsidebar-category-before-installation-bbf.json",8155],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"66ee5a7d":[()=>n.e(5890).then(n.bind(n,5843)),"@site/docs/dev_guide/pkgbuild.md",5843],"67391c37":[()=>n.e(7220).then(n.t.bind(n,1959,19)),"~blog/default/documentation-blog-tags-tags-271.json",1959],"6875c492":[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(4813)]).then(n.bind(n,3069)),"@theme/BlogTagsPostsPage",3069],"69817ecd":[()=>n.e(3236).then(n.t.bind(n,1231,19)),"~docs/default/category-documentation-tutorialsidebar-category-user-guide-b31.json",1231],"7616f23a":[()=>n.e(6769).then(n.bind(n,8360)),"@site/docs/introduction/overview.md",8360],"7909fc73":[()=>n.e(4925).then(n.t.bind(n,2885,19)),"~blog/default/documentation-blog-tags-bug-b05.json",2885],"795cfaa5":[()=>n.e(9250).then(n.bind(n,2621)),"@site/docs/installation/live_env.md",2621],"814f3328":[()=>n.e(7472).then(n.t.bind(n,5513,19)),"~blog/default/blog-post-list-prop-default.json",5513],"89ebda57":[()=>n.e(5766).then(n.bind(n,8521)),"@site/docs/dev_guide/gpg_key.md",8521],"904c2b3c":[()=>n.e(8989).then(n.bind(n,4389)),"@site/docs/post_installation/install_packages.md",4389],"9096837d":[()=>n.e(1255).then(n.t.bind(n,5091,19)),"~docs/default/category-documentation-tutorialsidebar-category-packages-eea.json",5091],"92e44ed4":[()=>n.e(8728).then(n.bind(n,6867)),"@site/docs/dev_guide/upload_gpg_key.md",6867],"935f2afb":[()=>n.e(8581).then(n.t.bind(n,5610,19)),"~docs/default/version-current-metadata-prop-751.json",5610],"96b21efb":[()=>n.e(6540).then(n.t.bind(n,1937,19)),"~docs/default/category-documentation-tutorialsidebar-category-tools-82a.json",1937],"9cb882f2":[()=>n.e(2523).then(n.bind(n,3687)),"@site/docs/post_installation/customization.md",3687],"9dc2651c":[()=>n.e(9040).then(n.bind(n,6034)),"@site/docs/troubleshoot/sound.md",6034],"9dcbbb0d":[()=>n.e(3327).then(n.bind(n,949)),"@site/docs/dev_guide/build_source.md",949],"9e4087bc":[()=>n.e(2711).then(n.bind(n,9331)),"@theme/BlogArchivePage",9331],a193a73b:[()=>n.e(58).then(n.t.bind(n,4061,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",4061],a6aa9e1f:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(7643)]).then(n.bind(n,7785)),"@theme/BlogListPage",7785],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],ad749202:[()=>n.e(7590).then(n.bind(n,262)),"@site/docs/post_installation/language.md",262],b19634de:[()=>n.e(3117).then(n.bind(n,4102)),"@site/docs/introduction/faqs.md",4102],b20c3152:[()=>n.e(5713).then(n.t.bind(n,856,19)),"~docs/default/category-documentation-tutorialsidebar-category-installation-da6.json",856],b85d3565:[()=>n.e(6213).then(n.bind(n,6456)),"@site/docs/installation/making_bootable_usb.md",6456],b9c524af:[()=>n.e(6731).then(n.bind(n,3547)),"@site/docs/before_installation/imporatnt_notes.md",3547],bbd9b434:[()=>n.e(3925).then(n.bind(n,3155)),"@site/docs/packages/snigdhaos_blackbox.md",3155],ca54887a:[()=>n.e(4612).then(n.bind(n,2096)),"@site/docs/introduction/name_and_story.md",2096],ccc49370:[()=>Promise.all([n.e(1869),n.e(5533),n.e(8747),n.e(3249)]).then(n.bind(n,4029)),"@theme/BlogPostPage",4029],ccd1ff3c:[()=>n.e(4434).then(n.t.bind(n,7770,19)),"~docs/default/category-documentation-tutorialsidebar-category-introduction-344.json",7770],ce85b788:[()=>n.e(7979).then(n.bind(n,2693)),"@site/docs/tools/dns.md",2693],d68f1e45:[()=>n.e(3244).then(n.bind(n,7911)),"@site/docs/user_guide/aur.md",7911],d773f089:[()=>n.e(8121).then(n.t.bind(n,2945,19)),"/home/runner/work/documentation/documentation/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",2945],dc87ea58:[()=>n.e(5634).then(n.bind(n,8723)),"@site/docs/introduction/reporting_bugs.md",8723],de6c38e6:[()=>n.e(1703).then(n.t.bind(n,7652,19)),"~docs/default/category-documentation-tutorialsidebar-category-troubleshoot-a4b.json",7652],e2e7c0ac:[()=>n.e(4347).then(n.bind(n,6543)),"@site/docs/troubleshoot/display.md",6543],e541c1c2:[()=>n.e(1339).then(n.t.bind(n,2351,19)),"~docs/default/category-documentation-tutorialsidebar-category-post-installation-06e.json",2351],e89f4dea:[()=>n.e(3527).then(n.bind(n,4279)),"@site/docs/introduction/code_of_conduct.md",4279],ec3de22d:[()=>n.e(4893).then(n.bind(n,5877)),"@site/docs/dev_guide/write.md",5877],ec4024f9:[()=>n.e(8262).then(n.bind(n,2662)),"@site/blog/effetive_bug_report.md?truncated=true",2662],eda3af29:[()=>n.e(4474).then(n.t.bind(n,2489,19)),"~blog/default/documentation-blog-archive-ece.json",2489],f7392c07:[()=>n.e(7904).then(n.bind(n,8226)),"@site/blog/effetive_bug_report.md",8226],f7a81d3a:[()=>n.e(2966).then(n.bind(n,8921)),"@site/docs/user_guide/cheetsheet.md",8921],fbb85ca9:[()=>n.e(6183).then(n.bind(n,8698)),"@site/src/pages/privacy_policy.md",8698],ffa2682b:[()=>n.e(2056).then(n.bind(n,1081)),"@site/docs/post_installation/update.md",1081]};var l=n(4848);function s(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,l.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,l.jsx)("p",{children:String(t)}),(0,l.jsx)("div",{children:(0,l.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,l.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,l.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,l.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,l.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,l.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,l.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,l.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(6921),c=n(3102);function d(e,t){if("*"===e)return o()({loading:s,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,l.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,l.jsx)(n,{...t})})}});const r=a[`${e}-${t}`],d={},p=[],f=[],m=(0,u.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),o().Map({loading:s,loader:d,modules:p,webpack:()=>f,render(t,n){const o=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let i=o;const l=n.split(".");l.slice(0,-1).forEach((e=>{i=i[e]})),i[l[l.length-1]]=a}));const a=o.__comp;delete o.__comp;const i=o.__context;return delete o.__context,(0,l.jsx)(c.W,{value:i,children:(0,l.jsx)(a,{...o,...n})})}})}const p=[{path:"/documentation/blog",component:d("/documentation/blog","6c7"),exact:!0},{path:"/documentation/blog/archive",component:d("/documentation/blog/archive","36a"),exact:!0},{path:"/documentation/blog/effective_bug_report",component:d("/documentation/blog/effective_bug_report","d13"),exact:!0},{path:"/documentation/blog/tags",component:d("/documentation/blog/tags","592"),exact:!0},{path:"/documentation/blog/tags/bug",component:d("/documentation/blog/tags/bug","8e1"),exact:!0},{path:"/documentation/cookie-consent",component:d("/documentation/cookie-consent","c46"),exact:!0},{path:"/documentation/markdown-page",component:d("/documentation/markdown-page","ca0"),exact:!0},{path:"/documentation/privacy_policy",component:d("/documentation/privacy_policy","0c9"),exact:!0},{path:"/documentation/",component:d("/documentation/","213"),routes:[{path:"/documentation/",component:d("/documentation/","6df"),routes:[{path:"/documentation/",component:d("/documentation/","82d"),routes:[{path:"/documentation/before_installation/imporatnt_notes",component:d("/documentation/before_installation/imporatnt_notes","89a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/before_installation/internet_connection",component:d("/documentation/before_installation/internet_connection","fae"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/before_installation/system_requirements",component:d("/documentation/before_installation/system_requirements","65d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/before-installation",component:d("/documentation/category/before-installation","3ba"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/developers-guide",component:d("/documentation/category/developers-guide","73b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/installation",component:d("/documentation/category/installation","665"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/introduction",component:d("/documentation/category/introduction","2cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/packages",component:d("/documentation/category/packages","0e6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/post-installation",component:d("/documentation/category/post-installation","ee0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/tools",component:d("/documentation/category/tools","a35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/troubleshoot",component:d("/documentation/category/troubleshoot","11b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/category/user-guide",component:d("/documentation/category/user-guide","d5c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/build_source",component:d("/documentation/dev_guide/build_source","81a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/deploy_packages",component:d("/documentation/dev_guide/deploy_packages","61f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/gpg_key",component:d("/documentation/dev_guide/gpg_key","d30"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/install_keyring",component:d("/documentation/dev_guide/install_keyring","6ef"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/pkgbuild",component:d("/documentation/dev_guide/pkgbuild","393"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/upload_gpg_key",component:d("/documentation/dev_guide/upload_gpg_key","2be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/dev_guide/write",component:d("/documentation/dev_guide/write","856"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/download_snigdha_os",component:d("/documentation/installation/download_snigdha_os","369"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/live_env",component:d("/documentation/installation/live_env","d25"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/making_bootable_usb",component:d("/documentation/installation/making_bootable_usb","298"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/offline_install",component:d("/documentation/installation/offline_install","274"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/online_install",component:d("/documentation/installation/online_install","c8a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/start_installation",component:d("/documentation/installation/start_installation","0d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/installation/virtualbox_installation",component:d("/documentation/installation/virtualbox_installation","f71"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/code_of_conduct",component:d("/documentation/introduction/code_of_conduct","1f7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/coding-standard",component:d("/documentation/introduction/coding-standard","105"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/contributing",component:d("/documentation/introduction/contributing","2c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/faqs",component:d("/documentation/introduction/faqs","7af"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/motivation",component:d("/documentation/introduction/motivation","0bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/name_and_story",component:d("/documentation/introduction/name_and_story","d3c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/release_notes",component:d("/documentation/introduction/release_notes","590"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/introduction/reporting_bugs",component:d("/documentation/introduction/reporting_bugs","974"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/packages/snigdhaos_blackbox",component:d("/documentation/packages/snigdhaos_blackbox","3e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/packages/snigdhaos_welcome",component:d("/documentation/packages/snigdhaos_welcome","e46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/customization",component:d("/documentation/post_installation/customization","35c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/install_packages",component:d("/documentation/post_installation/install_packages","557"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/language",component:d("/documentation/post_installation/language","861"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/post_installation/update",component:d("/documentation/post_installation/update","bd0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/tools/dns",component:d("/documentation/tools/dns","2cf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/bluetooth",component:d("/documentation/troubleshoot/bluetooth","269"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/display",component:d("/documentation/troubleshoot/display","9c2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/sound",component:d("/documentation/troubleshoot/sound","004"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/troubleshoot/wifi",component:d("/documentation/troubleshoot/wifi","8fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/user_guide/aur",component:d("/documentation/user_guide/aur","9b0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/user_guide/cheetsheet",component:d("/documentation/user_guide/cheetsheet","1e9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/documentation/",component:d("/documentation/","dd9"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>a,x:()=>i});var r=n(6540),o=n(4848);const a=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,o.jsx)(a.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),o=n(5338),a=n(4625),i=n(545),l=n(8193);const s=[n(119),n(6134),n(6294),n(1043)];var u=n(8328),c=n(6347),d=n(2831),p=n(4848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5260),g=n(4586),h=n(6025),b=n(6342),y=n(1003),v=n(2131),w=n(4090),k=n(2967),x=n(440),S=n(1463);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,v.o)(),o=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(o)}),Object.values(n).filter((e=>o!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,c.zy)();return e+(0,x.applyTrailingSlash)((0,h.A)(r),{trailingSlash:n,baseUrl:t})}(),o=t?`${n}${t}`:r;return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:o}),(0,p.jsx)("link",{rel:"canonical",href:o})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(y.be,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.A,{tag:k.Cy,locale:e}),(0,p.jsx)(m.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const A=new Map;function T(e){if(A.has(e.pathname))return{...e,pathname:A.get(e.pathname)};if((0,d.u)(u.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return A.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return A.set(e.pathname,t),{...e,pathname:t}}var j=n(6125),N=n(6988),L=n(205);function R(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>o.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,L.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,o=t.hash===n.hash,a=t.search===n.search;if(r&&o&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),R("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(u.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class D extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(c.qh,{location:t,render:()=>e})})}}const I=D,M="__docusaurus-base-url-issue-banner-suggestion-container";function F(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '__docusaurus-base-url-issue-banner-container';\n var bannerHtml = ${JSON.stringify(function(e){return`\n