浏览代码

License stuff, version bump, CLI output.

Adam Ierymenko 2 周之前
父节点
当前提交
ca4e35d52c
共有 6 个文件被更改,包括 1231 次插入1233 次删除
  1. 6 0
      debian/changelog
  2. 93 89
      ext/installfiles/mac/ZeroTier One.pkgproj
  3. 14 16
      one.cpp
  4. 1109 1114
      selftest.cpp
  5. 7 12
      version.h
  6. 2 2
      zerotier-one.spec

+ 6 - 0
debian/changelog

@@ -1,3 +1,9 @@
+zerotier-one (1.16.0) unstable; urgency=medium
+
+  * See RELEASE-NOTES.md for release notes.
+
+ -- Adam Ierymenko <[email protected]>  Thu, 21 Aug 2025 01:00:00 -0700
+
 zerotier-one (1.14.2) unstable; urgency=medium
 
   * See RELEASE-NOTES.md for release notes.

+ 93 - 89
ext/installfiles/mac/ZeroTier One.pkgproj

@@ -1,14 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
+    "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
 	<key>PACKAGES</key>
 	<array>
 		<dict>
 			<key>MUST-CLOSE-APPLICATION-ITEMS</key>
-			<array/>
+			<array />
 			<key>MUST-CLOSE-APPLICATIONS</key>
-			<false/>
+			<false />
 			<key>PACKAGE_FILES</key>
 			<dict>
 				<key>DEFAULT_INSTALL_LOCATION</key>
@@ -22,7 +23,7 @@
 							<array>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>80</integer>
 									<key>PATH</key>
@@ -38,7 +39,7 @@
 								</dict>
 								<dict>
 									<key>BUNDLE_CAN_DOWNGRADE</key>
-									<false/>
+									<false />
 									<key>BUNDLE_POSTINSTALL_PATH</key>
 									<dict>
 										<key>PATH_TYPE</key>
@@ -50,7 +51,7 @@
 										<integer>0</integer>
 									</dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>80</integer>
 									<key>PATH</key>
@@ -92,7 +93,7 @@
 													<array>
 														<dict>
 															<key>CHILDREN</key>
-															<array/>
+															<array />
 															<key>GID</key>
 															<integer>0</integer>
 															<key>PATH</key>
@@ -108,7 +109,7 @@
 														</dict>
 														<dict>
 															<key>CHILDREN</key>
-															<array/>
+															<array />
 															<key>GID</key>
 															<integer>0</integer>
 															<key>PATH</key>
@@ -124,7 +125,7 @@
 														</dict>
 														<dict>
 															<key>CHILDREN</key>
-															<array/>
+															<array />
 															<key>GID</key>
 															<integer>80</integer>
 															<key>PATH</key>
@@ -140,7 +141,7 @@
 														</dict>
 														<dict>
 															<key>CHILDREN</key>
-															<array/>
+															<array />
 															<key>GID</key>
 															<integer>0</integer>
 															<key>PATH</key>
@@ -156,7 +157,7 @@
 														</dict>
 														<dict>
 															<key>CHILDREN</key>
-															<array/>
+															<array />
 															<key>GID</key>
 															<integer>0</integer>
 															<key>PATH</key>
@@ -214,7 +215,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -230,7 +231,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -246,7 +247,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -262,7 +263,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -278,7 +279,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -294,7 +295,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -310,7 +311,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -329,7 +330,7 @@
 									<array>
 										<dict>
 											<key>CHILDREN</key>
-											<array/>
+											<array />
 											<key>GID</key>
 											<integer>0</integer>
 											<key>PATH</key>
@@ -359,7 +360,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -375,7 +376,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -391,7 +392,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>80</integer>
 									<key>PATH</key>
@@ -407,7 +408,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -423,7 +424,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -439,7 +440,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -455,7 +456,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -471,7 +472,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -487,7 +488,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -503,7 +504,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -519,7 +520,7 @@
 								</dict>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -555,7 +556,7 @@
 									<array>
 										<dict>
 											<key>CHILDREN</key>
-											<array/>
+											<array />
 											<key>GID</key>
 											<integer>0</integer>
 											<key>PATH</key>
@@ -602,7 +603,7 @@
 							<array>
 								<dict>
 									<key>CHILDREN</key>
-									<array/>
+									<array />
 									<key>GID</key>
 									<integer>0</integer>
 									<key>PATH</key>
@@ -647,13 +648,13 @@
 				<key>PAYLOAD_TYPE</key>
 				<integer>0</integer>
 				<key>PRESERVE_EXTENDED_ATTRIBUTES</key>
-				<false/>
+				<false />
 				<key>SHOW_INVISIBLE</key>
