{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/111",
    "result": {"data":{"issuesJson":{"id":"078c8e87-c716-59cd-8da0-27457cdd6aca","title":"DefGuard/defguard: 一款真正的零信任 WireGuard® VPN，具备双重身份验证 (2FA)/多重身份验证 (MFA)","number":111,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/DefGuard/defguard\">DefGuard/defguard</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/7d236f795b9e2cb1a78b6df238fcdb5b6be951727449c57455d738b7e28d112f/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f44656647756172642f64656667756172642e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/DefGuard/defguard.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/97a887078b694d5596a02fea509c36475c66a62ea85477eeddc96dbe669381c3/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f44656647756172642f64656667756172643f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/DefGuard/defguard?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/77db0f11a6657e2ad7c0cfeb041b3018292908f22f9de36e5f490ba86b0f1996/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f44656647756172642f64656667756172643f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/DefGuard/defguard?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/0c93ca71e73bb599dbfbd81eb5bbb82f63a427dc55ced5d8a7de2d4025f1f1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c2d4e4f4e452d626c75653f6c6f676f3d756e6c6963656e7365\" alt=\"license\" data-canonical-src=\"https://img.shields.io/badge/L-NONE-blue?logo=unlicense\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/3f5898b6a436c0a26b2cf78cfc6fc2ec52358a0d38d327c2c898c40a13b219b7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f44656647756172642f64656667756172643f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/DefGuard/defguard?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/cf7fdbd7368ca164a1a0224d9fc20fcbacefeb6125b947c2be34238e6b331508/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f44656647756172642f64656667756172643f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/DefGuard/defguard?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<div align=\"center\" dir=\"auto\">\n <p align=\"center\" dir=\"auto\">\n  Defguard is a <strong>true Zero-Trust WireGuard® VPN with 2FA/Multi-Factor Authentication</strong>, as each connection requires MFA (and not only when logging in into the client application like other solutions)\n  <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/139682/396475864-a3bed030-0d82-4f8c-9687-01cc5780eff7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTAsIm5iZiI6MTc1MzA2NzI5MCwicGF0aCI6Ii8xMzk2ODIvMzk2NDc1ODY0LWEzYmVkMDMwLTBkODItNGY4Yy05Njg3LTAxY2M1NzgwZWZmNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNzIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDcyMVQwMzA4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00OTNkNzlkNjQ1MTcyMDU4ZDAyOGY2YTNjMTU3ZDgyMjZiYzJmNDllYzE2ZWJjOWY3MWZmYjU0MjgyNGU1ZTI1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RSt5AZedBRw27qY1VpcKF_l5VAICjNgA6a_7FKF-5HU\"><img width=\"1096\" alt=\"zero-trust\" src=\"https://private-user-images.githubusercontent.com/139682/396475864-a3bed030-0d82-4f8c-9687-01cc5780eff7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTAsIm5iZiI6MTc1MzA2NzI5MCwicGF0aCI6Ii8xMzk2ODIvMzk2NDc1ODY0LWEzYmVkMDMwLTBkODItNGY4Yy05Njg3LTAxY2M1NzgwZWZmNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNzIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDcyMVQwMzA4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00OTNkNzlkNjQ1MTcyMDU4ZDAyOGY2YTNjMTU3ZDgyMjZiYzJmNDllYzE2ZWJjOWY3MWZmYjU0MjgyNGU1ZTI1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RSt5AZedBRw27qY1VpcKF_l5VAICjNgA6a_7FKF-5HU\" style=\"max-width: 100%;\"></a>\n  Our primary focus at defguard is on prioritizing security. Then, we aim to make this challenging topic both useful and as easy to navigate as possible.\n</p><p dir=\"auto\"><a href=\"https://defguard.net\" rel=\"nofollow\">Website</a> | <a href=\"https://docs.defguard.net/#what-is-defguard\" rel=\"nofollow\">Getting Started</a> | <a href=\"https://github.com/defguard/defguard#features\">Features</a> | <a href=\"https://github.com/orgs/defguard/projects/5\" gh:project-mention=\"{&quot;owner&quot;:&quot;defguard&quot;,&quot;number&quot;:&quot;5&quot;,&quot;view&quot;:null,&quot;status_update_id&quot;:null}\">Roadmap</a> | <a href=\"https://github.com/defguard/defguard#support\">Support ❤</a></p>\n</div>\n<h3 dir=\"auto\">Defguard provides Comprehensive Access Control (a complete security platform):</h3>\n<ul dir=\"auto\">\n<li><strong><a href=\"https://docs.defguard.net/admin-and-features/wireguard/multi-factor-authentication-mfa-2fa/architecture\" rel=\"nofollow\">WireGuard® VPN with 2FA/MFA</a></strong> - not 2FA to \"access application\" like most solutions\n<ul dir=\"auto\">\n<li>The only solution with <a href=\"https://docs.defguard.net/enterprise/automatic-real-time-desktop-client-configuration\" rel=\"nofollow\">automatic and real-time synchronization</a> for users' desktop client settings (including all VPNs/locations).</li>\n<li>Control users <a href=\"https://docs.defguard.net/enterprise/behavior-customization\" rel=\"nofollow\">ability to manage devices and VPN options</a></li>\n</ul>\n</li>\n<li><a href=\"https://docs.defguard.net/admin-and-features/openid-connect\" rel=\"nofollow\">Integrated SSO based on OpenID Connect</a>:\n<ul dir=\"auto\">\n<li>significant cost saving, simplifying deployment and maintenance</li>\n<li>enabling features unavailable to VPN platforms relying upon 3rd party SSO integration</li>\n</ul>\n</li>\n<li>Already using Google/Microsoft or other OpenID Provider? - <a href=\"https://docs.defguard.net/enterprise/external-openid-providers\" rel=\"nofollow\">external OpenID provider support</a></li>\n<li>Only solution with <a href=\"https://docs.defguard.net/help/enrollment\" rel=\"nofollow\">secure remote user Enrollment &amp; Onboarding</a></li>\n<li>Yubico YubiKey Hardware <a href=\"https://docs.defguard.net/admin-and-features/yubikey-provisioning\" rel=\"nofollow\">security key management and provisioning</a></li>\n<li>Secure and robust architecture, featuring components and micro-services seamlessly deployable in diverse network setups (eg. utilizing network segments like Demilitarized Zones, Intranet with no external access, etc), ensuring a secure environment.</li>\n<li>Enterprise ready (multiple Locations/Gateways/Kubernetes deployment, etc..)</li>\n<li>Built on WireGuard® protocol which is faster than IPSec, and significantly faster than OpenVPN</li>\n<li>Built with Rust for speed and security</li>\n</ul>\n<p dir=\"auto\">See:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://github.com/defguard/defguard#features\">full list of features</a></li>\n<li><a href=\"https://docs.defguard.net/enterprise/all-enteprise-features\" rel=\"nofollow\">enterprise only features</a></li>\n</ul>\n<h3 dir=\"auto\">Defguard makes it easy to manage complex VPN networks in a secure way</h3>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://private-user-images.githubusercontent.com/139682/396477221-f886750b-1d4e-467e-917d-bc19a86e275c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTAsIm5iZiI6MTc1MzA2NzI5MCwicGF0aCI6Ii8xMzk2ODIvMzk2NDc3MjIxLWY4ODY3NTBiLTFkNGUtNDY3ZS05MTdkLWJjMTlhODZlMjc1Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNzIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDcyMVQwMzA4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTk1N2ViMGY5NzNjZGFhYWExZDdlOTRlY2Q4M2M3NmQ2OTE0ZmE1ZmJjNWZkNDc3YTIwZDE5ZWMyNzFkZDUxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.mJEZK0HcOv98gryFa3ojjx4QC0f8W486D0P0hn01DVM\"><img width=\"1564\" alt=\"locations-connections\" src=\"https://private-user-images.githubusercontent.com/139682/396477221-f886750b-1d4e-467e-917d-bc19a86e275c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTMwNjc1OTAsIm5iZiI6MTc1MzA2NzI5MCwicGF0aCI6Ii8xMzk2ODIvMzk2NDc3MjIxLWY4ODY3NTBiLTFkNGUtNDY3ZS05MTdkLWJjMTlhODZlMjc1Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwNzIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDcyMVQwMzA4MTBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTk1N2ViMGY5NzNjZGFhYWExZDdlOTRlY2Q4M2M3NmQ2OTE0ZmE1ZmJjNWZkNDc3YTIwZDE5ZWMyNzFkZDUxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.mJEZK0HcOv98gryFa3ojjx4QC0f8W486D0P0hn01DVM\" style=\"max-width: 100%;\"></a>\n<h4 dir=\"auto\">Video introduction</h4>\n<p dir=\"auto\">Bear in in mind we are no youtubers - just engineers - here is a video introduction to defguard:</p>\n<div align=\"center\" dir=\"auto\">\n <p align=\"center\" dir=\"auto\">\n</p><p dir=\"auto\"><a href=\"https://www.youtube.com/watch?v=4PF7edMGBwk\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/afcf5d69ee100333dc40fff302493f299f9832a63960e934df51539d056c2077/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f3450463765644d4742776b2f687164656661756c742e6a7067\" alt=\"Introduction to defguard\" data-canonical-src=\"https://img.youtube.com/vi/4PF7edMGBwk/hqdefault.jpg\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"></p>\n</div>\n<h3 dir=\"auto\">Control plane management (this video is few versions behind... - a lot has changed!)</h3>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/ed1d7e6b45b9c60b3204632b93365762105860bb2113721dbceca7393a85fb9a/68747470733a2f2f64656667756172642e6e65742f696d616765732f70726f647563742f636f72652f6865726f2d696d6167652e706e67\"><img src=\"https://camo.githubusercontent.com/ed1d7e6b45b9c60b3204632b93365762105860bb2113721dbceca7393a85fb9a/68747470733a2f2f64656667756172642e6e65742f696d616765732f70726f647563742f636f72652f6865726f2d696d6167652e706e67\" alt=\"\" data-canonical-src=\"https://defguard.net/images/product/core/hero-image.png\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/DefGuard/docs/blob/docs/screencasts/defguard.gif?raw=true\"><img src=\"https://github.com/DefGuard/docs/blob/docs/screencasts/defguard.gif?raw=true\" alt=\"\" data-animated-image=\"\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\">Better quality video can <a href=\"https://github.com/DefGuard/docs/raw/docs/screencasts/defguard-screencast.mkv\">be viewed here</a></p>\n<h3 dir=\"auto\">Desktop Client with 2FA / MFA (Multi-Factor Authentication)</h3>\n<h4 dir=\"auto\">Light</h4>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/37ad68111b21b7bc0e54c87929173911a0e85cb01ec6f7f8980b62e83f8940a2/68747470733a2f2f64656667756172642e6e65742f696d616765732f70726f647563742f636c69656e742f6d61696e2d73637265656e2e706e67\"><img src=\"https://camo.githubusercontent.com/37ad68111b21b7bc0e54c87929173911a0e85cb01ec6f7f8980b62e83f8940a2/68747470733a2f2f64656667756172642e6e65742f696d616765732f70726f647563742f636c69656e742f6d61696e2d73637265656e2e706e67\" alt=\"defguard desktop client\" data-canonical-src=\"https://defguard.net/images/product/client/main-screen.png\" style=\"max-width: 100%;\"></a></p>\n<h4 dir=\"auto\">Dark</h4>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/DefGuard/docs/blob/docs/releases/0.9/mfa.png?raw=true\"><img src=\"https://github.com/DefGuard/docs/blob/docs/releases/0.9/mfa.png?raw=true\" alt=\"defguard WireGuard MFA\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"https://github.com/DefGuard/client\">Desktop client</a>:</p>\n<ul dir=\"auto\">\n<li><strong>2FA / Multi-Factor Authentication</strong> with TOTP or email based tokens &amp; WireGuard PSK</li>\n<li><a href=\"https://docs.defguard.net/enterprise/automatic-real-time-desktop-client-configuration\" rel=\"nofollow\">automatic and real-time synchronization</a> for users' desktop client settings (including all VPNs/locations).</li>\n<li>Control users <a href=\"https://docs.defguard.net/enterprise/behavior-customization\" rel=\"nofollow\">ability to manage devices and VPN options</a></li>\n<li>Defguard instances as well as <strong>any WireGuard tunnel</strong> - just import your tunnels - one client for all WireGuard connections</li>\n<li>Secure and remote user enrollment - setting up password, automatically configuring the client for all VPN Locations/Networks</li>\n<li>Onboarding - displaying custom onboarding messages, with templates, links ...</li>\n<li>Ability to route predefined VPN traffic or all traffic (server needs to have NAT configured - in gateway example)</li>\n<li>Live &amp; real-time network charts</li>\n<li>live VPN logs</li>\n<li>light/dark theme</li>\n</ul>\n<h2 dir=\"auto\">Quick start</h2>\n<p dir=\"auto\">The easiest way to run your own defguard instance is to use Docker and our <a href=\"https://docs.defguard.net/features/setting-up-your-instance/one-line-install\" rel=\"nofollow\">one-line install script</a>.<br>\nJust run the command below in your shell and follow the prompts:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl --proto '=https' --tlsv1.2 -sSf -L https://raw.githubusercontent.com/DefGuard/deployment/main/docker-compose/setup.sh -O &amp;&amp; bash setup.sh\"><pre class=\"notranslate\">curl --proto <span class=\"pl-s\"><span class=\"pl-pds\">'</span>=https<span class=\"pl-pds\">'</span></span> --tlsv1.2 -sSf -L https://raw.githubusercontent.com/DefGuard/deployment/main/docker-compose/setup.sh -O <span class=\"pl-k\">&amp;&amp;</span> bash setup.sh</pre></div>\n<p dir=\"auto\">Here is a step-by-step video about this process:</p>\n<div align=\"center\" dir=\"auto\">\n <p align=\"center\" dir=\"auto\">\n</p><p dir=\"auto\"><a href=\"https://www.youtube.com/watch?v=MqlE6ZTn0bg\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/0504cee52fb3e0afa87f82ff98fc2eba95e910af83570db8aec05c3e49c9489e/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f4d716c45365a546e3062672f687164656661756c742e6a7067\" alt=\"Quickly deploy defguard\" data-canonical-src=\"https://img.youtube.com/vi/MqlE6ZTn0bg/hqdefault.jpg\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"></p>\n</div>\n<p dir=\"auto\">To learn more about the script and available options please see the <a href=\"https://docs.defguard.net/features/setting-up-your-instance/one-line-install\" rel=\"nofollow\">documentation</a>.</p>\n<h3 dir=\"auto\">Setup a VPN server in under 5 minutes !?</h3>\n<p dir=\"auto\">Just follow <a href=\"http://bit.ly/defguard-setup\" rel=\"nofollow\">this tutorial</a></p>\n<h2 dir=\"auto\">Manual deployment examples</h2>\n<ul dir=\"auto\">\n<li><a href=\"https://docs.defguard.net/admin-and-features/setting-up-your-instance/standalone-package-based-installation\" rel=\"nofollow\">Standalone system package based install</a></li>\n<li>Using <a href=\"https://docs.defguard.net/features/setting-up-your-instance/docker-compose\" rel=\"nofollow\">Docker Compose</a></li>\n<li>Using <a href=\"https://docs.defguard.net/features/setting-up-your-instance/kubernetes\" rel=\"nofollow\">Kubernetes</a></li>\n</ul>\n<h2 dir=\"auto\">Roadmap &amp; Development backlog</h2>\n<p dir=\"auto\"><a href=\"https://github.com/orgs/DefGuard/projects/5/views/1\" gh:project-mention=\"{&quot;owner&quot;:&quot;DefGuard&quot;,&quot;number&quot;:&quot;5&quot;,&quot;view&quot;:&quot;1&quot;,&quot;status_update_id&quot;:null}\">A detailed product roadmap and development status can be found here</a></p>\n<h3 dir=\"auto\">⛑️ Want to help? ⛑️</h3>\n<p dir=\"auto\">Here is a <a href=\"https://github.com/orgs/DefGuard/projects/5/views/5\" gh:project-mention=\"{&quot;owner&quot;:&quot;DefGuard&quot;,&quot;number&quot;:&quot;5&quot;,&quot;view&quot;:&quot;5&quot;,&quot;status_update_id&quot;:null}\">dedicated view for <strong>good first bugs</strong></a></p>\n<h2 dir=\"auto\">Why?</h2>\n<p dir=\"auto\">The story and motivation behind defguard <a href=\"https://teonite.com/blog/defguard/\" rel=\"nofollow\">can be found here: https://teonite.com/blog/defguard/</a></p>\n<h2 dir=\"auto\">Features</h2>\n<ul dir=\"auto\">\n<li>Remote Access: <a href=\"https://www.wireguard.com/\" rel=\"nofollow\">WireGuard® VPN</a> server with:\n<ul dir=\"auto\">\n<li><a href=\"https://docs.defguard.net/help/desktop-client/multi-factor-authentication-mfa-2fa\" rel=\"nofollow\">Multi-Factor Authentication</a> with TOTP/Email &amp; Pre-Shared Session Keys</li>\n<li>multiple VPN Locations (networks/sites) - with defined access (all users or only Admin group)</li>\n<li>multiple <a href=\"https://github.com/DefGuard/gateway\">Gateways</a> for each VPN Location (<strong>high availability/failover</strong>) - supported on a cluster of routers/firewalls for Linux, FreeBSD/PFSense/OPNSense</li>\n<li><strong>import your current WireGuard® server configuration (with a wizard!)</strong></li>\n<li><strong>most beautiful <a href=\"https://github.com/defguard/client\">Desktop Client!</a></strong> (in our opinion ;-))</li>\n<li>automatic IP allocation</li>\n<li><a href=\"https://docs.defguard.net/enterprise/automatic-real-time-desktop-client-configuration\" rel=\"nofollow\">automatic and real-time synchronization</a> for users' desktop client settings (including all VPNs/locations).</li>\n<li>control users <a href=\"https://docs.defguard.net/enterprise/behavior-customization\" rel=\"nofollow\">ability to manage devices and VPN options</a></li>\n<li>kernel (Linux, FreeBSD/OPNSense/PFSense) &amp; userspace WireGuard® support with <a href=\"https://github.com/defguard/wireguard-rs\">our Rust library</a></li>\n<li>dashboard and statistics overview of connected users/devices for admins</li>\n<li><em>defguard is not an official WireGuard® project, and WireGuard is a registered trademark of Jason A. Donenfeld.</em></li>\n</ul>\n</li>\n<li>Identity &amp; Account Management:\n<ul dir=\"auto\">\n<li>SSO based on OpenID Connect](<a href=\"https://openid.net/developers/how-connect-works/\" rel=\"nofollow\">https://openid.net/developers/how-connect-works/</a>)</li>\n<li>External SSO: <a href=\"https://docs.defguard.net/enterprise/external-openid-providers\" rel=\"nofollow\">external OpenID provider support</a></li>\n<li><a href=\"https://en.wikipedia.org/wiki/Multi-factor_authentication\" rel=\"nofollow\">Multi-Factor/2FA</a> Authentication:</li>\n<li><a href=\"https://en.wikipedia.org/wiki/Time-based_one-time_password\" rel=\"nofollow\">Time-based One-Time Password Algorithm</a> (TOTP - e.g. Google Authenticator)</li>\n<li>WebAuthn / FIDO2 - for hardware key authentication support (eg. YubiKey, FaceID, TouchID, ...)</li>\n<li>Email based TOTP</li>\n<li>LDAP (tested on <a href=\"https://www.openldap.org/\" rel=\"nofollow\">OpenLDAP</a>) synchronization</li>\n<li><a href=\"https://docs.defguard.net/features/forward-auth\" rel=\"nofollow\">forward auth</a> for reverse proxies (tested with Traefik and Caddy)</li>\n<li>nice UI to manage users</li>\n<li>Users <strong>self-service</strong> (besides typical data management, users can revoke access to granted apps, MFA, WireGuard®, etc.)</li>\n</ul>\n</li>\n<li>Account Lifecycle Management:\n<ul dir=\"auto\">\n<li>Secure remote (over the Internet) <a href=\"https://docs.defguard.net/help/remote-user-enrollment\" rel=\"nofollow\">user enrollment</a> - on public web / Desktop Client</li>\n<li>User <a href=\"https://docs.defguard.net/help/remote-user-enrollment/user-onboarding-after-enrollment\" rel=\"nofollow\">onboarding after enrollment</a></li>\n</ul>\n</li>\n<li>SSH &amp; GPG public key management in user profile - with <a href=\"https://docs.defguard.net/admin-and-features/ssh-authentication\" rel=\"nofollow\">SSH keys authentication for servers</a></li>\n<li><a href=\"https://www.yubico.com/\" rel=\"nofollow\">Yubikey hardware keys</a> provisioning for users by <em>one click</em></li>\n<li><a href=\"https://docs.defguard.net/help/setting-up-smtp-for-email-notifications\" rel=\"nofollow\">Email/SMTP support</a> for notifications, remote enrollment and onboarding</li>\n<li>Easy support with <a href=\"https://docs.defguard.net/help/sending-support-info\" rel=\"nofollow\">sending debug/support information</a></li>\n<li>Webhooks &amp; REST API</li>\n<li>Built with <a href=\"https://www.rust-lang.org/\" rel=\"nofollow\">Rust</a> for portability, security, and speed</li>\n<li><a href=\"https://github.com/defguard/ui\">UI Library</a> - our beautiful React/TypeScript UI is a collection of React components:\n<ul dir=\"auto\">\n<li>a set of custom and beautiful components for the layout</li>\n<li>Responsive Web Design (supporting mobile phones, tablets, etc..)</li>\n<li><a href=\"https://www.macrumors.com/how-to/use-web-apps-iphone-ipad/\" rel=\"nofollow\">iOS Web App</a></li>\n</ul>\n</li>\n<li><strong>Checked by professional security researchers</strong> (see <a href=\"https://defguard.net/pdf/isec-defguard.pdf\" rel=\"nofollow\">comprehensive security report</a>)</li>\n<li>End2End tests</li>\n</ul>\n<h2 dir=\"auto\">Documentation</h2>\n<p dir=\"auto\">See the <a href=\"https://docs.defguard.net/\" rel=\"nofollow\">documentation</a> for more information.</p>\n<h2 dir=\"auto\">Community and Support</h2>\n<p dir=\"auto\">Find us on Matrix: <a href=\"https://matrix.to/#/#defguard:teonite.com\" rel=\"nofollow\">#defguard:teonite.com</a></p>\n<h2 dir=\"auto\">License</h2>\n<p dir=\"auto\">The code in this repository is available under a dual licensing model:</p>\n<ol dir=\"auto\">\n<li>Open Source License: The code, except for the contents of the \"src/enterprise\" directory, is licensed under the AGPL license (see file LICENSE.md in this repository). This applies to the open core components of the software.</li>\n<li>Enterprise License: All code in this repository (including within the \"src/enterprise\" directory) is licensed under a separate Enterprise License (see file src/enterprise/LICENSE.md).</li>\n</ol>\n<h2 dir=\"auto\">Contributions</h2>\n<p dir=\"auto\">Please review the <a href=\"https://docs.defguard.net/for-developers/contributing\" rel=\"nofollow\">Contributing guide</a> for information on how to get started contributing to the project. You might also find our <a href=\"https://docs.defguard.net/for-developers/dev-env-setup\" rel=\"nofollow\">environment setup guide</a> handy.</p>\n<h1 dir=\"auto\">Built and sponsored by</h1>\n<p align=\"center\" dir=\"auto\">\n      <a href=\"https://teonite.com/services/rust/\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/629df215b3b7635a1f1dab9cb34a8b6601b180bbd27be00d11db0af3e84ad002/68747470733a2f2f64726976652e676f6f676c652e636f6d2f75633f6578706f72743d766965772669643d317a30667853735a7a746f61655657784877324d625062754f484d65334f73714e\" alt=\"built by teonite\" data-canonical-src=\"https://drive.google.com/uc?export=view&amp;id=1z0fxSsZztoaeVWxHw2MbPbuOHMe3OsqN\" style=\"max-width: 100%;\"></a>\n</p>\n<h1 dir=\"auto\">Legal</h1>\n<p dir=\"auto\">WireGuard® is <a href=\"https://www.wireguard.com/trademark-policy/\" rel=\"nofollow\">registered trademarks</a> of Jason A. Donenfeld.</p>","updatedAt":"2025-05-21T15:54:07Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"VPN","color":"da3863"}},{"node":{"name":"DefGuard","color":"bef92a"}}]},"comments":{"edges":[]}}},"pageContext":{"number":111,"previous":{"title":"deepflowio/deepflow: DeepFlow 开源项目旨在为复杂的云基础设施及云原生应用提供深度可观测性。","number":110},"next":{"title":"512team/dhorse: 一个轻量级、简单易用的云应用管理平台，具有多云和多环境管理、应用管理和部署、服务治理等功能","number":112}}},
    "staticQueryHashes": ["151096407","2861350382"]}