-				<false/>
+				<false />
 				<key>SPLIT_FORKS</key>
-				<true/>
+				<true />
 				<key>TREAT_MISSING_FILES_AS_WARNING</key>
-				<false/>
+				<false />
 				<key>VERSION</key>
 				<integer>5</integer>
 			</dict>
@@ -674,7 +675,7 @@
 					<integer>1</integer>
 				</dict>
 				<key>RESOURCES</key>
-				<array/>
+				<array />
 			</dict>
 			<key>PACKAGE_SETTINGS</key>
 			<dict>
@@ -683,7 +684,7 @@
 				<key>CONCLUSION_ACTION</key>
 				<integer>0</integer>
 				<key>FOLLOW_SYMBOLIC_LINKS</key>
-				<false/>
+				<false />
 				<key>IDENTIFIER</key>
 				<string>com.zerotier.pkg.ZeroTierOne</string>
 				<key>LOCATION</key>
@@ -691,17 +692,17 @@
 				<key>NAME</key>
 				<string>ZeroTier One</string>
 				<key>OVERWRITE_PERMISSIONS</key>
-				<false/>
+				<false />
 				<key>PAYLOAD_SIZE</key>
 				<integer>-1</integer>
 				<key>REFERENCE_PATH</key>
-				<string></string>
+				<string />
 				<key>RELOCATABLE</key>
-				<false/>
+				<false />
 				<key>USE_HFS+_COMPRESSION</key>
-				<false/>
+				<false />
 				<key>VERSION</key>
-				<string>1.14.2</string>
+				<string>1.16.0</string>
 			</dict>
 			<key>TYPE</key>
 			<integer>0</integer>
@@ -753,12 +754,12 @@
 				<key>APPAREANCES</key>
 				<dict>
 					<key>DARK_AQUA</key>
-					<dict/>
+					<dict />
 					<key>LIGHT_AQUA</key>
-					<dict/>
+					<dict />
 				</dict>
 				<key>SHARED_SETTINGS_FOR_ALL_APPAREANCES</key>
-				<true/>
+				<true />
 			</dict>
 			<key>INSTALLATION TYPE</key>
 			<dict>
@@ -770,20 +771,20 @@
 						<array>
 							<dict>
 								<key>CHILDREN</key>
-								<array/>
+								<array />
 								<key>DESCRIPTION</key>
-								<array/>
+								<array />
 								<key>OPTIONS</key>
 								<dict>
 									<key>HIDDEN</key>
-									<false/>
+									<false />
 									<key>STATE</key>
 									<integer>1</integer>
 								</dict>
 								<key>PACKAGE_UUID</key>
 								<string>1B6AFC3A-9EA5-4401-83D4-37F06CD13CD6</string>
 								<key>TITLE</key>
-								<array/>
+								<array />
 								<key>TYPE</key>
 								<integer>0</integer>
 								<key>UUID</key>
@@ -791,7 +792,7 @@
 							</dict>
 						</array>
 						<key>REMOVED</key>
-						<dict/>
+						<dict />
 					</dict>
 				</dict>
 				<key>MODE</key>
@@ -859,24 +860,24 @@
 			<key>INTRODUCTION</key>
 			<dict>
 				<key>LOCALIZATIONS</key>
-				<array/>
+				<array />
 			</dict>
 			<key>LICENSE</key>
 			<dict>
 				<key>LOCALIZATIONS</key>
-				<array/>
+				<array />
 				<key>MODE</key>
 				<integer>0</integer>
 			</dict>
 			<key>README</key>
 			<dict>
 				<key>LOCALIZATIONS</key>
-				<array/>
+				<array />
 			</dict>
 			<key>TITLE</key>
 			<dict>
 				<key>LOCALIZATIONS</key>
-				<array/>
+				<array />
 			</dict>
 		</dict>
 		<key>PROJECT_REQUIREMENTS</key>
@@ -900,17 +901,17 @@
 					<key>IDENTIFIER</key>
 					<string>fr.whitebox.Packages.requirement.os</string>
 					<key>MESSAGE</key>
-					<array/>
+					<array />
 					<key>NAME</key>
 					<string>Operating System</string>
 					<key>STATE</key>
-					<true/>
+					<true />
 				</dict>
 			</array>
 			<key>RESOURCES</key>
-			<array/>
+			<array />
 			<key>ROOT_VOLUME_ONLY</key>
-			<false/>
+			<false />
 		</dict>
 		<key>PROJECT_SETTINGS</key>
 		<dict>
@@ -937,7 +938,7 @@
 					<array>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.DS_Store</string>
 							<key>TYPE</key>
@@ -945,20 +946,20 @@
 						</dict>
 					</array>
 					<key>PROTECTED</key>
-					<true/>
+					<true />
 					<key>PROXY_NAME</key>
 					<string>Remove .DS_Store files</string>
 					<key>PROXY_TOOLTIP</key>
 					<string>Remove ".DS_Store" files created by the Finder.</string>
 					<key>STATE</key>
-					<true/>
+					<true />
 				</dict>
 				<dict>
 					<key>PATTERNS_ARRAY</key>
 					<array>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.pbdevelopment</string>
 							<key>TYPE</key>
@@ -966,20 +967,21 @@
 						</dict>
 					</array>
 					<key>PROTECTED</key>
-					<true/>
+					<true />
 					<key>PROXY_NAME</key>
 					<string>Remove .pbdevelopment files</string>
 					<key>PROXY_TOOLTIP</key>
-					<string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
+					<string
+                        >Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
 					<key>STATE</key>
-					<true/>
+					<true />
 				</dict>
 				<dict>
 					<key>PATTERNS_ARRAY</key>
 					<array>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>CVS</string>
 							<key>TYPE</key>
@@ -987,7 +989,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.cvsignore</string>
 							<key>TYPE</key>
@@ -995,7 +997,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.cvspass</string>
 							<key>TYPE</key>
@@ -1003,7 +1005,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.svn</string>
 							<key>TYPE</key>
@@ -1011,7 +1013,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.git</string>
 							<key>TYPE</key>
@@ -1019,7 +1021,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>.gitignore</string>
 							<key>TYPE</key>
@@ -1027,20 +1029,21 @@
 						</dict>
 					</array>
 					<key>PROTECTED</key>
-					<true/>
+					<true />
 					<key>PROXY_NAME</key>
 					<string>Remove SCM metadata</string>
 					<key>PROXY_TOOLTIP</key>
-					<string>Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
+					<string
+                        >Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
 					<key>STATE</key>
-					<false/>
+					<false />
 				</dict>
 				<dict>
 					<key>PATTERNS_ARRAY</key>
 					<array>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>classes.nib</string>
 							<key>TYPE</key>
@@ -1048,7 +1051,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>designable.db</string>
 							<key>TYPE</key>
@@ -1056,7 +1059,7 @@
 						</dict>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>info.nib</string>
 							<key>TYPE</key>
@@ -1064,20 +1067,21 @@
 						</dict>
 					</array>
 					<key>PROTECTED</key>
-					<true/>
+					<true />
 					<key>PROXY_NAME</key>
 					<string>Optimize nib files</string>
 					<key>PROXY_TOOLTIP</key>
-					<string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
+					<string
+                        >Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
 					<key>STATE</key>
-					<false/>
+					<false />
 				</dict>
 				<dict>
 					<key>PATTERNS_ARRAY</key>
 					<array>
 						<dict>
 							<key>REGULAR_EXPRESSION</key>
-							<false/>
+							<false />
 							<key>STRING</key>
 							<string>Resources Disabled</string>
 							<key>TYPE</key>
@@ -1085,31 +1089,31 @@
 						</dict>
 					</array>
 					<key>PROTECTED</key>
-					<true/>
+					<true />
 					<key>PROXY_NAME</key>
 					<string>Remove Resources Disabled folders</string>
 					<key>PROXY_TOOLTIP</key>
 					<string>Remove "Resources Disabled" folders.</string>
 					<key>STATE</key>
-					<false/>
+					<false />
 				</dict>
 				<dict>
 					<key>SEPARATOR</key>
-					<true/>
+					<true />
 				</dict>
 			</array>
 			<key>NAME</key>
 			<string>ZeroTier One</string>
 			<key>PAYLOAD_ONLY</key>
-			<false/>
+			<false />
 			<key>TREAT_MISSING_PRESENTATION_DOCUMENTS_AS_WARNING</key>
-			<false/>
+			<false />
 		</dict>
 	</dict>
 	<key>SHARED_GLOBAL_DATA</key>
 	<dict>
 		<key>IC_REQUIREMENT_JAVASCRIPT_SHARED_SOURCE_CODE</key>
-		<string></string>
+		<string />
 	</dict>
 	<key>TYPE</key>
 	<integer>0</integer>

+ 14 - 16
one.cpp

@@ -1,15 +1,10 @@
-/*
- * Copyright (c)2020 ZeroTier, Inc.
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
  *
- * Use of this software is governed by the Business Source License included
- * in the LICENSE.TXT file in the project's root directory.
- *
- * Change Date: 2026-01-01
- *
- * On the date above, in accordance with the Business Source License, use
- * of this software will be governed by version 2.0 of the Apache License.
+ * (c) ZeroTier, Inc.
+ * https://www.zerotier.com/
  */
-/****/
 
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
@@ -105,15 +100,18 @@ using namespace ZeroTier;
 static OneService* volatile zt1Service = (OneService*)0;
 
 #define PROGRAM_NAME	 "ZeroTier One"
-#define COPYRIGHT_NOTICE "Copyright (c) 2020 ZeroTier, Inc."
-#define LICENSE_GRANT	 "Licensed under the ZeroTier BSL 1.1 (see LICENSE.txt)"
+#define COPYRIGHT_NOTICE "Copyright (c) ZeroTier, Inc."
+
+#ifdef ZT_NONFREE_CONTROLLER
+#define LICENSE_GRANT "Licensed under a non-commercial source-available license (nonfree/LICENSE.md)."
+#else
+#define LICENSE_GRANT "Licensed under Mozilla Public License v2.0 (LICENSE-MPL.txt)."
+#endif
 
 /****************************************************************************/
 /* zerotier-cli personality                                                 */
 /****************************************************************************/
 
-// This is getting deprecated soon in favor of the stuff in cli/
-
 static void cliPrintHelp(const char* pn, FILE* out)
 {
 	fprintf(
@@ -127,7 +125,7 @@ static void cliPrintHelp(const char* pn, FILE* out)
 		ZT_BUILD_PLATFORM,
 		ZT_BUILD_ARCHITECTURE);
 	fprintf(out, COPYRIGHT_NOTICE ZT_EOL_S LICENSE_GRANT ZT_EOL_S);
-	fprintf(out, "Usage: %s [-switches] <command/path> [<args>]" ZT_EOL_S "" ZT_EOL_S, pn);
+	fprintf(out, ZT_EOL_S "Usage: %s [-switches] <command/path> [<args>]" ZT_EOL_S "" ZT_EOL_S, pn);
 	fprintf(out, "Available switches:" ZT_EOL_S);
 	fprintf(out, "  -h                      - Display this help" ZT_EOL_S);
 	fprintf(out, "  -v                      - Show version" ZT_EOL_S);
@@ -2018,7 +2016,7 @@ static void printHelp(const char* cn, FILE* out)
 {
 	fprintf(out, "%s version %d.%d.%d" ZT_EOL_S, PROGRAM_NAME, ZEROTIER_ONE_VERSION_MAJOR, ZEROTIER_ONE_VERSION_MINOR, ZEROTIER_ONE_VERSION_REVISION);
 	fprintf(out, COPYRIGHT_NOTICE ZT_EOL_S LICENSE_GRANT ZT_EOL_S);
-	fprintf(out, "Usage: %s [-switches] [home directory]" ZT_EOL_S "" ZT_EOL_S, cn);
+	fprintf(out, ZT_EOL_S "Usage: %s [-switches] [home directory]" ZT_EOL_S "" ZT_EOL_S, cn);
 	fprintf(out, "Available switches:" ZT_EOL_S);
 	fprintf(out, "  -h                - Display this help" ZT_EOL_S);
 	fprintf(out, "  -v                - Show version" ZT_EOL_S);

文件差异内容过多而无法显示
+ 1109 - 1114
selftest.cpp


+ 7 - 12
version.h

@@ -1,15 +1,10 @@
-/*
- * Copyright (c)2019 ZeroTier, Inc.
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
  *
- * Use of this software is governed by the Business Source License included
- * in the LICENSE.TXT file in the project's root directory.
- *
- * Change Date: 2026-01-01
- *
- * On the date above, in accordance with the Business Source License, use
- * of this software will be governed by version 2.0 of the Apache License.
+ * (c) ZeroTier, Inc.
+ * https://www.zerotier.com/
  */
-/****/
 
 #ifndef _ZT_VERSION_H
 #define _ZT_VERSION_H
@@ -22,12 +17,12 @@
 /**
  * Minor version
  */
-#define ZEROTIER_ONE_VERSION_MINOR 15
+#define ZEROTIER_ONE_VERSION_MINOR 16
 
 /**
  * Revision
  */
-#define ZEROTIER_ONE_VERSION_REVISION 3
+#define ZEROTIER_ONE_VERSION_REVISION 0
 
 /**
  * Build version

+ 2 - 2
zerotier-one.spec

@@ -1,9 +1,9 @@
 Name:           zerotier-one
-Version:        1.14.2
+Version:        1.16.0
 Release:        1%{?dist}
 Summary:        ZeroTier network virtualization service
 
-License:        ZeroTier BUSL 1.1
+License:        MPL 2.0
 URL:            https://www.zerotier.com
 
 # Fedora

部分文件因为文件数量过多而无法显示