Marco Ricci commited on 2025-01-07 15:51:52
Zeige 26 geänderte Dateien mit 8479 Einfügungen und 434 Löschungen.
... | ... |
@@ -161,6 +161,26 @@ |
161 | 161 |
|
162 | 162 |
|
163 | 163 |
|
164 |
+ |
|
165 |
+ |
|
166 |
+ <li class="md-tabs__item"> |
|
167 |
+ <a href="/derivepassphrase/0.x/explanation/" class="md-tabs__link"> |
|
168 |
+ |
|
169 |
+ |
|
170 |
+ |
|
171 |
+ |
|
172 |
+ Design & Background |
|
173 |
+ |
|
174 |
+ </a> |
|
175 |
+ </li> |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ |
|
180 |
+ |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
164 | 184 |
<li class="md-tabs__item"> |
165 | 185 |
<a href="/derivepassphrase/0.x/changelog/" class="md-tabs__link"> |
166 | 186 |
|
... | ... |
@@ -889,6 +909,92 @@ |
889 | 909 |
|
890 | 910 |
|
891 | 911 |
|
912 |
+ |
|
913 |
+ |
|
914 |
+ |
|
915 |
+ |
|
916 |
+ |
|
917 |
+ |
|
918 |
+ |
|
919 |
+ |
|
920 |
+ |
|
921 |
+ |
|
922 |
+ |
|
923 |
+ |
|
924 |
+ |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ <div class="md-nav__link md-nav__container"> |
|
938 |
+ <a href="/derivepassphrase/0.x/explanation/" class="md-nav__link "> |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ <span class="md-ellipsis"> |
|
942 |
+ Design & Background |
|
943 |
+ </span> |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ </a> |
|
947 |
+ |
|
948 |
+ |
|
949 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
950 |
+ <span class="md-nav__icon md-icon"></span> |
|
951 |
+ </label> |
|
952 |
+ |
|
953 |
+ </div> |
|
954 |
+ |
|
955 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
956 |
+ <label class="md-nav__title" for="__nav_5"> |
|
957 |
+ <span class="md-nav__icon md-icon"></span> |
|
958 |
+ Design & Background |
|
959 |
+ </label> |
|
960 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
961 |
+ |
|
962 |
+ |
|
963 |
+ |
|
964 |
+ |
|
965 |
+ |
|
966 |
+ |
|
967 |
+ |
|
968 |
+ |
|
969 |
+ |
|
970 |
+ <li class="md-nav__item"> |
|
971 |
+ <a href="/derivepassphrase/0.x/explanation/faq-altered-versions/" class="md-nav__link"> |
|
972 |
+ |
|
973 |
+ |
|
974 |
+ <span class="md-ellipsis"> |
|
975 |
+ "altered versions" license requirement |
|
976 |
+ </span> |
|
977 |
+ |
|
978 |
+ |
|
979 |
+ </a> |
|
980 |
+ </li> |
|
981 |
+ |
|
982 |
+ |
|
983 |
+ |
|
984 |
+ |
|
985 |
+ </ul> |
|
986 |
+ </nav> |
|
987 |
+ |
|
988 |
+ </li> |
|
989 |
+ |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ |
|
993 |
+ |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
892 | 998 |
<li class="md-nav__item"> |
893 | 999 |
<a href="/derivepassphrase/0.x/changelog/" class="md-nav__link"> |
894 | 1000 |
|
... | ... |
@@ -950,7 +1056,7 @@ |
950 | 1056 |
<div class="md-copyright"> |
951 | 1057 |
|
952 | 1058 |
<div class="md-copyright__highlight"> |
953 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1059 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
954 | 1060 |
</div> |
955 | 1061 |
|
956 | 1062 |
|
... | ... |
@@ -168,6 +168,26 @@ |
168 | 168 |
|
169 | 169 |
|
170 | 170 |
|
171 |
+ |
|
172 |
+ |
|
173 |
+ <li class="md-tabs__item"> |
|
174 |
+ <a href="../explanation/" class="md-tabs__link"> |
|
175 |
+ |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ Design & Background |
|
180 |
+ |
|
181 |
+ </a> |
|
182 |
+ </li> |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ |
|
186 |
+ |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
171 | 191 |
<li class="md-tabs__item"> |
172 | 192 |
<a href="../changelog/" class="md-tabs__link"> |
173 | 193 |
|
... | ... |
@@ -896,6 +916,92 @@ |
896 | 916 |
|
897 | 917 |
|
898 | 918 |
|
919 |
+ |
|
920 |
+ |
|
921 |
+ |
|
922 |
+ |
|
923 |
+ |
|
924 |
+ |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
941 |
+ |
|
942 |
+ |
|
943 |
+ |
|
944 |
+ <div class="md-nav__link md-nav__container"> |
|
945 |
+ <a href="../explanation/" class="md-nav__link "> |
|
946 |
+ |
|
947 |
+ |
|
948 |
+ <span class="md-ellipsis"> |
|
949 |
+ Design & Background |
|
950 |
+ </span> |
|
951 |
+ |
|
952 |
+ |
|
953 |
+ </a> |
|
954 |
+ |
|
955 |
+ |
|
956 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
957 |
+ <span class="md-nav__icon md-icon"></span> |
|
958 |
+ </label> |
|
959 |
+ |
|
960 |
+ </div> |
|
961 |
+ |
|
962 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
963 |
+ <label class="md-nav__title" for="__nav_5"> |
|
964 |
+ <span class="md-nav__icon md-icon"></span> |
|
965 |
+ Design & Background |
|
966 |
+ </label> |
|
967 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
968 |
+ |
|
969 |
+ |
|
970 |
+ |
|
971 |
+ |
|
972 |
+ |
|
973 |
+ |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ |
|
977 |
+ <li class="md-nav__item"> |
|
978 |
+ <a href="../explanation/faq-altered-versions/" class="md-nav__link"> |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ <span class="md-ellipsis"> |
|
982 |
+ "altered versions" license requirement |
|
983 |
+ </span> |
|
984 |
+ |
|
985 |
+ |
|
986 |
+ </a> |
|
987 |
+ </li> |
|
988 |
+ |
|
989 |
+ |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ </ul> |
|
993 |
+ </nav> |
|
994 |
+ |
|
995 |
+ </li> |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ |
|
999 |
+ |
|
1000 |
+ |
|
1001 |
+ |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
899 | 1005 |
<li class="md-nav__item"> |
900 | 1006 |
<a href="../changelog/" class="md-nav__link"> |
901 | 1007 |
|
... | ... |
@@ -1140,7 +1246,7 @@ |
1140 | 1246 |
<div class="md-copyright"> |
1141 | 1247 |
|
1142 | 1248 |
<div class="md-copyright__highlight"> |
1143 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1249 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1144 | 1250 |
</div> |
1145 | 1251 |
|
1146 | 1252 |
|
... | ... |
@@ -15,7 +15,7 @@ |
15 | 15 |
<link rel="canonical" href="https://the13thletter.info/derivepassphrase/0.x/changelog/"> |
16 | 16 |
|
17 | 17 |
|
18 |
- <link rel="prev" href="../reference/prerequisites-ssh-key/"> |
|
18 |
+ <link rel="prev" href="../explanation/faq-altered-versions/"> |
|
19 | 19 |
|
20 | 20 |
|
21 | 21 |
|
... | ... |
@@ -172,6 +172,26 @@ |
172 | 172 |
|
173 | 173 |
|
174 | 174 |
|
175 |
+ <li class="md-tabs__item"> |
|
176 |
+ <a href="../explanation/" class="md-tabs__link"> |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ |
|
180 |
+ |
|
181 |
+ Design & Background |
|
182 |
+ |
|
183 |
+ </a> |
|
184 |
+ </li> |
|
185 |
+ |
|
186 |
+ |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
175 | 195 |
<li class="md-tabs__item md-tabs__item--active"> |
176 | 196 |
<a href="./" class="md-tabs__link"> |
177 | 197 |
|
... | ... |
@@ -902,6 +922,92 @@ |
902 | 922 |
|
903 | 923 |
|
904 | 924 |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
941 |
+ |
|
942 |
+ |
|
943 |
+ |
|
944 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
945 |
+ |
|
946 |
+ |
|
947 |
+ |
|
948 |
+ <div class="md-nav__link md-nav__container"> |
|
949 |
+ <a href="../explanation/" class="md-nav__link "> |
|
950 |
+ |
|
951 |
+ |
|
952 |
+ <span class="md-ellipsis"> |
|
953 |
+ Design & Background |
|
954 |
+ </span> |
|
955 |
+ |
|
956 |
+ |
|
957 |
+ </a> |
|
958 |
+ |
|
959 |
+ |
|
960 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
961 |
+ <span class="md-nav__icon md-icon"></span> |
|
962 |
+ </label> |
|
963 |
+ |
|
964 |
+ </div> |
|
965 |
+ |
|
966 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
967 |
+ <label class="md-nav__title" for="__nav_5"> |
|
968 |
+ <span class="md-nav__icon md-icon"></span> |
|
969 |
+ Design & Background |
|
970 |
+ </label> |
|
971 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
972 |
+ |
|
973 |
+ |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ |
|
977 |
+ |
|
978 |
+ |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ <li class="md-nav__item"> |
|
982 |
+ <a href="../explanation/faq-altered-versions/" class="md-nav__link"> |
|
983 |
+ |
|
984 |
+ |
|
985 |
+ <span class="md-ellipsis"> |
|
986 |
+ "altered versions" license requirement |
|
987 |
+ </span> |
|
988 |
+ |
|
989 |
+ |
|
990 |
+ </a> |
|
991 |
+ </li> |
|
992 |
+ |
|
993 |
+ |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ </ul> |
|
997 |
+ </nav> |
|
998 |
+ |
|
999 |
+ </li> |
|
1000 |
+ |
|
1001 |
+ |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ |
|
1007 |
+ |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
905 | 1011 |
<li class="md-nav__item md-nav__item--active"> |
906 | 1012 |
|
907 | 1013 |
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> |
... | ... |
@@ -946,6 +1052,39 @@ |
946 | 1052 |
</label> |
947 | 1053 |
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
948 | 1054 |
|
1055 |
+ <li class="md-nav__item"> |
|
1056 |
+ <a href="#040-2025-01-07" class="md-nav__link"> |
|
1057 |
+ <span class="md-ellipsis"> |
|
1058 |
+ 0.4.0 (2025-01-07) |
|
1059 |
+ </span> |
|
1060 |
+ </a> |
|
1061 |
+ |
|
1062 |
+ <nav class="md-nav" aria-label="0.4.0 (2025-01-07)"> |
|
1063 |
+ <ul class="md-nav__list"> |
|
1064 |
+ |
|
1065 |
+ <li class="md-nav__item"> |
|
1066 |
+ <a href="#added" class="md-nav__link"> |
|
1067 |
+ <span class="md-ellipsis"> |
|
1068 |
+ Added |
|
1069 |
+ </span> |
|
1070 |
+ </a> |
|
1071 |
+ |
|
1072 |
+</li> |
|
1073 |
+ |
|
1074 |
+ <li class="md-nav__item"> |
|
1075 |
+ <a href="#changed" class="md-nav__link"> |
|
1076 |
+ <span class="md-ellipsis"> |
|
1077 |
+ Changed |
|
1078 |
+ </span> |
|
1079 |
+ </a> |
|
1080 |
+ |
|
1081 |
+</li> |
|
1082 |
+ |
|
1083 |
+ </ul> |
|
1084 |
+ </nav> |
|
1085 |
+ |
|
1086 |
+</li> |
|
1087 |
+ |
|
949 | 1088 |
<li class="md-nav__item"> |
950 | 1089 |
<a href="#033-2024-11-28" class="md-nav__link"> |
951 | 1090 |
<span class="md-ellipsis"> |
... | ... |
@@ -957,7 +1096,7 @@ |
957 | 1096 |
<ul class="md-nav__list"> |
958 | 1097 |
|
959 | 1098 |
<li class="md-nav__item"> |
960 |
- <a href="#added" class="md-nav__link"> |
|
1099 |
+ <a href="#added_1" class="md-nav__link"> |
|
961 | 1100 |
<span class="md-ellipsis"> |
962 | 1101 |
Added |
963 | 1102 |
</span> |
... | ... |
@@ -1038,7 +1177,7 @@ |
1038 | 1177 |
<ul class="md-nav__list"> |
1039 | 1178 |
|
1040 | 1179 |
<li class="md-nav__item"> |
1041 |
- <a href="#added_1" class="md-nav__link"> |
|
1180 |
+ <a href="#added_2" class="md-nav__link"> |
|
1042 | 1181 |
<span class="md-ellipsis"> |
1043 | 1182 |
Added |
1044 | 1183 |
</span> |
... | ... |
@@ -1047,7 +1186,7 @@ |
1047 | 1186 |
</li> |
1048 | 1187 |
|
1049 | 1188 |
<li class="md-nav__item"> |
1050 |
- <a href="#changed" class="md-nav__link"> |
|
1189 |
+ <a href="#changed_1" class="md-nav__link"> |
|
1051 | 1190 |
<span class="md-ellipsis"> |
1052 | 1191 |
Changed |
1053 | 1192 |
</span> |
... | ... |
@@ -1080,7 +1219,7 @@ |
1080 | 1219 |
<ul class="md-nav__list"> |
1081 | 1220 |
|
1082 | 1221 |
<li class="md-nav__item"> |
1083 |
- <a href="#added_2" class="md-nav__link"> |
|
1222 |
+ <a href="#added_3" class="md-nav__link"> |
|
1084 | 1223 |
<span class="md-ellipsis"> |
1085 | 1224 |
Added |
1086 | 1225 |
</span> |
... | ... |
@@ -1098,7 +1237,7 @@ |
1098 | 1237 |
</li> |
1099 | 1238 |
|
1100 | 1239 |
<li class="md-nav__item"> |
1101 |
- <a href="#changed_1" class="md-nav__link"> |
|
1240 |
+ <a href="#changed_2" class="md-nav__link"> |
|
1102 | 1241 |
<span class="md-ellipsis"> |
1103 | 1242 |
Changed |
1104 | 1243 |
</span> |
... | ... |
@@ -1203,7 +1342,7 @@ |
1203 | 1342 |
<ul class="md-nav__list"> |
1204 | 1343 |
|
1205 | 1344 |
<li class="md-nav__item"> |
1206 |
- <a href="#added_3" class="md-nav__link"> |
|
1345 |
+ <a href="#added_4" class="md-nav__link"> |
|
1207 | 1346 |
<span class="md-ellipsis"> |
1208 | 1347 |
Added |
1209 | 1348 |
</span> |
... | ... |
@@ -1250,6 +1389,39 @@ |
1250 | 1389 |
</label> |
1251 | 1390 |
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
1252 | 1391 |
|
1392 |
+ <li class="md-nav__item"> |
|
1393 |
+ <a href="#040-2025-01-07" class="md-nav__link"> |
|
1394 |
+ <span class="md-ellipsis"> |
|
1395 |
+ 0.4.0 (2025-01-07) |
|
1396 |
+ </span> |
|
1397 |
+ </a> |
|
1398 |
+ |
|
1399 |
+ <nav class="md-nav" aria-label="0.4.0 (2025-01-07)"> |
|
1400 |
+ <ul class="md-nav__list"> |
|
1401 |
+ |
|
1402 |
+ <li class="md-nav__item"> |
|
1403 |
+ <a href="#added" class="md-nav__link"> |
|
1404 |
+ <span class="md-ellipsis"> |
|
1405 |
+ Added |
|
1406 |
+ </span> |
|
1407 |
+ </a> |
|
1408 |
+ |
|
1409 |
+</li> |
|
1410 |
+ |
|
1411 |
+ <li class="md-nav__item"> |
|
1412 |
+ <a href="#changed" class="md-nav__link"> |
|
1413 |
+ <span class="md-ellipsis"> |
|
1414 |
+ Changed |
|
1415 |
+ </span> |
|
1416 |
+ </a> |
|
1417 |
+ |
|
1418 |
+</li> |
|
1419 |
+ |
|
1420 |
+ </ul> |
|
1421 |
+ </nav> |
|
1422 |
+ |
|
1423 |
+</li> |
|
1424 |
+ |
|
1253 | 1425 |
<li class="md-nav__item"> |
1254 | 1426 |
<a href="#033-2024-11-28" class="md-nav__link"> |
1255 | 1427 |
<span class="md-ellipsis"> |
... | ... |
@@ -1261,7 +1433,7 @@ |
1261 | 1433 |
<ul class="md-nav__list"> |
1262 | 1434 |
|
1263 | 1435 |
<li class="md-nav__item"> |
1264 |
- <a href="#added" class="md-nav__link"> |
|
1436 |
+ <a href="#added_1" class="md-nav__link"> |
|
1265 | 1437 |
<span class="md-ellipsis"> |
1266 | 1438 |
Added |
1267 | 1439 |
</span> |
... | ... |
@@ -1342,7 +1514,7 @@ |
1342 | 1514 |
<ul class="md-nav__list"> |
1343 | 1515 |
|
1344 | 1516 |
<li class="md-nav__item"> |
1345 |
- <a href="#added_1" class="md-nav__link"> |
|
1517 |
+ <a href="#added_2" class="md-nav__link"> |
|
1346 | 1518 |
<span class="md-ellipsis"> |
1347 | 1519 |
Added |
1348 | 1520 |
</span> |
... | ... |
@@ -1351,7 +1523,7 @@ |
1351 | 1523 |
</li> |
1352 | 1524 |
|
1353 | 1525 |
<li class="md-nav__item"> |
1354 |
- <a href="#changed" class="md-nav__link"> |
|
1526 |
+ <a href="#changed_1" class="md-nav__link"> |
|
1355 | 1527 |
<span class="md-ellipsis"> |
1356 | 1528 |
Changed |
1357 | 1529 |
</span> |
... | ... |
@@ -1384,7 +1556,7 @@ |
1384 | 1556 |
<ul class="md-nav__list"> |
1385 | 1557 |
|
1386 | 1558 |
<li class="md-nav__item"> |
1387 |
- <a href="#added_2" class="md-nav__link"> |
|
1559 |
+ <a href="#added_3" class="md-nav__link"> |
|
1388 | 1560 |
<span class="md-ellipsis"> |
1389 | 1561 |
Added |
1390 | 1562 |
</span> |
... | ... |
@@ -1402,7 +1574,7 @@ |
1402 | 1574 |
</li> |
1403 | 1575 |
|
1404 | 1576 |
<li class="md-nav__item"> |
1405 |
- <a href="#changed_1" class="md-nav__link"> |
|
1577 |
+ <a href="#changed_2" class="md-nav__link"> |
|
1406 | 1578 |
<span class="md-ellipsis"> |
1407 | 1579 |
Changed |
1408 | 1580 |
</span> |
... | ... |
@@ -1507,7 +1679,7 @@ |
1507 | 1679 |
<ul class="md-nav__list"> |
1508 | 1680 |
|
1509 | 1681 |
<li class="md-nav__item"> |
1510 |
- <a href="#added_3" class="md-nav__link"> |
|
1682 |
+ <a href="#added_4" class="md-nav__link"> |
|
1511 | 1683 |
<span class="md-ellipsis"> |
1512 | 1684 |
Added |
1513 | 1685 |
</span> |
... | ... |
@@ -1570,9 +1742,92 @@ effectively constitute a new <q>major</q> release.) |
1570 | 1742 |
</aside> |
1571 | 1743 |
<!-- scriv changelog start --> |
1572 | 1744 |
|
1573 |
-<h2 id="033-2024-11-28">0.3.3 (2024-11-28)<a class="headerlink" href="#033-2024-11-28" title="Permanent link">¶</a></h2> |
|
1745 |
+<h2 id="040-2025-01-07">0.4.0 (2025-01-07)<a class="headerlink" href="#040-2025-01-07" title="Permanent link">¶</a></h2> |
|
1574 | 1746 |
<h3 id="added">Added<a class="headerlink" href="#added" title="Permanent link">¶</a></h3> |
1575 | 1747 |
<ul> |
1748 |
+<li> |
|
1749 |
+<p>Both <code>derivepassphrase vault</code> and <code>derivepassphrase export vault</code> now |
|
1750 |
+ support changing the amount of diagnostic output they emit via new |
|
1751 |
+ command-line options <code>--debug</code>, <code>-v</code>/<code>--verbose</code> and <code>-q</code>/<code>--quiet</code>. |
|
1752 |
+ Internally, this uses Python’s standard <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#module-logging">logging</a> and <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/warnings.html#module-warnings">warnings</a> |
|
1753 |
+ systems.</p> |
|
1754 |
+</li> |
|
1755 |
+<li> |
|
1756 |
+<p><code>derivepassphrase</code> now uses a central configuration file, and additional |
|
1757 |
+ data files, some of which are service-specific. (The <code>vault.json</code> |
|
1758 |
+ configuration file is now rebranded as a data file.) The configuration |
|
1759 |
+ files are user-editable, the data files are <code>derivepassphrase</code>-editable.</p> |
|
1760 |
+<p>The configuration files are in TOML format, so installing |
|
1761 |
+<code>derivepassphrase</code> on Python 3.10 and older requires the |
|
1762 |
+<a href="https://pypi.org/project/tomli/"><code>tomli</code></a> package.</p> |
|
1763 |
+</li> |
|
1764 |
+<li> |
|
1765 |
+<p><code>derivepassphrase vault --config</code> now supports an <code>--unset</code> option which |
|
1766 |
+ unsets any given named setting prior to applying any other configuration |
|
1767 |
+ changes.</p> |
|
1768 |
+</li> |
|
1769 |
+<li> |
|
1770 |
+<p><code>derivepassphrase vault --export</code> can now also export the current |
|
1771 |
+ configuration as a POSIX <code>sh</code> script, using the <code>--export-as=sh</code> option. |
|
1772 |
+ The default (and previous behavior) is <code>--export-as=json</code>.</p> |
|
1773 |
+</li> |
|
1774 |
+<li> |
|
1775 |
+<p><code>derivepassphrase</code> now includes basic support for localization: if the |
|
1776 |
+ necessary translations are installed, then the diagnostics and help |
|
1777 |
+ texts can be emitted in different languages. Internally, this uses |
|
1778 |
+ Python’s standard <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/gettext.html#module-gettext"><code>gettext</code></a> system.</p> |
|
1779 |
+<p>(As of this version, no translations have actually been prepared yet.)</p> |
|
1780 |
+</li> |
|
1781 |
+<li> |
|
1782 |
+<p><code>derivepassphrase</code> now explicitly supports shell completion, in |
|
1783 |
+ particular filename and service name completion in the <code>export vault</code> |
|
1784 |
+ and <code>vault</code> subcommands.</p> |
|
1785 |
+<p>However, because of restrictions regarding the exchange of data between |
|
1786 |
+<code>derivepassphrase</code> and the shell, <code>derivepassphrase</code> will not offer any |
|
1787 |
+service names containing ASCII control characters for completion, and |
|
1788 |
+a warning will be issued when importing or configuring such a service. |
|
1789 |
+They may still otherwise be used normally.</p> |
|
1790 |
+</li> |
|
1791 |
+<li> |
|
1792 |
+<p>Support the semi-standard <code>NO_COLOR</code> and the <code>FORCE_COLOR</code> environment |
|
1793 |
+ variables to suppress or force color output from <code>derivepassphrase</code>. |
|
1794 |
+ (<code>FORCE_COLOR</code> overrides <code>NO_COLOR</code> if both are set.)</p> |
|
1795 |
+</li> |
|
1796 |
+</ul> |
|
1797 |
+<h3 id="changed">Changed<a class="headerlink" href="#changed" title="Permanent link">¶</a></h3> |
|
1798 |
+<ul> |
|
1799 |
+<li> |
|
1800 |
+<p>Calling [<code>derivepassphrase_export</code>] |
|
1801 |
+ [derivepassphrase.cli.derivepassphrase_export], |
|
1802 |
+ [<code>derivepassphrase_export_vault</code>] |
|
1803 |
+ [derivepassphrase.cli.derivepassphrase_export_vault] or |
|
1804 |
+ [<code>derivepassphrase_vault</code>] |
|
1805 |
+ [derivepassphrase.cli.derivepassphrase_vault], or calling |
|
1806 |
+ <a class="autorefs autorefs-internal" href="../reference/derivepassphrase.cli/#derivepassphrase.cli.derivepassphrase"><code>derivepassphrase</code></a> via its |
|
1807 |
+ <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.BaseCommand.main"><code>.main</code></a> method, causes those functions to use |
|
1808 |
+ the standard Python <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#module-logging">logging</a> and <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/warnings.html#module-warnings">warnings</a> facilities to issue |
|
1809 |
+ diagnostic messages, without output to standard error. (This includes |
|
1810 |
+ using <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a>, which uses <code>.main</code> calls under the |
|
1811 |
+ hood.) Calling [<code>derivepassphrase</code>] |
|
1812 |
+ [derivepassphrase.cli.derivepassphrase] directly as a function diverts |
|
1813 |
+ diagnostic messages to standard error.</p> |
|
1814 |
+</li> |
|
1815 |
+<li> |
|
1816 |
+<p>Unicode normalization settings for <code>vault</code> service names and stored |
|
1817 |
+ passphrases are now stored in the central configuration file, instead of |
|
1818 |
+ the <code>vault</code> data file.</p> |
|
1819 |
+</li> |
|
1820 |
+<li> |
|
1821 |
+<p><code>derivepassphrase</code> changed its license from <a href="https://spdx.org/licenses/MIT.html">MIT</a> to <a href="https://spdx.org/licenses/Zlib.html">zlib/libpng</a>. |
|
1822 |
+ This should only make a difference to people redistributing altered |
|
1823 |
+ versions of <code>derivepassphrase</code>; the basic freedoms, and the |
|
1824 |
+ combinability of <code>derivepassphrase</code> with other software should be |
|
1825 |
+ unaffected.</p> |
|
1826 |
+</li> |
|
1827 |
+</ul> |
|
1828 |
+<h2 id="033-2024-11-28">0.3.3 (2024-11-28)<a class="headerlink" href="#033-2024-11-28" title="Permanent link">¶</a></h2> |
|
1829 |
+<h3 id="added_1">Added<a class="headerlink" href="#added_1" title="Permanent link">¶</a></h3> |
|
1830 |
+<ul> |
|
1576 | 1831 |
<li>Checking whether an SSH key is suitable now also depends on the SSH |
1577 | 1832 |
agent in use. API functions now optionally take an additional |
1578 | 1833 |
<a class="autorefs autorefs-internal" href="../reference/derivepassphrase.ssh_agent/#derivepassphrase.ssh_agent.SSHAgentClient"><code>SSHAgentClient</code></a> object to |
... | ... |
@@ -1601,7 +1856,7 @@ effectively constitute a new <q>major</q> release.) |
1601 | 1856 |
turned into a subcommand in v0.2.0.</li> |
1602 | 1857 |
</ul> |
1603 | 1858 |
<h2 id="030-2024-10-15">0.3.0 (2024-10-15)<a class="headerlink" href="#030-2024-10-15" title="Permanent link">¶</a></h2> |
1604 |
-<h3 id="added_1">Added<a class="headerlink" href="#added_1" title="Permanent link">¶</a></h3> |
|
1859 |
+<h3 id="added_2">Added<a class="headerlink" href="#added_2" title="Permanent link">¶</a></h3> |
|
1605 | 1860 |
<ul> |
1606 | 1861 |
<li>Convert changelog management from towncrier to <a href="https://pypi.org/project/scriv">scriv</a>.</li> |
1607 | 1862 |
<li>Add SSH agent spawning support to the test suite. Use this support to |
... | ... |
@@ -1623,7 +1878,7 @@ effectively constitute a new <q>major</q> release.) |
1623 | 1878 |
deserialization from the SSH agent wire format.</li> |
1624 | 1879 |
<li>Support Python 3.9 and 3.13.</li> |
1625 | 1880 |
</ul> |
1626 |
-<h3 id="changed">Changed<a class="headerlink" href="#changed" title="Permanent link">¶</a></h3> |
|
1881 |
+<h3 id="changed_1">Changed<a class="headerlink" href="#changed_1" title="Permanent link">¶</a></h3> |
|
1627 | 1882 |
<ul> |
1628 | 1883 |
<li> |
1629 | 1884 |
<p>Change links to point to public project repositories, if possible. For |
... | ... |
@@ -1698,7 +1953,7 @@ configuration with such falsy values will still generate errors when |
1698 | 1953 |
which didn’t match the declared type annotation.</li> |
1699 | 1954 |
</ul> |
1700 | 1955 |
<h2 id="020-2024-09-12">0.2.0 (2024-09-12)<a class="headerlink" href="#020-2024-09-12" title="Permanent link">¶</a></h2> |
1701 |
-<h3 id="added_2">Added<a class="headerlink" href="#added_2" title="Permanent link">¶</a></h3> |
|
1956 |
+<h3 id="added_3">Added<a class="headerlink" href="#added_3" title="Permanent link">¶</a></h3> |
|
1702 | 1957 |
<ul> |
1703 | 1958 |
<li> |
1704 | 1959 |
<p>Support configuration data export from <code>vault</code> in v0.2, v0.3 and |
... | ... |
@@ -1713,7 +1968,7 @@ even if <code>vault</code> is not installed. (<a href="https://github.com/the-13 |
1713 | 1968 |
the “0.<var>x</var>” version of the documentation with the contents so |
1714 | 1969 |
far.</li> |
1715 | 1970 |
</ul> |
1716 |
-<h3 id="changed_1">Changed<a class="headerlink" href="#changed_1" title="Permanent link">¶</a></h3> |
|
1971 |
+<h3 id="changed_2">Changed<a class="headerlink" href="#changed_2" title="Permanent link">¶</a></h3> |
|
1717 | 1972 |
<ul> |
1718 | 1973 |
<li>Changed <code>sequin</code> and <code>ssh_agent_client</code> to be submodules of |
1719 | 1974 |
<code>derivepassphrase</code>. Further moved <code>derivepassphrase.Vault</code> and |
... | ... |
@@ -1788,7 +2043,7 @@ global settings file if no subsystem-specific configuration was found. |
1788 | 2043 |
metadata and the Python package metadata.</li> |
1789 | 2044 |
</ul> |
1790 | 2045 |
<h2 id="010-2024-07-14">0.1.0 (2024-07-14)<a class="headerlink" href="#010-2024-07-14" title="Permanent link">¶</a></h2> |
1791 |
-<h3 id="added_3">Added<a class="headerlink" href="#added_3" title="Permanent link">¶</a></h3> |
|
2046 |
+<h3 id="added_4">Added<a class="headerlink" href="#added_4" title="Permanent link">¶</a></h3> |
|
1792 | 2047 |
<ul> |
1793 | 2048 |
<li>Initial release.</li> |
1794 | 2049 |
</ul> |
... | ... |
@@ -1820,7 +2075,7 @@ global settings file if no subsystem-specific configuration was found. |
1820 | 2075 |
<nav class="md-footer__inner md-grid" aria-label="Footer" > |
1821 | 2076 |
|
1822 | 2077 |
|
1823 |
- <a href="../reference/prerequisites-ssh-key/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Using derivepassphrase vault with an SSH key"> |
|
2078 |
+ <a href="../explanation/faq-altered-versions/" class="md-footer__link md-footer__link--prev" aria-label="Previous: "altered versions" license requirement"> |
|
1824 | 2079 |
<div class="md-footer__button md-icon"> |
1825 | 2080 |
|
1826 | 2081 |
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> |
... | ... |
@@ -1830,7 +2085,7 @@ global settings file if no subsystem-specific configuration was found. |
1830 | 2085 |
Previous |
1831 | 2086 |
</span> |
1832 | 2087 |
<div class="md-ellipsis"> |
1833 |
- Using derivepassphrase vault with an SSH key |
|
2088 |
+ "altered versions" license requirement |
|
1834 | 2089 |
</div> |
1835 | 2090 |
</div> |
1836 | 2091 |
</a> |
... | ... |
@@ -1844,7 +2099,7 @@ global settings file if no subsystem-specific configuration was found. |
1844 | 2099 |
<div class="md-copyright"> |
1845 | 2100 |
|
1846 | 2101 |
<div class="md-copyright__highlight"> |
1847 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
2102 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1848 | 2103 |
</div> |
1849 | 2104 |
|
1850 | 2105 |
|
... | ... |
@@ -0,0 +1,1194 @@ |
1 |
+ |
|
2 |
+<!doctype html> |
|
3 |
+<html lang="en" class="no-js"> |
|
4 |
+ <head> |
|
5 |
+ |
|
6 |
+ <meta charset="utf-8"> |
|
7 |
+ <meta name="viewport" content="width=device-width,initial-scale=1"> |
|
8 |
+ |
|
9 |
+ <meta name="description" content="An almost faithful Python reimplementation of James Coglan's vault."> |
|
10 |
+ |
|
11 |
+ |
|
12 |
+ <meta name="author" content="Marco Ricci"> |
|
13 |
+ |
|
14 |
+ |
|
15 |
+ <link rel="canonical" href="https://the13thletter.info/derivepassphrase/0.x/explanation/faq-altered-versions/"> |
|
16 |
+ |
|
17 |
+ |
|
18 |
+ <link rel="prev" href="../"> |
|
19 |
+ |
|
20 |
+ |
|
21 |
+ <link rel="next" href="../../changelog/"> |
|
22 |
+ |
|
23 |
+ |
|
24 |
+ <link rel="icon" href="../../assets/images/favicon.png"> |
|
25 |
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.42"> |
|
26 |
+ |
|
27 |
+ |
|
28 |
+ |
|
29 |
+ <title>"altered versions" license requirement - derivepassphrase</title> |
|
30 |
+ |
|
31 |
+ |
|
32 |
+ |
|
33 |
+ <link rel="stylesheet" href="../../assets/stylesheets/main.0253249f.min.css"> |
|
34 |
+ |
|
35 |
+ |
|
36 |
+ |
|
37 |
+ |
|
38 |
+ |
|
39 |
+ |
|
40 |
+ |
|
41 |
+ |
|
42 |
+ |
|
43 |
+ |
|
44 |
+ <style>:root{--md-text-font:"Noto Sans";--md-code-font:"Noto Mono"}</style> |
|
45 |
+ |
|
46 |
+ |
|
47 |
+ |
|
48 |
+ <link rel="stylesheet" href="../../assets/_mkdocstrings.css"> |
|
49 |
+ |
|
50 |
+ <link rel="stylesheet" href="../../mkdocstrings_recommended_styles.css"> |
|
51 |
+ |
|
52 |
+ |
|
53 |
+ |
|
54 |
+ |
|
55 |
+ |
|
56 |
+ </head> |
|
57 |
+ |
|
58 |
+ |
|
59 |
+ <body dir="ltr"> |
|
60 |
+ |
|
61 |
+ |
|
62 |
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> |
|
63 |
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> |
|
64 |
+ <label class="md-overlay" for="__drawer"></label> |
|
65 |
+ <div data-md-component="skip"> |
|
66 |
+ |
|
67 |
+ |
|
68 |
+ <a href="#how-to-comply-with-the-altered-versions-clause-of-the-license" class="md-skip"> |
|
69 |
+ Skip to content |
|
70 |
+ </a> |
|
71 |
+ |
|
72 |
+ </div> |
|
73 |
+ <div data-md-component="announce"> |
|
74 |
+ |
|
75 |
+ </div> |
|
76 |
+ |
|
77 |
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden> |
|
78 |
+ |
|
79 |
+ </div> |
|
80 |
+ |
|
81 |
+ |
|
82 |
+ |
|
83 |
+ |
|
84 |
+ <div class="md-container" data-md-component="container"> |
|
85 |
+ |
|
86 |
+ |
|
87 |
+ |
|
88 |
+ |
|
89 |
+ |
|
90 |
+<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> |
|
91 |
+ <div class="md-grid"> |
|
92 |
+ <ul class="md-tabs__list"> |
|
93 |
+ |
|
94 |
+ |
|
95 |
+ |
|
96 |
+ |
|
97 |
+ |
|
98 |
+ <li class="md-tabs__item"> |
|
99 |
+ <a href="../.." class="md-tabs__link"> |
|
100 |
+ |
|
101 |
+ |
|
102 |
+ |
|
103 |
+ |
|
104 |
+ Overview |
|
105 |
+ |
|
106 |
+ </a> |
|
107 |
+ </li> |
|
108 |
+ |
|
109 |
+ |
|
110 |
+ |
|
111 |
+ |
|
112 |
+ |
|
113 |
+ |
|
114 |
+ |
|
115 |
+ |
|
116 |
+ |
|
117 |
+ <li class="md-tabs__item"> |
|
118 |
+ <a href="../../tutorials/" class="md-tabs__link"> |
|
119 |
+ |
|
120 |
+ |
|
121 |
+ |
|
122 |
+ |
|
123 |
+ Tutorials & Examples |
|
124 |
+ |
|
125 |
+ </a> |
|
126 |
+ </li> |
|
127 |
+ |
|
128 |
+ |
|
129 |
+ |
|
130 |
+ |
|
131 |
+ |
|
132 |
+ |
|
133 |
+ |
|
134 |
+ |
|
135 |
+ |
|
136 |
+ |
|
137 |
+ <li class="md-tabs__item"> |
|
138 |
+ <a href="../../how-tos/" class="md-tabs__link"> |
|
139 |
+ |
|
140 |
+ |
|
141 |
+ |
|
142 |
+ |
|
143 |
+ How-Tos |
|
144 |
+ |
|
145 |
+ </a> |
|
146 |
+ </li> |
|
147 |
+ |
|
148 |
+ |
|
149 |
+ |
|
150 |
+ |
|
151 |
+ |
|
152 |
+ |
|
153 |
+ |
|
154 |
+ |
|
155 |
+ |
|
156 |
+ |
|
157 |
+ <li class="md-tabs__item"> |
|
158 |
+ <a href="../../reference/" class="md-tabs__link"> |
|
159 |
+ |
|
160 |
+ |
|
161 |
+ |
|
162 |
+ |
|
163 |
+ Reference |
|
164 |
+ |
|
165 |
+ </a> |
|
166 |
+ </li> |
|
167 |
+ |
|
168 |
+ |
|
169 |
+ |
|
170 |
+ |
|
171 |
+ |
|
172 |
+ |
|
173 |
+ |
|
174 |
+ |
|
175 |
+ |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item md-tabs__item--active"> |
|
180 |
+ <a href="../" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
197 |
+ <li class="md-tabs__item"> |
|
198 |
+ <a href="../../changelog/" class="md-tabs__link"> |
|
199 |
+ |
|
200 |
+ |
|
201 |
+ |
|
202 |
+ |
|
203 |
+ Changelog |
|
204 |
+ |
|
205 |
+ </a> |
|
206 |
+ </li> |
|
207 |
+ |
|
208 |
+ |
|
209 |
+ |
|
210 |
+ </ul> |
|
211 |
+ </div> |
|
212 |
+</nav> |
|
213 |
+ |
|
214 |
+ |
|
215 |
+ |
|
216 |
+ <main class="md-main" data-md-component="main"> |
|
217 |
+ <div class="md-main__inner md-grid"> |
|
218 |
+ |
|
219 |
+ |
|
220 |
+ |
|
221 |
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > |
|
222 |
+ <div class="md-sidebar__scrollwrap"> |
|
223 |
+ <div class="md-sidebar__inner"> |
|
224 |
+ |
|
225 |
+ |
|
226 |
+ |
|
227 |
+ |
|
228 |
+ |
|
229 |
+ |
|
230 |
+<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> |
|
231 |
+ <label class="md-nav__title" for="__drawer"> |
|
232 |
+ <a href="../.." title="derivepassphrase" class="md-nav__button md-logo" aria-label="derivepassphrase" data-md-component="logo"> |
|
233 |
+ |
|
234 |
+ |
|
235 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> |
|
236 |
+ |
|
237 |
+ </a> |
|
238 |
+ derivepassphrase |
|
239 |
+ </label> |
|
240 |
+ |
|
241 |
+ <div class="md-nav__source"> |
|
242 |
+ <a href="https://github.com/the-13th-letter/derivepassphrase" title="Go to repository" class="md-source" data-md-component="source"> |
|
243 |
+ <div class="md-source__icon md-icon"> |
|
244 |
+ |
|
245 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg> |
|
246 |
+ </div> |
|
247 |
+ <div class="md-source__repository"> |
|
248 |
+ the-13th-letter/derivepassphrase |
|
249 |
+ </div> |
|
250 |
+</a> |
|
251 |
+ </div> |
|
252 |
+ |
|
253 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
254 |
+ |
|
255 |
+ |
|
256 |
+ |
|
257 |
+ |
|
258 |
+ |
|
259 |
+ |
|
260 |
+ |
|
261 |
+ <li class="md-nav__item"> |
|
262 |
+ <a href="../.." class="md-nav__link"> |
|
263 |
+ |
|
264 |
+ |
|
265 |
+ <span class="md-ellipsis"> |
|
266 |
+ Overview |
|
267 |
+ </span> |
|
268 |
+ |
|
269 |
+ |
|
270 |
+ </a> |
|
271 |
+ </li> |
|
272 |
+ |
|
273 |
+ |
|
274 |
+ |
|
275 |
+ |
|
276 |
+ |
|
277 |
+ |
|
278 |
+ |
|
279 |
+ |
|
280 |
+ |
|
281 |
+ |
|
282 |
+ |
|
283 |
+ |
|
284 |
+ |
|
285 |
+ |
|
286 |
+ |
|
287 |
+ |
|
288 |
+ |
|
289 |
+ |
|
290 |
+ |
|
291 |
+ |
|
292 |
+ |
|
293 |
+ |
|
294 |
+ |
|
295 |
+ |
|
296 |
+ |
|
297 |
+ |
|
298 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
299 |
+ |
|
300 |
+ |
|
301 |
+ |
|
302 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > |
|
303 |
+ |
|
304 |
+ |
|
305 |
+ |
|
306 |
+ <div class="md-nav__link md-nav__container"> |
|
307 |
+ <a href="../../tutorials/" class="md-nav__link "> |
|
308 |
+ |
|
309 |
+ |
|
310 |
+ <span class="md-ellipsis"> |
|
311 |
+ Tutorials & Examples |
|
312 |
+ </span> |
|
313 |
+ |
|
314 |
+ |
|
315 |
+ </a> |
|
316 |
+ |
|
317 |
+ |
|
318 |
+ <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0"> |
|
319 |
+ <span class="md-nav__icon md-icon"></span> |
|
320 |
+ </label> |
|
321 |
+ |
|
322 |
+ </div> |
|
323 |
+ |
|
324 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> |
|
325 |
+ <label class="md-nav__title" for="__nav_2"> |
|
326 |
+ <span class="md-nav__icon md-icon"></span> |
|
327 |
+ Tutorials & Examples |
|
328 |
+ </label> |
|
329 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
330 |
+ |
|
331 |
+ |
|
332 |
+ |
|
333 |
+ |
|
334 |
+ |
|
335 |
+ |
|
336 |
+ |
|
337 |
+ |
|
338 |
+ |
|
339 |
+ <li class="md-nav__item"> |
|
340 |
+ <a href="../../tutorials/basic-setup-passphrase/" class="md-nav__link"> |
|
341 |
+ |
|
342 |
+ |
|
343 |
+ <span class="md-ellipsis"> |
|
344 |
+ Setting up derivepassphrase vault for three accounts, with a master passphrase |
|
345 |
+ </span> |
|
346 |
+ |
|
347 |
+ |
|
348 |
+ </a> |
|
349 |
+ </li> |
|
350 |
+ |
|
351 |
+ |
|
352 |
+ |
|
353 |
+ |
|
354 |
+ </ul> |
|
355 |
+ </nav> |
|
356 |
+ |
|
357 |
+ </li> |
|
358 |
+ |
|
359 |
+ |
|
360 |
+ |
|
361 |
+ |
|
362 |
+ |
|
363 |
+ |
|
364 |
+ |
|
365 |
+ |
|
366 |
+ |
|
367 |
+ |
|
368 |
+ |
|
369 |
+ |
|
370 |
+ |
|
371 |
+ |
|
372 |
+ |
|
373 |
+ |
|
374 |
+ |
|
375 |
+ |
|
376 |
+ |
|
377 |
+ |
|
378 |
+ |
|
379 |
+ |
|
380 |
+ |
|
381 |
+ |
|
382 |
+ |
|
383 |
+ |
|
384 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
385 |
+ |
|
386 |
+ |
|
387 |
+ |
|
388 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > |
|
389 |
+ |
|
390 |
+ |
|
391 |
+ |
|
392 |
+ <div class="md-nav__link md-nav__container"> |
|
393 |
+ <a href="../../how-tos/" class="md-nav__link "> |
|
394 |
+ |
|
395 |
+ |
|
396 |
+ <span class="md-ellipsis"> |
|
397 |
+ How-Tos |
|
398 |
+ </span> |
|
399 |
+ |
|
400 |
+ |
|
401 |
+ </a> |
|
402 |
+ |
|
403 |
+ |
|
404 |
+ <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0"> |
|
405 |
+ <span class="md-nav__icon md-icon"></span> |
|
406 |
+ </label> |
|
407 |
+ |
|
408 |
+ </div> |
|
409 |
+ |
|
410 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> |
|
411 |
+ <label class="md-nav__title" for="__nav_3"> |
|
412 |
+ <span class="md-nav__icon md-icon"></span> |
|
413 |
+ How-Tos |
|
414 |
+ </label> |
|
415 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
416 |
+ |
|
417 |
+ |
|
418 |
+ |
|
419 |
+ |
|
420 |
+ |
|
421 |
+ |
|
422 |
+ |
|
423 |
+ |
|
424 |
+ |
|
425 |
+ <li class="md-nav__item"> |
|
426 |
+ <a href="../../how-tos/ssh-key/" class="md-nav__link"> |
|
427 |
+ |
|
428 |
+ |
|
429 |
+ <span class="md-ellipsis"> |
|
430 |
+ How to set up derivepassphrase vault with an SSH key |
|
431 |
+ </span> |
|
432 |
+ |
|
433 |
+ |
|
434 |
+ </a> |
|
435 |
+ </li> |
|
436 |
+ |
|
437 |
+ |
|
438 |
+ |
|
439 |
+ |
|
440 |
+ </ul> |
|
441 |
+ </nav> |
|
442 |
+ |
|
443 |
+ </li> |
|
444 |
+ |
|
445 |
+ |
|
446 |
+ |
|
447 |
+ |
|
448 |
+ |
|
449 |
+ |
|
450 |
+ |
|
451 |
+ |
|
452 |
+ |
|
453 |
+ |
|
454 |
+ |
|
455 |
+ |
|
456 |
+ |
|
457 |
+ |
|
458 |
+ |
|
459 |
+ |
|
460 |
+ |
|
461 |
+ |
|
462 |
+ |
|
463 |
+ |
|
464 |
+ |
|
465 |
+ |
|
466 |
+ |
|
467 |
+ |
|
468 |
+ |
|
469 |
+ |
|
470 |
+ |
|
471 |
+ |
|
472 |
+ |
|
473 |
+ |
|
474 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
475 |
+ |
|
476 |
+ |
|
477 |
+ |
|
478 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" > |
|
479 |
+ |
|
480 |
+ |
|
481 |
+ |
|
482 |
+ <div class="md-nav__link md-nav__container"> |
|
483 |
+ <a href="../../reference/" class="md-nav__link "> |
|
484 |
+ |
|
485 |
+ |
|
486 |
+ <span class="md-ellipsis"> |
|
487 |
+ Reference |
|
488 |
+ </span> |
|
489 |
+ |
|
490 |
+ |
|
491 |
+ </a> |
|
492 |
+ |
|
493 |
+ |
|
494 |
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0"> |
|
495 |
+ <span class="md-nav__icon md-icon"></span> |
|
496 |
+ </label> |
|
497 |
+ |
|
498 |
+ </div> |
|
499 |
+ |
|
500 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false"> |
|
501 |
+ <label class="md-nav__title" for="__nav_4"> |
|
502 |
+ <span class="md-nav__icon md-icon"></span> |
|
503 |
+ Reference |
|
504 |
+ </label> |
|
505 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
506 |
+ |
|
507 |
+ |
|
508 |
+ |
|
509 |
+ |
|
510 |
+ |
|
511 |
+ |
|
512 |
+ |
|
513 |
+ |
|
514 |
+ |
|
515 |
+ |
|
516 |
+ |
|
517 |
+ |
|
518 |
+ |
|
519 |
+ |
|
520 |
+ |
|
521 |
+ |
|
522 |
+ |
|
523 |
+ |
|
524 |
+ |
|
525 |
+ |
|
526 |
+ |
|
527 |
+ |
|
528 |
+ |
|
529 |
+ |
|
530 |
+ |
|
531 |
+ |
|
532 |
+ |
|
533 |
+ |
|
534 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
535 |
+ |
|
536 |
+ |
|
537 |
+ |
|
538 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > |
|
539 |
+ |
|
540 |
+ |
|
541 |
+ <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0"> |
|
542 |
+ |
|
543 |
+ |
|
544 |
+ <span class="md-ellipsis"> |
|
545 |
+ Man pages |
|
546 |
+ </span> |
|
547 |
+ |
|
548 |
+ |
|
549 |
+ <span class="md-nav__icon md-icon"></span> |
|
550 |
+ </label> |
|
551 |
+ |
|
552 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> |
|
553 |
+ <label class="md-nav__title" for="__nav_4_2"> |
|
554 |
+ <span class="md-nav__icon md-icon"></span> |
|
555 |
+ Man pages |
|
556 |
+ </label> |
|
557 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
558 |
+ |
|
559 |
+ |
|
560 |
+ |
|
561 |
+ |
|
562 |
+ |
|
563 |
+ |
|
564 |
+ |
|
565 |
+ <li class="md-nav__item"> |
|
566 |
+ <a href="../../reference/derivepassphrase.1/" class="md-nav__link"> |
|
567 |
+ |
|
568 |
+ |
|
569 |
+ <span class="md-ellipsis"> |
|
570 |
+ derivepassphrase(1) |
|
571 |
+ </span> |
|
572 |
+ |
|
573 |
+ |
|
574 |
+ </a> |
|
575 |
+ </li> |
|
576 |
+ |
|
577 |
+ |
|
578 |
+ |
|
579 |
+ |
|
580 |
+ |
|
581 |
+ |
|
582 |
+ |
|
583 |
+ |
|
584 |
+ |
|
585 |
+ |
|
586 |
+ <li class="md-nav__item"> |
|
587 |
+ <a href="../../reference/derivepassphrase-vault.1/" class="md-nav__link"> |
|
588 |
+ |
|
589 |
+ |
|
590 |
+ <span class="md-ellipsis"> |
|
591 |
+ derivepassphrase-vault(1) |
|
592 |
+ </span> |
|
593 |
+ |
|
594 |
+ |
|
595 |
+ </a> |
|
596 |
+ </li> |
|
597 |
+ |
|
598 |
+ |
|
599 |
+ |
|
600 |
+ |
|
601 |
+ |
|
602 |
+ |
|
603 |
+ |
|
604 |
+ |
|
605 |
+ |
|
606 |
+ |
|
607 |
+ <li class="md-nav__item"> |
|
608 |
+ <a href="../../reference/derivepassphrase-export.1/" class="md-nav__link"> |
|
609 |
+ |
|
610 |
+ |
|
611 |
+ <span class="md-ellipsis"> |
|
612 |
+ derivepassphrase-export(1) |
|
613 |
+ </span> |
|
614 |
+ |
|
615 |
+ |
|
616 |
+ </a> |
|
617 |
+ </li> |
|
618 |
+ |
|
619 |
+ |
|
620 |
+ |
|
621 |
+ |
|
622 |
+ |
|
623 |
+ |
|
624 |
+ |
|
625 |
+ |
|
626 |
+ |
|
627 |
+ |
|
628 |
+ <li class="md-nav__item"> |
|
629 |
+ <a href="../../reference/derivepassphrase-export-vault.1/" class="md-nav__link"> |
|
630 |
+ |
|
631 |
+ |
|
632 |
+ <span class="md-ellipsis"> |
|
633 |
+ derivepassphrase-export-vault(1) |
|
634 |
+ </span> |
|
635 |
+ |
|
636 |
+ |
|
637 |
+ </a> |
|
638 |
+ </li> |
|
639 |
+ |
|
640 |
+ |
|
641 |
+ |
|
642 |
+ |
|
643 |
+ </ul> |
|
644 |
+ </nav> |
|
645 |
+ |
|
646 |
+ </li> |
|
647 |
+ |
|
648 |
+ |
|
649 |
+ |
|
650 |
+ |
|
651 |
+ |
|
652 |
+ |
|
653 |
+ |
|
654 |
+ |
|
655 |
+ |
|
656 |
+ |
|
657 |
+ |
|
658 |
+ |
|
659 |
+ |
|
660 |
+ |
|
661 |
+ |
|
662 |
+ |
|
663 |
+ |
|
664 |
+ |
|
665 |
+ |
|
666 |
+ |
|
667 |
+ |
|
668 |
+ |
|
669 |
+ |
|
670 |
+ |
|
671 |
+ |
|
672 |
+ |
|
673 |
+ |
|
674 |
+ |
|
675 |
+ |
|
676 |
+ |
|
677 |
+ |
|
678 |
+ |
|
679 |
+ |
|
680 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
681 |
+ |
|
682 |
+ |
|
683 |
+ |
|
684 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > |
|
685 |
+ |
|
686 |
+ |
|
687 |
+ <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0"> |
|
688 |
+ |
|
689 |
+ |
|
690 |
+ <span class="md-ellipsis"> |
|
691 |
+ API docs: Module derivepassphrase |
|
692 |
+ </span> |
|
693 |
+ |
|
694 |
+ |
|
695 |
+ <span class="md-nav__icon md-icon"></span> |
|
696 |
+ </label> |
|
697 |
+ |
|
698 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> |
|
699 |
+ <label class="md-nav__title" for="__nav_4_3"> |
|
700 |
+ <span class="md-nav__icon md-icon"></span> |
|
701 |
+ API docs: Module derivepassphrase |
|
702 |
+ </label> |
|
703 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
704 |
+ |
|
705 |
+ |
|
706 |
+ |
|
707 |
+ |
|
708 |
+ |
|
709 |
+ |
|
710 |
+ |
|
711 |
+ <li class="md-nav__item"> |
|
712 |
+ <a href="../../reference/derivepassphrase.cli/" class="md-nav__link"> |
|
713 |
+ |
|
714 |
+ |
|
715 |
+ <span class="md-ellipsis"> |
|
716 |
+ Submodule cli |
|
717 |
+ </span> |
|
718 |
+ |
|
719 |
+ |
|
720 |
+ </a> |
|
721 |
+ </li> |
|
722 |
+ |
|
723 |
+ |
|
724 |
+ |
|
725 |
+ |
|
726 |
+ |
|
727 |
+ |
|
728 |
+ |
|
729 |
+ |
|
730 |
+ |
|
731 |
+ |
|
732 |
+ <li class="md-nav__item"> |
|
733 |
+ <a href="../../reference/derivepassphrase.exporter/" class="md-nav__link"> |
|
734 |
+ |
|
735 |
+ |
|
736 |
+ <span class="md-ellipsis"> |
|
737 |
+ Subpackage exporter |
|
738 |
+ </span> |
|
739 |
+ |
|
740 |
+ |
|
741 |
+ </a> |
|
742 |
+ </li> |
|
743 |
+ |
|
744 |
+ |
|
745 |
+ |
|
746 |
+ |
|
747 |
+ |
|
748 |
+ |
|
749 |
+ |
|
750 |
+ |
|
751 |
+ |
|
752 |
+ |
|
753 |
+ <li class="md-nav__item"> |
|
754 |
+ <a href="../../reference/derivepassphrase.sequin/" class="md-nav__link"> |
|
755 |
+ |
|
756 |
+ |
|
757 |
+ <span class="md-ellipsis"> |
|
758 |
+ Submodule sequin |
|
759 |
+ </span> |
|
760 |
+ |
|
761 |
+ |
|
762 |
+ </a> |
|
763 |
+ </li> |
|
764 |
+ |
|
765 |
+ |
|
766 |
+ |
|
767 |
+ |
|
768 |
+ |
|
769 |
+ |
|
770 |
+ |
|
771 |
+ |
|
772 |
+ |
|
773 |
+ |
|
774 |
+ <li class="md-nav__item"> |
|
775 |
+ <a href="../../reference/derivepassphrase.ssh_agent/" class="md-nav__link"> |
|
776 |
+ |
|
777 |
+ |
|
778 |
+ <span class="md-ellipsis"> |
|
779 |
+ Submodule ssh_agent |
|
780 |
+ </span> |
|
781 |
+ |
|
782 |
+ |
|
783 |
+ </a> |
|
784 |
+ </li> |
|
785 |
+ |
|
786 |
+ |
|
787 |
+ |
|
788 |
+ |
|
789 |
+ |
|
790 |
+ |
|
791 |
+ |
|
792 |
+ |
|
793 |
+ |
|
794 |
+ |
|
795 |
+ <li class="md-nav__item"> |
|
796 |
+ <a href="../../reference/derivepassphrase._types/" class="md-nav__link"> |
|
797 |
+ |
|
798 |
+ |
|
799 |
+ <span class="md-ellipsis"> |
|
800 |
+ Submodule _types |
|
801 |
+ </span> |
|
802 |
+ |
|
803 |
+ |
|
804 |
+ </a> |
|
805 |
+ </li> |
|
806 |
+ |
|
807 |
+ |
|
808 |
+ |
|
809 |
+ |
|
810 |
+ |
|
811 |
+ |
|
812 |
+ |
|
813 |
+ |
|
814 |
+ |
|
815 |
+ |
|
816 |
+ <li class="md-nav__item"> |
|
817 |
+ <a href="../../reference/derivepassphrase.vault/" class="md-nav__link"> |
|
818 |
+ |
|
819 |
+ |
|
820 |
+ <span class="md-ellipsis"> |
|
821 |
+ Submodule vault |
|
822 |
+ </span> |
|
823 |
+ |
|
824 |
+ |
|
825 |
+ </a> |
|
826 |
+ </li> |
|
827 |
+ |
|
828 |
+ |
|
829 |
+ |
|
830 |
+ |
|
831 |
+ </ul> |
|
832 |
+ </nav> |
|
833 |
+ |
|
834 |
+ </li> |
|
835 |
+ |
|
836 |
+ |
|
837 |
+ |
|
838 |
+ |
|
839 |
+ |
|
840 |
+ |
|
841 |
+ |
|
842 |
+ |
|
843 |
+ |
|
844 |
+ |
|
845 |
+ |
|
846 |
+ |
|
847 |
+ |
|
848 |
+ |
|
849 |
+ |
|
850 |
+ |
|
851 |
+ |
|
852 |
+ |
|
853 |
+ |
|
854 |
+ |
|
855 |
+ |
|
856 |
+ |
|
857 |
+ |
|
858 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
859 |
+ |
|
860 |
+ |
|
861 |
+ |
|
862 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > |
|
863 |
+ |
|
864 |
+ |
|
865 |
+ <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0"> |
|
866 |
+ |
|
867 |
+ |
|
868 |
+ <span class="md-ellipsis"> |
|
869 |
+ Technical prerequisites |
|
870 |
+ </span> |
|
871 |
+ |
|
872 |
+ |
|
873 |
+ <span class="md-nav__icon md-icon"></span> |
|
874 |
+ </label> |
|
875 |
+ |
|
876 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> |
|
877 |
+ <label class="md-nav__title" for="__nav_4_4"> |
|
878 |
+ <span class="md-nav__icon md-icon"></span> |
|
879 |
+ Technical prerequisites |
|
880 |
+ </label> |
|
881 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
882 |
+ |
|
883 |
+ |
|
884 |
+ |
|
885 |
+ |
|
886 |
+ |
|
887 |
+ |
|
888 |
+ |
|
889 |
+ <li class="md-nav__item"> |
|
890 |
+ <a href="../../reference/prerequisites-ssh-key/" class="md-nav__link"> |
|
891 |
+ |
|
892 |
+ |
|
893 |
+ <span class="md-ellipsis"> |
|
894 |
+ Using derivepassphrase vault with an SSH key |
|
895 |
+ </span> |
|
896 |
+ |
|
897 |
+ |
|
898 |
+ </a> |
|
899 |
+ </li> |
|
900 |
+ |
|
901 |
+ |
|
902 |
+ |
|
903 |
+ |
|
904 |
+ </ul> |
|
905 |
+ </nav> |
|
906 |
+ |
|
907 |
+ </li> |
|
908 |
+ |
|
909 |
+ |
|
910 |
+ |
|
911 |
+ |
|
912 |
+ </ul> |
|
913 |
+ </nav> |
|
914 |
+ |
|
915 |
+ </li> |
|
916 |
+ |
|
917 |
+ |
|
918 |
+ |
|
919 |
+ |
|
920 |
+ |
|
921 |
+ |
|
922 |
+ |
|
923 |
+ |
|
924 |
+ |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ |
|
942 |
+ |
|
943 |
+ |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ |
|
947 |
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> |
|
948 |
+ |
|
949 |
+ |
|
950 |
+ |
|
951 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked> |
|
952 |
+ |
|
953 |
+ |
|
954 |
+ |
|
955 |
+ <div class="md-nav__link md-nav__container"> |
|
956 |
+ <a href="../" class="md-nav__link "> |
|
957 |
+ |
|
958 |
+ |
|
959 |
+ <span class="md-ellipsis"> |
|
960 |
+ Design & Background |
|
961 |
+ </span> |
|
962 |
+ |
|
963 |
+ |
|
964 |
+ </a> |
|
965 |
+ |
|
966 |
+ |
|
967 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex=""> |
|
968 |
+ <span class="md-nav__icon md-icon"></span> |
|
969 |
+ </label> |
|
970 |
+ |
|
971 |
+ </div> |
|
972 |
+ |
|
973 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true"> |
|
974 |
+ <label class="md-nav__title" for="__nav_5"> |
|
975 |
+ <span class="md-nav__icon md-icon"></span> |
|
976 |
+ Design & Background |
|
977 |
+ </label> |
|
978 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ |
|
982 |
+ |
|
983 |
+ |
|
984 |
+ |
|
985 |
+ |
|
986 |
+ |
|
987 |
+ |
|
988 |
+ |
|
989 |
+ |
|
990 |
+ <li class="md-nav__item md-nav__item--active"> |
|
991 |
+ |
|
992 |
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc"> |
|
993 |
+ |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ <a href="./" class="md-nav__link md-nav__link--active"> |
|
999 |
+ |
|
1000 |
+ |
|
1001 |
+ <span class="md-ellipsis"> |
|
1002 |
+ "altered versions" license requirement |
|
1003 |
+ </span> |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ </a> |
|
1007 |
+ |
|
1008 |
+ </li> |
|
1009 |
+ |
|
1010 |
+ |
|
1011 |
+ |
|
1012 |
+ |
|
1013 |
+ </ul> |
|
1014 |
+ </nav> |
|
1015 |
+ |
|
1016 |
+ </li> |
|
1017 |
+ |
|
1018 |
+ |
|
1019 |
+ |
|
1020 |
+ |
|
1021 |
+ |
|
1022 |
+ |
|
1023 |
+ |
|
1024 |
+ |
|
1025 |
+ |
|
1026 |
+ <li class="md-nav__item"> |
|
1027 |
+ <a href="../../changelog/" class="md-nav__link"> |
|
1028 |
+ |
|
1029 |
+ |
|
1030 |
+ <span class="md-ellipsis"> |
|
1031 |
+ Changelog |
|
1032 |
+ </span> |
|
1033 |
+ |
|
1034 |
+ |
|
1035 |
+ </a> |
|
1036 |
+ </li> |
|
1037 |
+ |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ </ul> |
|
1041 |
+</nav> |
|
1042 |
+ </div> |
|
1043 |
+ </div> |
|
1044 |
+ </div> |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > |
|
1049 |
+ <div class="md-sidebar__scrollwrap"> |
|
1050 |
+ <div class="md-sidebar__inner"> |
|
1051 |
+ |
|
1052 |
+ |
|
1053 |
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+</nav> |
|
1061 |
+ </div> |
|
1062 |
+ </div> |
|
1063 |
+ </div> |
|
1064 |
+ |
|
1065 |
+ |
|
1066 |
+ |
|
1067 |
+ <div class="md-content" data-md-component="content"> |
|
1068 |
+ <article class="md-content__inner md-typeset"> |
|
1069 |
+ |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ |
|
1073 |
+ |
|
1074 |
+ |
|
1075 |
+ |
|
1076 |
+ |
|
1077 |
+ <a href="https://github.com/the-13th-letter/derivepassphrase/raw/master/docs/explanation/faq-altered-versions.md" title="View source of this page" class="md-content__button md-icon"> |
|
1078 |
+ |
|
1079 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> |
|
1080 |
+ </a> |
|
1081 |
+ |
|
1082 |
+ |
|
1083 |
+ |
|
1084 |
+<h1 id="how-to-comply-with-the-altered-versions-clause-of-the-license">How to comply with the “altered versions” clause of the license<a class="headerlink" href="#how-to-comply-with-the-altered-versions-clause-of-the-license" title="Permanent link">¶</a></h1> |
|
1085 |
+<p><strong>Short answer:</strong> change the package name and/or change the version number to include a <a href="https://peps.python.org/pep-0440/">PEP 440</a> “local version identifier”. |
|
1086 |
+If <code>derivepassphrase</code> ever rebrands, this applies to rebranded names too. |
|
1087 |
+We try not to clash with anyone else, and will yank our offending releases if we do.</p> |
|
1088 |
+<p><strong>Long answer:</strong> We, upstream <code>derivepassphrase</code>, reserve the name <code>derivepassphrase</code> and certain version numbers for ourselves. |
|
1089 |
+Specifically, our version numbers adhere to <a href="https://peps.python.org/pep-0440/">PEP 440</a> (or newer revisions) and generally do not include a “local version identifier”. |
|
1090 |
+To mark an altered version, we thus recommend that you change the software package name <code>derivepassphrase</code>, or use a version number with a local version identifier. |
|
1091 |
+If we (upstream) decide to use a local version identifier, we will avoid all clashing local version identifiers we are aware of, and if informed of a clashing local version identifier after our release, will yank our offending version(s).</p> |
|
1092 |
+<p>Should we (upstream) change the package name, we shall apply the same guidelines and checks concerning local version identifiers to the new package name. |
|
1093 |
+A change of package name does <em>not</em> by itself imply permission to use the old package name for future releases of altered versions without marking them.</p> |
|
1094 |
+<hr /> |
|
1095 |
+<p>See also <a href="https://github.com/madler/zlib/blob/v1.3.1/FAQ" title="see question #24">the zlib project’s take on how to mark altered versions</a>. |
|
1096 |
+Like them, we recommend keeping our upstream Changelog (up to the point where you introduced modifications) and describing your modifications both there and in the README, in the appropriate level of detail. |
|
1097 |
+We also request (but do not require) that you provide clear instructions in the README (and potentially other suitable places) on where and how to report problems that stem from your modifications, not from the upstream software package.</p> |
|
1098 |
+ |
|
1099 |
+ |
|
1100 |
+ |
|
1101 |
+ |
|
1102 |
+ |
|
1103 |
+ |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ |
|
1107 |
+ |
|
1108 |
+ |
|
1109 |
+ |
|
1110 |
+ |
|
1111 |
+ </article> |
|
1112 |
+ </div> |
|
1113 |
+ |
|
1114 |
+ |
|
1115 |
+ </div> |
|
1116 |
+ |
|
1117 |
+ </main> |
|
1118 |
+ |
|
1119 |
+ <footer class="md-footer"> |
|
1120 |
+ |
|
1121 |
+ |
|
1122 |
+ |
|
1123 |
+ <nav class="md-footer__inner md-grid" aria-label="Footer" > |
|
1124 |
+ |
|
1125 |
+ |
|
1126 |
+ <a href="../" class="md-footer__link md-footer__link--prev" aria-label="Previous: Explanation overview"> |
|
1127 |
+ <div class="md-footer__button md-icon"> |
|
1128 |
+ |
|
1129 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> |
|
1130 |
+ </div> |
|
1131 |
+ <div class="md-footer__title"> |
|
1132 |
+ <span class="md-footer__direction"> |
|
1133 |
+ Previous |
|
1134 |
+ </span> |
|
1135 |
+ <div class="md-ellipsis"> |
|
1136 |
+ Explanation overview |
|
1137 |
+ </div> |
|
1138 |
+ </div> |
|
1139 |
+ </a> |
|
1140 |
+ |
|
1141 |
+ |
|
1142 |
+ |
|
1143 |
+ <a href="../../changelog/" class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> |
|
1144 |
+ <div class="md-footer__title"> |
|
1145 |
+ <span class="md-footer__direction"> |
|
1146 |
+ Next |
|
1147 |
+ </span> |
|
1148 |
+ <div class="md-ellipsis"> |
|
1149 |
+ Changelog |
|
1150 |
+ </div> |
|
1151 |
+ </div> |
|
1152 |
+ <div class="md-footer__button md-icon"> |
|
1153 |
+ |
|
1154 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> |
|
1155 |
+ </div> |
|
1156 |
+ </a> |
|
1157 |
+ |
|
1158 |
+ </nav> |
|
1159 |
+ |
|
1160 |
+ |
|
1161 |
+ <div class="md-footer-meta md-typeset"> |
|
1162 |
+ <div class="md-footer-meta__inner md-grid"> |
|
1163 |
+ <div class="md-copyright"> |
|
1164 |
+ |
|
1165 |
+ <div class="md-copyright__highlight"> |
|
1166 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1167 |
+ </div> |
|
1168 |
+ |
|
1169 |
+ |
|
1170 |
+ Made with |
|
1171 |
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> |
|
1172 |
+ Material for MkDocs |
|
1173 |
+ </a> |
|
1174 |
+ and |
|
1175 |
+ <a href="https://mkdocstrings.github.io/python/" target="_blank" rel="noopener"> |
|
1176 |
+ mkdocstrings-python |
|
1177 |
+ </a> |
|
1178 |
+ |
|
1179 |
+</div> |
|
1180 |
+ |
|
1181 |
+ </div> |
|
1182 |
+ </div> |
|
1183 |
+</footer> |
|
1184 |
+ |
|
1185 |
+ </div> |
|
1186 |
+ <div class="md-dialog" data-md-component="dialog"> |
|
1187 |
+ <div class="md-dialog__inner md-typeset"></div> |
|
1188 |
+ </div> |
|
1189 |
+ |
|
1190 |
+ |
|
1191 |
+ |
|
1192 |
+ |
|
1193 |
+ </body> |
|
1194 |
+</html> |
|
0 | 1195 |
\ No newline at end of file |
... | ... |
@@ -0,0 +1,1172 @@ |
1 |
+ |
|
2 |
+<!doctype html> |
|
3 |
+<html lang="en" class="no-js"> |
|
4 |
+ <head> |
|
5 |
+ |
|
6 |
+ <meta charset="utf-8"> |
|
7 |
+ <meta name="viewport" content="width=device-width,initial-scale=1"> |
|
8 |
+ |
|
9 |
+ <meta name="description" content="An almost faithful Python reimplementation of James Coglan's vault."> |
|
10 |
+ |
|
11 |
+ |
|
12 |
+ <meta name="author" content="Marco Ricci"> |
|
13 |
+ |
|
14 |
+ |
|
15 |
+ <link rel="canonical" href="https://the13thletter.info/derivepassphrase/0.x/explanation/"> |
|
16 |
+ |
|
17 |
+ |
|
18 |
+ <link rel="prev" href="../reference/prerequisites-ssh-key/"> |
|
19 |
+ |
|
20 |
+ |
|
21 |
+ <link rel="next" href="faq-altered-versions/"> |
|
22 |
+ |
|
23 |
+ |
|
24 |
+ <link rel="icon" href="../assets/images/favicon.png"> |
|
25 |
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.42"> |
|
26 |
+ |
|
27 |
+ |
|
28 |
+ |
|
29 |
+ <title>Explanation overview - derivepassphrase</title> |
|
30 |
+ |
|
31 |
+ |
|
32 |
+ |
|
33 |
+ <link rel="stylesheet" href="../assets/stylesheets/main.0253249f.min.css"> |
|
34 |
+ |
|
35 |
+ |
|
36 |
+ |
|
37 |
+ |
|
38 |
+ |
|
39 |
+ |
|
40 |
+ |
|
41 |
+ |
|
42 |
+ |
|
43 |
+ |
|
44 |
+ <style>:root{--md-text-font:"Noto Sans";--md-code-font:"Noto Mono"}</style> |
|
45 |
+ |
|
46 |
+ |
|
47 |
+ |
|
48 |
+ <link rel="stylesheet" href="../assets/_mkdocstrings.css"> |
|
49 |
+ |
|
50 |
+ <link rel="stylesheet" href="../mkdocstrings_recommended_styles.css"> |
|
51 |
+ |
|
52 |
+ |
|
53 |
+ |
|
54 |
+ |
|
55 |
+ |
|
56 |
+ </head> |
|
57 |
+ |
|
58 |
+ |
|
59 |
+ <body dir="ltr"> |
|
60 |
+ |
|
61 |
+ |
|
62 |
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off"> |
|
63 |
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off"> |
|
64 |
+ <label class="md-overlay" for="__drawer"></label> |
|
65 |
+ <div data-md-component="skip"> |
|
66 |
+ |
|
67 |
+ </div> |
|
68 |
+ <div data-md-component="announce"> |
|
69 |
+ |
|
70 |
+ </div> |
|
71 |
+ |
|
72 |
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden> |
|
73 |
+ |
|
74 |
+ </div> |
|
75 |
+ |
|
76 |
+ |
|
77 |
+ |
|
78 |
+ |
|
79 |
+ <div class="md-container" data-md-component="container"> |
|
80 |
+ |
|
81 |
+ |
|
82 |
+ |
|
83 |
+ |
|
84 |
+ |
|
85 |
+<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs"> |
|
86 |
+ <div class="md-grid"> |
|
87 |
+ <ul class="md-tabs__list"> |
|
88 |
+ |
|
89 |
+ |
|
90 |
+ |
|
91 |
+ |
|
92 |
+ |
|
93 |
+ <li class="md-tabs__item"> |
|
94 |
+ <a href=".." class="md-tabs__link"> |
|
95 |
+ |
|
96 |
+ |
|
97 |
+ |
|
98 |
+ |
|
99 |
+ Overview |
|
100 |
+ |
|
101 |
+ </a> |
|
102 |
+ </li> |
|
103 |
+ |
|
104 |
+ |
|
105 |
+ |
|
106 |
+ |
|
107 |
+ |
|
108 |
+ |
|
109 |
+ |
|
110 |
+ |
|
111 |
+ |
|
112 |
+ <li class="md-tabs__item"> |
|
113 |
+ <a href="../tutorials/" class="md-tabs__link"> |
|
114 |
+ |
|
115 |
+ |
|
116 |
+ |
|
117 |
+ |
|
118 |
+ Tutorials & Examples |
|
119 |
+ |
|
120 |
+ </a> |
|
121 |
+ </li> |
|
122 |
+ |
|
123 |
+ |
|
124 |
+ |
|
125 |
+ |
|
126 |
+ |
|
127 |
+ |
|
128 |
+ |
|
129 |
+ |
|
130 |
+ |
|
131 |
+ |
|
132 |
+ <li class="md-tabs__item"> |
|
133 |
+ <a href="../how-tos/" class="md-tabs__link"> |
|
134 |
+ |
|
135 |
+ |
|
136 |
+ |
|
137 |
+ |
|
138 |
+ How-Tos |
|
139 |
+ |
|
140 |
+ </a> |
|
141 |
+ </li> |
|
142 |
+ |
|
143 |
+ |
|
144 |
+ |
|
145 |
+ |
|
146 |
+ |
|
147 |
+ |
|
148 |
+ |
|
149 |
+ |
|
150 |
+ |
|
151 |
+ |
|
152 |
+ <li class="md-tabs__item"> |
|
153 |
+ <a href="../reference/" class="md-tabs__link"> |
|
154 |
+ |
|
155 |
+ |
|
156 |
+ |
|
157 |
+ |
|
158 |
+ Reference |
|
159 |
+ |
|
160 |
+ </a> |
|
161 |
+ </li> |
|
162 |
+ |
|
163 |
+ |
|
164 |
+ |
|
165 |
+ |
|
166 |
+ |
|
167 |
+ |
|
168 |
+ |
|
169 |
+ |
|
170 |
+ |
|
171 |
+ |
|
172 |
+ |
|
173 |
+ |
|
174 |
+ <li class="md-tabs__item md-tabs__item--active"> |
|
175 |
+ <a href="./" class="md-tabs__link"> |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ |
|
180 |
+ Design & Background |
|
181 |
+ |
|
182 |
+ </a> |
|
183 |
+ </li> |
|
184 |
+ |
|
185 |
+ |
|
186 |
+ |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ <li class="md-tabs__item"> |
|
193 |
+ <a href="../changelog/" class="md-tabs__link"> |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
197 |
+ |
|
198 |
+ Changelog |
|
199 |
+ |
|
200 |
+ </a> |
|
201 |
+ </li> |
|
202 |
+ |
|
203 |
+ |
|
204 |
+ |
|
205 |
+ </ul> |
|
206 |
+ </div> |
|
207 |
+</nav> |
|
208 |
+ |
|
209 |
+ |
|
210 |
+ |
|
211 |
+ <main class="md-main" data-md-component="main"> |
|
212 |
+ <div class="md-main__inner md-grid"> |
|
213 |
+ |
|
214 |
+ |
|
215 |
+ |
|
216 |
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" > |
|
217 |
+ <div class="md-sidebar__scrollwrap"> |
|
218 |
+ <div class="md-sidebar__inner"> |
|
219 |
+ |
|
220 |
+ |
|
221 |
+ |
|
222 |
+ |
|
223 |
+ |
|
224 |
+ |
|
225 |
+<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0"> |
|
226 |
+ <label class="md-nav__title" for="__drawer"> |
|
227 |
+ <a href=".." title="derivepassphrase" class="md-nav__button md-logo" aria-label="derivepassphrase" data-md-component="logo"> |
|
228 |
+ |
|
229 |
+ |
|
230 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> |
|
231 |
+ |
|
232 |
+ </a> |
|
233 |
+ derivepassphrase |
|
234 |
+ </label> |
|
235 |
+ |
|
236 |
+ <div class="md-nav__source"> |
|
237 |
+ <a href="https://github.com/the-13th-letter/derivepassphrase" title="Go to repository" class="md-source" data-md-component="source"> |
|
238 |
+ <div class="md-source__icon md-icon"> |
|
239 |
+ |
|
240 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg> |
|
241 |
+ </div> |
|
242 |
+ <div class="md-source__repository"> |
|
243 |
+ the-13th-letter/derivepassphrase |
|
244 |
+ </div> |
|
245 |
+</a> |
|
246 |
+ </div> |
|
247 |
+ |
|
248 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
249 |
+ |
|
250 |
+ |
|
251 |
+ |
|
252 |
+ |
|
253 |
+ |
|
254 |
+ |
|
255 |
+ |
|
256 |
+ <li class="md-nav__item"> |
|
257 |
+ <a href=".." class="md-nav__link"> |
|
258 |
+ |
|
259 |
+ |
|
260 |
+ <span class="md-ellipsis"> |
|
261 |
+ Overview |
|
262 |
+ </span> |
|
263 |
+ |
|
264 |
+ |
|
265 |
+ </a> |
|
266 |
+ </li> |
|
267 |
+ |
|
268 |
+ |
|
269 |
+ |
|
270 |
+ |
|
271 |
+ |
|
272 |
+ |
|
273 |
+ |
|
274 |
+ |
|
275 |
+ |
|
276 |
+ |
|
277 |
+ |
|
278 |
+ |
|
279 |
+ |
|
280 |
+ |
|
281 |
+ |
|
282 |
+ |
|
283 |
+ |
|
284 |
+ |
|
285 |
+ |
|
286 |
+ |
|
287 |
+ |
|
288 |
+ |
|
289 |
+ |
|
290 |
+ |
|
291 |
+ |
|
292 |
+ |
|
293 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
294 |
+ |
|
295 |
+ |
|
296 |
+ |
|
297 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" > |
|
298 |
+ |
|
299 |
+ |
|
300 |
+ |
|
301 |
+ <div class="md-nav__link md-nav__container"> |
|
302 |
+ <a href="../tutorials/" class="md-nav__link "> |
|
303 |
+ |
|
304 |
+ |
|
305 |
+ <span class="md-ellipsis"> |
|
306 |
+ Tutorials & Examples |
|
307 |
+ </span> |
|
308 |
+ |
|
309 |
+ |
|
310 |
+ </a> |
|
311 |
+ |
|
312 |
+ |
|
313 |
+ <label class="md-nav__link " for="__nav_2" id="__nav_2_label" tabindex="0"> |
|
314 |
+ <span class="md-nav__icon md-icon"></span> |
|
315 |
+ </label> |
|
316 |
+ |
|
317 |
+ </div> |
|
318 |
+ |
|
319 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false"> |
|
320 |
+ <label class="md-nav__title" for="__nav_2"> |
|
321 |
+ <span class="md-nav__icon md-icon"></span> |
|
322 |
+ Tutorials & Examples |
|
323 |
+ </label> |
|
324 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
325 |
+ |
|
326 |
+ |
|
327 |
+ |
|
328 |
+ |
|
329 |
+ |
|
330 |
+ |
|
331 |
+ |
|
332 |
+ |
|
333 |
+ |
|
334 |
+ <li class="md-nav__item"> |
|
335 |
+ <a href="../tutorials/basic-setup-passphrase/" class="md-nav__link"> |
|
336 |
+ |
|
337 |
+ |
|
338 |
+ <span class="md-ellipsis"> |
|
339 |
+ Setting up derivepassphrase vault for three accounts, with a master passphrase |
|
340 |
+ </span> |
|
341 |
+ |
|
342 |
+ |
|
343 |
+ </a> |
|
344 |
+ </li> |
|
345 |
+ |
|
346 |
+ |
|
347 |
+ |
|
348 |
+ |
|
349 |
+ </ul> |
|
350 |
+ </nav> |
|
351 |
+ |
|
352 |
+ </li> |
|
353 |
+ |
|
354 |
+ |
|
355 |
+ |
|
356 |
+ |
|
357 |
+ |
|
358 |
+ |
|
359 |
+ |
|
360 |
+ |
|
361 |
+ |
|
362 |
+ |
|
363 |
+ |
|
364 |
+ |
|
365 |
+ |
|
366 |
+ |
|
367 |
+ |
|
368 |
+ |
|
369 |
+ |
|
370 |
+ |
|
371 |
+ |
|
372 |
+ |
|
373 |
+ |
|
374 |
+ |
|
375 |
+ |
|
376 |
+ |
|
377 |
+ |
|
378 |
+ |
|
379 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
380 |
+ |
|
381 |
+ |
|
382 |
+ |
|
383 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" > |
|
384 |
+ |
|
385 |
+ |
|
386 |
+ |
|
387 |
+ <div class="md-nav__link md-nav__container"> |
|
388 |
+ <a href="../how-tos/" class="md-nav__link "> |
|
389 |
+ |
|
390 |
+ |
|
391 |
+ <span class="md-ellipsis"> |
|
392 |
+ How-Tos |
|
393 |
+ </span> |
|
394 |
+ |
|
395 |
+ |
|
396 |
+ </a> |
|
397 |
+ |
|
398 |
+ |
|
399 |
+ <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0"> |
|
400 |
+ <span class="md-nav__icon md-icon"></span> |
|
401 |
+ </label> |
|
402 |
+ |
|
403 |
+ </div> |
|
404 |
+ |
|
405 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false"> |
|
406 |
+ <label class="md-nav__title" for="__nav_3"> |
|
407 |
+ <span class="md-nav__icon md-icon"></span> |
|
408 |
+ How-Tos |
|
409 |
+ </label> |
|
410 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
411 |
+ |
|
412 |
+ |
|
413 |
+ |
|
414 |
+ |
|
415 |
+ |
|
416 |
+ |
|
417 |
+ |
|
418 |
+ |
|
419 |
+ |
|
420 |
+ <li class="md-nav__item"> |
|
421 |
+ <a href="../how-tos/ssh-key/" class="md-nav__link"> |
|
422 |
+ |
|
423 |
+ |
|
424 |
+ <span class="md-ellipsis"> |
|
425 |
+ How to set up derivepassphrase vault with an SSH key |
|
426 |
+ </span> |
|
427 |
+ |
|
428 |
+ |
|
429 |
+ </a> |
|
430 |
+ </li> |
|
431 |
+ |
|
432 |
+ |
|
433 |
+ |
|
434 |
+ |
|
435 |
+ </ul> |
|
436 |
+ </nav> |
|
437 |
+ |
|
438 |
+ </li> |
|
439 |
+ |
|
440 |
+ |
|
441 |
+ |
|
442 |
+ |
|
443 |
+ |
|
444 |
+ |
|
445 |
+ |
|
446 |
+ |
|
447 |
+ |
|
448 |
+ |
|
449 |
+ |
|
450 |
+ |
|
451 |
+ |
|
452 |
+ |
|
453 |
+ |
|
454 |
+ |
|
455 |
+ |
|
456 |
+ |
|
457 |
+ |
|
458 |
+ |
|
459 |
+ |
|
460 |
+ |
|
461 |
+ |
|
462 |
+ |
|
463 |
+ |
|
464 |
+ |
|
465 |
+ |
|
466 |
+ |
|
467 |
+ |
|
468 |
+ |
|
469 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
470 |
+ |
|
471 |
+ |
|
472 |
+ |
|
473 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" > |
|
474 |
+ |
|
475 |
+ |
|
476 |
+ |
|
477 |
+ <div class="md-nav__link md-nav__container"> |
|
478 |
+ <a href="../reference/" class="md-nav__link "> |
|
479 |
+ |
|
480 |
+ |
|
481 |
+ <span class="md-ellipsis"> |
|
482 |
+ Reference |
|
483 |
+ </span> |
|
484 |
+ |
|
485 |
+ |
|
486 |
+ </a> |
|
487 |
+ |
|
488 |
+ |
|
489 |
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0"> |
|
490 |
+ <span class="md-nav__icon md-icon"></span> |
|
491 |
+ </label> |
|
492 |
+ |
|
493 |
+ </div> |
|
494 |
+ |
|
495 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false"> |
|
496 |
+ <label class="md-nav__title" for="__nav_4"> |
|
497 |
+ <span class="md-nav__icon md-icon"></span> |
|
498 |
+ Reference |
|
499 |
+ </label> |
|
500 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
501 |
+ |
|
502 |
+ |
|
503 |
+ |
|
504 |
+ |
|
505 |
+ |
|
506 |
+ |
|
507 |
+ |
|
508 |
+ |
|
509 |
+ |
|
510 |
+ |
|
511 |
+ |
|
512 |
+ |
|
513 |
+ |
|
514 |
+ |
|
515 |
+ |
|
516 |
+ |
|
517 |
+ |
|
518 |
+ |
|
519 |
+ |
|
520 |
+ |
|
521 |
+ |
|
522 |
+ |
|
523 |
+ |
|
524 |
+ |
|
525 |
+ |
|
526 |
+ |
|
527 |
+ |
|
528 |
+ |
|
529 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
530 |
+ |
|
531 |
+ |
|
532 |
+ |
|
533 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" > |
|
534 |
+ |
|
535 |
+ |
|
536 |
+ <label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0"> |
|
537 |
+ |
|
538 |
+ |
|
539 |
+ <span class="md-ellipsis"> |
|
540 |
+ Man pages |
|
541 |
+ </span> |
|
542 |
+ |
|
543 |
+ |
|
544 |
+ <span class="md-nav__icon md-icon"></span> |
|
545 |
+ </label> |
|
546 |
+ |
|
547 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false"> |
|
548 |
+ <label class="md-nav__title" for="__nav_4_2"> |
|
549 |
+ <span class="md-nav__icon md-icon"></span> |
|
550 |
+ Man pages |
|
551 |
+ </label> |
|
552 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
553 |
+ |
|
554 |
+ |
|
555 |
+ |
|
556 |
+ |
|
557 |
+ |
|
558 |
+ |
|
559 |
+ |
|
560 |
+ <li class="md-nav__item"> |
|
561 |
+ <a href="../reference/derivepassphrase.1/" class="md-nav__link"> |
|
562 |
+ |
|
563 |
+ |
|
564 |
+ <span class="md-ellipsis"> |
|
565 |
+ derivepassphrase(1) |
|
566 |
+ </span> |
|
567 |
+ |
|
568 |
+ |
|
569 |
+ </a> |
|
570 |
+ </li> |
|
571 |
+ |
|
572 |
+ |
|
573 |
+ |
|
574 |
+ |
|
575 |
+ |
|
576 |
+ |
|
577 |
+ |
|
578 |
+ |
|
579 |
+ |
|
580 |
+ |
|
581 |
+ <li class="md-nav__item"> |
|
582 |
+ <a href="../reference/derivepassphrase-vault.1/" class="md-nav__link"> |
|
583 |
+ |
|
584 |
+ |
|
585 |
+ <span class="md-ellipsis"> |
|
586 |
+ derivepassphrase-vault(1) |
|
587 |
+ </span> |
|
588 |
+ |
|
589 |
+ |
|
590 |
+ </a> |
|
591 |
+ </li> |
|
592 |
+ |
|
593 |
+ |
|
594 |
+ |
|
595 |
+ |
|
596 |
+ |
|
597 |
+ |
|
598 |
+ |
|
599 |
+ |
|
600 |
+ |
|
601 |
+ |
|
602 |
+ <li class="md-nav__item"> |
|
603 |
+ <a href="../reference/derivepassphrase-export.1/" class="md-nav__link"> |
|
604 |
+ |
|
605 |
+ |
|
606 |
+ <span class="md-ellipsis"> |
|
607 |
+ derivepassphrase-export(1) |
|
608 |
+ </span> |
|
609 |
+ |
|
610 |
+ |
|
611 |
+ </a> |
|
612 |
+ </li> |
|
613 |
+ |
|
614 |
+ |
|
615 |
+ |
|
616 |
+ |
|
617 |
+ |
|
618 |
+ |
|
619 |
+ |
|
620 |
+ |
|
621 |
+ |
|
622 |
+ |
|
623 |
+ <li class="md-nav__item"> |
|
624 |
+ <a href="../reference/derivepassphrase-export-vault.1/" class="md-nav__link"> |
|
625 |
+ |
|
626 |
+ |
|
627 |
+ <span class="md-ellipsis"> |
|
628 |
+ derivepassphrase-export-vault(1) |
|
629 |
+ </span> |
|
630 |
+ |
|
631 |
+ |
|
632 |
+ </a> |
|
633 |
+ </li> |
|
634 |
+ |
|
635 |
+ |
|
636 |
+ |
|
637 |
+ |
|
638 |
+ </ul> |
|
639 |
+ </nav> |
|
640 |
+ |
|
641 |
+ </li> |
|
642 |
+ |
|
643 |
+ |
|
644 |
+ |
|
645 |
+ |
|
646 |
+ |
|
647 |
+ |
|
648 |
+ |
|
649 |
+ |
|
650 |
+ |
|
651 |
+ |
|
652 |
+ |
|
653 |
+ |
|
654 |
+ |
|
655 |
+ |
|
656 |
+ |
|
657 |
+ |
|
658 |
+ |
|
659 |
+ |
|
660 |
+ |
|
661 |
+ |
|
662 |
+ |
|
663 |
+ |
|
664 |
+ |
|
665 |
+ |
|
666 |
+ |
|
667 |
+ |
|
668 |
+ |
|
669 |
+ |
|
670 |
+ |
|
671 |
+ |
|
672 |
+ |
|
673 |
+ |
|
674 |
+ |
|
675 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
676 |
+ |
|
677 |
+ |
|
678 |
+ |
|
679 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" > |
|
680 |
+ |
|
681 |
+ |
|
682 |
+ <label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0"> |
|
683 |
+ |
|
684 |
+ |
|
685 |
+ <span class="md-ellipsis"> |
|
686 |
+ API docs: Module derivepassphrase |
|
687 |
+ </span> |
|
688 |
+ |
|
689 |
+ |
|
690 |
+ <span class="md-nav__icon md-icon"></span> |
|
691 |
+ </label> |
|
692 |
+ |
|
693 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false"> |
|
694 |
+ <label class="md-nav__title" for="__nav_4_3"> |
|
695 |
+ <span class="md-nav__icon md-icon"></span> |
|
696 |
+ API docs: Module derivepassphrase |
|
697 |
+ </label> |
|
698 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
699 |
+ |
|
700 |
+ |
|
701 |
+ |
|
702 |
+ |
|
703 |
+ |
|
704 |
+ |
|
705 |
+ |
|
706 |
+ <li class="md-nav__item"> |
|
707 |
+ <a href="../reference/derivepassphrase.cli/" class="md-nav__link"> |
|
708 |
+ |
|
709 |
+ |
|
710 |
+ <span class="md-ellipsis"> |
|
711 |
+ Submodule cli |
|
712 |
+ </span> |
|
713 |
+ |
|
714 |
+ |
|
715 |
+ </a> |
|
716 |
+ </li> |
|
717 |
+ |
|
718 |
+ |
|
719 |
+ |
|
720 |
+ |
|
721 |
+ |
|
722 |
+ |
|
723 |
+ |
|
724 |
+ |
|
725 |
+ |
|
726 |
+ |
|
727 |
+ <li class="md-nav__item"> |
|
728 |
+ <a href="../reference/derivepassphrase.exporter/" class="md-nav__link"> |
|
729 |
+ |
|
730 |
+ |
|
731 |
+ <span class="md-ellipsis"> |
|
732 |
+ Subpackage exporter |
|
733 |
+ </span> |
|
734 |
+ |
|
735 |
+ |
|
736 |
+ </a> |
|
737 |
+ </li> |
|
738 |
+ |
|
739 |
+ |
|
740 |
+ |
|
741 |
+ |
|
742 |
+ |
|
743 |
+ |
|
744 |
+ |
|
745 |
+ |
|
746 |
+ |
|
747 |
+ |
|
748 |
+ <li class="md-nav__item"> |
|
749 |
+ <a href="../reference/derivepassphrase.sequin/" class="md-nav__link"> |
|
750 |
+ |
|
751 |
+ |
|
752 |
+ <span class="md-ellipsis"> |
|
753 |
+ Submodule sequin |
|
754 |
+ </span> |
|
755 |
+ |
|
756 |
+ |
|
757 |
+ </a> |
|
758 |
+ </li> |
|
759 |
+ |
|
760 |
+ |
|
761 |
+ |
|
762 |
+ |
|
763 |
+ |
|
764 |
+ |
|
765 |
+ |
|
766 |
+ |
|
767 |
+ |
|
768 |
+ |
|
769 |
+ <li class="md-nav__item"> |
|
770 |
+ <a href="../reference/derivepassphrase.ssh_agent/" class="md-nav__link"> |
|
771 |
+ |
|
772 |
+ |
|
773 |
+ <span class="md-ellipsis"> |
|
774 |
+ Submodule ssh_agent |
|
775 |
+ </span> |
|
776 |
+ |
|
777 |
+ |
|
778 |
+ </a> |
|
779 |
+ </li> |
|
780 |
+ |
|
781 |
+ |
|
782 |
+ |
|
783 |
+ |
|
784 |
+ |
|
785 |
+ |
|
786 |
+ |
|
787 |
+ |
|
788 |
+ |
|
789 |
+ |
|
790 |
+ <li class="md-nav__item"> |
|
791 |
+ <a href="../reference/derivepassphrase._types/" class="md-nav__link"> |
|
792 |
+ |
|
793 |
+ |
|
794 |
+ <span class="md-ellipsis"> |
|
795 |
+ Submodule _types |
|
796 |
+ </span> |
|
797 |
+ |
|
798 |
+ |
|
799 |
+ </a> |
|
800 |
+ </li> |
|
801 |
+ |
|
802 |
+ |
|
803 |
+ |
|
804 |
+ |
|
805 |
+ |
|
806 |
+ |
|
807 |
+ |
|
808 |
+ |
|
809 |
+ |
|
810 |
+ |
|
811 |
+ <li class="md-nav__item"> |
|
812 |
+ <a href="../reference/derivepassphrase.vault/" class="md-nav__link"> |
|
813 |
+ |
|
814 |
+ |
|
815 |
+ <span class="md-ellipsis"> |
|
816 |
+ Submodule vault |
|
817 |
+ </span> |
|
818 |
+ |
|
819 |
+ |
|
820 |
+ </a> |
|
821 |
+ </li> |
|
822 |
+ |
|
823 |
+ |
|
824 |
+ |
|
825 |
+ |
|
826 |
+ </ul> |
|
827 |
+ </nav> |
|
828 |
+ |
|
829 |
+ </li> |
|
830 |
+ |
|
831 |
+ |
|
832 |
+ |
|
833 |
+ |
|
834 |
+ |
|
835 |
+ |
|
836 |
+ |
|
837 |
+ |
|
838 |
+ |
|
839 |
+ |
|
840 |
+ |
|
841 |
+ |
|
842 |
+ |
|
843 |
+ |
|
844 |
+ |
|
845 |
+ |
|
846 |
+ |
|
847 |
+ |
|
848 |
+ |
|
849 |
+ |
|
850 |
+ |
|
851 |
+ |
|
852 |
+ |
|
853 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
854 |
+ |
|
855 |
+ |
|
856 |
+ |
|
857 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" > |
|
858 |
+ |
|
859 |
+ |
|
860 |
+ <label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0"> |
|
861 |
+ |
|
862 |
+ |
|
863 |
+ <span class="md-ellipsis"> |
|
864 |
+ Technical prerequisites |
|
865 |
+ </span> |
|
866 |
+ |
|
867 |
+ |
|
868 |
+ <span class="md-nav__icon md-icon"></span> |
|
869 |
+ </label> |
|
870 |
+ |
|
871 |
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false"> |
|
872 |
+ <label class="md-nav__title" for="__nav_4_4"> |
|
873 |
+ <span class="md-nav__icon md-icon"></span> |
|
874 |
+ Technical prerequisites |
|
875 |
+ </label> |
|
876 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
877 |
+ |
|
878 |
+ |
|
879 |
+ |
|
880 |
+ |
|
881 |
+ |
|
882 |
+ |
|
883 |
+ |
|
884 |
+ <li class="md-nav__item"> |
|
885 |
+ <a href="../reference/prerequisites-ssh-key/" class="md-nav__link"> |
|
886 |
+ |
|
887 |
+ |
|
888 |
+ <span class="md-ellipsis"> |
|
889 |
+ Using derivepassphrase vault with an SSH key |
|
890 |
+ </span> |
|
891 |
+ |
|
892 |
+ |
|
893 |
+ </a> |
|
894 |
+ </li> |
|
895 |
+ |
|
896 |
+ |
|
897 |
+ |
|
898 |
+ |
|
899 |
+ </ul> |
|
900 |
+ </nav> |
|
901 |
+ |
|
902 |
+ </li> |
|
903 |
+ |
|
904 |
+ |
|
905 |
+ |
|
906 |
+ |
|
907 |
+ </ul> |
|
908 |
+ </nav> |
|
909 |
+ |
|
910 |
+ </li> |
|
911 |
+ |
|
912 |
+ |
|
913 |
+ |
|
914 |
+ |
|
915 |
+ |
|
916 |
+ |
|
917 |
+ |
|
918 |
+ |
|
919 |
+ |
|
920 |
+ |
|
921 |
+ |
|
922 |
+ |
|
923 |
+ |
|
924 |
+ |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ |
|
942 |
+ <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> |
|
943 |
+ |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked> |
|
947 |
+ |
|
948 |
+ |
|
949 |
+ |
|
950 |
+ <div class="md-nav__link md-nav__container"> |
|
951 |
+ <a href="./" class="md-nav__link md-nav__link--active"> |
|
952 |
+ |
|
953 |
+ |
|
954 |
+ <span class="md-ellipsis"> |
|
955 |
+ Design & Background |
|
956 |
+ </span> |
|
957 |
+ |
|
958 |
+ |
|
959 |
+ </a> |
|
960 |
+ |
|
961 |
+ |
|
962 |
+ <label class="md-nav__link md-nav__link--active" for="__nav_5" id="__nav_5_label" tabindex=""> |
|
963 |
+ <span class="md-nav__icon md-icon"></span> |
|
964 |
+ </label> |
|
965 |
+ |
|
966 |
+ </div> |
|
967 |
+ |
|
968 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true"> |
|
969 |
+ <label class="md-nav__title" for="__nav_5"> |
|
970 |
+ <span class="md-nav__icon md-icon"></span> |
|
971 |
+ Design & Background |
|
972 |
+ </label> |
|
973 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ |
|
977 |
+ |
|
978 |
+ |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ |
|
982 |
+ |
|
983 |
+ <li class="md-nav__item"> |
|
984 |
+ <a href="faq-altered-versions/" class="md-nav__link"> |
|
985 |
+ |
|
986 |
+ |
|
987 |
+ <span class="md-ellipsis"> |
|
988 |
+ "altered versions" license requirement |
|
989 |
+ </span> |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ </a> |
|
993 |
+ </li> |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ </ul> |
|
999 |
+ </nav> |
|
1000 |
+ |
|
1001 |
+ </li> |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ |
|
1007 |
+ |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
1011 |
+ <li class="md-nav__item"> |
|
1012 |
+ <a href="../changelog/" class="md-nav__link"> |
|
1013 |
+ |
|
1014 |
+ |
|
1015 |
+ <span class="md-ellipsis"> |
|
1016 |
+ Changelog |
|
1017 |
+ </span> |
|
1018 |
+ |
|
1019 |
+ |
|
1020 |
+ </a> |
|
1021 |
+ </li> |
|
1022 |
+ |
|
1023 |
+ |
|
1024 |
+ |
|
1025 |
+ </ul> |
|
1026 |
+</nav> |
|
1027 |
+ </div> |
|
1028 |
+ </div> |
|
1029 |
+ </div> |
|
1030 |
+ |
|
1031 |
+ |
|
1032 |
+ |
|
1033 |
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > |
|
1034 |
+ <div class="md-sidebar__scrollwrap"> |
|
1035 |
+ <div class="md-sidebar__inner"> |
|
1036 |
+ |
|
1037 |
+ |
|
1038 |
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ |
|
1043 |
+</nav> |
|
1044 |
+ </div> |
|
1045 |
+ </div> |
|
1046 |
+ </div> |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ <div class="md-content" data-md-component="content"> |
|
1051 |
+ <article class="md-content__inner md-typeset"> |
|
1052 |
+ |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ <a href="https://github.com/the-13th-letter/derivepassphrase/raw/master/docs/explanation/index.md" title="View source of this page" class="md-content__button md-icon"> |
|
1061 |
+ |
|
1062 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> |
|
1063 |
+ </a> |
|
1064 |
+ |
|
1065 |
+ |
|
1066 |
+ |
|
1067 |
+ <h1>Explanation overview</h1> |
|
1068 |
+ |
|
1069 |
+<ul> |
|
1070 |
+<li><a href="faq-altered-versions/">How to comply with the “altered versions” clause of the |
|
1071 |
+ license</a></li> |
|
1072 |
+</ul> |
|
1073 |
+ |
|
1074 |
+ |
|
1075 |
+ |
|
1076 |
+ |
|
1077 |
+ |
|
1078 |
+ |
|
1079 |
+ |
|
1080 |
+ |
|
1081 |
+ |
|
1082 |
+ |
|
1083 |
+ |
|
1084 |
+ |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ </article> |
|
1090 |
+ </div> |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ </div> |
|
1094 |
+ |
|
1095 |
+ </main> |
|
1096 |
+ |
|
1097 |
+ <footer class="md-footer"> |
|
1098 |
+ |
|
1099 |
+ |
|
1100 |
+ |
|
1101 |
+ <nav class="md-footer__inner md-grid" aria-label="Footer" > |
|
1102 |
+ |
|
1103 |
+ |
|
1104 |
+ <a href="../reference/prerequisites-ssh-key/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Using derivepassphrase vault with an SSH key"> |
|
1105 |
+ <div class="md-footer__button md-icon"> |
|
1106 |
+ |
|
1107 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> |
|
1108 |
+ </div> |
|
1109 |
+ <div class="md-footer__title"> |
|
1110 |
+ <span class="md-footer__direction"> |
|
1111 |
+ Previous |
|
1112 |
+ </span> |
|
1113 |
+ <div class="md-ellipsis"> |
|
1114 |
+ Using derivepassphrase vault with an SSH key |
|
1115 |
+ </div> |
|
1116 |
+ </div> |
|
1117 |
+ </a> |
|
1118 |
+ |
|
1119 |
+ |
|
1120 |
+ |
|
1121 |
+ <a href="faq-altered-versions/" class="md-footer__link md-footer__link--next" aria-label="Next: "altered versions" license requirement"> |
|
1122 |
+ <div class="md-footer__title"> |
|
1123 |
+ <span class="md-footer__direction"> |
|
1124 |
+ Next |
|
1125 |
+ </span> |
|
1126 |
+ <div class="md-ellipsis"> |
|
1127 |
+ "altered versions" license requirement |
|
1128 |
+ </div> |
|
1129 |
+ </div> |
|
1130 |
+ <div class="md-footer__button md-icon"> |
|
1131 |
+ |
|
1132 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg> |
|
1133 |
+ </div> |
|
1134 |
+ </a> |
|
1135 |
+ |
|
1136 |
+ </nav> |
|
1137 |
+ |
|
1138 |
+ |
|
1139 |
+ <div class="md-footer-meta md-typeset"> |
|
1140 |
+ <div class="md-footer-meta__inner md-grid"> |
|
1141 |
+ <div class="md-copyright"> |
|
1142 |
+ |
|
1143 |
+ <div class="md-copyright__highlight"> |
|
1144 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1145 |
+ </div> |
|
1146 |
+ |
|
1147 |
+ |
|
1148 |
+ Made with |
|
1149 |
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener"> |
|
1150 |
+ Material for MkDocs |
|
1151 |
+ </a> |
|
1152 |
+ and |
|
1153 |
+ <a href="https://mkdocstrings.github.io/python/" target="_blank" rel="noopener"> |
|
1154 |
+ mkdocstrings-python |
|
1155 |
+ </a> |
|
1156 |
+ |
|
1157 |
+</div> |
|
1158 |
+ |
|
1159 |
+ </div> |
|
1160 |
+ </div> |
|
1161 |
+</footer> |
|
1162 |
+ |
|
1163 |
+ </div> |
|
1164 |
+ <div class="md-dialog" data-md-component="dialog"> |
|
1165 |
+ <div class="md-dialog__inner md-typeset"></div> |
|
1166 |
+ </div> |
|
1167 |
+ |
|
1168 |
+ |
|
1169 |
+ |
|
1170 |
+ |
|
1171 |
+ </body> |
|
1172 |
+</html> |
|
0 | 1173 |
\ No newline at end of file |
... | ... |
@@ -169,6 +169,26 @@ |
169 | 169 |
|
170 | 170 |
|
171 | 171 |
|
172 |
+ |
|
173 |
+ |
|
174 |
+ <li class="md-tabs__item"> |
|
175 |
+ <a href="../explanation/" class="md-tabs__link"> |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ |
|
180 |
+ Design & Background |
|
181 |
+ |
|
182 |
+ </a> |
|
183 |
+ </li> |
|
184 |
+ |
|
185 |
+ |
|
186 |
+ |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
172 | 192 |
<li class="md-tabs__item"> |
173 | 193 |
<a href="../changelog/" class="md-tabs__link"> |
174 | 194 |
|
... | ... |
@@ -902,6 +922,92 @@ |
902 | 922 |
|
903 | 923 |
|
904 | 924 |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ |
|
942 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
943 |
+ |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
947 |
+ |
|
948 |
+ |
|
949 |
+ |
|
950 |
+ <div class="md-nav__link md-nav__container"> |
|
951 |
+ <a href="../explanation/" class="md-nav__link "> |
|
952 |
+ |
|
953 |
+ |
|
954 |
+ <span class="md-ellipsis"> |
|
955 |
+ Design & Background |
|
956 |
+ </span> |
|
957 |
+ |
|
958 |
+ |
|
959 |
+ </a> |
|
960 |
+ |
|
961 |
+ |
|
962 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
963 |
+ <span class="md-nav__icon md-icon"></span> |
|
964 |
+ </label> |
|
965 |
+ |
|
966 |
+ </div> |
|
967 |
+ |
|
968 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
969 |
+ <label class="md-nav__title" for="__nav_5"> |
|
970 |
+ <span class="md-nav__icon md-icon"></span> |
|
971 |
+ Design & Background |
|
972 |
+ </label> |
|
973 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ |
|
977 |
+ |
|
978 |
+ |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ |
|
982 |
+ |
|
983 |
+ <li class="md-nav__item"> |
|
984 |
+ <a href="../explanation/faq-altered-versions/" class="md-nav__link"> |
|
985 |
+ |
|
986 |
+ |
|
987 |
+ <span class="md-ellipsis"> |
|
988 |
+ "altered versions" license requirement |
|
989 |
+ </span> |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ </a> |
|
993 |
+ </li> |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ </ul> |
|
999 |
+ </nav> |
|
1000 |
+ |
|
1001 |
+ </li> |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ |
|
1007 |
+ |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
905 | 1011 |
<li class="md-nav__item"> |
906 | 1012 |
<a href="../changelog/" class="md-nav__link"> |
907 | 1013 |
|
... | ... |
@@ -1034,7 +1140,7 @@ |
1034 | 1140 |
<div class="md-copyright"> |
1035 | 1141 |
|
1036 | 1142 |
<div class="md-copyright__highlight"> |
1037 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1143 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1038 | 1144 |
</div> |
1039 | 1145 |
|
1040 | 1146 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -965,6 +985,92 @@ |
965 | 985 |
|
966 | 986 |
|
967 | 987 |
|
988 |
+ |
|
989 |
+ |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ |
|
993 |
+ |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ |
|
999 |
+ |
|
1000 |
+ |
|
1001 |
+ |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
1005 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1006 |
+ |
|
1007 |
+ |
|
1008 |
+ |
|
1009 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1010 |
+ |
|
1011 |
+ |
|
1012 |
+ |
|
1013 |
+ <div class="md-nav__link md-nav__container"> |
|
1014 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1015 |
+ |
|
1016 |
+ |
|
1017 |
+ <span class="md-ellipsis"> |
|
1018 |
+ Design & Background |
|
1019 |
+ </span> |
|
1020 |
+ |
|
1021 |
+ |
|
1022 |
+ </a> |
|
1023 |
+ |
|
1024 |
+ |
|
1025 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1026 |
+ <span class="md-nav__icon md-icon"></span> |
|
1027 |
+ </label> |
|
1028 |
+ |
|
1029 |
+ </div> |
|
1030 |
+ |
|
1031 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1032 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1033 |
+ <span class="md-nav__icon md-icon"></span> |
|
1034 |
+ Design & Background |
|
1035 |
+ </label> |
|
1036 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1037 |
+ |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ <li class="md-nav__item"> |
|
1047 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ <span class="md-ellipsis"> |
|
1051 |
+ "altered versions" license requirement |
|
1052 |
+ </span> |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ </a> |
|
1056 |
+ </li> |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ |
|
1061 |
+ </ul> |
|
1062 |
+ </nav> |
|
1063 |
+ |
|
1064 |
+ </li> |
|
1065 |
+ |
|
1066 |
+ |
|
1067 |
+ |
|
1068 |
+ |
|
1069 |
+ |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ |
|
1073 |
+ |
|
968 | 1074 |
<li class="md-nav__item"> |
969 | 1075 |
<a href="../../changelog/" class="md-nav__link"> |
970 | 1076 |
|
... | ... |
@@ -1214,7 +1320,7 @@ section “Should I use one master SSH key, or many keys?” (TODO)</p> |
1214 | 1320 |
<div class="md-copyright"> |
1215 | 1321 |
|
1216 | 1322 |
<div class="md-copyright__highlight"> |
1217 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1323 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1218 | 1324 |
</div> |
1219 | 1325 |
|
1220 | 1326 |
|
... | ... |
@@ -172,6 +172,26 @@ |
172 | 172 |
|
173 | 173 |
|
174 | 174 |
|
175 |
+ |
|
176 |
+ |
|
177 |
+ <li class="md-tabs__item"> |
|
178 |
+ <a href="explanation/" class="md-tabs__link"> |
|
179 |
+ |
|
180 |
+ |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ Design & Background |
|
184 |
+ |
|
185 |
+ </a> |
|
186 |
+ </li> |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
175 | 195 |
<li class="md-tabs__item"> |
176 | 196 |
<a href="changelog/" class="md-tabs__link"> |
177 | 197 |
|
... | ... |
@@ -1015,6 +1035,92 @@ |
1015 | 1035 |
|
1016 | 1036 |
|
1017 | 1037 |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ |
|
1051 |
+ |
|
1052 |
+ |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1056 |
+ |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1060 |
+ |
|
1061 |
+ |
|
1062 |
+ |
|
1063 |
+ <div class="md-nav__link md-nav__container"> |
|
1064 |
+ <a href="explanation/" class="md-nav__link "> |
|
1065 |
+ |
|
1066 |
+ |
|
1067 |
+ <span class="md-ellipsis"> |
|
1068 |
+ Design & Background |
|
1069 |
+ </span> |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ </a> |
|
1073 |
+ |
|
1074 |
+ |
|
1075 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1076 |
+ <span class="md-nav__icon md-icon"></span> |
|
1077 |
+ </label> |
|
1078 |
+ |
|
1079 |
+ </div> |
|
1080 |
+ |
|
1081 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1082 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1083 |
+ <span class="md-nav__icon md-icon"></span> |
|
1084 |
+ Design & Background |
|
1085 |
+ </label> |
|
1086 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ |
|
1094 |
+ |
|
1095 |
+ |
|
1096 |
+ <li class="md-nav__item"> |
|
1097 |
+ <a href="explanation/faq-altered-versions/" class="md-nav__link"> |
|
1098 |
+ |
|
1099 |
+ |
|
1100 |
+ <span class="md-ellipsis"> |
|
1101 |
+ "altered versions" license requirement |
|
1102 |
+ </span> |
|
1103 |
+ |
|
1104 |
+ |
|
1105 |
+ </a> |
|
1106 |
+ </li> |
|
1107 |
+ |
|
1108 |
+ |
|
1109 |
+ |
|
1110 |
+ |
|
1111 |
+ </ul> |
|
1112 |
+ </nav> |
|
1113 |
+ |
|
1114 |
+ </li> |
|
1115 |
+ |
|
1116 |
+ |
|
1117 |
+ |
|
1118 |
+ |
|
1119 |
+ |
|
1120 |
+ |
|
1121 |
+ |
|
1122 |
+ |
|
1123 |
+ |
|
1018 | 1124 |
<li class="md-nav__item"> |
1019 | 1125 |
<a href="changelog/" class="md-nav__link"> |
1020 | 1126 |
|
... | ... |
@@ -1219,7 +1325,7 @@ This choice can be made either specifically for the service (in this case, <code |
1219 | 1325 |
<span class="go">oXDGCvMhLWPQyCzYtaobOq2Wh9olYj</span> |
1220 | 1326 |
</code></pre></div> |
1221 | 1327 |
<h2 id="license">License<a class="headerlink" href="#license" title="Permanent link">¶</a></h2> |
1222 |
-<p><code>derivepassphrase</code> is distributed under the terms of the <a href="https://spdx.org/licenses/MIT.html">MIT</a> license.</p> |
|
1328 |
+<p><code>derivepassphrase</code> is distributed under the terms of the <a href="https://spdx.org/licenses/Zlib.html">zlib/libpng license</a>.</p> |
|
1223 | 1329 |
|
1224 | 1330 |
|
1225 | 1331 |
|
... | ... |
@@ -1272,7 +1378,7 @@ This choice can be made either specifically for the service (in this case, <code |
1272 | 1378 |
<div class="md-copyright"> |
1273 | 1379 |
|
1274 | 1380 |
<div class="md-copyright__highlight"> |
1275 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1381 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1276 | 1382 |
</div> |
1277 | 1383 |
|
1278 | 1384 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1012,6 +1032,92 @@ |
1012 | 1032 |
|
1013 | 1033 |
|
1014 | 1034 |
|
1035 |
+ |
|
1036 |
+ |
|
1037 |
+ |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ |
|
1051 |
+ |
|
1052 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ <div class="md-nav__link md-nav__container"> |
|
1061 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1062 |
+ |
|
1063 |
+ |
|
1064 |
+ <span class="md-ellipsis"> |
|
1065 |
+ Design & Background |
|
1066 |
+ </span> |
|
1067 |
+ |
|
1068 |
+ |
|
1069 |
+ </a> |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1073 |
+ <span class="md-nav__icon md-icon"></span> |
|
1074 |
+ </label> |
|
1075 |
+ |
|
1076 |
+ </div> |
|
1077 |
+ |
|
1078 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1079 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1080 |
+ <span class="md-nav__icon md-icon"></span> |
|
1081 |
+ Design & Background |
|
1082 |
+ </label> |
|
1083 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1084 |
+ |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ <li class="md-nav__item"> |
|
1094 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ <span class="md-ellipsis"> |
|
1098 |
+ "altered versions" license requirement |
|
1099 |
+ </span> |
|
1100 |
+ |
|
1101 |
+ |
|
1102 |
+ </a> |
|
1103 |
+ </li> |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ |
|
1107 |
+ |
|
1108 |
+ </ul> |
|
1109 |
+ </nav> |
|
1110 |
+ |
|
1111 |
+ </li> |
|
1112 |
+ |
|
1113 |
+ |
|
1114 |
+ |
|
1115 |
+ |
|
1116 |
+ |
|
1117 |
+ |
|
1118 |
+ |
|
1119 |
+ |
|
1120 |
+ |
|
1015 | 1121 |
<li class="md-nav__item"> |
1016 | 1122 |
<a href="../../changelog/" class="md-nav__link"> |
1017 | 1123 |
|
... | ... |
@@ -1240,7 +1346,7 @@ password is interpreted as a UTF-8 byte string.</dd> |
1240 | 1346 |
<div class="md-copyright"> |
1241 | 1347 |
|
1242 | 1348 |
<div class="md-copyright__highlight"> |
1243 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1349 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1244 | 1350 |
</div> |
1245 | 1351 |
|
1246 | 1352 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1012,6 +1032,92 @@ |
1012 | 1032 |
|
1013 | 1033 |
|
1014 | 1034 |
|
1035 |
+ |
|
1036 |
+ |
|
1037 |
+ |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ |
|
1051 |
+ |
|
1052 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ <div class="md-nav__link md-nav__container"> |
|
1061 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1062 |
+ |
|
1063 |
+ |
|
1064 |
+ <span class="md-ellipsis"> |
|
1065 |
+ Design & Background |
|
1066 |
+ </span> |
|
1067 |
+ |
|
1068 |
+ |
|
1069 |
+ </a> |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1073 |
+ <span class="md-nav__icon md-icon"></span> |
|
1074 |
+ </label> |
|
1075 |
+ |
|
1076 |
+ </div> |
|
1077 |
+ |
|
1078 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1079 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1080 |
+ <span class="md-nav__icon md-icon"></span> |
|
1081 |
+ Design & Background |
|
1082 |
+ </label> |
|
1083 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1084 |
+ |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ <li class="md-nav__item"> |
|
1094 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ <span class="md-ellipsis"> |
|
1098 |
+ "altered versions" license requirement |
|
1099 |
+ </span> |
|
1100 |
+ |
|
1101 |
+ |
|
1102 |
+ </a> |
|
1103 |
+ </li> |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ |
|
1107 |
+ |
|
1108 |
+ </ul> |
|
1109 |
+ </nav> |
|
1110 |
+ |
|
1111 |
+ </li> |
|
1112 |
+ |
|
1113 |
+ |
|
1114 |
+ |
|
1115 |
+ |
|
1116 |
+ |
|
1117 |
+ |
|
1118 |
+ |
|
1119 |
+ |
|
1120 |
+ |
|
1015 | 1121 |
<li class="md-nav__item"> |
1016 | 1122 |
<a href="../../changelog/" class="md-nav__link"> |
1017 | 1123 |
|
... | ... |
@@ -1224,7 +1330,7 @@ subcommand must be specified explicitly.</p> |
1224 | 1330 |
<div class="md-copyright"> |
1225 | 1331 |
|
1226 | 1332 |
<div class="md-copyright__highlight"> |
1227 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1333 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1228 | 1334 |
</div> |
1229 | 1335 |
|
1230 | 1336 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -657,9 +677,9 @@ |
657 | 677 |
<ul class="md-nav__list"> |
658 | 678 |
|
659 | 679 |
<li class="md-nav__item"> |
660 |
- <a href="#password-generation" class="md-nav__link"> |
|
680 |
+ <a href="#passphrase-generation" class="md-nav__link"> |
|
661 | 681 |
<span class="md-ellipsis"> |
662 |
- Password generation |
|
682 |
+ Passphrase generation |
|
663 | 683 |
</span> |
664 | 684 |
</a> |
665 | 685 |
|
... | ... |
@@ -681,6 +701,15 @@ |
681 | 701 |
</span> |
682 | 702 |
</a> |
683 | 703 |
|
704 |
+</li> |
|
705 |
+ |
|
706 |
+ <li class="md-nav__item"> |
|
707 |
+ <a href="#compatibility-and-extension-options" class="md-nav__link"> |
|
708 |
+ <span class="md-ellipsis"> |
|
709 |
+ Compatibility and extension options |
|
710 |
+ </span> |
|
711 |
+ </a> |
|
712 |
+ |
|
684 | 713 |
</li> |
685 | 714 |
|
686 | 715 |
<li class="md-nav__item"> |
... | ... |
@@ -698,12 +727,123 @@ |
698 | 727 |
</li> |
699 | 728 |
|
700 | 729 |
<li class="md-nav__item"> |
701 |
- <a href="#warnings" class="md-nav__link"> |
|
730 |
+ <a href="#shell-script-export-format" class="md-nav__link"> |
|
731 |
+ <span class="md-ellipsis"> |
|
732 |
+ SHELL SCRIPT EXPORT FORMAT |
|
733 |
+ </span> |
|
734 |
+ </a> |
|
735 |
+ |
|
736 |
+</li> |
|
737 |
+ |
|
738 |
+ <li class="md-nav__item"> |
|
739 |
+ <a href="#ssh-key-suitability" class="md-nav__link"> |
|
740 |
+ <span class="md-ellipsis"> |
|
741 |
+ SSH KEY SUITABILITY |
|
742 |
+ </span> |
|
743 |
+ </a> |
|
744 |
+ |
|
745 |
+</li> |
|
746 |
+ |
|
747 |
+ <li class="md-nav__item"> |
|
748 |
+ <a href="#environment" class="md-nav__link"> |
|
749 |
+ <span class="md-ellipsis"> |
|
750 |
+ ENVIRONMENT |
|
751 |
+ </span> |
|
752 |
+ </a> |
|
753 |
+ |
|
754 |
+</li> |
|
755 |
+ |
|
756 |
+ <li class="md-nav__item"> |
|
757 |
+ <a href="#files" class="md-nav__link"> |
|
758 |
+ <span class="md-ellipsis"> |
|
759 |
+ FILES |
|
760 |
+ </span> |
|
761 |
+ </a> |
|
762 |
+ |
|
763 |
+</li> |
|
764 |
+ |
|
765 |
+ <li class="md-nav__item"> |
|
766 |
+ <a href="#security" class="md-nav__link"> |
|
767 |
+ <span class="md-ellipsis"> |
|
768 |
+ SECURITY |
|
769 |
+ </span> |
|
770 |
+ </a> |
|
771 |
+ |
|
772 |
+</li> |
|
773 |
+ |
|
774 |
+ <li class="md-nav__item"> |
|
775 |
+ <a href="#examples" class="md-nav__link"> |
|
776 |
+ <span class="md-ellipsis"> |
|
777 |
+ EXAMPLES |
|
778 |
+ </span> |
|
779 |
+ </a> |
|
780 |
+ |
|
781 |
+</li> |
|
782 |
+ |
|
783 |
+ <li class="md-nav__item"> |
|
784 |
+ <a href="#diagnostics" class="md-nav__link"> |
|
785 |
+ <span class="md-ellipsis"> |
|
786 |
+ DIAGNOSTICS |
|
787 |
+ </span> |
|
788 |
+ </a> |
|
789 |
+ |
|
790 |
+ <nav class="md-nav" aria-label="DIAGNOSTICS"> |
|
791 |
+ <ul class="md-nav__list"> |
|
792 |
+ |
|
793 |
+ <li class="md-nav__item"> |
|
794 |
+ <a href="#fatal-error-messsages-on-standard-error" class="md-nav__link"> |
|
795 |
+ <span class="md-ellipsis"> |
|
796 |
+ Fatal error messsages on standard error |
|
797 |
+ </span> |
|
798 |
+ </a> |
|
799 |
+ |
|
800 |
+</li> |
|
801 |
+ |
|
802 |
+ <li class="md-nav__item"> |
|
803 |
+ <a href="#non-fatal-warning-and-info-messages-on-standard-error" class="md-nav__link"> |
|
804 |
+ <span class="md-ellipsis"> |
|
805 |
+ Non-fatal warning and info messages on standard error |
|
806 |
+ </span> |
|
807 |
+ </a> |
|
808 |
+ |
|
809 |
+</li> |
|
810 |
+ |
|
811 |
+ </ul> |
|
812 |
+ </nav> |
|
813 |
+ |
|
814 |
+</li> |
|
815 |
+ |
|
816 |
+ <li class="md-nav__item"> |
|
817 |
+ <a href="#compatibility" class="md-nav__link"> |
|
818 |
+ <span class="md-ellipsis"> |
|
819 |
+ COMPATIBILITY |
|
820 |
+ </span> |
|
821 |
+ </a> |
|
822 |
+ |
|
823 |
+ <nav class="md-nav" aria-label="COMPATIBILITY"> |
|
824 |
+ <ul class="md-nav__list"> |
|
825 |
+ |
|
826 |
+ <li class="md-nav__item"> |
|
827 |
+ <a href="#with-other-software" class="md-nav__link"> |
|
828 |
+ <span class="md-ellipsis"> |
|
829 |
+ With other software |
|
830 |
+ </span> |
|
831 |
+ </a> |
|
832 |
+ |
|
833 |
+</li> |
|
834 |
+ |
|
835 |
+ <li class="md-nav__item"> |
|
836 |
+ <a href="#forward-and-backward-compatibility" class="md-nav__link"> |
|
702 | 837 |
<span class="md-ellipsis"> |
703 |
- WARNINGS |
|
838 |
+ Forward and backward compatibility |
|
704 | 839 |
</span> |
705 | 840 |
</a> |
706 | 841 |
|
842 |
+</li> |
|
843 |
+ |
|
844 |
+ </ul> |
|
845 |
+ </nav> |
|
846 |
+ |
|
707 | 847 |
</li> |
708 | 848 |
|
709 | 849 |
<li class="md-nav__item"> |
... | ... |
@@ -713,6 +853,24 @@ |
713 | 853 |
</span> |
714 | 854 |
</a> |
715 | 855 |
|
856 |
+</li> |
|
857 |
+ |
|
858 |
+ <li class="md-nav__item"> |
|
859 |
+ <a href="#author" class="md-nav__link"> |
|
860 |
+ <span class="md-ellipsis"> |
|
861 |
+ AUTHOR |
|
862 |
+ </span> |
|
863 |
+ </a> |
|
864 |
+ |
|
865 |
+</li> |
|
866 |
+ |
|
867 |
+ <li class="md-nav__item"> |
|
868 |
+ <a href="#bugs" class="md-nav__link"> |
|
869 |
+ <span class="md-ellipsis"> |
|
870 |
+ BUGS |
|
871 |
+ </span> |
|
872 |
+ </a> |
|
873 |
+ |
|
716 | 874 |
</li> |
717 | 875 |
|
718 | 876 |
</ul> |
... | ... |
@@ -1054,6 +1212,92 @@ |
1054 | 1212 |
|
1055 | 1213 |
|
1056 | 1214 |
|
1215 |
+ |
|
1216 |
+ |
|
1217 |
+ |
|
1218 |
+ |
|
1219 |
+ |
|
1220 |
+ |
|
1221 |
+ |
|
1222 |
+ |
|
1223 |
+ |
|
1224 |
+ |
|
1225 |
+ |
|
1226 |
+ |
|
1227 |
+ |
|
1228 |
+ |
|
1229 |
+ |
|
1230 |
+ |
|
1231 |
+ |
|
1232 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1233 |
+ |
|
1234 |
+ |
|
1235 |
+ |
|
1236 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1237 |
+ |
|
1238 |
+ |
|
1239 |
+ |
|
1240 |
+ <div class="md-nav__link md-nav__container"> |
|
1241 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1242 |
+ |
|
1243 |
+ |
|
1244 |
+ <span class="md-ellipsis"> |
|
1245 |
+ Design & Background |
|
1246 |
+ </span> |
|
1247 |
+ |
|
1248 |
+ |
|
1249 |
+ </a> |
|
1250 |
+ |
|
1251 |
+ |
|
1252 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1253 |
+ <span class="md-nav__icon md-icon"></span> |
|
1254 |
+ </label> |
|
1255 |
+ |
|
1256 |
+ </div> |
|
1257 |
+ |
|
1258 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1259 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1260 |
+ <span class="md-nav__icon md-icon"></span> |
|
1261 |
+ Design & Background |
|
1262 |
+ </label> |
|
1263 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1264 |
+ |
|
1265 |
+ |
|
1266 |
+ |
|
1267 |
+ |
|
1268 |
+ |
|
1269 |
+ |
|
1270 |
+ |
|
1271 |
+ |
|
1272 |
+ |
|
1273 |
+ <li class="md-nav__item"> |
|
1274 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1275 |
+ |
|
1276 |
+ |
|
1277 |
+ <span class="md-ellipsis"> |
|
1278 |
+ "altered versions" license requirement |
|
1279 |
+ </span> |
|
1280 |
+ |
|
1281 |
+ |
|
1282 |
+ </a> |
|
1283 |
+ </li> |
|
1284 |
+ |
|
1285 |
+ |
|
1286 |
+ |
|
1287 |
+ |
|
1288 |
+ </ul> |
|
1289 |
+ </nav> |
|
1290 |
+ |
|
1291 |
+ </li> |
|
1292 |
+ |
|
1293 |
+ |
|
1294 |
+ |
|
1295 |
+ |
|
1296 |
+ |
|
1297 |
+ |
|
1298 |
+ |
|
1299 |
+ |
|
1300 |
+ |
|
1057 | 1301 |
<li class="md-nav__item"> |
1058 | 1302 |
<a href="../../changelog/" class="md-nav__link"> |
1059 | 1303 |
|
... | ... |
@@ -1132,9 +1376,9 @@ |
1132 | 1376 |
<ul class="md-nav__list"> |
1133 | 1377 |
|
1134 | 1378 |
<li class="md-nav__item"> |
1135 |
- <a href="#password-generation" class="md-nav__link"> |
|
1379 |
+ <a href="#passphrase-generation" class="md-nav__link"> |
|
1136 | 1380 |
<span class="md-ellipsis"> |
1137 |
- Password generation |
|
1381 |
+ Passphrase generation |
|
1138 | 1382 |
</span> |
1139 | 1383 |
</a> |
1140 | 1384 |
|
... | ... |
@@ -1156,6 +1400,15 @@ |
1156 | 1400 |
</span> |
1157 | 1401 |
</a> |
1158 | 1402 |
|
1403 |
+</li> |
|
1404 |
+ |
|
1405 |
+ <li class="md-nav__item"> |
|
1406 |
+ <a href="#compatibility-and-extension-options" class="md-nav__link"> |
|
1407 |
+ <span class="md-ellipsis"> |
|
1408 |
+ Compatibility and extension options |
|
1409 |
+ </span> |
|
1410 |
+ </a> |
|
1411 |
+ |
|
1159 | 1412 |
</li> |
1160 | 1413 |
|
1161 | 1414 |
<li class="md-nav__item"> |
... | ... |
@@ -1173,12 +1426,123 @@ |
1173 | 1426 |
</li> |
1174 | 1427 |
|
1175 | 1428 |
<li class="md-nav__item"> |
1176 |
- <a href="#warnings" class="md-nav__link"> |
|
1429 |
+ <a href="#shell-script-export-format" class="md-nav__link"> |
|
1177 | 1430 |
<span class="md-ellipsis"> |
1178 |
- WARNINGS |
|
1431 |
+ SHELL SCRIPT EXPORT FORMAT |
|
1179 | 1432 |
</span> |
1180 | 1433 |
</a> |
1181 | 1434 |
|
1435 |
+</li> |
|
1436 |
+ |
|
1437 |
+ <li class="md-nav__item"> |
|
1438 |
+ <a href="#ssh-key-suitability" class="md-nav__link"> |
|
1439 |
+ <span class="md-ellipsis"> |
|
1440 |
+ SSH KEY SUITABILITY |
|
1441 |
+ </span> |
|
1442 |
+ </a> |
|
1443 |
+ |
|
1444 |
+</li> |
|
1445 |
+ |
|
1446 |
+ <li class="md-nav__item"> |
|
1447 |
+ <a href="#environment" class="md-nav__link"> |
|
1448 |
+ <span class="md-ellipsis"> |
|
1449 |
+ ENVIRONMENT |
|
1450 |
+ </span> |
|
1451 |
+ </a> |
|
1452 |
+ |
|
1453 |
+</li> |
|
1454 |
+ |
|
1455 |
+ <li class="md-nav__item"> |
|
1456 |
+ <a href="#files" class="md-nav__link"> |
|
1457 |
+ <span class="md-ellipsis"> |
|
1458 |
+ FILES |
|
1459 |
+ </span> |
|
1460 |
+ </a> |
|
1461 |
+ |
|
1462 |
+</li> |
|
1463 |
+ |
|
1464 |
+ <li class="md-nav__item"> |
|
1465 |
+ <a href="#security" class="md-nav__link"> |
|
1466 |
+ <span class="md-ellipsis"> |
|
1467 |
+ SECURITY |
|
1468 |
+ </span> |
|
1469 |
+ </a> |
|
1470 |
+ |
|
1471 |
+</li> |
|
1472 |
+ |
|
1473 |
+ <li class="md-nav__item"> |
|
1474 |
+ <a href="#examples" class="md-nav__link"> |
|
1475 |
+ <span class="md-ellipsis"> |
|
1476 |
+ EXAMPLES |
|
1477 |
+ </span> |
|
1478 |
+ </a> |
|
1479 |
+ |
|
1480 |
+</li> |
|
1481 |
+ |
|
1482 |
+ <li class="md-nav__item"> |
|
1483 |
+ <a href="#diagnostics" class="md-nav__link"> |
|
1484 |
+ <span class="md-ellipsis"> |
|
1485 |
+ DIAGNOSTICS |
|
1486 |
+ </span> |
|
1487 |
+ </a> |
|
1488 |
+ |
|
1489 |
+ <nav class="md-nav" aria-label="DIAGNOSTICS"> |
|
1490 |
+ <ul class="md-nav__list"> |
|
1491 |
+ |
|
1492 |
+ <li class="md-nav__item"> |
|
1493 |
+ <a href="#fatal-error-messsages-on-standard-error" class="md-nav__link"> |
|
1494 |
+ <span class="md-ellipsis"> |
|
1495 |
+ Fatal error messsages on standard error |
|
1496 |
+ </span> |
|
1497 |
+ </a> |
|
1498 |
+ |
|
1499 |
+</li> |
|
1500 |
+ |
|
1501 |
+ <li class="md-nav__item"> |
|
1502 |
+ <a href="#non-fatal-warning-and-info-messages-on-standard-error" class="md-nav__link"> |
|
1503 |
+ <span class="md-ellipsis"> |
|
1504 |
+ Non-fatal warning and info messages on standard error |
|
1505 |
+ </span> |
|
1506 |
+ </a> |
|
1507 |
+ |
|
1508 |
+</li> |
|
1509 |
+ |
|
1510 |
+ </ul> |
|
1511 |
+ </nav> |
|
1512 |
+ |
|
1513 |
+</li> |
|
1514 |
+ |
|
1515 |
+ <li class="md-nav__item"> |
|
1516 |
+ <a href="#compatibility" class="md-nav__link"> |
|
1517 |
+ <span class="md-ellipsis"> |
|
1518 |
+ COMPATIBILITY |
|
1519 |
+ </span> |
|
1520 |
+ </a> |
|
1521 |
+ |
|
1522 |
+ <nav class="md-nav" aria-label="COMPATIBILITY"> |
|
1523 |
+ <ul class="md-nav__list"> |
|
1524 |
+ |
|
1525 |
+ <li class="md-nav__item"> |
|
1526 |
+ <a href="#with-other-software" class="md-nav__link"> |
|
1527 |
+ <span class="md-ellipsis"> |
|
1528 |
+ With other software |
|
1529 |
+ </span> |
|
1530 |
+ </a> |
|
1531 |
+ |
|
1532 |
+</li> |
|
1533 |
+ |
|
1534 |
+ <li class="md-nav__item"> |
|
1535 |
+ <a href="#forward-and-backward-compatibility" class="md-nav__link"> |
|
1536 |
+ <span class="md-ellipsis"> |
|
1537 |
+ Forward and backward compatibility |
|
1538 |
+ </span> |
|
1539 |
+ </a> |
|
1540 |
+ |
|
1541 |
+</li> |
|
1542 |
+ |
|
1543 |
+ </ul> |
|
1544 |
+ </nav> |
|
1545 |
+ |
|
1182 | 1546 |
</li> |
1183 | 1547 |
|
1184 | 1548 |
<li class="md-nav__item"> |
... | ... |
@@ -1188,6 +1552,24 @@ |
1188 | 1552 |
</span> |
1189 | 1553 |
</a> |
1190 | 1554 |
|
1555 |
+</li> |
|
1556 |
+ |
|
1557 |
+ <li class="md-nav__item"> |
|
1558 |
+ <a href="#author" class="md-nav__link"> |
|
1559 |
+ <span class="md-ellipsis"> |
|
1560 |
+ AUTHOR |
|
1561 |
+ </span> |
|
1562 |
+ </a> |
|
1563 |
+ |
|
1564 |
+</li> |
|
1565 |
+ |
|
1566 |
+ <li class="md-nav__item"> |
|
1567 |
+ <a href="#bugs" class="md-nav__link"> |
|
1568 |
+ <span class="md-ellipsis"> |
|
1569 |
+ BUGS |
|
1570 |
+ </span> |
|
1571 |
+ </a> |
|
1572 |
+ |
|
1191 | 1573 |
</li> |
1192 | 1574 |
|
1193 | 1575 |
</ul> |
... | ... |
@@ -1218,89 +1600,425 @@ |
1218 | 1600 |
|
1219 | 1601 |
<h1 id="derivepassphrase-vault1">derivepassphrase-vault(1)<a class="headerlink" href="#derivepassphrase-vault1" title="Permanent link">¶</a></h1> |
1220 | 1602 |
<h2 id="name">NAME<a class="headerlink" href="#name" title="Permanent link">¶</a></h2> |
1221 |
-<p>derivepassphrase-vault – derive a passphrase using the vault(1) |
|
1222 |
-derivation scheme</p> |
|
1603 |
+<p>derivepassphrase-vault – derive a passphrase using the vault derivation scheme</p> |
|
1223 | 1604 |
<h2 id="synopsis">SYNOPSIS<a class="headerlink" href="#synopsis" title="Permanent link">¶</a></h2> |
1224 |
-<div class="highlight"><pre><span></span><code>derivepassphrase vault [OPTIONS] [SERVICE] |
|
1225 |
-</code></pre></div> |
|
1605 |
+<pre> |
|
1606 |
+<code><b>derivepassphrase vault</b> [--phrase | --key] [--length <var>n</var>] [--repeat <var>n</var>] [--lower <var>n</var>] [--upper <var>n</var>] [--number <var>n</var>] [--space <var>n</var>] [--dash <var>n</var>] [--symbol <var>n</var>] <var>SERVICE</var></code> |
|
1607 |
+<code><b>derivepassphrase vault</b> {--phrase | --key | … | --symbol <var>n</var>} … --config [--unset <var>setting</var> …] [--overwrite-existing | --merge-existing] [<var>SERVICE</var>]</code> |
|
1608 |
+<code><b>derivepassphrase vault</b> {--notes <var>SERVICE</var> | --delete <var>SERVICE</var> | --delete-globals | --clear}</code> |
|
1609 |
+<code><b>derivepassphrase vault</b> [--export-as {json | sh}] {--import <var>PATH</var> | --export <var>PATH</var>}</code> |
|
1610 |
+</pre> |
|
1611 |
+ |
|
1226 | 1612 |
<h2 id="description">DESCRIPTION<a class="headerlink" href="#description" title="Permanent link">¶</a></h2> |
1227 |
-<p>Using a master passphrase or a master SSH key, derive a passphrase for |
|
1228 |
-<i>SERVICE</i>, subject to length, character and character repetition |
|
1229 |
-constraints. The derivation is cryptographically strong, meaning that even |
|
1230 |
-if a single passphrase is compromised, guessing the master passphrase or |
|
1231 |
-a different service’s passphrase is computationally infeasible. The |
|
1232 |
-derivation is also deterministic, given the same inputs, thus the resulting |
|
1233 |
-passphrase need not be stored explicitly. The service name and constraints |
|
1234 |
-themselves also need not be kept secret; the latter are usually stored in |
|
1235 |
-a world-readable file.</p> |
|
1236 |
-<p>If operating on global settings, or importing/exporting settings, then |
|
1237 |
-<i>SERVICE</i> must be omitted. Otherwise it is required.</p> |
|
1613 |
+<p>Using a master passphrase, derive a passphrase for <var>SERVICE</var>, subject to length, character and character repetition constraints, in a manner compatible with James Coglan’s <i>vault</i>(1).</p> |
|
1614 |
+<p>The derivation is <em>strong</em>: derived passphrases have as much entropy as permitted by the master passphrase and the passphrase constraints (whichever is more restrictive), and even if multiple derived passphrases are compromised, the master passphrase remains cryptographically difficult to discern from these compromised passphrases. |
|
1615 |
+The derivation is also <em>deterministic</em>, given the same inputs, thus the resulting passphrase need not be stored explicitly.</p> |
|
1616 |
+<p>The service name and constraints themselves also need not be kept secret; the latter are usually stored in a world-readable file to ease repeated entry of passphrase constraints.</p> |
|
1617 |
+<p>In lieu of a master passphrase, a master SSH key can also be used if there is a reachable, running SSH agent currently holding this key and if the key type is supported. (See <a href="#ssh-key-suitability">“SSH KEY SUITABILITY”</a> and <a href="#bugs">“BUGS”</a> below.) This too is compatible with <i>vault</i>(1).</p> |
|
1238 | 1618 |
<h2 id="options">OPTIONS<a class="headerlink" href="#options" title="Permanent link">¶</a></h2> |
1239 |
-<h3 id="password-generation">Password generation<a class="headerlink" href="#password-generation" title="Permanent link">¶</a></h3> |
|
1619 |
+<h3 id="passphrase-generation">Passphrase generation<a class="headerlink" href="#passphrase-generation" title="Permanent link">¶</a></h3> |
|
1620 |
+<p>The passphrase generation options can be divided into “passphrase source” options (<code>--phrase</code>, <code>--key</code>) and “passphrase constraint” options (all others). |
|
1621 |
+The passphrase source options are mutually exclusive — you may only specify one of them — while the passphrase constraint options may be combined in any way. |
|
1622 |
+The <var>SERVICE</var> is mandatory (see synopsis #1), unless the <code>--config</code> option is specified (see synopsis #2). |
|
1623 |
+All character constraints refer to ASCII printable characters only (space (<code>U+0020</code>) to tilde (<code>U+007E</code>), excluding the grave accent (<code>U+0060</code>)).</p> |
|
1240 | 1624 |
<dl> |
1241 | 1625 |
<dt><b>-p</b>, <b>-</b><b>-phrase</b></dt> |
1242 |
-<dd>prompts you for your passphrase</dd> |
|
1626 |
+<dd> |
|
1627 |
+<p>Prompt for a passphrase.</p> |
|
1628 |
+<p>See also <a href="#configuration">“Configuration”</a> for how this interacts with a stored passphrase or SSH key.</p> |
|
1629 |
+</dd> |
|
1243 | 1630 |
<dt><b>-k</b>, <b>-</b><b>-key</b></dt> |
1244 |
-<dd>uses your SSH private key to generate passwords</dd> |
|
1245 |
-<dt><b>-l</b>, <b>-</b><b>-length</b> <var>NUMBER</var></dt> |
|
1246 |
-<dd>emits password of length <var>NUMBER</var></dd> |
|
1247 |
-<dt><b>-r</b>, <b>-</b><b>-repeat</b> <var>NUMBER</var></dt> |
|
1248 |
-<dd>allows maximum of <var>NUMBER</var> repeated adjacent chars</dd> |
|
1249 |
-<dt><b>-</b><b>-lower</b> <var>NUMBER</var></dt> |
|
1250 |
-<dd>includes at least <var>NUMBER</var> lowercase letters</dd> |
|
1251 |
-<dt><b>-</b><b>-upper</b> <var>NUMBER</var></dt> |
|
1252 |
-<dd>includes at least <var>NUMBER</var> uppercase letters</dd> |
|
1253 |
-<dt><b>-</b><b>-number</b> <var>NUMBER</var></dt> |
|
1254 |
-<dd>includes at least <var>NUMBER</var> digits</dd> |
|
1255 |
-<dt><b>-</b><b>-space</b> <var>NUMBER</var></dt> |
|
1256 |
-<dd>includes at least <var>NUMBER</var> spaces</dd> |
|
1257 |
-<dt><b>-</b><b>-dash</b> <var>NUMBER</var></dt> |
|
1258 |
-<dd>includes at least <var>NUMBER</var> <code>-</code> or <code>_</code></dd> |
|
1259 |
-<dt><b>-</b><b>-symbol</b> <var>NUMBER</var></dt> |
|
1260 |
-<dd>includes at least <var>NUMBER</var> symbol chars</dd> |
|
1631 |
+<dd> |
|
1632 |
+<p>Select an SSH key.</p> |
|
1633 |
+<p>An SSH agent such as OpenSSH’s <i>ssh-agent</i>(1) or PuTTY’s <i>pageant</i>(1) must be running and accessible, and have the desired key loaded. |
|
1634 |
+The SSH key must also be <i>suitable</i> for this purpose; see <a href="#ssh-key-suitability">“SSH KEY SUITABILITY”</a> for details.</p> |
|
1635 |
+<p>See also <a href="#configuration">“Configuration”</a> for how this interacts with a stored passphrase or SSH key.</p> |
|
1636 |
+</dd> |
|
1637 |
+<dt><b>-l</b> <var>n</var>, <b>-</b><b>-length</b> <var>n</var></dt> |
|
1638 |
+<dd>Force the passphrase to have the length <var>n</var>. |
|
1639 |
+Defaults to the length <b>20</b> if not specified, or if explicitly specified as <code>0</code>.</dd> |
|
1640 |
+<dt><b>-r</b> <var>n</var>, <b>-</b><b>-repeat</b> <var>n</var></dt> |
|
1641 |
+<dd>Permit only runs of up to <var>n</var> consecutive occurrences of the same character. |
|
1642 |
+Alternatively, forbid immediate additional repetitions of length <var>n</var> (or more) for any character in the derived passphrase. |
|
1643 |
+Setting <var>n</var> = <code>0</code> disables repetition constraints, which is the default.</dd> |
|
1644 |
+<dt><b>-</b><b>-lower</b> <var>n</var></dt> |
|
1645 |
+<dd>Include at least <var>n</var> lowercase characters in the derived passphrase. |
|
1646 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely. |
|
1647 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1648 |
+<dt><b>-</b><b>-upper</b> <var>n</var></dt> |
|
1649 |
+<dd>Include at least <var>n</var> uppercase characters in the derived passphrase. |
|
1650 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely. |
|
1651 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1652 |
+<dt><b>-</b><b>-number</b> <var>n</var></dt> |
|
1653 |
+<dd>Include at least <var>n</var> digits in the derived passphrase. |
|
1654 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely. |
|
1655 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1656 |
+<dt><b>-</b><b>-space</b> <var>n</var></dt> |
|
1657 |
+<dd>Include at least <var>n</var> spaces in the derived passphrase. |
|
1658 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely. |
|
1659 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1660 |
+<dt><b>-</b><b>-dash</b> <var>n</var></dt> |
|
1661 |
+<dd>Include at least <var>n</var> “dashes” (<code>-</code> or <code>_</code>) in the derived passphrase. |
|
1662 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely. |
|
1663 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1664 |
+<dt><b>-</b><b>-symbol</b> <var>n</var></dt> |
|
1665 |
+<dd>Include at least <var>n</var> symbols (any of <code>!"#$%&'()*+,./:;<=>?@[\]^{|}~-_</code>) in the derived passphrase. |
|
1666 |
+Setting <var>n</var> = <code>0</code> forbids these characters entirely, effectively also implying <code>--dash 0</code>. |
|
1667 |
+The default is to not constrain the occurrences in any manner.</dd> |
|
1261 | 1668 |
</dl> |
1262 |
-<p>Use <var>NUMBER</var>=0, e.g. <code>--symbol 0</code>, to exclude a character type from |
|
1263 |
-the output.</p> |
|
1264 | 1669 |
<h3 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">¶</a></h3> |
1670 |
+<p>The configuration options directly modify the stored settings: default settings, known services, and service-specific settings. |
|
1671 |
+They are mutually exclusive; you may only specify one of them. |
|
1672 |
+The <var>SERVICE</var> is mandatory for <code>--notes</code> and <code>--delete</code>, optional for <code>--config</code>, and forbidden for <code>--delete-globals</code> and <code>--clear</code> (see synopsis #2 and synopsis #3).</p> |
|
1265 | 1673 |
<dl> |
1266 | 1674 |
<dt><b>-n</b>, <b>-</b><b>-notes</b></dt> |
1267 |
-<dd>spawn an editor to edit notes for <var>SERVICE</var></dd> |
|
1675 |
+<dd>Spawn an editor to edit notes for <var>SERVICE</var>. |
|
1676 |
+Use the <code>VISUAL</code> or <code>EDITOR</code> environment variables to configure the spawned editor.</dd> |
|
1268 | 1677 |
<dt><b>-c</b>, <b>-</b><b>-config</b></dt> |
1269 |
-<dd>saves the given settings for <var>SERVICE</var> or global</dd> |
|
1678 |
+<dd> |
|
1679 |
+<p>Save the given settings for <var>SERVICE</var> (if given), or save the given settings as global default settings.</p> |
|
1680 |
+<p>See the <a href="#passphrase-generation">“Passphrase generation”</a> and <a href="#compatibility-and-extension-options">“Compatibility and extension options”</a> sections for other options compatible with <code>--config</code>.</p> |
|
1681 |
+<div class="admonition danger"> |
|
1682 |
+<p class="admonition-title">Danger</p> |
|
1683 |
+<p>Do <strong>not</strong> use the <code>--phrase</code> and <code>--config</code> options together. |
|
1684 |
+The configuration is assumed to <em>not contain sensitive contents</em>, and is <em>not encrypted</em>.</p> |
|
1685 |
+</div> |
|
1686 |
+</dd> |
|
1270 | 1687 |
<dt><b>-x</b>, <b>-</b><b>-delete</b></dt> |
1271 |
-<dd>deletes settings for <var>SERVICE</var></dd> |
|
1688 |
+<dd>Delete all stored settings for <var>SERVICE</var>.</dd> |
|
1272 | 1689 |
<dt><b>-</b><b>-delete-globals</b></dt> |
1273 |
-<dd>deletes the global shared settings</dd> |
|
1690 |
+<dd>Delete all stored global default settings.</dd> |
|
1274 | 1691 |
<dt><b>-X</b>, <b>-</b><b>-clear</b></dt> |
1275 |
-<dd>deletes all settings</dd> |
|
1692 |
+<dd>Delete all stored settings.</dd> |
|
1276 | 1693 |
</dl> |
1277 |
-<p>Use <code>$VISUAL</code> or <code>$EDITOR</code> to configure the spawned editor.</p> |
|
1278 | 1694 |
<h3 id="storage-management">Storage management<a class="headerlink" href="#storage-management" title="Permanent link">¶</a></h3> |
1695 |
+<p>The storage management options deal with importing and exporting the stored settings. |
|
1696 |
+They are mutually exclusive; you may only specify one of them. |
|
1697 |
+Using <code>-</code> as <var>PATH</var> for standard input/standard output is supported.</p> |
|
1698 |
+<dl> |
|
1699 |
+<dt><b>-e</b> <var>PATH</var>, <b>-</b><b>-export</b> <var>PATH</var></dt> |
|
1700 |
+<dd>Export all saved settings into file <var>PATH</var>.</dd> |
|
1701 |
+<dt><b>-i</b> <var>PATH</var>, <b>-</b><b>-import</b> <var>PATH</var></dt> |
|
1702 |
+<dd>Import saved settings from file <var>PATH</var>.</dd> |
|
1703 |
+</dl> |
|
1704 |
+<h3 id="compatibility-and-extension-options">Compatibility and extension options<a class="headerlink" href="#compatibility-and-extension-options" title="Permanent link">¶</a></h3> |
|
1705 |
+<p>By default, <b>derivepassphrase vault</b> behaves in a manner compatible with <i>vault</i>(1). |
|
1706 |
+The compatibility and extension options modify the behavior to enable additional functionality, or specifically to force compatibility.</p> |
|
1707 |
+<p><i>vault</i>(1) supports none of these options, and behaves as if the option had not been given or had been left in its default state.</p> |
|
1279 | 1708 |
<dl> |
1280 |
-<dt><b>-e</b>, <b>-</b><b>-export</b> <var>PATH</var></dt> |
|
1281 |
-<dd>export all saved settings into file <var>PATH</var></dd> |
|
1282 |
-<dt><b>-i</b>, <b>-</b><b>-import</b> <var>PATH</var></dt> |
|
1283 |
-<dd>import saved settings from file <var>PATH</var></dd> |
|
1709 |
+<dt><b>-</b><b>-overwrite-existing</b> / <b>-</b><b>-merge-existing</b></dt> |
|
1710 |
+<dd> |
|
1711 |
+<p>When importing a configuration via <code>--import</code>, or configuring the settings via <code>--config</code>, overwrite or merge (<em>default</em>) the existing configuration.</p> |
|
1712 |
+<p>If overwriting the configuration, then the whole configuration (for <code>--import</code>) or the respective section (service-specific or global, for <code>--config</code>), will be written from scratch. |
|
1713 |
+If merging, then each section (service-specific or global, for <code>--import</code>) or each singular setting (for <code>--config</code>) will be overwritten, but other unaffected settings/sections will not.</p> |
|
1714 |
+<p>(<i>vault</i>(1) behaves as if <code>--merge-existing</code> were always given.)</p> |
|
1715 |
+</dd> |
|
1716 |
+<dt><b>-</b><b>-unset</b> <var>setting</var></dt> |
|
1717 |
+<dd> |
|
1718 |
+<p>When configuring via <code>--config</code>, also unset the specified <var>setting</var>, where <var>setting</var> is one of the passphrase generation settings (<code>phrase</code>, <code>key</code>, <code>lower</code>, …). |
|
1719 |
+May be specified multiple times. |
|
1720 |
+Must not overlap with any of the settings being set afterwards.</p> |
|
1721 |
+<p>(vault(1) does not support this option.)</p> |
|
1722 |
+</dd> |
|
1723 |
+<dt><b>-</b><b>-export-as</b> { <b>json</b> | <b>sh</b> }</dt> |
|
1724 |
+<dd> |
|
1725 |
+<p>When exporting the configuration via <code>--export</code>, export as JSON (default) or as a shell script in <i>sh</i>(1) format.</p> |
|
1726 |
+<p>The JSON format is compatible with <i>vault</i>(1). |
|
1727 |
+For the shell script format, see the <a href="#shell-script-export-format">“SHELL SCRIPT EXPORT FORMAT”</a> section for details.</p> |
|
1728 |
+<p>(vault(1) behaves as if <code>--export-as json</code> were always given.)</p> |
|
1729 |
+</dd> |
|
1284 | 1730 |
</dl> |
1285 |
-<p>Using <code>-</code> as <var>PATH</var> for standard input/standard output is supported.</p> |
|
1286 | 1731 |
<h3 id="other-options">Other Options<a class="headerlink" href="#other-options" title="Permanent link">¶</a></h3> |
1287 | 1732 |
<dl> |
1288 |
-<dt><b>–version</b></dt> |
|
1733 |
+<dt><b>-</b><b>-version</b></dt> |
|
1289 | 1734 |
<dd>Show the version and exit.</dd> |
1290 | 1735 |
<dt><b>-h</b>, <b>-</b><b>-help</b></dt> |
1291 |
-<dd>Show this message and exit.</dd> |
|
1736 |
+<dd>Show a help message and exit.</dd> |
|
1292 | 1737 |
</dl> |
1293 |
-<h2 id="warnings">WARNINGS<a class="headerlink" href="#warnings" title="Permanent link">¶</a></h2> |
|
1294 |
-<p>There is <strong>no way</strong> to retrieve the generated passphrases if the master |
|
1295 |
-passphrase, the SSH key, or the exact passphrase settings are lost, |
|
1296 |
-short of trying out all possible combinations. You are <strong>strongly</strong> |
|
1297 |
-advised to keep independent backups of the settings and the SSH key, if |
|
1298 |
-any.</p> |
|
1299 |
-<p>The configuration is <strong>not</strong> encrypted, and you are <strong>strongly</strong> |
|
1300 |
-discouraged from using a stored passphrase.</p> |
|
1738 |
+<h2 id="shell-script-export-format">SHELL SCRIPT EXPORT FORMAT<a class="headerlink" href="#shell-script-export-format" title="Permanent link">¶</a></h2> |
|
1739 |
+<p>If the shell script export format is selected, the configuration will be exported as a POSIX <i>sh</i>(1) script, containing calls to <b>derivepassphrase vault</b> to reconstruct the current configuration from scratch. |
|
1740 |
+The script assumes a conforming <i>sh</i>(1), with support for “here” documents.</p> |
|
1741 |
+<div class="admonition danger"> |
|
1742 |
+<p class="admonition-title">Danger</p> |
|
1743 |
+<p><strong>Do not run these emitted shell scripts directly without double-checking their output first!</strong></p> |
|
1744 |
+</div> |
|
1745 |
+<h2 id="ssh-key-suitability">SSH KEY SUITABILITY<a class="headerlink" href="#ssh-key-suitability" title="Permanent link">¶</a></h2> |
|
1746 |
+<p>An SSH key is <dfn>suitable</dfn> for use with <b>derivepassphrase vault</b> if the SSH agent guarantees that signatures produced with this key will be <em>deterministic</em>, given the same message to be signed. |
|
1747 |
+This is a property specific to the key type, and sometimes the agent used:</p> |
|
1748 |
+<ul> |
|
1749 |
+<li> |
|
1750 |
+<p>RSA, Ed25519 and Ed448 keys are always suitable. |
|
1751 |
+ OpenSSH’s <i>ssh-agent</i>(1) supports only these keys as suitable keys.</p> |
|
1752 |
+</li> |
|
1753 |
+<li> |
|
1754 |
+<p>DSA and ECDSA keys are suitable if the SSH agent supports deterministic DSA signatures, e.g. by implementing RFC 6979. |
|
1755 |
+ PuTTY’s <i>pageant</i>(1) supports this, in addition to the always-suitable keys mentioned above.</p> |
|
1756 |
+</li> |
|
1757 |
+</ul> |
|
1758 |
+<h2 id="environment">ENVIRONMENT<a class="headerlink" href="#environment" title="Permanent link">¶</a></h2> |
|
1759 |
+<dl> |
|
1760 |
+<dt><code>VISUAL</code>, <code>EDITOR</code></dt> |
|
1761 |
+<dd><b>derivepassphrase vault</b> uses this editor to edit service notes when called with <code>--notes</code>. |
|
1762 |
+<code>VISUAL</code> has higher precedence than <code>EDITOR</code>.</dd> |
|
1763 |
+<dt><code>DERIVEPASSPHRASE_PATH</code></dt> |
|
1764 |
+<dd><b>derivepassphrase</b> stores its configuration files and data in this directory. |
|
1765 |
+Defaults to <code>~/.derivepassphrase</code>.</dd> |
|
1766 |
+</dl> |
|
1767 |
+<h2 id="files">FILES<a class="headerlink" href="#files" title="Permanent link">¶</a></h2> |
|
1768 |
+<dl> |
|
1769 |
+<dt><code>$DERIVEPASSPHRASE_PATH/vault.json</code></dt> |
|
1770 |
+<dd>The stored configuration for <b>derivepassphrase vault</b>: the default passphrase generation settings, the known service names, and the service-specific settings. |
|
1771 |
+This file is <em>not</em> intended for the user to edit.</dd> |
|
1772 |
+</dl> |
|
1773 |
+<h2 id="security">SECURITY<a class="headerlink" href="#security" title="Permanent link">¶</a></h2> |
|
1774 |
+<div class="admonition danger"> |
|
1775 |
+<p class="admonition-title">Danger</p> |
|
1776 |
+<ul> |
|
1777 |
+<li> |
|
1778 |
+<p>There is <strong>no way</strong> to retrieve the generated passphrases if the master passphrase, the SSH key, or the exact passphrase settings are lost, short of trying out all possible combinations. |
|
1779 |
+ You are <strong>strongly</strong> advised to keep independent backups of the settings and the SSH key, if any.</p> |
|
1780 |
+</li> |
|
1781 |
+<li> |
|
1782 |
+<p>The configuration is <strong>not</strong> encrypted, and you are <strong>strongly</strong> discouraged from using a stored passphrase.</p> |
|
1783 |
+</li> |
|
1784 |
+<li> |
|
1785 |
+<p>You are <strong>strongly</strong> advised to avoid the (shell script) configuration export format if possible, and use the JSON format instead. |
|
1786 |
+ If you <em>must</em> use the shell script format, then <strong>always</strong> validate the export before attempting to interpret or run it.</p> |
|
1787 |
+</li> |
|
1788 |
+</ul> |
|
1789 |
+</div> |
|
1790 |
+<h2 id="examples">EXAMPLES<a class="headerlink" href="#examples" title="Permanent link">¶</a></h2> |
|
1791 |
+<details class="example"> |
|
1792 |
+<summary><code>derivepassphrase vault --phrase email</code></summary> |
|
1793 |
+<p>Prompt for a master passphrase, then generate a standard passphrase (length 20, no character or repetition constraints) for the “email” service.</p> |
|
1794 |
+</details> |
|
1795 |
+<details class="example"> |
|
1796 |
+<summary><code>derivepassphrase vault --key --upper 9 --lower 9 example.com</code></summary> |
|
1797 |
+<p>Select an SSH key from the available suitable SSH keys in the running SSH agent, then generate a passphrase for the <code>example.com</code> service using the previously selected SSH key. |
|
1798 |
+The passphrase will have (standard) length 20, and at least nine characters will be uppercase characters and at least another nine characters will be lowercase characters.</p> |
|
1799 |
+</details> |
|
1800 |
+<details class="example"> |
|
1801 |
+<summary><code>derivepassphrase example.com vault --key --upper 9 --lower 9 --number 9</code></summary> |
|
1802 |
+<p>Attempt to generate a passphrase as in the previous example. |
|
1803 |
+This example will <em>error out</em>, because the passphrase constraints require at least 27 characters and the standard passphrase length 20 cannot accomodate this.</p> |
|
1804 |
+</details> |
|
1805 |
+<details class="example"> |
|
1806 |
+<summary><code>derivepassphrase --config vault --key --upper 9 --lower 9 --space 2</code></summary> |
|
1807 |
+<p>After selecting an SSH key, configure the default settings to use exactly nine uppercase characters, nine lowercase characters, and two spaces for each generated passphrase. |
|
1808 |
+(The specific service settings, or the command-line invocation, can still override these settings.)</p> |
|
1809 |
+</details> |
|
1810 |
+<details class="example"> |
|
1811 |
+<summary><code>derivepassphrase vault example.com</code></summary> |
|
1812 |
+<p>Because of the previous setting, the generated passphrase for the <code>example.com</code> service will behave as if <code>--key --upper 9 --lower 9 --space 2</code> had been specified during invocation (with the SSH key already having been selected). |
|
1813 |
+In particular, it is neither necessary to specify <code>--phrase</code> or <code>--key</code> nor is it necessary to actually select an SSH key or to type in a master passphrase.</p> |
|
1814 |
+</details> |
|
1815 |
+<h2 id="diagnostics">DIAGNOSTICS<a class="headerlink" href="#diagnostics" title="Permanent link">¶</a></h2> |
|
1816 |
+<p>The <b>derivepassphrase vault</b> utility exits 0 on success, and >0 if an error occurs.</p> |
|
1817 |
+<h3 id="fatal-error-messsages-on-standard-error">Fatal error messsages on standard error<a class="headerlink" href="#fatal-error-messsages-on-standard-error" title="Permanent link">¶</a></h3> |
|
1818 |
+<p>(<code>%s</code> indicates a variable part of the message.)</p> |
|
1819 |
+<details class="failure"> |
|
1820 |
+<summary><code>%s is mutually exclusive with %s.</code></summary> |
|
1821 |
+<p>The two indicated options must not be used at the same time.</p> |
|
1822 |
+</details> |
|
1823 |
+<details class="failure"> |
|
1824 |
+<summary><code>%s requires a SERVICE or --config.</code></summary> |
|
1825 |
+<p>Using the indicated passphrase generation option requires the <var>SERVICE</var> argument or the <code>--config</code> option.</p> |
|
1826 |
+</details> |
|
1827 |
+<details class="failure"> |
|
1828 |
+<summary><code>%s requires a SERVICE.</code></summary> |
|
1829 |
+<p>Using the indicated option requires the <var>SERVICE</var> argument.</p> |
|
1830 |
+</details> |
|
1831 |
+<details class="failure"> |
|
1832 |
+<summary><code>%s does not take a SERVICE argument.</code></summary> |
|
1833 |
+<p>The indicated option must not be specified together with the <var>SERVICE</var> argument.</p> |
|
1834 |
+</details> |
|
1835 |
+<details class="failure"> |
|
1836 |
+<summary><code>Cannot load vault settings: %s.</code></summary> |
|
1837 |
+<p>There was a fatal problem loading the stored vault configuration data. |
|
1838 |
+Further details are contained in the variable part of the message.</p> |
|
1839 |
+</details> |
|
1840 |
+<details class="failure"> |
|
1841 |
+<summary><code>Cannot store vault settings: %s.</code></summary> |
|
1842 |
+<p>There was a fatal problem saving the vault configuration data. |
|
1843 |
+Further details are contained in the variable part of the message.</p> |
|
1844 |
+</details> |
|
1845 |
+<details class="failure"> |
|
1846 |
+<summary><code>Cannot import vault settings: %s.</code></summary> |
|
1847 |
+<p>There was a fatal problem loading the imported vault configuration data. |
|
1848 |
+Further details are contained in the variable part of the message.</p> |
|
1849 |
+</details> |
|
1850 |
+<details class="failure"> |
|
1851 |
+<summary><code>Cannot export vault settings: %s.</code></summary> |
|
1852 |
+<p>There was a fatal problem saving the exported vault configuration data. |
|
1853 |
+Further details are contained in the variable part of the message.</p> |
|
1854 |
+</details> |
|
1855 |
+<details class="failure"> |
|
1856 |
+<summary><code>Cannot load user config: %s.</code></summary> |
|
1857 |
+<p>There was a fatal problem loading the central user configuration file. |
|
1858 |
+Further details are contained in the variable part of the message.</p> |
|
1859 |
+</details> |
|
1860 |
+<details class="failure"> |
|
1861 |
+<summary><code>The user configuration file is invalid.</code></summary> |
|
1862 |
+<p>(Exactly what it says.)</p> |
|
1863 |
+</details> |
|
1864 |
+<details class="failure"> |
|
1865 |
+<summary><code>No usable SSH keys were found</code></summary> |
|
1866 |
+<p>The running SSH agent does not contain any suitable SSH keys.</p> |
|
1867 |
+</details> |
|
1868 |
+<details class="failure"> |
|
1869 |
+<summary><code>No valid SSH key selected</code></summary> |
|
1870 |
+<p>We requested that an SSH key be selected, but we got an invalid selection.</p> |
|
1871 |
+</details> |
|
1872 |
+<details class="failure"> |
|
1873 |
+<summary><code>The requested SSH key is not loaded into the agent.</code></summary> |
|
1874 |
+<p>The running SSH agent does not contain the necessary SSH key.</p> |
|
1875 |
+</details> |
|
1876 |
+<details class="failure"> |
|
1877 |
+<summary><code>Cannot find any running SSH agent because SSH_AUTH_SOCK is not set.</code></summary> |
|
1878 |
+<p>We require a running SSH agent, but cannot locate its communication channel, which is normally indicated by the <code>SSH_AUTH_SOCK</code> environment variable.</p> |
|
1879 |
+</details> |
|
1880 |
+<details class="failure"> |
|
1881 |
+<summary><code>Cannot connect to an SSH agent because this Python version does not support UNIX domain sockets.</code></summary> |
|
1882 |
+<p>This Python installation does not support the communication mechanism necessary to talk to SSH agents.</p> |
|
1883 |
+</details> |
|
1884 |
+<details class="failure"> |
|
1885 |
+<summary><code>Cannot connect to the SSH agent: %s.</code></summary> |
|
1886 |
+<p>We cannot connect to the SSH agent indicated by the <code>SSH_AUTH_SOCK</code> environment variable. |
|
1887 |
+Further details are contained in the variable part of the message.</p> |
|
1888 |
+</details> |
|
1889 |
+<details class="failure"> |
|
1890 |
+<summary><code>The SSH agent failed to or refused to supply a list of loaded keys.</code></summary> |
|
1891 |
+<p>The SSH agent—while responsive in principle—did not fulfill the request.</p> |
|
1892 |
+</details> |
|
1893 |
+<details class="failure"> |
|
1894 |
+<summary><code>The SSH agent failed to or refused to issue a signature with the selected key, necessary for deriving a service passphrase.</code></summary> |
|
1895 |
+<p>The SSH agent—while responsive in principle—failed to cooperate with deriving a service passphrase from the selected master SSH key.</p> |
|
1896 |
+</details> |
|
1897 |
+<details class="failure"> |
|
1898 |
+<summary><code>The SSH agent contains no keys suitable for derivepassphrase.</code></summary> |
|
1899 |
+<p>None of the keys loaded into the SSH agent (if any) are suitable for use with <b>derivepassphrase vault</b>. See the <a href="#ssh-key-suitability">“SSH KEY SUITABILITY”</a> section for the requirements the SSH key and the SSH agent must fulfill to be suitable.</p> |
|
1900 |
+</details> |
|
1901 |
+<details class="failure"> |
|
1902 |
+<summary><code>Error communicating with the SSH agent</code></summary> |
|
1903 |
+<p>There was a system error communicating with the SSH agent.</p> |
|
1904 |
+</details> |
|
1905 |
+<details class="failure"> |
|
1906 |
+<summary><code>Cannot understand the SSH agent's response because it violates the communication protocol.</code></summary> |
|
1907 |
+<p>(Exactly what it says.)</p> |
|
1908 |
+</details> |
|
1909 |
+<details class="failure"> |
|
1910 |
+<summary><code>Not saving any new notes: the user aborted the request.</code></summary> |
|
1911 |
+<p>(Exactly what it says.)</p> |
|
1912 |
+</details> |
|
1913 |
+<details class="failure"> |
|
1914 |
+<summary><code>Cannot update %s settings without actual settings.</code></summary> |
|
1915 |
+<p>Using <code>--config</code> requires at least one of the <code>--phrase</code>, <code>--key</code>, <code>--length</code>, etc. options.</p> |
|
1916 |
+</details> |
|
1917 |
+<details class="failure"> |
|
1918 |
+<summary><code>Attempted to unset and set %s at the same time.</code></summary> |
|
1919 |
+<p>While handling <code>--config</code>, the same configuration setting was passed as an option and as an argument to <code>--unset</code>.</p> |
|
1920 |
+</details> |
|
1921 |
+<details class="failure"> |
|
1922 |
+<summary><code>Generating a passphrase requires a SERVICE.</code></summary> |
|
1923 |
+<p>(Exactly what it says.)</p> |
|
1924 |
+</details> |
|
1925 |
+<details class="failure"> |
|
1926 |
+<summary><code>No passphrase or key was given in the configuration.</code></summary> |
|
1927 |
+<p><b>derivepassphrase vault</b> does not know whether to use a master SSH key or a master passphrase.</p> |
|
1928 |
+</details> |
|
1929 |
+<details class="failure"> |
|
1930 |
+<summary><code>No passphrase was given: the user aborted the request.</code></summary> |
|
1931 |
+<p>(Exactly what it says.)</p> |
|
1932 |
+</details> |
|
1933 |
+<details class="failure"> |
|
1934 |
+<summary><code>No SSH key was selected: the user aborted the request.</code></summary> |
|
1935 |
+<p>(Exactly what it says.)</p> |
|
1936 |
+</details> |
|
1937 |
+<h3 id="non-fatal-warning-and-info-messages-on-standard-error">Non-fatal warning and info messages on standard error<a class="headerlink" href="#non-fatal-warning-and-info-messages-on-standard-error" title="Permanent link">¶</a></h3> |
|
1938 |
+<p>(<code>%s</code> indicates a variable part of the message.)</p> |
|
1939 |
+<details class="warning"> |
|
1940 |
+<summary><code>The %s passphrase is not %s-normalized.</code></summary> |
|
1941 |
+<p>The indicated passphrase—as a Unicode string—is not properly normalized according to the preferred Unicode normalization form (as specified in the central configuration file). |
|
1942 |
+It is therefore possible that the passphrase—as a byte string—is not the same byte string as you expect it to be (even though it <em>looks</em> correct), and that the derived passphrases thus do not match their expected values either. |
|
1943 |
+Please double-check.</p> |
|
1944 |
+</details> |
|
1945 |
+<details class="warning"> |
|
1946 |
+<summary><code>An empty SERVICE is not supported by vault(1).</code></summary> |
|
1947 |
+<p><i>vault</i>(1) does not support the empty string as a value for <var>SERVICE</var>; it will treat the <var>SERVICE</var> as missing. |
|
1948 |
+For compatibility, <b>derivepassphrase vault</b> will do the same. |
|
1949 |
+In particular, if the empty service is imported in a configuration via <code>--import</code>, then this service cannot be accessed via the <b>derivepassphrase vault</b> command-line.</p> |
|
1950 |
+</details> |
|
1951 |
+<details class="warning"> |
|
1952 |
+<summary><code>Replacing invalid value %s for key %s with %s.</code></summary> |
|
1953 |
+<p>When importing a configuration, the indicated invalid value has been replaced with the indicated replacement value. |
|
1954 |
+(The “interpretation” of the configuration doesn’t change).</p> |
|
1955 |
+</details> |
|
1956 |
+<details class="warning"> |
|
1957 |
+<summary><code>Removing ineffective setting %s = %s.</code></summary> |
|
1958 |
+<p>When importing a configuration, the indicated ineffective setting has been removed. |
|
1959 |
+(The “interpretation” of the configuration doesn’t change).</p> |
|
1960 |
+</details> |
|
1961 |
+<details class="warning"> |
|
1962 |
+<summary><code>The service name %s contains an ASCII control character, which is not supported by our shell completion code.</code></summary> |
|
1963 |
+<p>Because of limitations in the shell completion code, this specific service name will not be available as a suggestion in tab completion. |
|
1964 |
+(This <em>only</em> affects tab completion, not other functionality.)</p> |
|
1965 |
+</details> |
|
1966 |
+<details class="warning"> |
|
1967 |
+<summary><code>Setting a %s passphrase is ineffective because a key is also set.</code></summary> |
|
1968 |
+<p>The configuration (global or key-specific) contains both a stored master passphrase and an SSH key. |
|
1969 |
+The master passphrase will not take effect.</p> |
|
1970 |
+</details> |
|
1971 |
+<details class="warning"> |
|
1972 |
+<summary><code>A subcommand will be required in v1.0.</code></summary> |
|
1973 |
+<p>[Since v0.2.0, until v1.0.] |
|
1974 |
+This command now requires a subcommand. |
|
1975 |
+For compatibility, it currently defaults to “vault”.</p> |
|
1976 |
+</details> |
|
1977 |
+<details class="warning"> |
|
1978 |
+<summary><code>Using deprecated v0.1-style config file %s, instead of v0.2-style %s.</code></summary> |
|
1979 |
+<p>[Since v0.2.0, until v1.0.] |
|
1980 |
+A configuration file has been renamed. |
|
1981 |
+<b>derivepassphrase vault</b> will attempt to rename the file itself (<code>Successfully migrated to %s.</code>), or complain if it cannot rename it (<code>Failed to migrate to %s: %s</code>).</p> |
|
1982 |
+</details> |
|
1983 |
+<h2 id="compatibility">COMPATIBILITY<a class="headerlink" href="#compatibility" title="Permanent link">¶</a></h2> |
|
1984 |
+<h3 id="with-other-software">With other software<a class="headerlink" href="#with-other-software" title="Permanent link">¶</a></h3> |
|
1985 |
+<p><b>derivepassphrase vault</b> is <em>almost</em> drop-in compatible with James Coglan’s <i>vault</i>(1), version 0.3.0 (including “storeroom” support), meaning that each tool supports the same file formats and command-line arguments/options as the other one.</p> |
|
1986 |
+<p>Exceptions:</p> |
|
1987 |
+<ul> |
|
1988 |
+<li> |
|
1989 |
+<p><i>vault</i>(1) does not support the <a href="#compatibility-and-extension-options">“Compatibility and extension options”</a> listed above.</p> |
|
1990 |
+</li> |
|
1991 |
+<li> |
|
1992 |
+<p><b>derivepassphrase vault</b> can import and generate configuration exports in the same format as <i>vault</i>(1), but it cannot <em>natively</em> read or write <i>vault</i>(1)’s configuration file (non-storeroom) or configuration directory (storeroom). |
|
1993 |
+ (The sister command <i>derivepassphrase-export</i>(1) can read both these formats and export the contents.)</p> |
|
1994 |
+</li> |
|
1995 |
+</ul> |
|
1996 |
+<h3 id="forward-and-backward-compatibility">Forward and backward compatibility<a class="headerlink" href="#forward-and-backward-compatibility" title="Permanent link">¶</a></h3> |
|
1997 |
+<ul> |
|
1998 |
+<li>[Since v0.2.0.] |
|
1999 |
+ In v1.0, the commands <b>derivepassphrase</b> and <b>derivepassphrase export</b> will require an explicit subcommand name. |
|
2000 |
+ Both default to the subcommand <b>vault</b>.</li> |
|
2001 |
+<li>[Since v0.2.0.] |
|
2002 |
+ In v1.0, the configuration data file for the <b>vault</b> subcommand will be named <code>vault.json</code>, instead of <code>config.json</code>.</li> |
|
2003 |
+<li>[Since v0.2.0, to be removed in v1.0.] |
|
2004 |
+ An existing configuration data file <code>config.json</code> will be attempted to be renamed to <code>vault.json</code>.</li> |
|
2005 |
+</ul> |
|
1301 | 2006 |
<h2 id="see-also">SEE ALSO<a class="headerlink" href="#see-also" title="Permanent link">¶</a></h2> |
1302 |
-<p><a href="../derivepassphrase.1/">derivepassphrase(1)</a>, |
|
1303 |
-<a href="https://www.npmjs.com/package/vault">vault(1)</a></p> |
|
2007 |
+<p><a href="../derivepassphrase.1/"><i>derivepassphrase</i>(1)</a>, |
|
2008 |
+<a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/"><i>pageant</i>(1)</a>, |
|
2009 |
+<a href="https://www.openssh.com/"><i>ssh-agent</i>(1)</a>, |
|
2010 |
+<a href="https://www.npmjs.com/package/vault" title="James Coglan's 'vault'"><i>vault</i>(1)</a>.</p> |
|
2011 |
+<h2 id="author">AUTHOR<a class="headerlink" href="#author" title="Permanent link">¶</a></h2> |
|
2012 |
+<p><a href="https://the13thletter.info">Marco Ricci</a> (<code>software</code> at <code>the13thletter</code> dot <code>info</code>)</p> |
|
2013 |
+<h2 id="bugs">BUGS<a class="headerlink" href="#bugs" title="Permanent link">¶</a></h2> |
|
2014 |
+<ul> |
|
2015 |
+<li> |
|
2016 |
+<p>The defaults are dictated by <i>vault</i>(1), necessitating the <a href="#compatibility-and-extension-options">“Compatibility and extension options”</a>. (WONTFIX.)</p> |
|
2017 |
+</li> |
|
2018 |
+<li> |
|
2019 |
+<p>The Windows version does not support SSH keys because Python on Windows does not support the predominant type of inter-process communication used by SSH agents on Windows.</p> |
|
2020 |
+</li> |
|
2021 |
+</ul> |
|
1304 | 2022 |
|
1305 | 2023 |
|
1306 | 2024 |
|
... | ... |
@@ -1369,7 +2087,7 @@ discouraged from using a stored passphrase.</p> |
1369 | 2087 |
<div class="md-copyright"> |
1370 | 2088 |
|
1371 | 2089 |
<div class="md-copyright__highlight"> |
1372 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
2090 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1373 | 2091 |
</div> |
1374 | 2092 |
|
1375 | 2093 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1021,6 +1041,92 @@ |
1021 | 1041 |
|
1022 | 1042 |
|
1023 | 1043 |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ |
|
1051 |
+ |
|
1052 |
+ |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ |
|
1061 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1062 |
+ |
|
1063 |
+ |
|
1064 |
+ |
|
1065 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1066 |
+ |
|
1067 |
+ |
|
1068 |
+ |
|
1069 |
+ <div class="md-nav__link md-nav__container"> |
|
1070 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1071 |
+ |
|
1072 |
+ |
|
1073 |
+ <span class="md-ellipsis"> |
|
1074 |
+ Design & Background |
|
1075 |
+ </span> |
|
1076 |
+ |
|
1077 |
+ |
|
1078 |
+ </a> |
|
1079 |
+ |
|
1080 |
+ |
|
1081 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1082 |
+ <span class="md-nav__icon md-icon"></span> |
|
1083 |
+ </label> |
|
1084 |
+ |
|
1085 |
+ </div> |
|
1086 |
+ |
|
1087 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1088 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1089 |
+ <span class="md-nav__icon md-icon"></span> |
|
1090 |
+ Design & Background |
|
1091 |
+ </label> |
|
1092 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1093 |
+ |
|
1094 |
+ |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ |
|
1098 |
+ |
|
1099 |
+ |
|
1100 |
+ |
|
1101 |
+ |
|
1102 |
+ <li class="md-nav__item"> |
|
1103 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ <span class="md-ellipsis"> |
|
1107 |
+ "altered versions" license requirement |
|
1108 |
+ </span> |
|
1109 |
+ |
|
1110 |
+ |
|
1111 |
+ </a> |
|
1112 |
+ </li> |
|
1113 |
+ |
|
1114 |
+ |
|
1115 |
+ |
|
1116 |
+ |
|
1117 |
+ </ul> |
|
1118 |
+ </nav> |
|
1119 |
+ |
|
1120 |
+ </li> |
|
1121 |
+ |
|
1122 |
+ |
|
1123 |
+ |
|
1124 |
+ |
|
1125 |
+ |
|
1126 |
+ |
|
1127 |
+ |
|
1128 |
+ |
|
1129 |
+ |
|
1024 | 1130 |
<li class="md-nav__item"> |
1025 | 1131 |
<a href="../../changelog/" class="md-nav__link"> |
1026 | 1132 |
|
... | ... |
@@ -1257,7 +1363,7 @@ subcommand must be specified explicitly.</p> |
1257 | 1363 |
<div class="md-copyright"> |
1258 | 1364 |
|
1259 | 1365 |
<div class="md-copyright__highlight"> |
1260 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1366 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1261 | 1367 |
</div> |
1262 | 1368 |
|
1263 | 1369 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1383,6 +1403,92 @@ |
1383 | 1403 |
|
1384 | 1404 |
|
1385 | 1405 |
|
1406 |
+ |
|
1407 |
+ |
|
1408 |
+ |
|
1409 |
+ |
|
1410 |
+ |
|
1411 |
+ |
|
1412 |
+ |
|
1413 |
+ |
|
1414 |
+ |
|
1415 |
+ |
|
1416 |
+ |
|
1417 |
+ |
|
1418 |
+ |
|
1419 |
+ |
|
1420 |
+ |
|
1421 |
+ |
|
1422 |
+ |
|
1423 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1424 |
+ |
|
1425 |
+ |
|
1426 |
+ |
|
1427 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1428 |
+ |
|
1429 |
+ |
|
1430 |
+ |
|
1431 |
+ <div class="md-nav__link md-nav__container"> |
|
1432 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1433 |
+ |
|
1434 |
+ |
|
1435 |
+ <span class="md-ellipsis"> |
|
1436 |
+ Design & Background |
|
1437 |
+ </span> |
|
1438 |
+ |
|
1439 |
+ |
|
1440 |
+ </a> |
|
1441 |
+ |
|
1442 |
+ |
|
1443 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1444 |
+ <span class="md-nav__icon md-icon"></span> |
|
1445 |
+ </label> |
|
1446 |
+ |
|
1447 |
+ </div> |
|
1448 |
+ |
|
1449 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1450 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1451 |
+ <span class="md-nav__icon md-icon"></span> |
|
1452 |
+ Design & Background |
|
1453 |
+ </label> |
|
1454 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1455 |
+ |
|
1456 |
+ |
|
1457 |
+ |
|
1458 |
+ |
|
1459 |
+ |
|
1460 |
+ |
|
1461 |
+ |
|
1462 |
+ |
|
1463 |
+ |
|
1464 |
+ <li class="md-nav__item"> |
|
1465 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1466 |
+ |
|
1467 |
+ |
|
1468 |
+ <span class="md-ellipsis"> |
|
1469 |
+ "altered versions" license requirement |
|
1470 |
+ </span> |
|
1471 |
+ |
|
1472 |
+ |
|
1473 |
+ </a> |
|
1474 |
+ </li> |
|
1475 |
+ |
|
1476 |
+ |
|
1477 |
+ |
|
1478 |
+ |
|
1479 |
+ </ul> |
|
1480 |
+ </nav> |
|
1481 |
+ |
|
1482 |
+ </li> |
|
1483 |
+ |
|
1484 |
+ |
|
1485 |
+ |
|
1486 |
+ |
|
1487 |
+ |
|
1488 |
+ |
|
1489 |
+ |
|
1490 |
+ |
|
1491 |
+ |
|
1386 | 1492 |
<li class="md-nav__item"> |
1387 | 1493 |
<a href="../../changelog/" class="md-nav__link"> |
1388 | 1494 |
|
... | ... |
@@ -3617,6 +3723,18 @@ JSON value.</p> |
3617 | 3723 |
|
3618 | 3724 |
|
3619 | 3725 |
<a href="#derivepassphrase._types.validate_vault_config" class="headerlink" title="Permanent link">¶</a></h3> |
3726 |
+ <div class="doc-overloads"> |
|
3727 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">validate_vault_config</span><span class="p">(</span> |
|
3728 |
+ <span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> |
|
3729 |
+ <span class="o">/</span><span class="p">,</span> |
|
3730 |
+ <span class="o">*</span><span class="p">,</span> |
|
3731 |
+ <span class="n">allow_derivepassphrase_extensions</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span><span class="p">,</span> |
|
3732 |
+ <span class="n">allow_unknown_settings</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> |
|
3733 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3734 |
+</code></pre></div><div class="doc-signature highlight"><pre><span></span><code><span class="nf">validate_vault_config</span><span class="p">(</span> |
|
3735 |
+ <span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">/</span><span class="p">,</span> <span class="o">*</span><span class="p">,</span> <span class="n">allow_unknown_settings</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">=</span> <span class="kc">False</span> |
|
3736 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3737 |
+</code></pre></div> </div> |
|
3620 | 3738 |
<div class="doc-signature highlight"><pre><span></span><code><span class="nf">validate_vault_config</span><span class="p">(</span> |
3621 | 3739 |
<span class="n">obj</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> |
3622 | 3740 |
<span class="o">/</span><span class="p">,</span> |
... | ... |
@@ -3683,7 +3801,7 @@ JSON value.</p> |
3683 | 3801 |
</td> |
3684 | 3802 |
<td> |
3685 | 3803 |
<div class="doc-md-description"> |
3686 |
- <p>If true, allow <code>derivepassphrase</code> extensions.</p> |
|
3804 |
+ <p>(Deprecated.) Ignored since v0.4.0.</p> |
|
3687 | 3805 |
</div> |
3688 | 3806 |
</td> |
3689 | 3807 |
<td> |
... | ... |
@@ -3728,6 +3846,13 @@ disallowed value.</p> |
3728 | 3846 |
</tbody> |
3729 | 3847 |
</table> |
3730 | 3848 |
|
3849 |
+ |
|
3850 |
+<details class="deprecated" open> |
|
3851 |
+ <summary>Deprecated</summary> |
|
3852 |
+ <p>Since v0.4.0: The <code>allow_derivepassphrase_extensions</code> keyword |
|
3853 |
+argument is deprecated, and will be removed in v1.0. There are |
|
3854 |
+no specified <code>derivepassphrase</code> extensions.</p> |
|
3855 |
+</details> |
|
3731 | 3856 |
</div> |
3732 | 3857 |
|
3733 | 3858 |
</div> |
... | ... |
@@ -4039,7 +4164,7 @@ vault configuration, then <code>None</code> is returned, directly.</p> |
4039 | 4164 |
<div class="md-copyright"> |
4040 | 4165 |
|
4041 | 4166 |
<div class="md-copyright__highlight"> |
4042 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
4167 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
4043 | 4168 |
</div> |
4044 | 4169 |
|
4045 | 4170 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -753,6 +773,105 @@ |
753 | 773 |
<nav class="md-nav" aria-label=" cli"> |
754 | 774 |
<ul class="md-nav__list"> |
755 | 775 |
|
776 |
+ <li class="md-nav__item"> |
|
777 |
+ <a href="#derivepassphrase.cli.ClickEchoStderrHandler" class="md-nav__link"> |
|
778 |
+ <span class="md-ellipsis"> |
|
779 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ClickEchoStderrHandler |
|
780 |
+ </span> |
|
781 |
+ </a> |
|
782 |
+ |
|
783 |
+ <nav class="md-nav" aria-label=" ClickEchoStderrHandler"> |
|
784 |
+ <ul class="md-nav__list"> |
|
785 |
+ |
|
786 |
+ <li class="md-nav__item"> |
|
787 |
+ <a href="#derivepassphrase.cli.ClickEchoStderrHandler.emit" class="md-nav__link"> |
|
788 |
+ <span class="md-ellipsis"> |
|
789 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> emit |
|
790 |
+ </span> |
|
791 |
+ </a> |
|
792 |
+ |
|
793 |
+</li> |
|
794 |
+ |
|
795 |
+ </ul> |
|
796 |
+ </nav> |
|
797 |
+ |
|
798 |
+</li> |
|
799 |
+ |
|
800 |
+ <li class="md-nav__item"> |
|
801 |
+ <a href="#derivepassphrase.cli.CLIofPackageFormatter" class="md-nav__link"> |
|
802 |
+ <span class="md-ellipsis"> |
|
803 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CLIofPackageFormatter |
|
804 |
+ </span> |
|
805 |
+ </a> |
|
806 |
+ |
|
807 |
+ <nav class="md-nav" aria-label=" CLIofPackageFormatter"> |
|
808 |
+ <ul class="md-nav__list"> |
|
809 |
+ |
|
810 |
+ <li class="md-nav__item"> |
|
811 |
+ <a href="#derivepassphrase.cli.CLIofPackageFormatter.format" class="md-nav__link"> |
|
812 |
+ <span class="md-ellipsis"> |
|
813 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format |
|
814 |
+ </span> |
|
815 |
+ </a> |
|
816 |
+ |
|
817 |
+</li> |
|
818 |
+ |
|
819 |
+ </ul> |
|
820 |
+ </nav> |
|
821 |
+ |
|
822 |
+</li> |
|
823 |
+ |
|
824 |
+ <li class="md-nav__item"> |
|
825 |
+ <a href="#derivepassphrase.cli.StandardCLILogging" class="md-nav__link"> |
|
826 |
+ <span class="md-ellipsis"> |
|
827 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardCLILogging |
|
828 |
+ </span> |
|
829 |
+ </a> |
|
830 |
+ |
|
831 |
+ <nav class="md-nav" aria-label=" StandardCLILogging"> |
|
832 |
+ <ul class="md-nav__list"> |
|
833 |
+ |
|
834 |
+ <li class="md-nav__item"> |
|
835 |
+ <a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_logging" class="md-nav__link"> |
|
836 |
+ <span class="md-ellipsis"> |
|
837 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> ensure_standard_logging |
|
838 |
+ </span> |
|
839 |
+ </a> |
|
840 |
+ |
|
841 |
+</li> |
|
842 |
+ |
|
843 |
+ <li class="md-nav__item"> |
|
844 |
+ <a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_warnings_logging" class="md-nav__link"> |
|
845 |
+ <span class="md-ellipsis"> |
|
846 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> ensure_standard_warnings_logging |
|
847 |
+ </span> |
|
848 |
+ </a> |
|
849 |
+ |
|
850 |
+</li> |
|
851 |
+ |
|
852 |
+ </ul> |
|
853 |
+ </nav> |
|
854 |
+ |
|
855 |
+</li> |
|
856 |
+ |
|
857 |
+ <li class="md-nav__item"> |
|
858 |
+ <a href="#derivepassphrase.cli.StandardLoggingContextManager" class="md-nav__link"> |
|
859 |
+ <span class="md-ellipsis"> |
|
860 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardLoggingContextManager |
|
861 |
+ </span> |
|
862 |
+ </a> |
|
863 |
+ |
|
864 |
+</li> |
|
865 |
+ |
|
866 |
+ <li class="md-nav__item"> |
|
867 |
+ <a href="#derivepassphrase.cli.StandardWarningsLoggingContextManager" class="md-nav__link"> |
|
868 |
+ <span class="md-ellipsis"> |
|
869 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardWarningsLoggingContextManager |
|
870 |
+ </span> |
|
871 |
+ </a> |
|
872 |
+ |
|
873 |
+</li> |
|
874 |
+ |
|
756 | 875 |
<li class="md-nav__item"> |
757 | 876 |
<a href="#derivepassphrase.cli.OptionGroupOption" class="md-nav__link"> |
758 | 877 |
<span class="md-ellipsis"> |
... | ... |
@@ -796,6 +915,42 @@ |
796 | 915 |
<nav class="md-nav" aria-label=" CommandWithHelpGroups"> |
797 | 916 |
<ul class="md-nav__list"> |
798 | 917 |
|
918 |
+ <li class="md-nav__item"> |
|
919 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.collect_usage_pieces" class="md-nav__link"> |
|
920 |
+ <span class="md-ellipsis"> |
|
921 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> collect_usage_pieces |
|
922 |
+ </span> |
|
923 |
+ </a> |
|
924 |
+ |
|
925 |
+</li> |
|
926 |
+ |
|
927 |
+ <li class="md-nav__item"> |
|
928 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.get_help_option" class="md-nav__link"> |
|
929 |
+ <span class="md-ellipsis"> |
|
930 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_help_option |
|
931 |
+ </span> |
|
932 |
+ </a> |
|
933 |
+ |
|
934 |
+</li> |
|
935 |
+ |
|
936 |
+ <li class="md-nav__item"> |
|
937 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.get_short_help_str" class="md-nav__link"> |
|
938 |
+ <span class="md-ellipsis"> |
|
939 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_short_help_str |
|
940 |
+ </span> |
|
941 |
+ </a> |
|
942 |
+ |
|
943 |
+</li> |
|
944 |
+ |
|
945 |
+ <li class="md-nav__item"> |
|
946 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_help_text" class="md-nav__link"> |
|
947 |
+ <span class="md-ellipsis"> |
|
948 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_help_text |
|
949 |
+ </span> |
|
950 |
+ </a> |
|
951 |
+ |
|
952 |
+</li> |
|
953 |
+ |
|
799 | 954 |
<li class="md-nav__item"> |
800 | 955 |
<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_options" class="md-nav__link"> |
801 | 956 |
<span class="md-ellipsis"> |
... | ... |
@@ -803,6 +958,57 @@ |
803 | 958 |
</span> |
804 | 959 |
</a> |
805 | 960 |
|
961 |
+</li> |
|
962 |
+ |
|
963 |
+ <li class="md-nav__item"> |
|
964 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_commands" class="md-nav__link"> |
|
965 |
+ <span class="md-ellipsis"> |
|
966 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_commands |
|
967 |
+ </span> |
|
968 |
+ </a> |
|
969 |
+ |
|
970 |
+</li> |
|
971 |
+ |
|
972 |
+ <li class="md-nav__item"> |
|
973 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_epilog" class="md-nav__link"> |
|
974 |
+ <span class="md-ellipsis"> |
|
975 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_epilog |
|
976 |
+ </span> |
|
977 |
+ </a> |
|
978 |
+ |
|
979 |
+</li> |
|
980 |
+ |
|
981 |
+ </ul> |
|
982 |
+ </nav> |
|
983 |
+ |
|
984 |
+</li> |
|
985 |
+ |
|
986 |
+ <li class="md-nav__item"> |
|
987 |
+ <a href="#derivepassphrase.cli.LoggingOption" class="md-nav__link"> |
|
988 |
+ <span class="md-ellipsis"> |
|
989 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> LoggingOption |
|
990 |
+ </span> |
|
991 |
+ </a> |
|
992 |
+ |
|
993 |
+</li> |
|
994 |
+ |
|
995 |
+ <li class="md-nav__item"> |
|
996 |
+ <a href="#derivepassphrase.cli.ZshComplete" class="md-nav__link"> |
|
997 |
+ <span class="md-ellipsis"> |
|
998 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ZshComplete |
|
999 |
+ </span> |
|
1000 |
+ </a> |
|
1001 |
+ |
|
1002 |
+ <nav class="md-nav" aria-label=" ZshComplete"> |
|
1003 |
+ <ul class="md-nav__list"> |
|
1004 |
+ |
|
1005 |
+ <li class="md-nav__item"> |
|
1006 |
+ <a href="#derivepassphrase.cli.ZshComplete.format_completion" class="md-nav__link"> |
|
1007 |
+ <span class="md-ellipsis"> |
|
1008 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_completion |
|
1009 |
+ </span> |
|
1010 |
+ </a> |
|
1011 |
+ |
|
806 | 1012 |
</li> |
807 | 1013 |
|
808 | 1014 |
</ul> |
... | ... |
@@ -811,9 +1017,9 @@ |
811 | 1017 |
</li> |
812 | 1018 |
|
813 | 1019 |
<li class="md-nav__item"> |
814 |
- <a href="#derivepassphrase.cli.PasswordGenerationOption" class="md-nav__link"> |
|
1020 |
+ <a href="#derivepassphrase.cli.PassphraseGenerationOption" class="md-nav__link"> |
|
815 | 1021 |
<span class="md-ellipsis"> |
816 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PasswordGenerationOption |
|
1022 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PassphraseGenerationOption |
|
817 | 1023 |
</span> |
818 | 1024 |
</a> |
819 | 1025 |
|
... | ... |
@@ -835,6 +1041,42 @@ |
835 | 1041 |
</span> |
836 | 1042 |
</a> |
837 | 1043 |
|
1044 |
+</li> |
|
1045 |
+ |
|
1046 |
+ <li class="md-nav__item"> |
|
1047 |
+ <a href="#derivepassphrase.cli.CompatibilityOption" class="md-nav__link"> |
|
1048 |
+ <span class="md-ellipsis"> |
|
1049 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CompatibilityOption |
|
1050 |
+ </span> |
|
1051 |
+ </a> |
|
1052 |
+ |
|
1053 |
+</li> |
|
1054 |
+ |
|
1055 |
+ <li class="md-nav__item"> |
|
1056 |
+ <a href="#derivepassphrase.cli.adjust_logging_level" class="md-nav__link"> |
|
1057 |
+ <span class="md-ellipsis"> |
|
1058 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> adjust_logging_level |
|
1059 |
+ </span> |
|
1060 |
+ </a> |
|
1061 |
+ |
|
1062 |
+</li> |
|
1063 |
+ |
|
1064 |
+ <li class="md-nav__item"> |
|
1065 |
+ <a href="#derivepassphrase.cli.color_forcing_callback" class="md-nav__link"> |
|
1066 |
+ <span class="md-ellipsis"> |
|
1067 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> color_forcing_callback |
|
1068 |
+ </span> |
|
1069 |
+ </a> |
|
1070 |
+ |
|
1071 |
+</li> |
|
1072 |
+ |
|
1073 |
+ <li class="md-nav__item"> |
|
1074 |
+ <a href="#derivepassphrase.cli.standard_logging_options" class="md-nav__link"> |
|
1075 |
+ <span class="md-ellipsis"> |
|
1076 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> standard_logging_options |
|
1077 |
+ </span> |
|
1078 |
+ </a> |
|
1079 |
+ |
|
838 | 1080 |
</li> |
839 | 1081 |
|
840 | 1082 |
<li class="md-nav__item"> |
... | ... |
@@ -1089,356 +1331,1983 @@ |
1089 | 1331 |
|
1090 | 1332 |
|
1091 | 1333 |
|
1092 |
- <li class="md-nav__item"> |
|
1093 |
- <a href="../../changelog/" class="md-nav__link"> |
|
1094 | 1334 |
|
1095 | 1335 |
|
1096 |
- <span class="md-ellipsis"> |
|
1097 |
- Changelog |
|
1098 |
- </span> |
|
1099 | 1336 |
|
1100 | 1337 |
|
1101 |
- </a> |
|
1102 |
- </li> |
|
1103 | 1338 |
|
1104 | 1339 |
|
1105 | 1340 |
|
1106 |
- </ul> |
|
1107 |
-</nav> |
|
1108 |
- </div> |
|
1109 |
- </div> |
|
1110 |
- </div> |
|
1111 | 1341 |
|
1112 | 1342 |
|
1113 | 1343 |
|
1114 |
- <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > |
|
1115 |
- <div class="md-sidebar__scrollwrap"> |
|
1116 |
- <div class="md-sidebar__inner"> |
|
1117 | 1344 |
|
1118 | 1345 |
|
1119 |
-<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
|
1120 | 1346 |
|
1121 | 1347 |
|
1122 | 1348 |
|
1123 | 1349 |
|
1124 |
- <label class="md-nav__title" for="__toc"> |
|
1125 |
- <span class="md-nav__icon md-icon"></span> |
|
1126 |
- Table of contents |
|
1127 |
- </label> |
|
1128 |
- <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
|
1129 | 1350 |
|
1130 |
- <li class="md-nav__item"> |
|
1131 |
- <a href="#derivepassphrase.cli" class="md-nav__link"> |
|
1132 |
- <span class="md-ellipsis"> |
|
1133 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-module"></code> cli |
|
1134 |
- </span> |
|
1135 |
- </a> |
|
1351 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1136 | 1352 |
|
1137 |
- <nav class="md-nav" aria-label=" cli"> |
|
1138 |
- <ul class="md-nav__list"> |
|
1139 | 1353 |
|
1140 |
- <li class="md-nav__item"> |
|
1141 |
- <a href="#derivepassphrase.cli.OptionGroupOption" class="md-nav__link"> |
|
1142 |
- <span class="md-ellipsis"> |
|
1143 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> OptionGroupOption |
|
1144 |
- </span> |
|
1145 |
- </a> |
|
1146 | 1354 |
|
1147 |
- <nav class="md-nav" aria-label=" OptionGroupOption"> |
|
1148 |
- <ul class="md-nav__list"> |
|
1355 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1149 | 1356 |
|
1150 |
- <li class="md-nav__item"> |
|
1151 |
- <a href="#derivepassphrase.cli.OptionGroupOption.option_group_name" class="md-nav__link"> |
|
1152 |
- <span class="md-ellipsis"> |
|
1153 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> option_group_name |
|
1154 |
- </span> |
|
1155 |
- </a> |
|
1156 | 1357 |
|
1157 |
-</li> |
|
1158 | 1358 |
|
1159 |
- <li class="md-nav__item"> |
|
1160 |
- <a href="#derivepassphrase.cli.OptionGroupOption.epilog" class="md-nav__link"> |
|
1359 |
+ <div class="md-nav__link md-nav__container"> |
|
1360 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1361 |
+ |
|
1362 |
+ |
|
1161 | 1363 |
<span class="md-ellipsis"> |
1162 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> epilog |
|
1364 |
+ Design & Background |
|
1163 | 1365 |
</span> |
1366 |
+ |
|
1367 |
+ |
|
1164 | 1368 |
</a> |
1165 | 1369 |
|
1166 |
-</li> |
|
1167 | 1370 |
|
1168 |
- </ul> |
|
1169 |
- </nav> |
|
1371 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1372 |
+ <span class="md-nav__icon md-icon"></span> |
|
1373 |
+ </label> |
|
1170 | 1374 |
|
1171 |
-</li> |
|
1375 |
+ </div> |
|
1172 | 1376 |
|
1173 |
- <li class="md-nav__item"> |
|
1174 |
- <a href="#derivepassphrase.cli.CommandWithHelpGroups" class="md-nav__link"> |
|
1175 |
- <span class="md-ellipsis"> |
|
1176 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CommandWithHelpGroups |
|
1377 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1378 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1379 |
+ <span class="md-nav__icon md-icon"></span> |
|
1380 |
+ Design & Background |
|
1381 |
+ </label> |
|
1382 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1383 |
+ |
|
1384 |
+ |
|
1385 |
+ |
|
1386 |
+ |
|
1387 |
+ |
|
1388 |
+ |
|
1389 |
+ |
|
1390 |
+ |
|
1391 |
+ |
|
1392 |
+ <li class="md-nav__item"> |
|
1393 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1394 |
+ |
|
1395 |
+ |
|
1396 |
+ <span class="md-ellipsis"> |
|
1397 |
+ "altered versions" license requirement |
|
1177 | 1398 |
</span> |
1399 |
+ |
|
1400 |
+ |
|
1178 | 1401 |
</a> |
1402 |
+ </li> |
|
1403 |
+ |
|
1404 |
+ |
|
1405 |
+ |
|
1406 |
+ |
|
1407 |
+ </ul> |
|
1408 |
+ </nav> |
|
1409 |
+ |
|
1410 |
+ </li> |
|
1411 |
+ |
|
1412 |
+ |
|
1413 |
+ |
|
1414 |
+ |
|
1415 |
+ |
|
1416 |
+ |
|
1417 |
+ |
|
1179 | 1418 |
|
1180 |
- <nav class="md-nav" aria-label=" CommandWithHelpGroups"> |
|
1181 |
- <ul class="md-nav__list"> |
|
1182 | 1419 |
|
1183 | 1420 |
<li class="md-nav__item"> |
1184 |
- <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_options" class="md-nav__link"> |
|
1421 |
+ <a href="../../changelog/" class="md-nav__link"> |
|
1422 |
+ |
|
1423 |
+ |
|
1185 | 1424 |
<span class="md-ellipsis"> |
1186 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_options |
|
1425 |
+ Changelog |
|
1187 | 1426 |
</span> |
1188 |
- </a> |
|
1189 | 1427 |
|
1428 |
+ |
|
1429 |
+ </a> |
|
1190 | 1430 |
</li> |
1191 | 1431 |
|
1432 |
+ |
|
1433 |
+ |
|
1192 | 1434 |
</ul> |
1193 | 1435 |
</nav> |
1436 |
+ </div> |
|
1437 |
+ </div> |
|
1438 |
+ </div> |
|
1194 | 1439 |
|
1195 |
-</li> |
|
1440 |
+ |
|
1441 |
+ |
|
1442 |
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" > |
|
1443 |
+ <div class="md-sidebar__scrollwrap"> |
|
1444 |
+ <div class="md-sidebar__inner"> |
|
1445 |
+ |
|
1446 |
+ |
|
1447 |
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents"> |
|
1448 |
+ |
|
1449 |
+ |
|
1450 |
+ |
|
1451 |
+ |
|
1452 |
+ <label class="md-nav__title" for="__toc"> |
|
1453 |
+ <span class="md-nav__icon md-icon"></span> |
|
1454 |
+ Table of contents |
|
1455 |
+ </label> |
|
1456 |
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
|
1196 | 1457 |
|
1197 | 1458 |
<li class="md-nav__item"> |
1198 |
- <a href="#derivepassphrase.cli.PasswordGenerationOption" class="md-nav__link"> |
|
1459 |
+ <a href="#derivepassphrase.cli" class="md-nav__link"> |
|
1199 | 1460 |
<span class="md-ellipsis"> |
1200 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PasswordGenerationOption |
|
1461 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-module"></code> cli |
|
1201 | 1462 |
</span> |
1202 | 1463 |
</a> |
1203 | 1464 |
|
1204 |
-</li> |
|
1465 |
+ <nav class="md-nav" aria-label=" cli"> |
|
1466 |
+ <ul class="md-nav__list"> |
|
1205 | 1467 |
|
1206 | 1468 |
<li class="md-nav__item"> |
1207 |
- <a href="#derivepassphrase.cli.ConfigurationOption" class="md-nav__link"> |
|
1469 |
+ <a href="#derivepassphrase.cli.ClickEchoStderrHandler" class="md-nav__link"> |
|
1208 | 1470 |
<span class="md-ellipsis"> |
1209 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ConfigurationOption |
|
1471 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ClickEchoStderrHandler |
|
1210 | 1472 |
</span> |
1211 | 1473 |
</a> |
1212 | 1474 |
|
1213 |
-</li> |
|
1475 |
+ <nav class="md-nav" aria-label=" ClickEchoStderrHandler"> |
|
1476 |
+ <ul class="md-nav__list"> |
|
1214 | 1477 |
|
1215 | 1478 |
<li class="md-nav__item"> |
1216 |
- <a href="#derivepassphrase.cli.StorageManagementOption" class="md-nav__link"> |
|
1479 |
+ <a href="#derivepassphrase.cli.ClickEchoStderrHandler.emit" class="md-nav__link"> |
|
1217 | 1480 |
<span class="md-ellipsis"> |
1218 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StorageManagementOption |
|
1481 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> emit |
|
1219 | 1482 |
</span> |
1220 | 1483 |
</a> |
1221 | 1484 |
|
1485 |
+</li> |
|
1486 |
+ |
|
1487 |
+ </ul> |
|
1488 |
+ </nav> |
|
1489 |
+ |
|
1222 | 1490 |
</li> |
1223 | 1491 |
|
1224 | 1492 |
<li class="md-nav__item"> |
1225 |
- <a href="#derivepassphrase.cli.derivepassphrase" class="md-nav__link"> |
|
1493 |
+ <a href="#derivepassphrase.cli.CLIofPackageFormatter" class="md-nav__link"> |
|
1226 | 1494 |
<span class="md-ellipsis"> |
1227 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase |
|
1495 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CLIofPackageFormatter |
|
1228 | 1496 |
</span> |
1229 | 1497 |
</a> |
1230 | 1498 |
|
1231 |
-</li> |
|
1499 |
+ <nav class="md-nav" aria-label=" CLIofPackageFormatter"> |
|
1500 |
+ <ul class="md-nav__list"> |
|
1232 | 1501 |
|
1233 | 1502 |
<li class="md-nav__item"> |
1234 |
- <a href="#derivepassphrase.cli.derivepassphrase_export" class="md-nav__link"> |
|
1503 |
+ <a href="#derivepassphrase.cli.CLIofPackageFormatter.format" class="md-nav__link"> |
|
1235 | 1504 |
<span class="md-ellipsis"> |
1236 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_export |
|
1505 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format |
|
1237 | 1506 |
</span> |
1238 | 1507 |
</a> |
1239 | 1508 |
|
1509 |
+</li> |
|
1510 |
+ |
|
1511 |
+ </ul> |
|
1512 |
+ </nav> |
|
1513 |
+ |
|
1240 | 1514 |
</li> |
1241 | 1515 |
|
1242 | 1516 |
<li class="md-nav__item"> |
1243 |
- <a href="#derivepassphrase.cli.derivepassphrase_export_vault" class="md-nav__link"> |
|
1517 |
+ <a href="#derivepassphrase.cli.StandardCLILogging" class="md-nav__link"> |
|
1244 | 1518 |
<span class="md-ellipsis"> |
1245 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_export_vault |
|
1519 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardCLILogging |
|
1246 | 1520 |
</span> |
1247 | 1521 |
</a> |
1248 | 1522 |
|
1249 |
-</li> |
|
1523 |
+ <nav class="md-nav" aria-label=" StandardCLILogging"> |
|
1524 |
+ <ul class="md-nav__list"> |
|
1250 | 1525 |
|
1251 | 1526 |
<li class="md-nav__item"> |
1252 |
- <a href="#derivepassphrase.cli.derivepassphrase_vault" class="md-nav__link"> |
|
1527 |
+ <a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_logging" class="md-nav__link"> |
|
1253 | 1528 |
<span class="md-ellipsis"> |
1254 |
- <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_vault |
|
1529 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> ensure_standard_logging |
|
1255 | 1530 |
</span> |
1256 | 1531 |
</a> |
1257 | 1532 |
|
1258 | 1533 |
</li> |
1259 | 1534 |
|
1260 |
- </ul> |
|
1261 |
- </nav> |
|
1535 |
+ <li class="md-nav__item"> |
|
1536 |
+ <a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_warnings_logging" class="md-nav__link"> |
|
1537 |
+ <span class="md-ellipsis"> |
|
1538 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> ensure_standard_warnings_logging |
|
1539 |
+ </span> |
|
1540 |
+ </a> |
|
1262 | 1541 |
|
1263 | 1542 |
</li> |
1264 | 1543 |
|
1265 | 1544 |
</ul> |
1266 |
- |
|
1267 | 1545 |
</nav> |
1268 |
- </div> |
|
1269 |
- </div> |
|
1270 |
- </div> |
|
1271 |
- |
|
1272 | 1546 |
|
1547 |
+</li> |
|
1273 | 1548 |
|
1274 |
- <div class="md-content" data-md-component="content"> |
|
1275 |
- <article class="md-content__inner md-typeset"> |
|
1276 |
- |
|
1549 |
+ <li class="md-nav__item"> |
|
1550 |
+ <a href="#derivepassphrase.cli.StandardLoggingContextManager" class="md-nav__link"> |
|
1551 |
+ <span class="md-ellipsis"> |
|
1552 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardLoggingContextManager |
|
1553 |
+ </span> |
|
1554 |
+ </a> |
|
1277 | 1555 |
|
1556 |
+</li> |
|
1278 | 1557 |
|
1558 |
+ <li class="md-nav__item"> |
|
1559 |
+ <a href="#derivepassphrase.cli.StandardWarningsLoggingContextManager" class="md-nav__link"> |
|
1560 |
+ <span class="md-ellipsis"> |
|
1561 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StandardWarningsLoggingContextManager |
|
1562 |
+ </span> |
|
1563 |
+ </a> |
|
1279 | 1564 |
|
1565 |
+</li> |
|
1280 | 1566 |
|
1567 |
+ <li class="md-nav__item"> |
|
1568 |
+ <a href="#derivepassphrase.cli.OptionGroupOption" class="md-nav__link"> |
|
1569 |
+ <span class="md-ellipsis"> |
|
1570 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> OptionGroupOption |
|
1571 |
+ </span> |
|
1572 |
+ </a> |
|
1281 | 1573 |
|
1574 |
+ <nav class="md-nav" aria-label=" OptionGroupOption"> |
|
1575 |
+ <ul class="md-nav__list"> |
|
1282 | 1576 |
|
1577 |
+ <li class="md-nav__item"> |
|
1578 |
+ <a href="#derivepassphrase.cli.OptionGroupOption.option_group_name" class="md-nav__link"> |
|
1579 |
+ <span class="md-ellipsis"> |
|
1580 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> option_group_name |
|
1581 |
+ </span> |
|
1582 |
+ </a> |
|
1283 | 1583 |
|
1284 |
- <a href="https://github.com/the-13th-letter/derivepassphrase/raw/master/docs/reference/derivepassphrase.cli.md" title="View source of this page" class="md-content__button md-icon"> |
|
1584 |
+</li> |
|
1285 | 1585 |
|
1286 |
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> |
|
1586 |
+ <li class="md-nav__item"> |
|
1587 |
+ <a href="#derivepassphrase.cli.OptionGroupOption.epilog" class="md-nav__link"> |
|
1588 |
+ <span class="md-ellipsis"> |
|
1589 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> epilog |
|
1590 |
+ </span> |
|
1287 | 1591 |
</a> |
1288 | 1592 |
|
1593 |
+</li> |
|
1289 | 1594 |
|
1595 |
+ </ul> |
|
1596 |
+ </nav> |
|
1290 | 1597 |
|
1291 |
- <h1>Submodule cli</h1> |
|
1598 |
+</li> |
|
1292 | 1599 |
|
1293 |
-<div class="doc doc-object doc-module"> |
|
1600 |
+ <li class="md-nav__item"> |
|
1601 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups" class="md-nav__link"> |
|
1602 |
+ <span class="md-ellipsis"> |
|
1603 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CommandWithHelpGroups |
|
1604 |
+ </span> |
|
1605 |
+ </a> |
|
1294 | 1606 |
|
1607 |
+ <nav class="md-nav" aria-label=" CommandWithHelpGroups"> |
|
1608 |
+ <ul class="md-nav__list"> |
|
1295 | 1609 |
|
1610 |
+ <li class="md-nav__item"> |
|
1611 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.collect_usage_pieces" class="md-nav__link"> |
|
1612 |
+ <span class="md-ellipsis"> |
|
1613 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> collect_usage_pieces |
|
1614 |
+ </span> |
|
1615 |
+ </a> |
|
1296 | 1616 |
|
1297 |
-<h2 id="derivepassphrase.cli" class="doc doc-heading"> |
|
1298 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">derivepassphrase.cli</span> |
|
1617 |
+</li> |
|
1299 | 1618 |
|
1619 |
+ <li class="md-nav__item"> |
|
1620 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.get_help_option" class="md-nav__link"> |
|
1621 |
+ <span class="md-ellipsis"> |
|
1622 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_help_option |
|
1623 |
+ </span> |
|
1624 |
+ </a> |
|
1300 | 1625 |
|
1301 |
-<a href="#derivepassphrase.cli" class="headerlink" title="Permanent link">¶</a></h2> |
|
1626 |
+</li> |
|
1302 | 1627 |
|
1303 |
- <div class="doc doc-contents first"> |
|
1628 |
+ <li class="md-nav__item"> |
|
1629 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.get_short_help_str" class="md-nav__link"> |
|
1630 |
+ <span class="md-ellipsis"> |
|
1631 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_short_help_str |
|
1632 |
+ </span> |
|
1633 |
+ </a> |
|
1304 | 1634 |
|
1305 |
- <p>Command-line interface for derivepassphrase.</p> |
|
1635 |
+</li> |
|
1306 | 1636 |
|
1637 |
+ <li class="md-nav__item"> |
|
1638 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_help_text" class="md-nav__link"> |
|
1639 |
+ <span class="md-ellipsis"> |
|
1640 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_help_text |
|
1641 |
+ </span> |
|
1642 |
+ </a> |
|
1307 | 1643 |
|
1644 |
+</li> |
|
1308 | 1645 |
|
1646 |
+ <li class="md-nav__item"> |
|
1647 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_options" class="md-nav__link"> |
|
1648 |
+ <span class="md-ellipsis"> |
|
1649 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_options |
|
1650 |
+ </span> |
|
1651 |
+ </a> |
|
1309 | 1652 |
|
1653 |
+</li> |
|
1310 | 1654 |
|
1655 |
+ <li class="md-nav__item"> |
|
1656 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_commands" class="md-nav__link"> |
|
1657 |
+ <span class="md-ellipsis"> |
|
1658 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_commands |
|
1659 |
+ </span> |
|
1660 |
+ </a> |
|
1311 | 1661 |
|
1662 |
+</li> |
|
1312 | 1663 |
|
1664 |
+ <li class="md-nav__item"> |
|
1665 |
+ <a href="#derivepassphrase.cli.CommandWithHelpGroups.format_epilog" class="md-nav__link"> |
|
1666 |
+ <span class="md-ellipsis"> |
|
1667 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_epilog |
|
1668 |
+ </span> |
|
1669 |
+ </a> |
|
1313 | 1670 |
|
1314 |
- <div class="doc doc-children"> |
|
1671 |
+</li> |
|
1315 | 1672 |
|
1673 |
+ </ul> |
|
1674 |
+ </nav> |
|
1316 | 1675 |
|
1676 |
+</li> |
|
1317 | 1677 |
|
1678 |
+ <li class="md-nav__item"> |
|
1679 |
+ <a href="#derivepassphrase.cli.LoggingOption" class="md-nav__link"> |
|
1680 |
+ <span class="md-ellipsis"> |
|
1681 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> LoggingOption |
|
1682 |
+ </span> |
|
1683 |
+ </a> |
|
1318 | 1684 |
|
1685 |
+</li> |
|
1319 | 1686 |
|
1687 |
+ <li class="md-nav__item"> |
|
1688 |
+ <a href="#derivepassphrase.cli.ZshComplete" class="md-nav__link"> |
|
1689 |
+ <span class="md-ellipsis"> |
|
1690 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ZshComplete |
|
1691 |
+ </span> |
|
1692 |
+ </a> |
|
1320 | 1693 |
|
1694 |
+ <nav class="md-nav" aria-label=" ZshComplete"> |
|
1695 |
+ <ul class="md-nav__list"> |
|
1321 | 1696 |
|
1697 |
+ <li class="md-nav__item"> |
|
1698 |
+ <a href="#derivepassphrase.cli.ZshComplete.format_completion" class="md-nav__link"> |
|
1699 |
+ <span class="md-ellipsis"> |
|
1700 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> format_completion |
|
1701 |
+ </span> |
|
1702 |
+ </a> |
|
1322 | 1703 |
|
1323 |
-<div class="doc doc-object doc-class"> |
|
1704 |
+</li> |
|
1324 | 1705 |
|
1706 |
+ </ul> |
|
1707 |
+ </nav> |
|
1325 | 1708 |
|
1709 |
+</li> |
|
1326 | 1710 |
|
1327 |
-<h3 id="derivepassphrase.cli.OptionGroupOption" class="doc doc-heading"> |
|
1328 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">OptionGroupOption</span> |
|
1711 |
+ <li class="md-nav__item"> |
|
1712 |
+ <a href="#derivepassphrase.cli.PassphraseGenerationOption" class="md-nav__link"> |
|
1713 |
+ <span class="md-ellipsis"> |
|
1714 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PassphraseGenerationOption |
|
1715 |
+ </span> |
|
1716 |
+ </a> |
|
1329 | 1717 |
|
1718 |
+</li> |
|
1330 | 1719 |
|
1331 |
-<a href="#derivepassphrase.cli.OptionGroupOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
1332 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">OptionGroupOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
1333 |
-</code></pre></div> |
|
1720 |
+ <li class="md-nav__item"> |
|
1721 |
+ <a href="#derivepassphrase.cli.ConfigurationOption" class="md-nav__link"> |
|
1722 |
+ <span class="md-ellipsis"> |
|
1723 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> ConfigurationOption |
|
1724 |
+ </span> |
|
1725 |
+ </a> |
|
1334 | 1726 |
|
1335 |
- <div class="doc doc-contents "> |
|
1336 |
- <p class="doc doc-class-bases"> |
|
1337 |
- Bases: <code><a class="autorefs autorefs-external" title="click.Option" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option">Option</a></code></p> |
|
1727 |
+</li> |
|
1338 | 1728 |
|
1729 |
+ <li class="md-nav__item"> |
|
1730 |
+ <a href="#derivepassphrase.cli.StorageManagementOption" class="md-nav__link"> |
|
1731 |
+ <span class="md-ellipsis"> |
|
1732 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> StorageManagementOption |
|
1733 |
+ </span> |
|
1734 |
+ </a> |
|
1339 | 1735 |
|
1736 |
+</li> |
|
1340 | 1737 |
|
1341 |
- <p>A <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option"><code>click.Option</code></a> with an associated group name and group epilog.</p> |
|
1342 |
-<p>Used by <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.CommandWithHelpGroups"><code>CommandWithHelpGroups</code></a> to print help sections. Each |
|
1343 |
-subclass contains its own group name and epilog.</p> |
|
1738 |
+ <li class="md-nav__item"> |
|
1739 |
+ <a href="#derivepassphrase.cli.CompatibilityOption" class="md-nav__link"> |
|
1740 |
+ <span class="md-ellipsis"> |
|
1741 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> CompatibilityOption |
|
1742 |
+ </span> |
|
1743 |
+ </a> |
|
1344 | 1744 |
|
1745 |
+</li> |
|
1345 | 1746 |
|
1346 |
-<p><span class="doc-section-title">Attributes:</span></p> |
|
1747 |
+ <li class="md-nav__item"> |
|
1748 |
+ <a href="#derivepassphrase.cli.adjust_logging_level" class="md-nav__link"> |
|
1749 |
+ <span class="md-ellipsis"> |
|
1750 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> adjust_logging_level |
|
1751 |
+ </span> |
|
1752 |
+ </a> |
|
1753 |
+ |
|
1754 |
+</li> |
|
1755 |
+ |
|
1756 |
+ <li class="md-nav__item"> |
|
1757 |
+ <a href="#derivepassphrase.cli.color_forcing_callback" class="md-nav__link"> |
|
1758 |
+ <span class="md-ellipsis"> |
|
1759 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> color_forcing_callback |
|
1760 |
+ </span> |
|
1761 |
+ </a> |
|
1762 |
+ |
|
1763 |
+</li> |
|
1764 |
+ |
|
1765 |
+ <li class="md-nav__item"> |
|
1766 |
+ <a href="#derivepassphrase.cli.standard_logging_options" class="md-nav__link"> |
|
1767 |
+ <span class="md-ellipsis"> |
|
1768 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> standard_logging_options |
|
1769 |
+ </span> |
|
1770 |
+ </a> |
|
1771 |
+ |
|
1772 |
+</li> |
|
1773 |
+ |
|
1774 |
+ <li class="md-nav__item"> |
|
1775 |
+ <a href="#derivepassphrase.cli.derivepassphrase" class="md-nav__link"> |
|
1776 |
+ <span class="md-ellipsis"> |
|
1777 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase |
|
1778 |
+ </span> |
|
1779 |
+ </a> |
|
1780 |
+ |
|
1781 |
+</li> |
|
1782 |
+ |
|
1783 |
+ <li class="md-nav__item"> |
|
1784 |
+ <a href="#derivepassphrase.cli.derivepassphrase_export" class="md-nav__link"> |
|
1785 |
+ <span class="md-ellipsis"> |
|
1786 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_export |
|
1787 |
+ </span> |
|
1788 |
+ </a> |
|
1789 |
+ |
|
1790 |
+</li> |
|
1791 |
+ |
|
1792 |
+ <li class="md-nav__item"> |
|
1793 |
+ <a href="#derivepassphrase.cli.derivepassphrase_export_vault" class="md-nav__link"> |
|
1794 |
+ <span class="md-ellipsis"> |
|
1795 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_export_vault |
|
1796 |
+ </span> |
|
1797 |
+ </a> |
|
1798 |
+ |
|
1799 |
+</li> |
|
1800 |
+ |
|
1801 |
+ <li class="md-nav__item"> |
|
1802 |
+ <a href="#derivepassphrase.cli.derivepassphrase_vault" class="md-nav__link"> |
|
1803 |
+ <span class="md-ellipsis"> |
|
1804 |
+ <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> derivepassphrase_vault |
|
1805 |
+ </span> |
|
1806 |
+ </a> |
|
1807 |
+ |
|
1808 |
+</li> |
|
1809 |
+ |
|
1810 |
+ </ul> |
|
1811 |
+ </nav> |
|
1812 |
+ |
|
1813 |
+</li> |
|
1814 |
+ |
|
1815 |
+ </ul> |
|
1816 |
+ |
|
1817 |
+</nav> |
|
1818 |
+ </div> |
|
1819 |
+ </div> |
|
1820 |
+ </div> |
|
1821 |
+ |
|
1822 |
+ |
|
1823 |
+ |
|
1824 |
+ <div class="md-content" data-md-component="content"> |
|
1825 |
+ <article class="md-content__inner md-typeset"> |
|
1826 |
+ |
|
1827 |
+ |
|
1828 |
+ |
|
1829 |
+ |
|
1830 |
+ |
|
1831 |
+ |
|
1832 |
+ |
|
1833 |
+ |
|
1834 |
+ <a href="https://github.com/the-13th-letter/derivepassphrase/raw/master/docs/reference/derivepassphrase.cli.md" title="View source of this page" class="md-content__button md-icon"> |
|
1835 |
+ |
|
1836 |
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"/></svg> |
|
1837 |
+ </a> |
|
1838 |
+ |
|
1839 |
+ |
|
1840 |
+ |
|
1841 |
+ <h1>Submodule cli</h1> |
|
1842 |
+ |
|
1843 |
+<div class="doc doc-object doc-module"> |
|
1844 |
+ |
|
1845 |
+ |
|
1846 |
+ |
|
1847 |
+<h2 id="derivepassphrase.cli" class="doc doc-heading"> |
|
1848 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">derivepassphrase.cli</span> |
|
1849 |
+ |
|
1850 |
+ |
|
1851 |
+<a href="#derivepassphrase.cli" class="headerlink" title="Permanent link">¶</a></h2> |
|
1852 |
+ |
|
1853 |
+ <div class="doc doc-contents first"> |
|
1854 |
+ |
|
1855 |
+ <p>Command-line interface for derivepassphrase.</p> |
|
1856 |
+ |
|
1857 |
+ |
|
1858 |
+ |
|
1859 |
+ |
|
1860 |
+ |
|
1861 |
+ |
|
1862 |
+ |
|
1863 |
+ |
|
1864 |
+ <div class="doc doc-children"> |
|
1865 |
+ |
|
1866 |
+ |
|
1867 |
+ |
|
1868 |
+ |
|
1869 |
+ |
|
1870 |
+ |
|
1871 |
+ |
|
1872 |
+ |
|
1873 |
+<div class="doc doc-object doc-class"> |
|
1874 |
+ |
|
1875 |
+ |
|
1876 |
+ |
|
1877 |
+<h3 id="derivepassphrase.cli.ClickEchoStderrHandler" class="doc doc-heading"> |
|
1878 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ClickEchoStderrHandler</span> |
|
1879 |
+ |
|
1880 |
+ |
|
1881 |
+<a href="#derivepassphrase.cli.ClickEchoStderrHandler" class="headerlink" title="Permanent link">¶</a></h3> |
|
1882 |
+ |
|
1883 |
+ |
|
1884 |
+ <div class="doc doc-contents "> |
|
1885 |
+ <p class="doc doc-class-bases"> |
|
1886 |
+ Bases: <code><a class="autorefs autorefs-external" title="logging.Handler" href="https://docs.python.org/3/library/logging.html#logging.Handler">Handler</a></code></p> |
|
1887 |
+ |
|
1888 |
+ |
|
1889 |
+ |
|
1890 |
+ <p>A <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.Handler"><code>logging.Handler</code></a> for <code>click</code> applications.</p> |
|
1891 |
+<p>Outputs log messages to <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/sys.html#sys.stderr"><code>sys.stderr</code></a> via <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.echo"><code>click.echo</code></a>.</p> |
|
1892 |
+ |
|
1893 |
+ |
|
1894 |
+ |
|
1895 |
+ |
|
1896 |
+ |
|
1897 |
+ |
|
1898 |
+ |
|
1899 |
+ |
|
1900 |
+ |
|
1901 |
+ <div class="doc doc-children"> |
|
1902 |
+ |
|
1903 |
+ |
|
1904 |
+ |
|
1905 |
+ |
|
1906 |
+ |
|
1907 |
+ |
|
1908 |
+ |
|
1909 |
+ |
|
1910 |
+ |
|
1911 |
+<div class="doc doc-object doc-function"> |
|
1912 |
+ |
|
1913 |
+ |
|
1914 |
+<h4 id="derivepassphrase.cli.ClickEchoStderrHandler.emit" class="doc doc-heading"> |
|
1915 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">emit</span> |
|
1916 |
+ |
|
1917 |
+ |
|
1918 |
+<a href="#derivepassphrase.cli.ClickEchoStderrHandler.emit" class="headerlink" title="Permanent link">¶</a></h4> |
|
1919 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">emit</span><span class="p">(</span><span class="n">record</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="logging.LogRecord" href="https://docs.python.org/3/library/logging.html#logging.LogRecord">LogRecord</a></span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
1920 |
+</code></pre></div> |
|
1921 |
+ |
|
1922 |
+ <div class="doc doc-contents "> |
|
1923 |
+ |
|
1924 |
+ <p>Emit a log record.</p> |
|
1925 |
+<p>Format the log record, then emit it via <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.echo"><code>click.echo</code></a> to |
|
1926 |
+<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/sys.html#sys.stderr"><code>sys.stderr</code></a>.</p> |
|
1927 |
+ |
|
1928 |
+ </div> |
|
1929 |
+ |
|
1930 |
+</div> |
|
1931 |
+ |
|
1932 |
+ |
|
1933 |
+ |
|
1934 |
+ </div> |
|
1935 |
+ |
|
1936 |
+ </div> |
|
1937 |
+ |
|
1938 |
+</div> |
|
1939 |
+ |
|
1940 |
+<div class="doc doc-object doc-class"> |
|
1941 |
+ |
|
1942 |
+ |
|
1943 |
+ |
|
1944 |
+<h3 id="derivepassphrase.cli.CLIofPackageFormatter" class="doc doc-heading"> |
|
1945 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">CLIofPackageFormatter</span> |
|
1946 |
+ |
|
1947 |
+ |
|
1948 |
+<a href="#derivepassphrase.cli.CLIofPackageFormatter" class="headerlink" title="Permanent link">¶</a></h3> |
|
1949 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">CLIofPackageFormatter</span><span class="p">(</span> |
|
1950 |
+ <span class="o">*</span><span class="p">,</span> |
|
1951 |
+ <span class="n">prog_name</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">=</span> <span class="n"><span title="derivepassphrase.cli.PROG_NAME">PROG_NAME</span></span><span class="p">,</span> |
|
1952 |
+ <span class="n">package_name</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span> |
|
1953 |
+<span class="p">)</span> |
|
1954 |
+</code></pre></div> |
|
1955 |
+ |
|
1956 |
+ <div class="doc doc-contents "> |
|
1957 |
+ <p class="doc doc-class-bases"> |
|
1958 |
+ Bases: <code><a class="autorefs autorefs-external" title="logging.Formatter" href="https://docs.python.org/3/library/logging.html#logging.Formatter">Formatter</a></code></p> |
|
1959 |
+ |
|
1960 |
+ |
|
1961 |
+ |
|
1962 |
+ <p>A <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.LogRecord"><code>logging.LogRecord</code></a> formatter for the CLI of a Python package.</p> |
|
1963 |
+<p>Assuming a package <code>PKG</code> and loggers within the same hierarchy |
|
1964 |
+<code>PKG</code>, format all log records from that hierarchy for proper user |
|
1965 |
+feedback on the console. Intended for use with <a href="https://pypi.org/projects/click/"><code>click</code></a> and |
|
1966 |
+when <code>PKG</code> provides a command-line tool <code>PKG</code> and when logs from |
|
1967 |
+that package should show up as output of the command-line tool.</p> |
|
1968 |
+<p>Essentially, this prepends certain short strings to the log message |
|
1969 |
+lines to make them readable as standard error output.</p> |
|
1970 |
+<p>Because this log output is intended to be displayed on standard |
|
1971 |
+error as high-level diagnostic output, you are strongly discouraged |
|
1972 |
+from changing the output format to include more tokens besides the |
|
1973 |
+log message. Use a dedicated log file handler instead, without this |
|
1974 |
+formatter.</p> |
|
1975 |
+ |
|
1976 |
+ |
|
1977 |
+ |
|
1978 |
+ |
|
1979 |
+ |
|
1980 |
+ |
|
1981 |
+ |
|
1982 |
+ |
|
1983 |
+ |
|
1984 |
+ <div class="doc doc-children"> |
|
1985 |
+ |
|
1986 |
+ |
|
1987 |
+ |
|
1988 |
+ |
|
1989 |
+ |
|
1990 |
+ |
|
1991 |
+ |
|
1992 |
+ |
|
1993 |
+ |
|
1994 |
+<div class="doc doc-object doc-function"> |
|
1995 |
+ |
|
1996 |
+ |
|
1997 |
+<h4 id="derivepassphrase.cli.CLIofPackageFormatter.format" class="doc doc-heading"> |
|
1998 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format</span> |
|
1999 |
+ |
|
2000 |
+ |
|
2001 |
+<a href="#derivepassphrase.cli.CLIofPackageFormatter.format" class="headerlink" title="Permanent link">¶</a></h4> |
|
2002 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nb">format</span><span class="p">(</span><span class="nf">record</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="logging.LogRecord" href="https://docs.python.org/3/library/logging.html#logging.LogRecord">LogRecord</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> |
|
2003 |
+</code></pre></div> |
|
2004 |
+ |
|
2005 |
+ <div class="doc doc-contents "> |
|
2006 |
+ |
|
2007 |
+ <p>Format a log record suitably for standard error console output.</p> |
|
2008 |
+<p>Prepend the formatted string <code>"PROG_NAME: LABEL"</code> to each line |
|
2009 |
+of the message, where <code>PROG_NAME</code> is the program name, and |
|
2010 |
+<code>LABEL</code> depends on the record’s level and on the logger name as |
|
2011 |
+follows:</p> |
|
2012 |
+<ul> |
|
2013 |
+<li>For records at level <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.DEBUG"><code>logging.DEBUG</code></a>, <code>LABEL</code> is |
|
2014 |
+ <code>"Debug: "</code>.</li> |
|
2015 |
+<li>For records at level <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.INFO"><code>logging.INFO</code></a>, <code>LABEL</code> is the |
|
2016 |
+ empty string.</li> |
|
2017 |
+<li>For records at level <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.WARNING"><code>logging.WARNING</code></a>, <code>LABEL</code> is |
|
2018 |
+ <code>"Deprecation warning: "</code> if the logger is named |
|
2019 |
+ <code>PKG.deprecation</code> (where <code>PKG</code> is the package name), else |
|
2020 |
+ <code>"Warning: "</code>.</li> |
|
2021 |
+<li>For records at level <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.ERROR"><code>logging.ERROR</code></a> and |
|
2022 |
+ <a class="autorefs autorefs-external" href="https://docs.python.org/3/library/logging.html#logging.CRITICAL"><code>logging.CRITICAL</code></a> <code>"Error: "</code>, <code>LABEL</code> is the empty |
|
2023 |
+ string.</li> |
|
2024 |
+</ul> |
|
2025 |
+<p>The level indication strings at level <code>WARNING</code> or above are |
|
2026 |
+highlighted. Use <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.echo"><code>click.echo</code></a> to output them and remove |
|
2027 |
+color output if necessary.</p> |
|
2028 |
+ |
|
2029 |
+ |
|
2030 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
1347 | 2031 |
<table> |
1348 | 2032 |
<thead> |
1349 | 2033 |
<tr> |
1350 | 2034 |
<th>Name</th> |
1351 | 2035 |
<th>Type</th> |
1352 | 2036 |
<th>Description</th> |
2037 |
+ <th>Default</th> |
|
1353 | 2038 |
</tr> |
1354 | 2039 |
</thead> |
1355 | 2040 |
<tbody> |
1356 | 2041 |
<tr class="doc-section-item"> |
1357 |
- <td><code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption.option_group_name" href="#derivepassphrase.cli.OptionGroupOption.option_group_name">option_group_name</a></code></td> |
|
1358 | 2042 |
<td> |
1359 |
- <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code> |
|
2043 |
+ <code>record</code> |
|
2044 |
+ </td> |
|
2045 |
+ <td> |
|
2046 |
+ <code><a class="autorefs autorefs-external" title="logging.LogRecord" href="https://docs.python.org/3/library/logging.html#logging.LogRecord">LogRecord</a></code> |
|
1360 | 2047 |
</td> |
1361 | 2048 |
<td> |
1362 | 2049 |
<div class="doc-md-description"> |
1363 |
- <p>The name of the option group. Used as a heading on the help |
|
1364 |
-text for options in this section.</p> |
|
2050 |
+ <p>A log record.</p> |
|
1365 | 2051 |
</div> |
1366 | 2052 |
</td> |
2053 |
+ <td> |
|
2054 |
+ <em>required</em> |
|
2055 |
+ </td> |
|
2056 |
+ </tr> |
|
2057 |
+ </tbody> |
|
2058 |
+ </table> |
|
2059 |
+ |
|
2060 |
+ |
|
2061 |
+ <p><span class="doc-section-title">Returns:</span></p> |
|
2062 |
+ <table> |
|
2063 |
+ <thead> |
|
2064 |
+ <tr> |
|
2065 |
+ <th>Type</th> |
|
2066 |
+ <th>Description</th> |
|
1367 | 2067 |
</tr> |
2068 |
+ </thead> |
|
2069 |
+ <tbody> |
|
1368 | 2070 |
<tr class="doc-section-item"> |
1369 |
- <td><code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption.epilog" href="#derivepassphrase.cli.OptionGroupOption.epilog">epilog</a></code></td> |
|
1370 | 2071 |
<td> |
1371 | 2072 |
<code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></code> |
1372 | 2073 |
</td> |
1373 | 2074 |
<td> |
1374 | 2075 |
<div class="doc-md-description"> |
1375 |
- <p>An epilog to print after listing the options in this |
|
1376 |
-section.</p> |
|
2076 |
+ <p>A formatted log record.</p> |
|
2077 |
+ </div> |
|
2078 |
+ </td> |
|
2079 |
+ </tr> |
|
2080 |
+ </tbody> |
|
2081 |
+ </table> |
|
2082 |
+ |
|
2083 |
+ |
|
2084 |
+<p><span class="doc-section-title">Raises:</span></p> |
|
2085 |
+ <table> |
|
2086 |
+ <thead> |
|
2087 |
+ <tr> |
|
2088 |
+ <th>Type</th> |
|
2089 |
+ <th>Description</th> |
|
2090 |
+ </tr> |
|
2091 |
+ </thead> |
|
2092 |
+ <tbody> |
|
2093 |
+ <tr class="doc-section-item"> |
|
2094 |
+ <td> |
|
2095 |
+ <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/exceptions.html#AssertionError">AssertionError</a></code> |
|
2096 |
+ </td> |
|
2097 |
+ <td> |
|
2098 |
+ <div class="doc-md-description"> |
|
2099 |
+ <p>The log level is not supported.</p> |
|
2100 |
+ </div> |
|
2101 |
+ </td> |
|
2102 |
+ </tr> |
|
2103 |
+ </tbody> |
|
2104 |
+ </table> |
|
2105 |
+ |
|
2106 |
+ </div> |
|
2107 |
+ |
|
2108 |
+</div> |
|
2109 |
+ |
|
2110 |
+ |
|
2111 |
+ |
|
2112 |
+ </div> |
|
2113 |
+ |
|
2114 |
+ </div> |
|
2115 |
+ |
|
2116 |
+</div> |
|
2117 |
+ |
|
2118 |
+<div class="doc doc-object doc-class"> |
|
2119 |
+ |
|
2120 |
+ |
|
2121 |
+ |
|
2122 |
+<h3 id="derivepassphrase.cli.StandardCLILogging" class="doc doc-heading"> |
|
2123 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StandardCLILogging</span> |
|
2124 |
+ |
|
2125 |
+ |
|
2126 |
+<a href="#derivepassphrase.cli.StandardCLILogging" class="headerlink" title="Permanent link">¶</a></h3> |
|
2127 |
+ |
|
2128 |
+ |
|
2129 |
+ <div class="doc doc-contents "> |
|
2130 |
+ |
|
2131 |
+ |
|
2132 |
+ |
|
2133 |
+ <p>Set up CLI logging handlers upon instantiation.</p> |
|
2134 |
+ |
|
2135 |
+ |
|
2136 |
+ |
|
2137 |
+ |
|
2138 |
+ |
|
2139 |
+ |
|
2140 |
+ |
|
2141 |
+ |
|
2142 |
+ |
|
2143 |
+ <div class="doc doc-children"> |
|
2144 |
+ |
|
2145 |
+ |
|
2146 |
+ |
|
2147 |
+ |
|
2148 |
+ |
|
2149 |
+ |
|
2150 |
+ |
|
2151 |
+ |
|
2152 |
+ |
|
2153 |
+<div class="doc doc-object doc-function"> |
|
2154 |
+ |
|
2155 |
+ |
|
2156 |
+<h4 id="derivepassphrase.cli.StandardCLILogging.ensure_standard_logging" class="doc doc-heading"> |
|
2157 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">ensure_standard_logging</span> |
|
2158 |
+ |
|
2159 |
+ |
|
2160 |
+ <span class="doc doc-labels"> |
|
2161 |
+ <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> |
|
2162 |
+ </span> |
|
2163 |
+ |
|
2164 |
+<a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_logging" class="headerlink" title="Permanent link">¶</a></h4> |
|
2165 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ensure_standard_logging</span><span class="p">()</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-internal" title="derivepassphrase.cli.StandardLoggingContextManager" href="#derivepassphrase.cli.StandardLoggingContextManager">StandardLoggingContextManager</a></span> |
|
2166 |
+</code></pre></div> |
|
2167 |
+ |
|
2168 |
+ <div class="doc doc-contents "> |
|
2169 |
+ |
|
2170 |
+ <p>Return a context manager to ensure standard logging is set up.</p> |
|
2171 |
+ |
|
2172 |
+ </div> |
|
2173 |
+ |
|
2174 |
+</div> |
|
2175 |
+ |
|
2176 |
+<div class="doc doc-object doc-function"> |
|
2177 |
+ |
|
2178 |
+ |
|
2179 |
+<h4 id="derivepassphrase.cli.StandardCLILogging.ensure_standard_warnings_logging" class="doc doc-heading"> |
|
2180 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">ensure_standard_warnings_logging</span> |
|
2181 |
+ |
|
2182 |
+ |
|
2183 |
+ <span class="doc doc-labels"> |
|
2184 |
+ <small class="doc doc-label doc-label-classmethod"><code>classmethod</code></small> |
|
2185 |
+ </span> |
|
2186 |
+ |
|
2187 |
+<a href="#derivepassphrase.cli.StandardCLILogging.ensure_standard_warnings_logging" class="headerlink" title="Permanent link">¶</a></h4> |
|
2188 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ensure_standard_warnings_logging</span><span class="p">()</span> <span class="o">-></span> <span class="p">(</span> |
|
2189 |
+ <span class="n"><a class="autorefs autorefs-internal" title="derivepassphrase.cli.StandardWarningsLoggingContextManager" href="#derivepassphrase.cli.StandardWarningsLoggingContextManager">StandardWarningsLoggingContextManager</a></span> |
|
2190 |
+<span class="p">)</span> |
|
2191 |
+</code></pre></div> |
|
2192 |
+ |
|
2193 |
+ <div class="doc doc-contents "> |
|
2194 |
+ |
|
2195 |
+ <p>Return a context manager to ensure warnings logging is set up.</p> |
|
2196 |
+ |
|
2197 |
+ </div> |
|
2198 |
+ |
|
2199 |
+</div> |
|
2200 |
+ |
|
2201 |
+ |
|
2202 |
+ |
|
2203 |
+ </div> |
|
2204 |
+ |
|
2205 |
+ </div> |
|
2206 |
+ |
|
2207 |
+</div> |
|
2208 |
+ |
|
2209 |
+<div class="doc doc-object doc-class"> |
|
2210 |
+ |
|
2211 |
+ |
|
2212 |
+ |
|
2213 |
+<h3 id="derivepassphrase.cli.StandardLoggingContextManager" class="doc doc-heading"> |
|
2214 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StandardLoggingContextManager</span> |
|
2215 |
+ |
|
2216 |
+ |
|
2217 |
+<a href="#derivepassphrase.cli.StandardLoggingContextManager" class="headerlink" title="Permanent link">¶</a></h3> |
|
2218 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">StandardLoggingContextManager</span><span class="p">(</span> |
|
2219 |
+ <span class="n">handler</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="logging.Handler" href="https://docs.python.org/3/library/logging.html#logging.Handler">Handler</a></span><span class="p">,</span> <span class="n">root_logger</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span> |
|
2220 |
+<span class="p">)</span> |
|
2221 |
+</code></pre></div> |
|
2222 |
+ |
|
2223 |
+ <div class="doc doc-contents "> |
|
2224 |
+ |
|
2225 |
+ |
|
2226 |
+ |
|
2227 |
+ <p>A reentrant context manager setting up standard CLI logging.</p> |
|
2228 |
+<p>Ensures that the given handler (defaulting to the CLI logging |
|
2229 |
+handler) is added to the named logger (defaulting to the root |
|
2230 |
+logger), and if it had to be added, then that it will be removed |
|
2231 |
+upon exiting the context.</p> |
|
2232 |
+<p>Reentrant, but not thread safe, because it temporarily modifies |
|
2233 |
+global state.</p> |
|
2234 |
+ |
|
2235 |
+ |
|
2236 |
+ |
|
2237 |
+ |
|
2238 |
+ |
|
2239 |
+ |
|
2240 |
+ |
|
2241 |
+ |
|
2242 |
+ |
|
2243 |
+ <div class="doc doc-children"> |
|
2244 |
+ |
|
2245 |
+ |
|
2246 |
+ |
|
2247 |
+ |
|
2248 |
+ |
|
2249 |
+ |
|
2250 |
+ |
|
2251 |
+ |
|
2252 |
+ |
|
2253 |
+ |
|
2254 |
+ |
|
2255 |
+ </div> |
|
2256 |
+ |
|
2257 |
+ </div> |
|
2258 |
+ |
|
2259 |
+</div> |
|
2260 |
+ |
|
2261 |
+<div class="doc doc-object doc-class"> |
|
2262 |
+ |
|
2263 |
+ |
|
2264 |
+ |
|
2265 |
+<h3 id="derivepassphrase.cli.StandardWarningsLoggingContextManager" class="doc doc-heading"> |
|
2266 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StandardWarningsLoggingContextManager</span> |
|
2267 |
+ |
|
2268 |
+ |
|
2269 |
+<a href="#derivepassphrase.cli.StandardWarningsLoggingContextManager" class="headerlink" title="Permanent link">¶</a></h3> |
|
2270 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">StandardWarningsLoggingContextManager</span><span class="p">(</span><span class="n">handler</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="logging.Handler" href="https://docs.python.org/3/library/logging.html#logging.Handler">Handler</a></span><span class="p">)</span> |
|
2271 |
+</code></pre></div> |
|
2272 |
+ |
|
2273 |
+ <div class="doc doc-contents "> |
|
2274 |
+ <p class="doc doc-class-bases"> |
|
2275 |
+ Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.StandardLoggingContextManager" href="#derivepassphrase.cli.StandardLoggingContextManager">StandardLoggingContextManager</a></code></p> |
|
2276 |
+ |
|
2277 |
+ |
|
2278 |
+ |
|
2279 |
+ <p>A reentrant context manager setting up standard warnings logging.</p> |
|
2280 |
+<p>Ensures that warnings are being diverted to the logging system, and |
|
2281 |
+that the given handler (defaulting to the CLI logging handler) is |
|
2282 |
+added to the warnings logger. If the handler had to be added, then |
|
2283 |
+it will be removed upon exiting the context.</p> |
|
2284 |
+<p>Reentrant, but not thread safe, because it temporarily modifies |
|
2285 |
+global state.</p> |
|
2286 |
+ |
|
2287 |
+ |
|
2288 |
+ |
|
2289 |
+ |
|
2290 |
+ |
|
2291 |
+ |
|
2292 |
+ |
|
2293 |
+ |
|
2294 |
+ |
|
2295 |
+ <div class="doc doc-children"> |
|
2296 |
+ |
|
2297 |
+ |
|
2298 |
+ |
|
2299 |
+ |
|
2300 |
+ |
|
2301 |
+ |
|
2302 |
+ |
|
2303 |
+ |
|
2304 |
+ |
|
2305 |
+ |
|
2306 |
+ |
|
2307 |
+ </div> |
|
2308 |
+ |
|
2309 |
+ </div> |
|
2310 |
+ |
|
2311 |
+</div> |
|
2312 |
+ |
|
2313 |
+<div class="doc doc-object doc-class"> |
|
2314 |
+ |
|
2315 |
+ |
|
2316 |
+ |
|
2317 |
+<h3 id="derivepassphrase.cli.OptionGroupOption" class="doc doc-heading"> |
|
2318 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">OptionGroupOption</span> |
|
2319 |
+ |
|
2320 |
+ |
|
2321 |
+<a href="#derivepassphrase.cli.OptionGroupOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
2322 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">OptionGroupOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
2323 |
+</code></pre></div> |
|
2324 |
+ |
|
2325 |
+ <div class="doc doc-contents "> |
|
2326 |
+ <p class="doc doc-class-bases"> |
|
2327 |
+ Bases: <code><a class="autorefs autorefs-external" title="click.Option" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option">Option</a></code></p> |
|
2328 |
+ |
|
2329 |
+ |
|
2330 |
+ |
|
2331 |
+ <p>A <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option"><code>click.Option</code></a> with an associated group name and group epilog.</p> |
|
2332 |
+<p>Used by <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.CommandWithHelpGroups"><code>CommandWithHelpGroups</code></a> to print help sections. Each |
|
2333 |
+subclass contains its own group name and epilog.</p> |
|
2334 |
+ |
|
2335 |
+ |
|
2336 |
+<p><span class="doc-section-title">Attributes:</span></p> |
|
2337 |
+ <table> |
|
2338 |
+ <thead> |
|
2339 |
+ <tr> |
|
2340 |
+ <th>Name</th> |
|
2341 |
+ <th>Type</th> |
|
2342 |
+ <th>Description</th> |
|
2343 |
+ </tr> |
|
2344 |
+ </thead> |
|
2345 |
+ <tbody> |
|
2346 |
+ <tr class="doc-section-item"> |
|
2347 |
+ <td><code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption.option_group_name" href="#derivepassphrase.cli.OptionGroupOption.option_group_name">option_group_name</a></code></td> |
|
2348 |
+ <td> |
|
2349 |
+ <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#object">object</a></code> |
|
2350 |
+ </td> |
|
2351 |
+ <td> |
|
2352 |
+ <div class="doc-md-description"> |
|
2353 |
+ <p>The name of the option group. Used as a heading on the help |
|
2354 |
+text for options in this section.</p> |
|
2355 |
+ </div> |
|
2356 |
+ </td> |
|
2357 |
+ </tr> |
|
2358 |
+ <tr class="doc-section-item"> |
|
2359 |
+ <td><code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption.epilog" href="#derivepassphrase.cli.OptionGroupOption.epilog">epilog</a></code></td> |
|
2360 |
+ <td> |
|
2361 |
+ <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#object">object</a></code> |
|
2362 |
+ </td> |
|
2363 |
+ <td> |
|
2364 |
+ <div class="doc-md-description"> |
|
2365 |
+ <p>An epilog to print after listing the options in this |
|
2366 |
+section.</p> |
|
2367 |
+ </div> |
|
2368 |
+ </td> |
|
2369 |
+ </tr> |
|
2370 |
+ </tbody> |
|
2371 |
+ </table> |
|
2372 |
+ |
|
2373 |
+ |
|
2374 |
+ |
|
2375 |
+ |
|
2376 |
+ |
|
2377 |
+ |
|
2378 |
+ |
|
2379 |
+ |
|
2380 |
+ |
|
2381 |
+ <div class="doc doc-children"> |
|
2382 |
+ |
|
2383 |
+ |
|
2384 |
+ |
|
2385 |
+ |
|
2386 |
+ |
|
2387 |
+ |
|
2388 |
+ |
|
2389 |
+<div class="doc doc-object doc-attribute"> |
|
2390 |
+ |
|
2391 |
+ |
|
2392 |
+ |
|
2393 |
+<h4 id="derivepassphrase.cli.OptionGroupOption.option_group_name" class="doc doc-heading"> |
|
2394 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">option_group_name</span> |
|
2395 |
+ |
|
2396 |
+ |
|
2397 |
+ <span class="doc doc-labels"> |
|
2398 |
+ <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> |
|
2399 |
+ <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> |
|
2400 |
+ </span> |
|
2401 |
+ |
|
2402 |
+<a href="#derivepassphrase.cli.OptionGroupOption.option_group_name" class="headerlink" title="Permanent link">¶</a></h4> |
|
2403 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="n">option_group_name</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#object">object</a></span> <span class="o">=</span> <span class="s1">''</span> |
|
2404 |
+</code></pre></div> |
|
2405 |
+ |
|
2406 |
+ <div class="doc doc-contents "> |
|
2407 |
+ |
|
2408 |
+ |
|
2409 |
+ </div> |
|
2410 |
+ |
|
2411 |
+</div> |
|
2412 |
+ |
|
2413 |
+<div class="doc doc-object doc-attribute"> |
|
2414 |
+ |
|
2415 |
+ |
|
2416 |
+ |
|
2417 |
+<h4 id="derivepassphrase.cli.OptionGroupOption.epilog" class="doc doc-heading"> |
|
2418 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">epilog</span> |
|
2419 |
+ |
|
2420 |
+ |
|
2421 |
+ <span class="doc doc-labels"> |
|
2422 |
+ <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> |
|
2423 |
+ <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> |
|
2424 |
+ </span> |
|
2425 |
+ |
|
2426 |
+<a href="#derivepassphrase.cli.OptionGroupOption.epilog" class="headerlink" title="Permanent link">¶</a></h4> |
|
2427 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="n">epilog</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#object">object</a></span> <span class="o">=</span> <span class="s1">''</span> |
|
2428 |
+</code></pre></div> |
|
2429 |
+ |
|
2430 |
+ <div class="doc doc-contents "> |
|
2431 |
+ |
|
2432 |
+ |
|
2433 |
+ </div> |
|
2434 |
+ |
|
2435 |
+</div> |
|
2436 |
+ |
|
2437 |
+ |
|
2438 |
+ |
|
2439 |
+ |
|
2440 |
+ |
|
2441 |
+ </div> |
|
2442 |
+ |
|
2443 |
+ </div> |
|
2444 |
+ |
|
2445 |
+</div> |
|
2446 |
+ |
|
2447 |
+<div class="doc doc-object doc-class"> |
|
2448 |
+ |
|
2449 |
+ |
|
2450 |
+ |
|
2451 |
+<h3 id="derivepassphrase.cli.CommandWithHelpGroups" class="doc doc-heading"> |
|
2452 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">CommandWithHelpGroups</span> |
|
2453 |
+ |
|
2454 |
+ |
|
2455 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups" class="headerlink" title="Permanent link">¶</a></h3> |
|
2456 |
+ |
|
2457 |
+ |
|
2458 |
+ <div class="doc doc-contents "> |
|
2459 |
+ <p class="doc doc-class-bases"> |
|
2460 |
+ Bases: <code><a class="autorefs autorefs-external" title="click.Command" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command">Command</a></code></p> |
|
2461 |
+ |
|
2462 |
+ |
|
2463 |
+ |
|
2464 |
+ <p>A <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command"><code>click.Command</code></a> with support for some help text customizations.</p> |
|
2465 |
+<p>Supports help/option groups, group epilogs, and help text objects |
|
2466 |
+(objects that stringify to help texts). The latter is primarily |
|
2467 |
+used to implement translations.</p> |
|
2468 |
+<p>Inspired by <a href="https://github.com/pallets/click/issues/373#issuecomment-515293746">a comment on <code>pallets/click#373</code></a> for |
|
2469 |
+help/option group support, and further modified to include group |
|
2470 |
+epilogs and help text objects.</p> |
|
2471 |
+ |
|
2472 |
+ |
|
2473 |
+ |
|
2474 |
+ |
|
2475 |
+ |
|
2476 |
+ |
|
2477 |
+ |
|
2478 |
+ |
|
2479 |
+ |
|
2480 |
+ <div class="doc doc-children"> |
|
2481 |
+ |
|
2482 |
+ |
|
2483 |
+ |
|
2484 |
+ |
|
2485 |
+ |
|
2486 |
+ |
|
2487 |
+ |
|
2488 |
+ |
|
2489 |
+ |
|
2490 |
+<div class="doc doc-object doc-function"> |
|
2491 |
+ |
|
2492 |
+ |
|
2493 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.collect_usage_pieces" class="doc doc-heading"> |
|
2494 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">collect_usage_pieces</span> |
|
2495 |
+ |
|
2496 |
+ |
|
2497 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.collect_usage_pieces" class="headerlink" title="Permanent link">¶</a></h4> |
|
2498 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">collect_usage_pieces</span><span class="p">(</span><span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#list">list</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> |
|
2499 |
+</code></pre></div> |
|
2500 |
+ |
|
2501 |
+ <div class="doc doc-contents "> |
|
2502 |
+ |
|
2503 |
+ <p>Return the pieces for the usage string.</p> |
|
2504 |
+<p>Based on code from click 8.1. Subject to the following license |
|
2505 |
+(3-clause BSD license):</p> |
|
2506 |
+<pre><code>Copyright 2024 Pallets |
|
2507 |
+ |
|
2508 |
+Redistribution and use in source and binary forms, with or |
|
2509 |
+without modification, are permitted provided that the |
|
2510 |
+following conditions are met: |
|
2511 |
+ |
|
2512 |
+ 1. Redistributions of source code must retain the above |
|
2513 |
+ copyright notice, this list of conditions and the |
|
2514 |
+ following disclaimer. |
|
2515 |
+ |
|
2516 |
+ 2. Redistributions in binary form must reproduce the above |
|
2517 |
+ copyright notice, this list of conditions and the |
|
2518 |
+ following disclaimer in the documentation and/or other |
|
2519 |
+ materials provided with the distribution. |
|
2520 |
+ |
|
2521 |
+ 3. Neither the name of the copyright holder nor the names |
|
2522 |
+ of its contributors may be used to endorse or promote |
|
2523 |
+ products derived from this software without specific |
|
2524 |
+ prior written permission. |
|
2525 |
+ |
|
2526 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
2527 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
2528 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
2529 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
2530 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
2531 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
2532 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
2533 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
2534 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
2535 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
2536 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
2537 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
2538 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
2539 |
+</code></pre> |
|
2540 |
+<p>Modifications are marked with respective comments. They too are |
|
2541 |
+released under the same license above. The original code did |
|
2542 |
+not contain any “noqa” or “pragma” comments.</p> |
|
2543 |
+ |
|
2544 |
+ |
|
2545 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
2546 |
+ <table> |
|
2547 |
+ <thead> |
|
2548 |
+ <tr> |
|
2549 |
+ <th>Name</th> |
|
2550 |
+ <th>Type</th> |
|
2551 |
+ <th>Description</th> |
|
2552 |
+ <th>Default</th> |
|
2553 |
+ </tr> |
|
2554 |
+ </thead> |
|
2555 |
+ <tbody> |
|
2556 |
+ <tr class="doc-section-item"> |
|
2557 |
+ <td> |
|
2558 |
+ <code>ctx</code> |
|
2559 |
+ </td> |
|
2560 |
+ <td> |
|
2561 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
2562 |
+ </td> |
|
2563 |
+ <td> |
|
2564 |
+ <div class="doc-md-description"> |
|
2565 |
+ <p>The click context.</p> |
|
2566 |
+ </div> |
|
2567 |
+ </td> |
|
2568 |
+ <td> |
|
2569 |
+ <em>required</em> |
|
2570 |
+ </td> |
|
2571 |
+ </tr> |
|
2572 |
+ </tbody> |
|
2573 |
+ </table> |
|
2574 |
+ |
|
2575 |
+ </div> |
|
2576 |
+ |
|
2577 |
+</div> |
|
2578 |
+ |
|
2579 |
+<div class="doc doc-object doc-function"> |
|
2580 |
+ |
|
2581 |
+ |
|
2582 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.get_help_option" class="doc doc-heading"> |
|
2583 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">get_help_option</span> |
|
2584 |
+ |
|
2585 |
+ |
|
2586 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.get_help_option" class="headerlink" title="Permanent link">¶</a></h4> |
|
2587 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_help_option</span><span class="p">(</span><span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" title="click.Option" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option">Option</a></span> <span class="o">|</span> <span class="kc">None</span> |
|
2588 |
+</code></pre></div> |
|
2589 |
+ |
|
2590 |
+ <div class="doc doc-contents "> |
|
2591 |
+ |
|
2592 |
+ <p>Return a standard help option object.</p> |
|
2593 |
+<p>Based on code from click 8.1. Subject to the following license |
|
2594 |
+(3-clause BSD license):</p> |
|
2595 |
+<pre><code>Copyright 2024 Pallets |
|
2596 |
+ |
|
2597 |
+Redistribution and use in source and binary forms, with or |
|
2598 |
+without modification, are permitted provided that the |
|
2599 |
+following conditions are met: |
|
2600 |
+ |
|
2601 |
+ 1. Redistributions of source code must retain the above |
|
2602 |
+ copyright notice, this list of conditions and the |
|
2603 |
+ following disclaimer. |
|
2604 |
+ |
|
2605 |
+ 2. Redistributions in binary form must reproduce the above |
|
2606 |
+ copyright notice, this list of conditions and the |
|
2607 |
+ following disclaimer in the documentation and/or other |
|
2608 |
+ materials provided with the distribution. |
|
2609 |
+ |
|
2610 |
+ 3. Neither the name of the copyright holder nor the names |
|
2611 |
+ of its contributors may be used to endorse or promote |
|
2612 |
+ products derived from this software without specific |
|
2613 |
+ prior written permission. |
|
2614 |
+ |
|
2615 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
2616 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
2617 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
2618 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
2619 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
2620 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
2621 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
2622 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
2623 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
2624 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
2625 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
2626 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
2627 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
2628 |
+</code></pre> |
|
2629 |
+<p>Modifications are marked with respective comments. They too are |
|
2630 |
+released under the same license above. The original code did |
|
2631 |
+not contain any “noqa” or “pragma” comments.</p> |
|
2632 |
+ |
|
2633 |
+ |
|
2634 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
2635 |
+ <table> |
|
2636 |
+ <thead> |
|
2637 |
+ <tr> |
|
2638 |
+ <th>Name</th> |
|
2639 |
+ <th>Type</th> |
|
2640 |
+ <th>Description</th> |
|
2641 |
+ <th>Default</th> |
|
2642 |
+ </tr> |
|
2643 |
+ </thead> |
|
2644 |
+ <tbody> |
|
2645 |
+ <tr class="doc-section-item"> |
|
2646 |
+ <td> |
|
2647 |
+ <code>ctx</code> |
|
2648 |
+ </td> |
|
2649 |
+ <td> |
|
2650 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
2651 |
+ </td> |
|
2652 |
+ <td> |
|
2653 |
+ <div class="doc-md-description"> |
|
2654 |
+ <p>The click context.</p> |
|
2655 |
+ </div> |
|
2656 |
+ </td> |
|
2657 |
+ <td> |
|
2658 |
+ <em>required</em> |
|
2659 |
+ </td> |
|
2660 |
+ </tr> |
|
2661 |
+ </tbody> |
|
2662 |
+ </table> |
|
2663 |
+ |
|
2664 |
+ </div> |
|
2665 |
+ |
|
2666 |
+</div> |
|
2667 |
+ |
|
2668 |
+<div class="doc doc-object doc-function"> |
|
2669 |
+ |
|
2670 |
+ |
|
2671 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.get_short_help_str" class="doc doc-heading"> |
|
2672 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">get_short_help_str</span> |
|
2673 |
+ |
|
2674 |
+ |
|
2675 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.get_short_help_str" class="headerlink" title="Permanent link">¶</a></h4> |
|
2676 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">get_short_help_str</span><span class="p">(</span><span class="n">limit</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">=</span> <span class="mi">45</span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> |
|
2677 |
+</code></pre></div> |
|
2678 |
+ |
|
2679 |
+ <div class="doc doc-contents "> |
|
2680 |
+ |
|
2681 |
+ <p>Return the short help string for a command.</p> |
|
2682 |
+<p>If only a long help string is given, shorten it.</p> |
|
2683 |
+<p>Based on code from click 8.1. Subject to the following license |
|
2684 |
+(3-clause BSD license):</p> |
|
2685 |
+<pre><code>Copyright 2024 Pallets |
|
2686 |
+ |
|
2687 |
+Redistribution and use in source and binary forms, with or |
|
2688 |
+without modification, are permitted provided that the |
|
2689 |
+following conditions are met: |
|
2690 |
+ |
|
2691 |
+ 1. Redistributions of source code must retain the above |
|
2692 |
+ copyright notice, this list of conditions and the |
|
2693 |
+ following disclaimer. |
|
2694 |
+ |
|
2695 |
+ 2. Redistributions in binary form must reproduce the above |
|
2696 |
+ copyright notice, this list of conditions and the |
|
2697 |
+ following disclaimer in the documentation and/or other |
|
2698 |
+ materials provided with the distribution. |
|
2699 |
+ |
|
2700 |
+ 3. Neither the name of the copyright holder nor the names |
|
2701 |
+ of its contributors may be used to endorse or promote |
|
2702 |
+ products derived from this software without specific |
|
2703 |
+ prior written permission. |
|
2704 |
+ |
|
2705 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
2706 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
2707 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
2708 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
2709 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
2710 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
2711 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
2712 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
2713 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
2714 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
2715 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
2716 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
2717 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
2718 |
+</code></pre> |
|
2719 |
+<p>Modifications are marked with respective comments. They too are |
|
2720 |
+released under the same license above. The original code did |
|
2721 |
+not contain any “noqa” or “pragma” comments.</p> |
|
2722 |
+ |
|
2723 |
+ |
|
2724 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
2725 |
+ <table> |
|
2726 |
+ <thead> |
|
2727 |
+ <tr> |
|
2728 |
+ <th>Name</th> |
|
2729 |
+ <th>Type</th> |
|
2730 |
+ <th>Description</th> |
|
2731 |
+ <th>Default</th> |
|
2732 |
+ </tr> |
|
2733 |
+ </thead> |
|
2734 |
+ <tbody> |
|
2735 |
+ <tr class="doc-section-item"> |
|
2736 |
+ <td> |
|
2737 |
+ <code>limit</code> |
|
2738 |
+ </td> |
|
2739 |
+ <td> |
|
2740 |
+ <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></code> |
|
2741 |
+ </td> |
|
2742 |
+ <td> |
|
2743 |
+ <div class="doc-md-description"> |
|
2744 |
+ <p>The maximum width of the short help string.</p> |
|
2745 |
+ </div> |
|
2746 |
+ </td> |
|
2747 |
+ <td> |
|
2748 |
+ <code>45</code> |
|
2749 |
+ </td> |
|
2750 |
+ </tr> |
|
2751 |
+ </tbody> |
|
2752 |
+ </table> |
|
2753 |
+ |
|
2754 |
+ </div> |
|
2755 |
+ |
|
2756 |
+</div> |
|
2757 |
+ |
|
2758 |
+<div class="doc doc-object doc-function"> |
|
2759 |
+ |
|
2760 |
+ |
|
2761 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.format_help_text" class="doc doc-heading"> |
|
2762 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_help_text</span> |
|
2763 |
+ |
|
2764 |
+ |
|
2765 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_help_text" class="headerlink" title="Permanent link">¶</a></h4> |
|
2766 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_help_text</span><span class="p">(</span> |
|
2767 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">formatter</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></span> |
|
2768 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
2769 |
+</code></pre></div> |
|
2770 |
+ |
|
2771 |
+ <div class="doc doc-contents "> |
|
2772 |
+ |
|
2773 |
+ <p>Format the help text prologue, if any.</p> |
|
2774 |
+<p>Based on code from click 8.1. Subject to the following license |
|
2775 |
+(3-clause BSD license):</p> |
|
2776 |
+<pre><code>Copyright 2024 Pallets |
|
2777 |
+ |
|
2778 |
+Redistribution and use in source and binary forms, with or |
|
2779 |
+without modification, are permitted provided that the |
|
2780 |
+following conditions are met: |
|
2781 |
+ |
|
2782 |
+ 1. Redistributions of source code must retain the above |
|
2783 |
+ copyright notice, this list of conditions and the |
|
2784 |
+ following disclaimer. |
|
2785 |
+ |
|
2786 |
+ 2. Redistributions in binary form must reproduce the above |
|
2787 |
+ copyright notice, this list of conditions and the |
|
2788 |
+ following disclaimer in the documentation and/or other |
|
2789 |
+ materials provided with the distribution. |
|
2790 |
+ |
|
2791 |
+ 3. Neither the name of the copyright holder nor the names |
|
2792 |
+ of its contributors may be used to endorse or promote |
|
2793 |
+ products derived from this software without specific |
|
2794 |
+ prior written permission. |
|
2795 |
+ |
|
2796 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
2797 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
2798 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
2799 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
2800 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
2801 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
2802 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
2803 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
2804 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
2805 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
2806 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
2807 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
2808 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
2809 |
+</code></pre> |
|
2810 |
+<p>Modifications are marked with respective comments. They too are |
|
2811 |
+released under the same license above. The original code did |
|
2812 |
+not contain any “noqa” or “pragma” comments.</p> |
|
2813 |
+ |
|
2814 |
+ |
|
2815 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
2816 |
+ <table> |
|
2817 |
+ <thead> |
|
2818 |
+ <tr> |
|
2819 |
+ <th>Name</th> |
|
2820 |
+ <th>Type</th> |
|
2821 |
+ <th>Description</th> |
|
2822 |
+ <th>Default</th> |
|
2823 |
+ </tr> |
|
2824 |
+ </thead> |
|
2825 |
+ <tbody> |
|
2826 |
+ <tr class="doc-section-item"> |
|
2827 |
+ <td> |
|
2828 |
+ <code>ctx</code> |
|
2829 |
+ </td> |
|
2830 |
+ <td> |
|
2831 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
2832 |
+ </td> |
|
2833 |
+ <td> |
|
2834 |
+ <div class="doc-md-description"> |
|
2835 |
+ <p>The click context.</p> |
|
2836 |
+ </div> |
|
2837 |
+ </td> |
|
2838 |
+ <td> |
|
2839 |
+ <em>required</em> |
|
2840 |
+ </td> |
|
2841 |
+ </tr> |
|
2842 |
+ <tr class="doc-section-item"> |
|
2843 |
+ <td> |
|
2844 |
+ <code>formatter</code> |
|
2845 |
+ </td> |
|
2846 |
+ <td> |
|
2847 |
+ <code><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></code> |
|
2848 |
+ </td> |
|
2849 |
+ <td> |
|
2850 |
+ <div class="doc-md-description"> |
|
2851 |
+ <p>The formatter for the <code>--help</code> listing.</p> |
|
2852 |
+ </div> |
|
2853 |
+ </td> |
|
2854 |
+ <td> |
|
2855 |
+ <em>required</em> |
|
2856 |
+ </td> |
|
2857 |
+ </tr> |
|
2858 |
+ </tbody> |
|
2859 |
+ </table> |
|
2860 |
+ |
|
2861 |
+ </div> |
|
2862 |
+ |
|
2863 |
+</div> |
|
2864 |
+ |
|
2865 |
+<div class="doc doc-object doc-function"> |
|
2866 |
+ |
|
2867 |
+ |
|
2868 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.format_options" class="doc doc-heading"> |
|
2869 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_options</span> |
|
2870 |
+ |
|
2871 |
+ |
|
2872 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_options" class="headerlink" title="Permanent link">¶</a></h4> |
|
2873 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_options</span><span class="p">(</span> |
|
2874 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">formatter</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></span> |
|
2875 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
2876 |
+</code></pre></div> |
|
2877 |
+ |
|
2878 |
+ <div class="doc doc-contents "> |
|
2879 |
+ |
|
2880 |
+ <p>Format options on the help listing, grouped into sections.</p> |
|
2881 |
+<p>This is a callback for <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command.get_help"><code>click.Command.get_help</code></a> that |
|
2882 |
+implements the <code>--help</code> listing, by calling appropriate methods |
|
2883 |
+of the <code>formatter</code>. We list all options (like the base |
|
2884 |
+implementation), but grouped into sections according to the |
|
2885 |
+concrete <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option"><code>click.Option</code></a> subclass being used. If the option |
|
2886 |
+is an instance of some subclass of <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption"><code>OptionGroupOption</code></a>, then |
|
2887 |
+the section heading and the epilog are taken from the |
|
2888 |
+<a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption.option_group_name"><code>option_group_name</code></a> and |
|
2889 |
+<a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption.epilog"><code>epilog</code></a> attributes; otherwise, the |
|
2890 |
+section heading is “Options” (or “Other options” if there are |
|
2891 |
+other option groups) and the epilog is empty.</p> |
|
2892 |
+<p>We unconditionally call <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.CommandWithHelpGroups.format_commands"><code>format_commands</code></a>, and rely on it to |
|
2893 |
+act as a no-op if we aren’t actually a <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.MultiCommand"><code>click.MultiCommand</code></a>.</p> |
|
2894 |
+<p>Based on code from click 8.1. Subject to the following license |
|
2895 |
+(3-clause BSD license):</p> |
|
2896 |
+<pre><code>Copyright 2024 Pallets |
|
2897 |
+ |
|
2898 |
+Redistribution and use in source and binary forms, with or |
|
2899 |
+without modification, are permitted provided that the |
|
2900 |
+following conditions are met: |
|
2901 |
+ |
|
2902 |
+ 1. Redistributions of source code must retain the above |
|
2903 |
+ copyright notice, this list of conditions and the |
|
2904 |
+ following disclaimer. |
|
2905 |
+ |
|
2906 |
+ 2. Redistributions in binary form must reproduce the above |
|
2907 |
+ copyright notice, this list of conditions and the |
|
2908 |
+ following disclaimer in the documentation and/or other |
|
2909 |
+ materials provided with the distribution. |
|
2910 |
+ |
|
2911 |
+ 3. Neither the name of the copyright holder nor the names |
|
2912 |
+ of its contributors may be used to endorse or promote |
|
2913 |
+ products derived from this software without specific |
|
2914 |
+ prior written permission. |
|
2915 |
+ |
|
2916 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
2917 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
2918 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
2919 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
2920 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
2921 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
2922 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
2923 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
2924 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
2925 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
2926 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
2927 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
2928 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
2929 |
+</code></pre> |
|
2930 |
+<p>Modifications are released under the same license above.</p> |
|
2931 |
+ |
|
2932 |
+ |
|
2933 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
2934 |
+ <table> |
|
2935 |
+ <thead> |
|
2936 |
+ <tr> |
|
2937 |
+ <th>Name</th> |
|
2938 |
+ <th>Type</th> |
|
2939 |
+ <th>Description</th> |
|
2940 |
+ <th>Default</th> |
|
2941 |
+ </tr> |
|
2942 |
+ </thead> |
|
2943 |
+ <tbody> |
|
2944 |
+ <tr class="doc-section-item"> |
|
2945 |
+ <td> |
|
2946 |
+ <code>ctx</code> |
|
2947 |
+ </td> |
|
2948 |
+ <td> |
|
2949 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
2950 |
+ </td> |
|
2951 |
+ <td> |
|
2952 |
+ <div class="doc-md-description"> |
|
2953 |
+ <p>The click context.</p> |
|
2954 |
+ </div> |
|
2955 |
+ </td> |
|
2956 |
+ <td> |
|
2957 |
+ <em>required</em> |
|
2958 |
+ </td> |
|
2959 |
+ </tr> |
|
2960 |
+ <tr class="doc-section-item"> |
|
2961 |
+ <td> |
|
2962 |
+ <code>formatter</code> |
|
2963 |
+ </td> |
|
2964 |
+ <td> |
|
2965 |
+ <code><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></code> |
|
2966 |
+ </td> |
|
2967 |
+ <td> |
|
2968 |
+ <div class="doc-md-description"> |
|
2969 |
+ <p>The formatter for the <code>--help</code> listing.</p> |
|
2970 |
+ </div> |
|
2971 |
+ </td> |
|
2972 |
+ <td> |
|
2973 |
+ <em>required</em> |
|
2974 |
+ </td> |
|
2975 |
+ </tr> |
|
2976 |
+ </tbody> |
|
2977 |
+ </table> |
|
2978 |
+ |
|
2979 |
+ </div> |
|
2980 |
+ |
|
2981 |
+</div> |
|
2982 |
+ |
|
2983 |
+<div class="doc doc-object doc-function"> |
|
2984 |
+ |
|
2985 |
+ |
|
2986 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.format_commands" class="doc doc-heading"> |
|
2987 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_commands</span> |
|
2988 |
+ |
|
2989 |
+ |
|
2990 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_commands" class="headerlink" title="Permanent link">¶</a></h4> |
|
2991 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_commands</span><span class="p">(</span> |
|
2992 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">formatter</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></span> |
|
2993 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
2994 |
+</code></pre></div> |
|
2995 |
+ |
|
2996 |
+ <div class="doc doc-contents "> |
|
2997 |
+ |
|
2998 |
+ <p>Format the subcommands, if any.</p> |
|
2999 |
+<p>If called on a command object that isn’t derived from |
|
3000 |
+<a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.MultiCommand"><code>click.MultiCommand</code></a>, then do nothing.</p> |
|
3001 |
+<p>Based on code from click 8.1. Subject to the following license |
|
3002 |
+(3-clause BSD license):</p> |
|
3003 |
+<pre><code>Copyright 2024 Pallets |
|
3004 |
+ |
|
3005 |
+Redistribution and use in source and binary forms, with or |
|
3006 |
+without modification, are permitted provided that the |
|
3007 |
+following conditions are met: |
|
3008 |
+ |
|
3009 |
+ 1. Redistributions of source code must retain the above |
|
3010 |
+ copyright notice, this list of conditions and the |
|
3011 |
+ following disclaimer. |
|
3012 |
+ |
|
3013 |
+ 2. Redistributions in binary form must reproduce the above |
|
3014 |
+ copyright notice, this list of conditions and the |
|
3015 |
+ following disclaimer in the documentation and/or other |
|
3016 |
+ materials provided with the distribution. |
|
3017 |
+ |
|
3018 |
+ 3. Neither the name of the copyright holder nor the names |
|
3019 |
+ of its contributors may be used to endorse or promote |
|
3020 |
+ products derived from this software without specific |
|
3021 |
+ prior written permission. |
|
3022 |
+ |
|
3023 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
3024 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
3025 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
3026 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
3027 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
3028 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
3029 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
3030 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
3031 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
3032 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
3033 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
3034 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
3035 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
3036 |
+</code></pre> |
|
3037 |
+<p>Modifications are marked with respective comments. They too are |
|
3038 |
+released under the same license above. The original code did |
|
3039 |
+not contain any “noqa” or “pragma” comments.</p> |
|
3040 |
+ |
|
3041 |
+ |
|
3042 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
3043 |
+ <table> |
|
3044 |
+ <thead> |
|
3045 |
+ <tr> |
|
3046 |
+ <th>Name</th> |
|
3047 |
+ <th>Type</th> |
|
3048 |
+ <th>Description</th> |
|
3049 |
+ <th>Default</th> |
|
3050 |
+ </tr> |
|
3051 |
+ </thead> |
|
3052 |
+ <tbody> |
|
3053 |
+ <tr class="doc-section-item"> |
|
3054 |
+ <td> |
|
3055 |
+ <code>ctx</code> |
|
3056 |
+ </td> |
|
3057 |
+ <td> |
|
3058 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
3059 |
+ </td> |
|
3060 |
+ <td> |
|
3061 |
+ <div class="doc-md-description"> |
|
3062 |
+ <p>The click context.</p> |
|
3063 |
+ </div> |
|
3064 |
+ </td> |
|
3065 |
+ <td> |
|
3066 |
+ <em>required</em> |
|
3067 |
+ </td> |
|
3068 |
+ </tr> |
|
3069 |
+ <tr class="doc-section-item"> |
|
3070 |
+ <td> |
|
3071 |
+ <code>formatter</code> |
|
3072 |
+ </td> |
|
3073 |
+ <td> |
|
3074 |
+ <code><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></code> |
|
3075 |
+ </td> |
|
3076 |
+ <td> |
|
3077 |
+ <div class="doc-md-description"> |
|
3078 |
+ <p>The formatter for the <code>--help</code> listing.</p> |
|
3079 |
+ </div> |
|
3080 |
+ </td> |
|
3081 |
+ <td> |
|
3082 |
+ <em>required</em> |
|
3083 |
+ </td> |
|
3084 |
+ </tr> |
|
3085 |
+ </tbody> |
|
3086 |
+ </table> |
|
3087 |
+ |
|
3088 |
+ </div> |
|
3089 |
+ |
|
3090 |
+</div> |
|
3091 |
+ |
|
3092 |
+<div class="doc doc-object doc-function"> |
|
3093 |
+ |
|
3094 |
+ |
|
3095 |
+<h4 id="derivepassphrase.cli.CommandWithHelpGroups.format_epilog" class="doc doc-heading"> |
|
3096 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_epilog</span> |
|
3097 |
+ |
|
3098 |
+ |
|
3099 |
+<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_epilog" class="headerlink" title="Permanent link">¶</a></h4> |
|
3100 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_epilog</span><span class="p">(</span> |
|
3101 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">formatter</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></span> |
|
3102 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3103 |
+</code></pre></div> |
|
3104 |
+ |
|
3105 |
+ <div class="doc doc-contents "> |
|
3106 |
+ |
|
3107 |
+ <p>Format the epilog, if any.</p> |
|
3108 |
+<p>Based on code from click 8.1. Subject to the following license |
|
3109 |
+(3-clause BSD license):</p> |
|
3110 |
+<pre><code>Copyright 2024 Pallets |
|
3111 |
+ |
|
3112 |
+Redistribution and use in source and binary forms, with or |
|
3113 |
+without modification, are permitted provided that the |
|
3114 |
+following conditions are met: |
|
3115 |
+ |
|
3116 |
+ 1. Redistributions of source code must retain the above |
|
3117 |
+ copyright notice, this list of conditions and the |
|
3118 |
+ following disclaimer. |
|
3119 |
+ |
|
3120 |
+ 2. Redistributions in binary form must reproduce the above |
|
3121 |
+ copyright notice, this list of conditions and the |
|
3122 |
+ following disclaimer in the documentation and/or other |
|
3123 |
+ materials provided with the distribution. |
|
3124 |
+ |
|
3125 |
+ 3. Neither the name of the copyright holder nor the names |
|
3126 |
+ of its contributors may be used to endorse or promote |
|
3127 |
+ products derived from this software without specific |
|
3128 |
+ prior written permission. |
|
3129 |
+ |
|
3130 |
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
|
3131 |
+CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, |
|
3132 |
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
3133 |
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|
3134 |
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
|
3135 |
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
3136 |
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
|
3137 |
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|
3138 |
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
3139 |
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
|
3140 |
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR |
|
3141 |
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
|
3142 |
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
3143 |
+</code></pre> |
|
3144 |
+<p>Modifications are marked with respective comments. They too are |
|
3145 |
+released under the same license above.</p> |
|
3146 |
+ |
|
3147 |
+ |
|
3148 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
3149 |
+ <table> |
|
3150 |
+ <thead> |
|
3151 |
+ <tr> |
|
3152 |
+ <th>Name</th> |
|
3153 |
+ <th>Type</th> |
|
3154 |
+ <th>Description</th> |
|
3155 |
+ <th>Default</th> |
|
3156 |
+ </tr> |
|
3157 |
+ </thead> |
|
3158 |
+ <tbody> |
|
3159 |
+ <tr class="doc-section-item"> |
|
3160 |
+ <td> |
|
3161 |
+ <code>ctx</code> |
|
3162 |
+ </td> |
|
3163 |
+ <td> |
|
3164 |
+ <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
3165 |
+ </td> |
|
3166 |
+ <td> |
|
3167 |
+ <div class="doc-md-description"> |
|
3168 |
+ <p>The click context.</p> |
|
3169 |
+ </div> |
|
3170 |
+ </td> |
|
3171 |
+ <td> |
|
3172 |
+ <em>required</em> |
|
3173 |
+ </td> |
|
3174 |
+ </tr> |
|
3175 |
+ <tr class="doc-section-item"> |
|
3176 |
+ <td> |
|
3177 |
+ <code>formatter</code> |
|
3178 |
+ </td> |
|
3179 |
+ <td> |
|
3180 |
+ <code><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></code> |
|
3181 |
+ </td> |
|
3182 |
+ <td> |
|
3183 |
+ <div class="doc-md-description"> |
|
3184 |
+ <p>The formatter for the <code>--help</code> listing.</p> |
|
3185 |
+ </div> |
|
3186 |
+ </td> |
|
3187 |
+ <td> |
|
3188 |
+ <em>required</em> |
|
3189 |
+ </td> |
|
3190 |
+ </tr> |
|
3191 |
+ </tbody> |
|
3192 |
+ </table> |
|
3193 |
+ |
|
3194 |
+ </div> |
|
3195 |
+ |
|
3196 |
+</div> |
|
3197 |
+ |
|
3198 |
+ |
|
3199 |
+ |
|
3200 |
+ </div> |
|
3201 |
+ |
|
3202 |
+ </div> |
|
3203 |
+ |
|
3204 |
+</div> |
|
3205 |
+ |
|
3206 |
+<div class="doc doc-object doc-class"> |
|
3207 |
+ |
|
3208 |
+ |
|
3209 |
+ |
|
3210 |
+<h3 id="derivepassphrase.cli.LoggingOption" class="doc doc-heading"> |
|
3211 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">LoggingOption</span> |
|
3212 |
+ |
|
3213 |
+ |
|
3214 |
+<a href="#derivepassphrase.cli.LoggingOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
3215 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">LoggingOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
3216 |
+</code></pre></div> |
|
3217 |
+ |
|
3218 |
+ <div class="doc doc-contents "> |
|
3219 |
+ <p class="doc doc-class-bases"> |
|
3220 |
+ Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption" href="#derivepassphrase.cli.OptionGroupOption">OptionGroupOption</a></code></p> |
|
3221 |
+ |
|
3222 |
+ |
|
3223 |
+ |
|
3224 |
+ <p>Logging options for the CLI.</p> |
|
3225 |
+ |
|
3226 |
+ |
|
3227 |
+ |
|
3228 |
+ |
|
3229 |
+ |
|
3230 |
+ |
|
3231 |
+ |
|
3232 |
+ |
|
3233 |
+ |
|
3234 |
+ <div class="doc doc-children"> |
|
3235 |
+ |
|
3236 |
+ |
|
3237 |
+ |
|
3238 |
+ |
|
3239 |
+ |
|
3240 |
+ |
|
3241 |
+ |
|
3242 |
+ |
|
3243 |
+ |
|
3244 |
+ |
|
3245 |
+ |
|
1377 | 3246 |
</div> |
1378 |
- </td> |
|
1379 |
- </tr> |
|
1380 |
- </tbody> |
|
1381 |
- </table> |
|
1382 | 3247 |
|
3248 |
+ </div> |
|
1383 | 3249 |
|
3250 |
+</div> |
|
1384 | 3251 |
|
3252 |
+<div class="doc doc-object doc-class"> |
|
1385 | 3253 |
|
1386 | 3254 |
|
1387 | 3255 |
|
3256 |
+<h3 id="derivepassphrase.cli.ZshComplete" class="doc doc-heading"> |
|
3257 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ZshComplete</span> |
|
1388 | 3258 |
|
1389 | 3259 |
|
3260 |
+<a href="#derivepassphrase.cli.ZshComplete" class="headerlink" title="Permanent link">¶</a></h3> |
|
1390 | 3261 |
|
1391 |
- <div class="doc doc-children"> |
|
1392 | 3262 |
|
3263 |
+ <div class="doc doc-contents "> |
|
3264 |
+ <p class="doc doc-class-bases"> |
|
3265 |
+ Bases: <code><span title="click.shell_completion.ZshComplete">ZshComplete</span></code></p> |
|
1393 | 3266 |
|
1394 | 3267 |
|
1395 | 3268 |
|
3269 |
+ <p>Zsh completion class that supports colons.</p> |
|
3270 |
+<p><code>click</code>’s Zsh completion class (at least v8.1.7 and v8.1.8) uses |
|
3271 |
+completion helper functions (provided by Zsh) that parse each |
|
3272 |
+completion item into value-description pairs, separated by a colon. |
|
3273 |
+Correspondingly, any internal colons in the completion item’s value |
|
3274 |
+need to be escaped. <code>click</code> doesn’t do this. So, this subclass |
|
3275 |
+overrides those parts, and adds the missing escaping.</p> |
|
1396 | 3276 |
|
1397 | 3277 |
|
1398 | 3278 |
|
1399 |
-<div class="doc doc-object doc-attribute"> |
|
1400 | 3279 |
|
1401 | 3280 |
|
1402 | 3281 |
|
1403 |
-<h4 id="derivepassphrase.cli.OptionGroupOption.option_group_name" class="doc doc-heading"> |
|
1404 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">option_group_name</span> |
|
1405 | 3282 |
|
1406 | 3283 |
|
1407 |
- <span class="doc doc-labels"> |
|
1408 |
- <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> |
|
1409 |
- <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> |
|
1410 |
- </span> |
|
1411 | 3284 |
|
1412 |
-<a href="#derivepassphrase.cli.OptionGroupOption.option_group_name" class="headerlink" title="Permanent link">¶</a></h4> |
|
1413 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="n">option_group_name</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">=</span> <span class="s1">''</span> |
|
1414 |
-</code></pre></div> |
|
3285 |
+ <div class="doc doc-children"> |
|
1415 | 3286 |
|
1416 |
- <div class="doc doc-contents "> |
|
1417 | 3287 |
|
1418 | 3288 |
|
1419 |
- </div> |
|
1420 | 3289 |
|
1421 |
-</div> |
|
1422 | 3290 |
|
1423 |
-<div class="doc doc-object doc-attribute"> |
|
1424 | 3291 |
|
1425 | 3292 |
|
1426 | 3293 |
|
1427 |
-<h4 id="derivepassphrase.cli.OptionGroupOption.epilog" class="doc doc-heading"> |
|
1428 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-attribute"></code> <span class="doc doc-object-name doc-attribute-name">epilog</span> |
|
3294 |
+ |
|
3295 |
+<div class="doc doc-object doc-function"> |
|
1429 | 3296 |
|
1430 | 3297 |
|
1431 |
- <span class="doc doc-labels"> |
|
1432 |
- <small class="doc doc-label doc-label-class-attribute"><code>class-attribute</code></small> |
|
1433 |
- <small class="doc doc-label doc-label-instance-attribute"><code>instance-attribute</code></small> |
|
1434 |
- </span> |
|
3298 |
+<h4 id="derivepassphrase.cli.ZshComplete.format_completion" class="doc doc-heading"> |
|
3299 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_completion</span> |
|
1435 | 3300 |
|
1436 |
-<a href="#derivepassphrase.cli.OptionGroupOption.epilog" class="headerlink" title="Permanent link">¶</a></h4> |
|
1437 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="n">epilog</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> <span class="o">=</span> <span class="s1">''</span> |
|
3301 |
+ |
|
3302 |
+<a href="#derivepassphrase.cli.ZshComplete.format_completion" class="headerlink" title="Permanent link">¶</a></h4> |
|
3303 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_completion</span><span class="p">(</span><span class="n">item</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.shell_completion.CompletionItem" href="https://click.palletsprojects.com/en/8.1.x/api/#click.shell_completion.CompletionItem">CompletionItem</a></span><span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span> |
|
1438 | 3304 |
</code></pre></div> |
1439 | 3305 |
|
1440 | 3306 |
<div class="doc doc-contents "> |
1441 | 3307 |
|
3308 |
+ <p>Return a suitable serialization of the CompletionItem.</p> |
|
3309 |
+<p>This serialization ensures colons in the item value are properly |
|
3310 |
+escaped.</p> |
|
1442 | 3311 |
|
1443 | 3312 |
</div> |
1444 | 3313 |
|
... | ... |
@@ -1458,22 +3325,21 @@ section.</p> |
1458 | 3325 |
|
1459 | 3326 |
|
1460 | 3327 |
|
1461 |
-<h3 id="derivepassphrase.cli.CommandWithHelpGroups" class="doc doc-heading"> |
|
1462 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">CommandWithHelpGroups</span> |
|
1463 |
- |
|
3328 |
+<h3 id="derivepassphrase.cli.PassphraseGenerationOption" class="doc doc-heading"> |
|
3329 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">PassphraseGenerationOption</span> |
|
1464 | 3330 |
|
1465 |
-<a href="#derivepassphrase.cli.CommandWithHelpGroups" class="headerlink" title="Permanent link">¶</a></h3> |
|
1466 | 3331 |
|
3332 |
+<a href="#derivepassphrase.cli.PassphraseGenerationOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
3333 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">PassphraseGenerationOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
3334 |
+</code></pre></div> |
|
1467 | 3335 |
|
1468 | 3336 |
<div class="doc doc-contents "> |
1469 | 3337 |
<p class="doc doc-class-bases"> |
1470 |
- Bases: <code><a class="autorefs autorefs-external" title="click.Command" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command">Command</a></code></p> |
|
3338 |
+ Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption" href="#derivepassphrase.cli.OptionGroupOption">OptionGroupOption</a></code></p> |
|
1471 | 3339 |
|
1472 | 3340 |
|
1473 | 3341 |
|
1474 |
- <p>A <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command"><code>click.Command</code></a> with support for help/option groups.</p> |
|
1475 |
-<p>Inspired by <a href="https://github.com/pallets/click/issues/373#issuecomment-515293746">a comment on <code>pallets/click#373</code></a>, and |
|
1476 |
-further modified to support group epilogs.</p> |
|
3342 |
+ <p>Passphrase generation options for the CLI.</p> |
|
1477 | 3343 |
|
1478 | 3344 |
|
1479 | 3345 |
|
... | ... |
@@ -1493,84 +3359,51 @@ further modified to support group epilogs.</p> |
1493 | 3359 |
|
1494 | 3360 |
|
1495 | 3361 |
|
1496 |
-<div class="doc doc-object doc-function"> |
|
1497 | 3362 |
|
1498 | 3363 |
|
1499 |
-<h4 id="derivepassphrase.cli.CommandWithHelpGroups.format_options" class="doc doc-heading"> |
|
1500 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-method"></code> <span class="doc doc-object-name doc-function-name">format_options</span> |
|
3364 |
+ </div> |
|
1501 | 3365 |
|
3366 |
+ </div> |
|
1502 | 3367 |
|
1503 |
-<a href="#derivepassphrase.cli.CommandWithHelpGroups.format_options" class="headerlink" title="Permanent link">¶</a></h4> |
|
1504 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">format_options</span><span class="p">(</span> |
|
1505 |
- <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">formatter</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></span> |
|
1506 |
-<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3368 |
+</div> |
|
3369 |
+ |
|
3370 |
+<div class="doc doc-object doc-class"> |
|
3371 |
+ |
|
3372 |
+ |
|
3373 |
+ |
|
3374 |
+<h3 id="derivepassphrase.cli.ConfigurationOption" class="doc doc-heading"> |
|
3375 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ConfigurationOption</span> |
|
3376 |
+ |
|
3377 |
+ |
|
3378 |
+<a href="#derivepassphrase.cli.ConfigurationOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
3379 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ConfigurationOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
1507 | 3380 |
</code></pre></div> |
1508 | 3381 |
|
1509 | 3382 |
<div class="doc doc-contents "> |
3383 |
+ <p class="doc doc-class-bases"> |
|
3384 |
+ Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption" href="#derivepassphrase.cli.OptionGroupOption">OptionGroupOption</a></code></p> |
|
3385 |
+ |
|
3386 |
+ |
|
3387 |
+ |
|
3388 |
+ <p>Configuration options for the CLI.</p> |
|
3389 |
+ |
|
3390 |
+ |
|
3391 |
+ |
|
3392 |
+ |
|
3393 |
+ |
|
3394 |
+ |
|
3395 |
+ |
|
3396 |
+ |
|
3397 |
+ |
|
3398 |
+ <div class="doc doc-children"> |
|
3399 |
+ |
|
3400 |
+ |
|
3401 |
+ |
|
1510 | 3402 |
|
1511 |
- <p>Format options on the help listing, grouped into sections.</p> |
|
1512 |
-<p>This is a callback for <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Command.get_help"><code>click.Command.get_help</code></a> that |
|
1513 |
-implements the <code>--help</code> listing, by calling appropriate methods |
|
1514 |
-of the <code>formatter</code>. We list all options (like the base |
|
1515 |
-implementation), but grouped into sections according to the |
|
1516 |
-concrete <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Option"><code>click.Option</code></a> subclass being used. If the option |
|
1517 |
-is an instance of some subclass of <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption"><code>OptionGroupOption</code></a>, then |
|
1518 |
-the section heading and the epilog are taken from the |
|
1519 |
-<a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption.option_group_name"><code>option_group_name</code></a> and |
|
1520 |
-<a class="autorefs autorefs-internal" href="#derivepassphrase.cli.OptionGroupOption.epilog"><code>epilog</code></a> attributes; otherwise, the |
|
1521 |
-section heading is “Options” (or “Other options” if there are |
|
1522 |
-other option groups) and the epilog is empty.</p> |
|
1523 | 3403 |
|
1524 | 3404 |
|
1525 |
-<p><span class="doc-section-title">Parameters:</span></p> |
|
1526 |
- <table> |
|
1527 |
- <thead> |
|
1528 |
- <tr> |
|
1529 |
- <th>Name</th> |
|
1530 |
- <th>Type</th> |
|
1531 |
- <th>Description</th> |
|
1532 |
- <th>Default</th> |
|
1533 |
- </tr> |
|
1534 |
- </thead> |
|
1535 |
- <tbody> |
|
1536 |
- <tr class="doc-section-item"> |
|
1537 |
- <td> |
|
1538 |
- <code>ctx</code> |
|
1539 |
- </td> |
|
1540 |
- <td> |
|
1541 |
- <code><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></code> |
|
1542 |
- </td> |
|
1543 |
- <td> |
|
1544 |
- <div class="doc-md-description"> |
|
1545 |
- <p>The click context.</p> |
|
1546 |
- </div> |
|
1547 |
- </td> |
|
1548 |
- <td> |
|
1549 |
- <em>required</em> |
|
1550 |
- </td> |
|
1551 |
- </tr> |
|
1552 |
- <tr class="doc-section-item"> |
|
1553 |
- <td> |
|
1554 |
- <code>formatter</code> |
|
1555 |
- </td> |
|
1556 |
- <td> |
|
1557 |
- <code><a class="autorefs autorefs-external" title="click.HelpFormatter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.HelpFormatter">HelpFormatter</a></code> |
|
1558 |
- </td> |
|
1559 |
- <td> |
|
1560 |
- <div class="doc-md-description"> |
|
1561 |
- <p>The formatter for the <code>--help</code> listing.</p> |
|
1562 |
- </div> |
|
1563 |
- </td> |
|
1564 |
- <td> |
|
1565 |
- <em>required</em> |
|
1566 |
- </td> |
|
1567 |
- </tr> |
|
1568 |
- </tbody> |
|
1569 |
- </table> |
|
1570 | 3405 |
|
1571 |
- </div> |
|
1572 | 3406 |
|
1573 |
-</div> |
|
1574 | 3407 |
|
1575 | 3408 |
|
1576 | 3409 |
|
... | ... |
@@ -1584,12 +3417,12 @@ other option groups) and the epilog is empty.</p> |
1584 | 3417 |
|
1585 | 3418 |
|
1586 | 3419 |
|
1587 |
-<h3 id="derivepassphrase.cli.PasswordGenerationOption" class="doc doc-heading"> |
|
1588 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">PasswordGenerationOption</span> |
|
3420 |
+<h3 id="derivepassphrase.cli.StorageManagementOption" class="doc doc-heading"> |
|
3421 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StorageManagementOption</span> |
|
1589 | 3422 |
|
1590 | 3423 |
|
1591 |
-<a href="#derivepassphrase.cli.PasswordGenerationOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
1592 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">PasswordGenerationOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
3424 |
+<a href="#derivepassphrase.cli.StorageManagementOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
3425 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">StorageManagementOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
1593 | 3426 |
</code></pre></div> |
1594 | 3427 |
|
1595 | 3428 |
<div class="doc doc-contents "> |
... | ... |
@@ -1598,7 +3431,7 @@ other option groups) and the epilog is empty.</p> |
1598 | 3431 |
|
1599 | 3432 |
|
1600 | 3433 |
|
1601 |
- <p>Password generation options for the CLI.</p> |
|
3434 |
+ <p>Storage management options for the CLI.</p> |
|
1602 | 3435 |
|
1603 | 3436 |
|
1604 | 3437 |
|
... | ... |
@@ -1630,12 +3463,12 @@ other option groups) and the epilog is empty.</p> |
1630 | 3463 |
|
1631 | 3464 |
|
1632 | 3465 |
|
1633 |
-<h3 id="derivepassphrase.cli.ConfigurationOption" class="doc doc-heading"> |
|
1634 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">ConfigurationOption</span> |
|
3466 |
+<h3 id="derivepassphrase.cli.CompatibilityOption" class="doc doc-heading"> |
|
3467 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">CompatibilityOption</span> |
|
1635 | 3468 |
|
1636 | 3469 |
|
1637 |
-<a href="#derivepassphrase.cli.ConfigurationOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
1638 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">ConfigurationOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
3470 |
+<a href="#derivepassphrase.cli.CompatibilityOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
3471 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">CompatibilityOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
1639 | 3472 |
</code></pre></div> |
1640 | 3473 |
|
1641 | 3474 |
<div class="doc doc-contents "> |
... | ... |
@@ -1644,7 +3477,7 @@ other option groups) and the epilog is empty.</p> |
1644 | 3477 |
|
1645 | 3478 |
|
1646 | 3479 |
|
1647 |
- <p>Configuration options for the CLI.</p> |
|
3480 |
+ <p>Compatibility and incompatibility options for the CLI.</p> |
|
1648 | 3481 |
|
1649 | 3482 |
|
1650 | 3483 |
|
... | ... |
@@ -1672,47 +3505,128 @@ other option groups) and the epilog is empty.</p> |
1672 | 3505 |
|
1673 | 3506 |
</div> |
1674 | 3507 |
|
1675 |
-<div class="doc doc-object doc-class"> |
|
1676 | 3508 |
|
3509 |
+<div class="doc doc-object doc-function"> |
|
1677 | 3510 |
|
1678 | 3511 |
|
1679 |
-<h3 id="derivepassphrase.cli.StorageManagementOption" class="doc doc-heading"> |
|
1680 |
-<code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">StorageManagementOption</span> |
|
3512 |
+<h3 id="derivepassphrase.cli.adjust_logging_level" class="doc doc-heading"> |
|
3513 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">adjust_logging_level</span> |
|
1681 | 3514 |
|
1682 | 3515 |
|
1683 |
-<a href="#derivepassphrase.cli.StorageManagementOption" class="headerlink" title="Permanent link">¶</a></h3> |
|
1684 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">StorageManagementOption</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span><span class="p">)</span> |
|
3516 |
+<a href="#derivepassphrase.cli.adjust_logging_level" class="headerlink" title="Permanent link">¶</a></h3> |
|
3517 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">adjust_logging_level</span><span class="p">(</span> |
|
3518 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> |
|
3519 |
+ <span class="o">/</span><span class="p">,</span> |
|
3520 |
+ <span class="n">param</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Parameter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Parameter">Parameter</a></span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
|
3521 |
+ <span class="n">value</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#int">int</a></span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
|
3522 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
1685 | 3523 |
</code></pre></div> |
1686 | 3524 |
|
1687 | 3525 |
<div class="doc doc-contents "> |
1688 |
- <p class="doc doc-class-bases"> |
|
1689 |
- Bases: <code><a class="autorefs autorefs-internal" title="derivepassphrase.cli.OptionGroupOption" href="#derivepassphrase.cli.OptionGroupOption">OptionGroupOption</a></code></p> |
|
1690 | 3526 |
|
3527 |
+ <p>Change the logs that are emitted to standard error.</p> |
|
3528 |
+<p>This modifies the <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.StandardCLILogging"><code>StandardCLILogging</code></a> settings such that log |
|
3529 |
+records at the respective level are emitted, based on the <code>param</code> |
|
3530 |
+and the <code>value</code>.</p> |
|
1691 | 3531 |
|
3532 |
+ </div> |
|
1692 | 3533 |
|
1693 |
- <p>Storage management options for the CLI.</p> |
|
3534 |
+</div> |
|
1694 | 3535 |
|
3536 |
+<div class="doc doc-object doc-function"> |
|
1695 | 3537 |
|
1696 | 3538 |
|
3539 |
+<h3 id="derivepassphrase.cli.color_forcing_callback" class="doc doc-heading"> |
|
3540 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">color_forcing_callback</span> |
|
1697 | 3541 |
|
1698 | 3542 |
|
3543 |
+<a href="#derivepassphrase.cli.color_forcing_callback" class="headerlink" title="Permanent link">¶</a></h3> |
|
3544 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">color_forcing_callback</span><span class="p">(</span> |
|
3545 |
+ <span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">,</span> <span class="n">param</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Parameter" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Parameter">Parameter</a></span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing_extensions.Any" href="https://typing-extensions.readthedocs.io/en/latest/index.html#typing_extensions.Any">Any</a></span> |
|
3546 |
+<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3547 |
+</code></pre></div> |
|
1699 | 3548 |
|
3549 |
+ <div class="doc doc-contents "> |
|
1700 | 3550 |
|
3551 |
+ <p>Force the <code>click</code> context to honor <code>NO_COLOR</code> and <code>FORCE_COLOR</code>.</p> |
|
1701 | 3552 |
|
3553 |
+ </div> |
|
1702 | 3554 |
|
1703 |
- <div class="doc doc-children"> |
|
3555 |
+</div> |
|
1704 | 3556 |
|
3557 |
+<div class="doc doc-object doc-function"> |
|
1705 | 3558 |
|
1706 | 3559 |
|
3560 |
+<h3 id="derivepassphrase.cli.standard_logging_options" class="doc doc-heading"> |
|
3561 |
+<code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">standard_logging_options</span> |
|
1707 | 3562 |
|
1708 | 3563 |
|
3564 |
+<a href="#derivepassphrase.cli.standard_logging_options" class="headerlink" title="Permanent link">¶</a></h3> |
|
3565 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">standard_logging_options</span><span class="p">(</span> |
|
3566 |
+ <span class="n">f</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing.Callable" href="https://docs.python.org/3/library/typing.html#typing.Callable">Callable</a></span><span class="p">[</span><span class="n"><span title="derivepassphrase.cli.P">P</span></span><span class="p">,</span> <span class="n"><span title="derivepassphrase.cli.R">R</span></span><span class="p">]</span> |
|
3567 |
+<span class="p">)</span> <span class="o">-></span> <span class="n"><a class="autorefs autorefs-external" title="typing.Callable" href="https://docs.python.org/3/library/typing.html#typing.Callable">Callable</a></span><span class="p">[</span><span class="n"><span title="derivepassphrase.cli.P">P</span></span><span class="p">,</span> <span class="n"><span title="derivepassphrase.cli.R">R</span></span><span class="p">]</span> |
|
3568 |
+</code></pre></div> |
|
1709 | 3569 |
|
3570 |
+ <div class="doc doc-contents "> |
|
1710 | 3571 |
|
3572 |
+ <p>Decorate the function with standard logging click options.</p> |
|
3573 |
+<p>Adds the three click options <code>-v</code>/<code>--verbose</code>, <code>-q</code>/<code>--quiet</code> and |
|
3574 |
+<code>--debug</code>, which calls back into the <a class="autorefs autorefs-internal" href="#derivepassphrase.cli.adjust_logging_level"><code>adjust_logging_level</code></a> |
|
3575 |
+function (with different argument values).</p> |
|
1711 | 3576 |
|
1712 | 3577 |
|
3578 |
+<p><span class="doc-section-title">Parameters:</span></p> |
|
3579 |
+ <table> |
|
3580 |
+ <thead> |
|
3581 |
+ <tr> |
|
3582 |
+ <th>Name</th> |
|
3583 |
+ <th>Type</th> |
|
3584 |
+ <th>Description</th> |
|
3585 |
+ <th>Default</th> |
|
3586 |
+ </tr> |
|
3587 |
+ </thead> |
|
3588 |
+ <tbody> |
|
3589 |
+ <tr class="doc-section-item"> |
|
3590 |
+ <td> |
|
3591 |
+ <code>f</code> |
|
3592 |
+ </td> |
|
3593 |
+ <td> |
|
3594 |
+ <code><a class="autorefs autorefs-external" title="typing.Callable" href="https://docs.python.org/3/library/typing.html#typing.Callable">Callable</a>[<span title="derivepassphrase.cli.P">P</span>, <span title="derivepassphrase.cli.R">R</span>]</code> |
|
3595 |
+ </td> |
|
3596 |
+ <td> |
|
3597 |
+ <div class="doc-md-description"> |
|
3598 |
+ <p>A callable to decorate.</p> |
|
3599 |
+ </div> |
|
3600 |
+ </td> |
|
3601 |
+ <td> |
|
3602 |
+ <em>required</em> |
|
3603 |
+ </td> |
|
3604 |
+ </tr> |
|
3605 |
+ </tbody> |
|
3606 |
+ </table> |
|
1713 | 3607 |
|
1714 | 3608 |
|
3609 |
+ <p><span class="doc-section-title">Returns:</span></p> |
|
3610 |
+ <table> |
|
3611 |
+ <thead> |
|
3612 |
+ <tr> |
|
3613 |
+ <th>Type</th> |
|
3614 |
+ <th>Description</th> |
|
3615 |
+ </tr> |
|
3616 |
+ </thead> |
|
3617 |
+ <tbody> |
|
3618 |
+ <tr class="doc-section-item"> |
|
3619 |
+ <td> |
|
3620 |
+ <code><a class="autorefs autorefs-external" title="typing.Callable" href="https://docs.python.org/3/library/typing.html#typing.Callable">Callable</a>[<span title="derivepassphrase.cli.P">P</span>, <span title="derivepassphrase.cli.R">R</span>]</code> |
|
3621 |
+ </td> |
|
3622 |
+ <td> |
|
3623 |
+ <div class="doc-md-description"> |
|
3624 |
+ <p>The decorated callable.</p> |
|
1715 | 3625 |
</div> |
3626 |
+ </td> |
|
3627 |
+ </tr> |
|
3628 |
+ </tbody> |
|
3629 |
+ </table> |
|
1716 | 3630 |
|
1717 | 3631 |
</div> |
1718 | 3632 |
|
... | ... |
@@ -1727,30 +3640,15 @@ other option groups) and the epilog is empty.</p> |
1727 | 3640 |
|
1728 | 3641 |
|
1729 | 3642 |
<a href="#derivepassphrase.cli.derivepassphrase" class="headerlink" title="Permanent link">¶</a></h3> |
1730 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">derivepassphrase</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">subcommand_args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#list">list</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">])</span> <span class="o">-></span> <span class="kc">None</span> |
|
3643 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">derivepassphrase</span><span class="p">(</span><span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
1731 | 3644 |
</code></pre></div> |
1732 | 3645 |
|
1733 | 3646 |
<div class="doc doc-contents "> |
1734 | 3647 |
|
1735 | 3648 |
<p>Derive a strong passphrase, deterministically, from a master secret.</p> |
1736 |
-<p>Using a master secret, derive a passphrase for a named service, |
|
1737 |
-subject to constraints e.g. on passphrase length, allowed |
|
1738 |
-characters, etc. The exact derivation depends on the selected |
|
1739 |
-derivation scheme. For each scheme, it is computationally |
|
1740 |
-infeasible to discern the master secret from the derived passphrase. |
|
1741 |
-The derivations are also deterministic, given the same inputs, thus |
|
1742 |
-the resulting passphrases need not be stored explicitly. The |
|
1743 |
-service name and constraints themselves also generally need not be |
|
1744 |
-kept secret, depending on the scheme.</p> |
|
1745 |
-<p>The currently implemented subcommands are “vault” (for the scheme |
|
1746 |
-used by vault) and “export” (for exporting foreign configuration |
|
1747 |
-data). See the respective <code>--help</code> output for instructions. If no |
|
1748 |
-subcommand is given, we default to “vault”.</p> |
|
1749 |
-<p>Deprecation notice: Defaulting to “vault” is deprecated. Starting |
|
1750 |
-in v1.0, the subcommand must be specified explicitly.</p> |
|
1751 | 3649 |
<p>This is a <a href="https://pypi.org/package/click/"><code>click</code></a>-powered command-line interface function, |
1752 |
-and not intended for programmatic use. Call with arguments |
|
1753 |
-<code>['--help']</code> to see full documentation of the interface. (See also |
|
3650 |
+and not intended for programmatic use. See the derivepassphrase(1) |
|
3651 |
+manpage for full documentation of the interface. (See also |
|
1754 | 3652 |
<a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for controlled, programmatic |
1755 | 3653 |
invocation.)</p> |
1756 | 3654 |
|
... | ... |
@@ -1766,26 +3664,17 @@ invocation.)</p> |
1766 | 3664 |
|
1767 | 3665 |
|
1768 | 3666 |
<a href="#derivepassphrase.cli.derivepassphrase_export" class="headerlink" title="Permanent link">¶</a></h3> |
1769 |
-<div class="doc-signature highlight"><pre><span></span><code><span class="nf">derivepassphrase_export</span><span class="p">(</span> |
|
1770 |
- <span class="o">*</span><span class="p">,</span> <span class="n">subcommand_args</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#list">list</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> |
|
1771 |
-<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
3667 |
+<div class="doc-signature highlight"><pre><span></span><code><span class="nf">derivepassphrase_export</span><span class="p">(</span><span class="n">ctx</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="click.Context" href="https://click.palletsprojects.com/en/8.1.x/api/#click.Context">Context</a></span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
|
1772 | 3668 |
</code></pre></div> |
1773 | 3669 |
|
1774 | 3670 |
<div class="doc doc-contents "> |
1775 | 3671 |
|
1776 | 3672 |
<p>Export a foreign configuration to standard output.</p> |
1777 |
-<p>Read a foreign system configuration, extract all information from |
|
1778 |
-it, and export the resulting configuration to standard output.</p> |
|
1779 |
-<p>The only available subcommand is “vault”, which implements the |
|
1780 |
-vault-native configuration scheme. If no subcommand is given, we |
|
1781 |
-default to “vault”.</p> |
|
1782 |
-<p>Deprecation notice: Defaulting to “vault” is deprecated. Starting |
|
1783 |
-in v1.0, the subcommand must be specified explicitly.</p> |
|
1784 | 3673 |
<p>This is a <a href="https://pypi.org/package/click/"><code>click</code></a>-powered command-line interface function, |
1785 |
-and not intended for programmatic use. Call with arguments |
|
1786 |
-<code>['--help']</code> to see full documentation of the interface. (See also |
|
1787 |
-<a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for controlled, programmatic |
|
1788 |
-invocation.)</p> |
|
3674 |
+and not intended for programmatic use. See the |
|
3675 |
+derivepassphrase-export(1) manpage for full documentation of the |
|
3676 |
+interface. (See also <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for controlled, |
|
3677 |
+programmatic invocation.)</p> |
|
1789 | 3678 |
|
1790 | 3679 |
</div> |
1791 | 3680 |
|
... | ... |
@@ -1814,15 +3703,11 @@ invocation.)</p> |
1814 | 3703 |
<div class="doc doc-contents "> |
1815 | 3704 |
|
1816 | 3705 |
<p>Export a vault-native configuration to standard output.</p> |
1817 |
-<p>Read the vault-native configuration at PATH, extract all information |
|
1818 |
-from it, and export the resulting configuration to standard output. |
|
1819 |
-Depending on the configuration format, PATH may either be a file or |
|
1820 |
-a directory. Supports the vault “v0.2”, “v0.3” and “storeroom” |
|
1821 |
-formats.</p> |
|
1822 |
-<p>If PATH is explicitly given as <code>VAULT_PATH</code>, then use the |
|
1823 |
-<code>VAULT_PATH</code> environment variable to determine the correct path. |
|
1824 |
-(Use <code>./VAULT_PATH</code> or similar to indicate a file/directory actually |
|
1825 |
-named <code>VAULT_PATH</code>.)</p> |
|
3706 |
+<p>This is a <a href="https://pypi.org/package/click/"><code>click</code></a>-powered command-line interface function, |
|
3707 |
+and not intended for programmatic use. See the |
|
3708 |
+derivepassphrase-export-vault(1) manpage for full documentation of |
|
3709 |
+the interface. (See also <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for |
|
3710 |
+controlled, programmatic invocation.)</p> |
|
1826 | 3711 |
|
1827 | 3712 |
</div> |
1828 | 3713 |
|
... | ... |
@@ -1862,28 +3747,20 @@ named <code>VAULT_PATH</code>.)</p> |
1862 | 3747 |
<span class="n">import_settings</span><span class="p">:</span> <span class="p">(</span> |
1863 | 3748 |
<span class="n"><a class="autorefs autorefs-external" title="typing.TextIO" href="https://docs.python.org/3/library/typing.html#typing.TextIO">TextIO</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" title="pathlib.Path" href="https://docs.python.org/3/library/pathlib.html#pathlib.Path">Path</a></span> <span class="o">|</span> <span class="n"><a class="autorefs autorefs-external" title="os.PathLike" href="https://docs.python.org/3/library/os.html#os.PathLike">PathLike</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> <span class="o">|</span> <span class="kc">None</span> |
1864 | 3749 |
<span class="p">)</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span> |
3750 |
+ <span class="n">overwrite_config</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></span> <span class="o">=</span> <span class="kc">False</span><span class="p">,</span> |
|
3751 |
+ <span class="n">unset_settings</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a></span><span class="p">[</span><span class="n"><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">(),</span> |
|
3752 |
+ <span class="n">export_as</span><span class="p">:</span> <span class="n"><a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a></span><span class="p">[</span><span class="s2">"json"</span><span class="p">,</span> <span class="s2">"sh"</span><span class="p">]</span> <span class="o">=</span> <span class="s2">"json"</span><span class="p">,</span> |
|
1865 | 3753 |
<span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> |
1866 | 3754 |
</code></pre></div> |
1867 | 3755 |
|
1868 | 3756 |
<div class="doc doc-contents "> |
1869 | 3757 |
|
1870 | 3758 |
<p>Derive a passphrase using the vault(1) derivation scheme.</p> |
1871 |
-<p>Using a master passphrase or a master SSH key, derive a passphrase |
|
1872 |
-for SERVICE, subject to length, character and character repetition |
|
1873 |
-constraints. The derivation is cryptographically strong, meaning |
|
1874 |
-that even if a single passphrase is compromised, guessing the master |
|
1875 |
-passphrase or a different service’s passphrase is computationally |
|
1876 |
-infeasible. The derivation is also deterministic, given the same |
|
1877 |
-inputs, thus the resulting passphrase need not be stored explicitly. |
|
1878 |
-The service name and constraints themselves also need not be kept |
|
1879 |
-secret; the latter are usually stored in a world-readable file.</p> |
|
1880 |
-<p>If operating on global settings, or importing/exporting settings, |
|
1881 |
-then SERVICE must be omitted. Otherwise it is required.</p> |
|
1882 | 3759 |
<p>This is a <a href="https://pypi.org/package/click/"><code>click</code></a>-powered command-line interface function, |
1883 |
-and not intended for programmatic use. Call with arguments |
|
1884 |
-<code>['--help']</code> to see full documentation of the interface. (See also |
|
1885 |
-<a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for controlled, programmatic |
|
1886 |
-invocation.)</p> |
|
3760 |
+and not intended for programmatic use. See the |
|
3761 |
+derivepassphrase-vault(1) manpage for full documentation of the |
|
3762 |
+interface. (See also <a class="autorefs autorefs-external" href="https://click.palletsprojects.com/en/8.1.x/api/#click.testing.CliRunner"><code>click.testing.CliRunner</code></a> for controlled, |
|
3763 |
+programmatic invocation.)</p> |
|
1887 | 3764 |
|
1888 | 3765 |
|
1889 | 3766 |
<p><span class="doc-section-title">Parameters:</span></p> |
... | ... |
@@ -2151,6 +4028,46 @@ input is supported.</p> |
2151 | 4028 |
</div> |
2152 | 4029 |
</td> |
2153 | 4030 |
</tr> |
4031 |
+ <tr class="doc-section-item"> |
|
4032 |
+ <td><code>overwrite_config</code></td> |
|
4033 |
+ <td> |
|
4034 |
+ <code><a class="autorefs autorefs-external" href="https://docs.python.org/3/library/functions.html#bool">bool</a></code> |
|
4035 |
+ </td> |
|
4036 |
+ <td> |
|
4037 |
+ <div class="doc-md-description"> |
|
4038 |
+ <p>Command-line arguments <code>--overwrite-existing</code> (True) and |
|
4039 |
+<code>--merge-existing</code> (False). Controls whether config saving |
|
4040 |
+and config importing overwrite existing configurations, or |
|
4041 |
+merge them section-wise instead.</p> |
|
4042 |
+ </div> |
|
4043 |
+ </td> |
|
4044 |
+ </tr> |
|
4045 |
+ <tr class="doc-section-item"> |
|
4046 |
+ <td><code>unset_settings</code></td> |
|
4047 |
+ <td> |
|
4048 |
+ <code><a class="autorefs autorefs-external" title="collections.abc.Sequence" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Sequence">Sequence</a>[<a class="autorefs autorefs-external" href="https://docs.python.org/3/library/stdtypes.html#str">str</a>]</code> |
|
4049 |
+ </td> |
|
4050 |
+ <td> |
|
4051 |
+ <div class="doc-md-description"> |
|
4052 |
+ <p>Command-line argument <code>--unset</code>. If given together with |
|
4053 |
+<code>--config</code>, unsets the specified settings (in addition to |
|
4054 |
+any other changes requested).</p> |
|
4055 |
+ </div> |
|
4056 |
+ </td> |
|
4057 |
+ </tr> |
|
4058 |
+ <tr class="doc-section-item"> |
|
4059 |
+ <td><code>export_as</code></td> |
|
4060 |
+ <td> |
|
4061 |
+ <code><a class="autorefs autorefs-external" title="typing.Literal" href="https://docs.python.org/3/library/typing.html#typing.Literal">Literal</a>['json', 'sh']</code> |
|
4062 |
+ </td> |
|
4063 |
+ <td> |
|
4064 |
+ <div class="doc-md-description"> |
|
4065 |
+ <p>Command-line argument <code>--export-as</code>. If given together with |
|
4066 |
+<code>--export</code>, selects the format to export the current |
|
4067 |
+configuration as: JSON (“json”, default) or POSIX sh (“sh”).</p> |
|
4068 |
+ </div> |
|
4069 |
+ </td> |
|
4070 |
+ </tr> |
|
2154 | 4071 |
</tbody> |
2155 | 4072 |
</table> |
2156 | 4073 |
|
... | ... |
@@ -2233,7 +4150,7 @@ input is supported.</p> |
2233 | 4150 |
<div class="md-copyright"> |
2234 | 4151 |
|
2235 | 4152 |
<div class="md-copyright__highlight"> |
2236 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
4153 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
2237 | 4154 |
</div> |
2238 | 4155 |
|
2239 | 4156 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1206,6 +1226,92 @@ |
1206 | 1226 |
|
1207 | 1227 |
|
1208 | 1228 |
|
1229 |
+ |
|
1230 |
+ |
|
1231 |
+ |
|
1232 |
+ |
|
1233 |
+ |
|
1234 |
+ |
|
1235 |
+ |
|
1236 |
+ |
|
1237 |
+ |
|
1238 |
+ |
|
1239 |
+ |
|
1240 |
+ |
|
1241 |
+ |
|
1242 |
+ |
|
1243 |
+ |
|
1244 |
+ |
|
1245 |
+ |
|
1246 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1247 |
+ |
|
1248 |
+ |
|
1249 |
+ |
|
1250 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1251 |
+ |
|
1252 |
+ |
|
1253 |
+ |
|
1254 |
+ <div class="md-nav__link md-nav__container"> |
|
1255 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1256 |
+ |
|
1257 |
+ |
|
1258 |
+ <span class="md-ellipsis"> |
|
1259 |
+ Design & Background |
|
1260 |
+ </span> |
|
1261 |
+ |
|
1262 |
+ |
|
1263 |
+ </a> |
|
1264 |
+ |
|
1265 |
+ |
|
1266 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1267 |
+ <span class="md-nav__icon md-icon"></span> |
|
1268 |
+ </label> |
|
1269 |
+ |
|
1270 |
+ </div> |
|
1271 |
+ |
|
1272 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1273 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1274 |
+ <span class="md-nav__icon md-icon"></span> |
|
1275 |
+ Design & Background |
|
1276 |
+ </label> |
|
1277 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1278 |
+ |
|
1279 |
+ |
|
1280 |
+ |
|
1281 |
+ |
|
1282 |
+ |
|
1283 |
+ |
|
1284 |
+ |
|
1285 |
+ |
|
1286 |
+ |
|
1287 |
+ <li class="md-nav__item"> |
|
1288 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1289 |
+ |
|
1290 |
+ |
|
1291 |
+ <span class="md-ellipsis"> |
|
1292 |
+ "altered versions" license requirement |
|
1293 |
+ </span> |
|
1294 |
+ |
|
1295 |
+ |
|
1296 |
+ </a> |
|
1297 |
+ </li> |
|
1298 |
+ |
|
1299 |
+ |
|
1300 |
+ |
|
1301 |
+ |
|
1302 |
+ </ul> |
|
1303 |
+ </nav> |
|
1304 |
+ |
|
1305 |
+ </li> |
|
1306 |
+ |
|
1307 |
+ |
|
1308 |
+ |
|
1309 |
+ |
|
1310 |
+ |
|
1311 |
+ |
|
1312 |
+ |
|
1313 |
+ |
|
1314 |
+ |
|
1209 | 1315 |
<li class="md-nav__item"> |
1210 | 1316 |
<a href="../../changelog/" class="md-nav__link"> |
1211 | 1317 |
|
... | ... |
@@ -3593,7 +3699,7 @@ configuration formats.</p> |
3593 | 3699 |
<div class="md-copyright"> |
3594 | 3700 |
|
3595 | 3701 |
<div class="md-copyright__highlight"> |
3596 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
3702 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
3597 | 3703 |
</div> |
3598 | 3704 |
|
3599 | 3705 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1002,6 +1022,92 @@ |
1002 | 1022 |
|
1003 | 1023 |
|
1004 | 1024 |
|
1025 |
+ |
|
1026 |
+ |
|
1027 |
+ |
|
1028 |
+ |
|
1029 |
+ |
|
1030 |
+ |
|
1031 |
+ |
|
1032 |
+ |
|
1033 |
+ |
|
1034 |
+ |
|
1035 |
+ |
|
1036 |
+ |
|
1037 |
+ |
|
1038 |
+ |
|
1039 |
+ |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ <div class="md-nav__link md-nav__container"> |
|
1051 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1052 |
+ |
|
1053 |
+ |
|
1054 |
+ <span class="md-ellipsis"> |
|
1055 |
+ Design & Background |
|
1056 |
+ </span> |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ </a> |
|
1060 |
+ |
|
1061 |
+ |
|
1062 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1063 |
+ <span class="md-nav__icon md-icon"></span> |
|
1064 |
+ </label> |
|
1065 |
+ |
|
1066 |
+ </div> |
|
1067 |
+ |
|
1068 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1069 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1070 |
+ <span class="md-nav__icon md-icon"></span> |
|
1071 |
+ Design & Background |
|
1072 |
+ </label> |
|
1073 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1074 |
+ |
|
1075 |
+ |
|
1076 |
+ |
|
1077 |
+ |
|
1078 |
+ |
|
1079 |
+ |
|
1080 |
+ |
|
1081 |
+ |
|
1082 |
+ |
|
1083 |
+ <li class="md-nav__item"> |
|
1084 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ <span class="md-ellipsis"> |
|
1088 |
+ "altered versions" license requirement |
|
1089 |
+ </span> |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ </a> |
|
1093 |
+ </li> |
|
1094 |
+ |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ |
|
1098 |
+ </ul> |
|
1099 |
+ </nav> |
|
1100 |
+ |
|
1101 |
+ </li> |
|
1102 |
+ |
|
1103 |
+ |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ |
|
1107 |
+ |
|
1108 |
+ |
|
1109 |
+ |
|
1110 |
+ |
|
1005 | 1111 |
<li class="md-nav__item"> |
1006 | 1112 |
<a href="../../changelog/" class="md-nav__link"> |
1007 | 1113 |
|
... | ... |
@@ -1563,7 +1669,7 @@ a different base).</p> |
1563 | 1669 |
<div class="md-copyright"> |
1564 | 1670 |
|
1565 | 1671 |
<div class="md-copyright__highlight"> |
1566 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1672 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1567 | 1673 |
</div> |
1568 | 1674 |
|
1569 | 1675 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1110,6 +1130,92 @@ |
1110 | 1130 |
|
1111 | 1131 |
|
1112 | 1132 |
|
1133 |
+ |
|
1134 |
+ |
|
1135 |
+ |
|
1136 |
+ |
|
1137 |
+ |
|
1138 |
+ |
|
1139 |
+ |
|
1140 |
+ |
|
1141 |
+ |
|
1142 |
+ |
|
1143 |
+ |
|
1144 |
+ |
|
1145 |
+ |
|
1146 |
+ |
|
1147 |
+ |
|
1148 |
+ |
|
1149 |
+ |
|
1150 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1151 |
+ |
|
1152 |
+ |
|
1153 |
+ |
|
1154 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1155 |
+ |
|
1156 |
+ |
|
1157 |
+ |
|
1158 |
+ <div class="md-nav__link md-nav__container"> |
|
1159 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1160 |
+ |
|
1161 |
+ |
|
1162 |
+ <span class="md-ellipsis"> |
|
1163 |
+ Design & Background |
|
1164 |
+ </span> |
|
1165 |
+ |
|
1166 |
+ |
|
1167 |
+ </a> |
|
1168 |
+ |
|
1169 |
+ |
|
1170 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1171 |
+ <span class="md-nav__icon md-icon"></span> |
|
1172 |
+ </label> |
|
1173 |
+ |
|
1174 |
+ </div> |
|
1175 |
+ |
|
1176 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1177 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1178 |
+ <span class="md-nav__icon md-icon"></span> |
|
1179 |
+ Design & Background |
|
1180 |
+ </label> |
|
1181 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1182 |
+ |
|
1183 |
+ |
|
1184 |
+ |
|
1185 |
+ |
|
1186 |
+ |
|
1187 |
+ |
|
1188 |
+ |
|
1189 |
+ |
|
1190 |
+ |
|
1191 |
+ <li class="md-nav__item"> |
|
1192 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1193 |
+ |
|
1194 |
+ |
|
1195 |
+ <span class="md-ellipsis"> |
|
1196 |
+ "altered versions" license requirement |
|
1197 |
+ </span> |
|
1198 |
+ |
|
1199 |
+ |
|
1200 |
+ </a> |
|
1201 |
+ </li> |
|
1202 |
+ |
|
1203 |
+ |
|
1204 |
+ |
|
1205 |
+ |
|
1206 |
+ </ul> |
|
1207 |
+ </nav> |
|
1208 |
+ |
|
1209 |
+ </li> |
|
1210 |
+ |
|
1211 |
+ |
|
1212 |
+ |
|
1213 |
+ |
|
1214 |
+ |
|
1215 |
+ |
|
1216 |
+ |
|
1217 |
+ |
|
1218 |
+ |
|
1113 | 1219 |
<li class="md-nav__item"> |
1114 | 1220 |
<a href="../../changelog/" class="md-nav__link"> |
1115 | 1221 |
|
... | ... |
@@ -3034,7 +3140,7 @@ it doesn’t support extension autodiscovery.</p> |
3034 | 3140 |
<div class="md-copyright"> |
3035 | 3141 |
|
3036 | 3142 |
<div class="md-copyright__highlight"> |
3037 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
3143 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
3038 | 3144 |
</div> |
3039 | 3145 |
|
3040 | 3146 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1020,6 +1040,92 @@ |
1020 | 1040 |
|
1021 | 1041 |
|
1022 | 1042 |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ |
|
1046 |
+ |
|
1047 |
+ |
|
1048 |
+ |
|
1049 |
+ |
|
1050 |
+ |
|
1051 |
+ |
|
1052 |
+ |
|
1053 |
+ |
|
1054 |
+ |
|
1055 |
+ |
|
1056 |
+ |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1061 |
+ |
|
1062 |
+ |
|
1063 |
+ |
|
1064 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1065 |
+ |
|
1066 |
+ |
|
1067 |
+ |
|
1068 |
+ <div class="md-nav__link md-nav__container"> |
|
1069 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1070 |
+ |
|
1071 |
+ |
|
1072 |
+ <span class="md-ellipsis"> |
|
1073 |
+ Design & Background |
|
1074 |
+ </span> |
|
1075 |
+ |
|
1076 |
+ |
|
1077 |
+ </a> |
|
1078 |
+ |
|
1079 |
+ |
|
1080 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1081 |
+ <span class="md-nav__icon md-icon"></span> |
|
1082 |
+ </label> |
|
1083 |
+ |
|
1084 |
+ </div> |
|
1085 |
+ |
|
1086 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1087 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1088 |
+ <span class="md-nav__icon md-icon"></span> |
|
1089 |
+ Design & Background |
|
1090 |
+ </label> |
|
1091 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1092 |
+ |
|
1093 |
+ |
|
1094 |
+ |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ |
|
1098 |
+ |
|
1099 |
+ |
|
1100 |
+ |
|
1101 |
+ <li class="md-nav__item"> |
|
1102 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1103 |
+ |
|
1104 |
+ |
|
1105 |
+ <span class="md-ellipsis"> |
|
1106 |
+ "altered versions" license requirement |
|
1107 |
+ </span> |
|
1108 |
+ |
|
1109 |
+ |
|
1110 |
+ </a> |
|
1111 |
+ </li> |
|
1112 |
+ |
|
1113 |
+ |
|
1114 |
+ |
|
1115 |
+ |
|
1116 |
+ </ul> |
|
1117 |
+ </nav> |
|
1118 |
+ |
|
1119 |
+ </li> |
|
1120 |
+ |
|
1121 |
+ |
|
1122 |
+ |
|
1123 |
+ |
|
1124 |
+ |
|
1125 |
+ |
|
1126 |
+ |
|
1127 |
+ |
|
1128 |
+ |
|
1023 | 1129 |
<li class="md-nav__item"> |
1024 | 1130 |
<a href="../../changelog/" class="md-nav__link"> |
1025 | 1131 |
|
... | ... |
@@ -2122,7 +2228,7 @@ deterministic.</p> |
2122 | 2228 |
<div class="md-copyright"> |
2123 | 2229 |
|
2124 | 2230 |
<div class="md-copyright__highlight"> |
2125 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
2231 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
2126 | 2232 |
</div> |
2127 | 2233 |
|
2128 | 2234 |
|
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -916,6 +936,92 @@ |
916 | 936 |
|
917 | 937 |
|
918 | 938 |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ |
|
942 |
+ |
|
943 |
+ |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ |
|
947 |
+ |
|
948 |
+ |
|
949 |
+ |
|
950 |
+ |
|
951 |
+ |
|
952 |
+ |
|
953 |
+ |
|
954 |
+ |
|
955 |
+ |
|
956 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
957 |
+ |
|
958 |
+ |
|
959 |
+ |
|
960 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
961 |
+ |
|
962 |
+ |
|
963 |
+ |
|
964 |
+ <div class="md-nav__link md-nav__container"> |
|
965 |
+ <a href="../explanation/" class="md-nav__link "> |
|
966 |
+ |
|
967 |
+ |
|
968 |
+ <span class="md-ellipsis"> |
|
969 |
+ Design & Background |
|
970 |
+ </span> |
|
971 |
+ |
|
972 |
+ |
|
973 |
+ </a> |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
977 |
+ <span class="md-nav__icon md-icon"></span> |
|
978 |
+ </label> |
|
979 |
+ |
|
980 |
+ </div> |
|
981 |
+ |
|
982 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
983 |
+ <label class="md-nav__title" for="__nav_5"> |
|
984 |
+ <span class="md-nav__icon md-icon"></span> |
|
985 |
+ Design & Background |
|
986 |
+ </label> |
|
987 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
988 |
+ |
|
989 |
+ |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ |
|
993 |
+ |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ <li class="md-nav__item"> |
|
998 |
+ <a href="../explanation/faq-altered-versions/" class="md-nav__link"> |
|
999 |
+ |
|
1000 |
+ |
|
1001 |
+ <span class="md-ellipsis"> |
|
1002 |
+ "altered versions" license requirement |
|
1003 |
+ </span> |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ </a> |
|
1007 |
+ </li> |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
1011 |
+ |
|
1012 |
+ </ul> |
|
1013 |
+ </nav> |
|
1014 |
+ |
|
1015 |
+ </li> |
|
1016 |
+ |
|
1017 |
+ |
|
1018 |
+ |
|
1019 |
+ |
|
1020 |
+ |
|
1021 |
+ |
|
1022 |
+ |
|
1023 |
+ |
|
1024 |
+ |
|
919 | 1025 |
<li class="md-nav__item"> |
920 | 1026 |
<a href="../changelog/" class="md-nav__link"> |
921 | 1027 |
|
... | ... |
@@ -1012,9 +1118,9 @@ |
1012 | 1118 |
<h2 id="man-pages">Man pages<a class="headerlink" href="#man-pages" title="Permanent link">¶</a></h2> |
1013 | 1119 |
<ul> |
1014 | 1120 |
<li><a href="derivepassphrase.1/"><code>derivepassphrase(1)</code></a>: Derive a strong passphrase, deterministically, from a master secret.<ul> |
1015 |
-<li><a href="derivepassphrase.1/"><code>derivepassphrase-vault(1)</code></a>: Derive a passphrase using the vault(1) derivation scheme.</li> |
|
1121 |
+<li><a href="derivepassphrase-vault.1/"><code>derivepassphrase-vault(1)</code></a>: Derive a passphrase using the vault(1) derivation scheme.</li> |
|
1016 | 1122 |
<li><a href="derivepassphrase-export.1/"><code>derivepassphrase-export(1)</code></a>: Export a foreign configuration to standard output.<ul> |
1017 |
-<li><a href="derivepassphrase-export.1/"><code>derivepassphrase-export-vault(1)</code></a>: Export a vault-native configuration to standard output.</li> |
|
1123 |
+<li><a href="derivepassphrase-export-vault.1/"><code>derivepassphrase-export-vault(1)</code></a>: Export a vault-native configuration to standard output.</li> |
|
1018 | 1124 |
</ul> |
1019 | 1125 |
</li> |
1020 | 1126 |
</ul> |
... | ... |
@@ -1111,7 +1217,7 @@ |
1111 | 1217 |
<div class="md-copyright"> |
1112 | 1218 |
|
1113 | 1219 |
<div class="md-copyright__highlight"> |
1114 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1220 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1115 | 1221 |
</div> |
1116 | 1222 |
|
1117 | 1223 |
|
... | ... |
@@ -0,0 +1,957 @@ |
1 |
+.Dd 2025-01-07 |
|
2 |
+.Dt DERIVEPASSPHRASE-VAULT 1 |
|
3 |
+.Os derivepassphrase 0.4.0 |
|
4 |
+. |
|
5 |
+.Sh NAME |
|
6 |
+. |
|
7 |
+.Nm derivepassphrase-vault |
|
8 |
+.Nd derive a passphrase using the vault derivation scheme |
|
9 |
+. |
|
10 |
+.Sh SYNOPSIS |
|
11 |
+. |
|
12 |
+.Bd -ragged |
|
13 |
+.Nm derivepassphrase vault |
|
14 |
+.Op Fl \-phrase | Fl \-key |
|
15 |
+.Op Fl \-length Ar n |
|
16 |
+.Op Fl \-repeat Ar n |
|
17 |
+.Op Fl \-lower Ar n |
|
18 |
+.Op Fl \-upper Ar n |
|
19 |
+.Op Fl \-number Ar n |
|
20 |
+.Op Fl \-space Ar n |
|
21 |
+.Op Fl \-dash Ar n |
|
22 |
+.Op Fl \-symbol Ar n |
|
23 |
+.Ar SERVICE |
|
24 |
+. |
|
25 |
+.Nm derivepassphrase vault |
|
26 |
+.Brq Fl \-phrase | \-key | No .\|.\|. | Fl \-symbol Ar n |
|
27 |
+.No .\|.\|. |
|
28 |
+.Fl \-config |
|
29 |
+.Op Fl \-unset Ar setting No .\|.\|. |
|
30 |
+.Op Fl \-overwrite\-existing | Fl \-merge\-existing |
|
31 |
+.Op Ar SERVICE |
|
32 |
+. |
|
33 |
+.Nm derivepassphrase vault |
|
34 |
+.Bro |
|
35 |
+.Fl \-notes |
|
36 |
+.Ar SERVICE |
|
37 |
+| |
|
38 |
+.Fl \-delete |
|
39 |
+.Ar SERVICE |
|
40 |
+| |
|
41 |
+.Fl \-delete\-globals |
|
42 |
+| |
|
43 |
+.Fl \-clear |
|
44 |
+.Brc |
|
45 |
+. |
|
46 |
+.Nm derivepassphrase vault |
|
47 |
+.Op Fl \-export\-as Brq Li json | sh |
|
48 |
+.Brq Fl \-import Ar PATH | Fl \-export Ar PATH |
|
49 |
+.Ed |
|
50 |
+. |
|
51 |
+.Sh DESCRIPTION |
|
52 |
+. |
|
53 |
+Using a master passphrase, derive a passphrase for |
|
54 |
+.Ar SERVICE , |
|
55 |
+subject to length, character and character repetition constraints, in a |
|
56 |
+manner compatible with James Coglan's |
|
57 |
+.Xr vault 1 . |
|
58 |
+.Pp |
|
59 |
+. |
|
60 |
+The derivation is |
|
61 |
+.Em strong : |
|
62 |
+derived passphrases have as much entropy as permitted by the master |
|
63 |
+passphrase and the passphrase constraints (whichever is more restrictive), |
|
64 |
+and even if multiple derived passphrases are compromised, the master |
|
65 |
+passphrase remains cryptographically difficult to discern from theses |
|
66 |
+compromised passphrases. |
|
67 |
+The derivation is also |
|
68 |
+.Em deterministic , |
|
69 |
+given the same inputs, thus the resulting passphrase need not be stored |
|
70 |
+explicitly. |
|
71 |
+.Pp |
|
72 |
+. |
|
73 |
+The service name and constraints themselves also need not be kept secret; |
|
74 |
+the latter are usually stored in a world-readable file to ease repeated |
|
75 |
+entry of passphrase constraints. |
|
76 |
+.Pp |
|
77 |
+. |
|
78 |
+In lieu of a master passphrase, a master |
|
79 |
+.Tn SSH |
|
80 |
+key can also be used if there is a reachable, running |
|
81 |
+.Tn SSH |
|
82 |
+agent currently holding this key and if the key type is supported. |
|
83 |
+(See |
|
84 |
+.Sx "SSH KEY SUITABILITY" |
|
85 |
+and |
|
86 |
+.Sx BUGS |
|
87 |
+below.) |
|
88 |
+This too is compatible with |
|
89 |
+.Xr vault 1 . |
|
90 |
+. |
|
91 |
+.Sh OPTIONS |
|
92 |
+. |
|
93 |
+.Ss Passphrase generation |
|
94 |
+. |
|
95 |
+The passphrase generation options can be divided into |
|
96 |
+.Dq passphrase source |
|
97 |
+options |
|
98 |
+.Fl ( \-phrase , \-key ) |
|
99 |
+and |
|
100 |
+.Dq passphrase constraint |
|
101 |
+options (all others). |
|
102 |
+The passphrase source options are mutually exclusive \(em you may only |
|
103 |
+specify one of them \(em while the passphrase constraint options may be |
|
104 |
+combined in any way. |
|
105 |
+The |
|
106 |
+.Ar SERVICE |
|
107 |
+is mandatory (see synopsis\~#1), unless the |
|
108 |
+.Fl \-config |
|
109 |
+option is specified (see synopsis\~#2). |
|
110 |
+All character constraints refer to ASCII printable characters only (space |
|
111 |
+.Pq Li U+0020 |
|
112 |
+to tilde |
|
113 |
+.Pq Li U+007E , |
|
114 |
+excluding the grave accent |
|
115 |
+.Pq Li U+0060 ) . |
|
116 |
+. |
|
117 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
118 |
+. |
|
119 |
+.It Fl p , \-phrase |
|
120 |
+Prompt for a passphrase. |
|
121 |
+.Pp |
|
122 |
+. |
|
123 |
+See also |
|
124 |
+.Sx Configuration |
|
125 |
+for how this interacts with a stored passphrase or |
|
126 |
+.Tn SSH |
|
127 |
+key. |
|
128 |
+. |
|
129 |
+.It Fl k , \-key |
|
130 |
+Select an SSH key. |
|
131 |
+.Pp |
|
132 |
+. |
|
133 |
+An SSH agent such as OpenSSH's |
|
134 |
+.Xr ssh-agent 1 |
|
135 |
+or PuTTY's |
|
136 |
+.Xr pageant 1 |
|
137 |
+must be running and accessible, and have the desired key loaded. |
|
138 |
+The SSH key must also be |
|
139 |
+.Em suitable |
|
140 |
+for this purpose; see |
|
141 |
+.Sx SSH key suitability |
|
142 |
+for details. |
|
143 |
+.Pp |
|
144 |
+. |
|
145 |
+See also |
|
146 |
+.Sx Configuration |
|
147 |
+for how this interacts with a stored passphrase or |
|
148 |
+.Tn SSH |
|
149 |
+key. |
|
150 |
+. |
|
151 |
+.It Fl l Ar n , Fl \-length Ar n |
|
152 |
+Force the passphrase to have the length |
|
153 |
+.Ar n . |
|
154 |
+Defaults to the length |
|
155 |
+.Sy 20 |
|
156 |
+if not specified, or if explicitly specified as |
|
157 |
+.Li 0 . |
|
158 |
+. |
|
159 |
+.It Fl r Ar n , Fl \-repeat Ar n |
|
160 |
+Permit only runs of up to |
|
161 |
+.Ar n |
|
162 |
+consecutive occurrences of the same character. |
|
163 |
+Alternatively, forbid immediate additional repetitions of length |
|
164 |
+.Ar n |
|
165 |
+(or more) for any character in the derived passphrase. |
|
166 |
+Setting |
|
167 |
+.Ar n No = Li 0 |
|
168 |
+disables repetition constraints, which is the default. |
|
169 |
+. |
|
170 |
+.It Fl \-lower Ar n |
|
171 |
+Include at least |
|
172 |
+.Ar n |
|
173 |
+lowercase characters in the derived passphrase. |
|
174 |
+Setting |
|
175 |
+.Ar n No = Li 0 |
|
176 |
+forbids these characters entirely. |
|
177 |
+The default is to not constain the occurrences in any manner. |
|
178 |
+. |
|
179 |
+.It Fl \-upper Ar n |
|
180 |
+Include at least |
|
181 |
+.Ar n |
|
182 |
+uppercase characters in the derived passphrase. |
|
183 |
+Setting |
|
184 |
+.Ar n No = Li 0 |
|
185 |
+forbids these characters entirely. |
|
186 |
+The default is to not constain the occurrences in any manner. |
|
187 |
+. |
|
188 |
+.It Fl \-number Ar n |
|
189 |
+Include at least |
|
190 |
+.Ar n |
|
191 |
+digits in the derived passphrase. |
|
192 |
+Setting |
|
193 |
+.Ar n No = Li 0 |
|
194 |
+forbids these characters entirely. |
|
195 |
+The default is to not constain the occurrences in any manner. |
|
196 |
+. |
|
197 |
+.It Fl \-space Ar n |
|
198 |
+Include at least |
|
199 |
+.Ar n |
|
200 |
+spaces in the derived passphrase. |
|
201 |
+Setting |
|
202 |
+.Ar n No = Li 0 |
|
203 |
+forbids these characters entirely. |
|
204 |
+The default is to not constain the occurrences in any manner. |
|
205 |
+. |
|
206 |
+.It Fl \-dash Ar n |
|
207 |
+Include at least |
|
208 |
+.Ar n |
|
209 |
+.Dq dashes |
|
210 |
+.Li ( \- |
|
211 |
+or |
|
212 |
+.Li _ ) |
|
213 |
+in the derived passphrase. |
|
214 |
+Setting |
|
215 |
+.Ar n No = Li 0 |
|
216 |
+forbids these characters entirely. |
|
217 |
+The default is to not constain the occurrences in any manner. |
|
218 |
+. |
|
219 |
+.It Fl \-symbol Ar n |
|
220 |
+Include at least |
|
221 |
+.Ar n |
|
222 |
+symbols (any of |
|
223 |
+.Li !\[dq]#$%&\[aq]()*+,./:;<=>?@[\e]\(ha{|}\(ti\-_ ) |
|
224 |
+in the derived passphrase. |
|
225 |
+Setting |
|
226 |
+.Ar n No = Li 0 |
|
227 |
+forbids these characters entirely, and effectively also implies |
|
228 |
+.Fl \-dash Li 0 . |
|
229 |
+The default is to not constain the occurrences in any manner. |
|
230 |
+. |
|
231 |
+.El |
|
232 |
+. |
|
233 |
+.Ss Configuration |
|
234 |
+. |
|
235 |
+The configuration options directly modify the stored settings: default |
|
236 |
+settings, known services, and service-specific settings. |
|
237 |
+They are mutually exclusive; you may only specify one of them. |
|
238 |
+The |
|
239 |
+.Ar SERVICE |
|
240 |
+is mandatory for |
|
241 |
+.Fl \-notes |
|
242 |
+and |
|
243 |
+.Fl \-delete , |
|
244 |
+optional for |
|
245 |
+.Fl \-config , |
|
246 |
+and forbidden for |
|
247 |
+.Fl \-delete\-globals |
|
248 |
+and |
|
249 |
+.Fl \-clear |
|
250 |
+(see synopsis\~#2 and synopsis\~#3). |
|
251 |
+. |
|
252 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
253 |
+. |
|
254 |
+.It Fl n , \-notes |
|
255 |
+Spawn an editor to edit notes for |
|
256 |
+.Ar SERVICE . |
|
257 |
+Use the |
|
258 |
+.Ev VISUAL |
|
259 |
+or |
|
260 |
+.Ev EDITOR |
|
261 |
+environment variables to configure the spawned editor. |
|
262 |
+. |
|
263 |
+.It Fl c , \-config |
|
264 |
+Save the given settings for |
|
265 |
+.Ar SERVICE |
|
266 |
+(if given), or save the given settings as global default settings. |
|
267 |
+.Pp |
|
268 |
+. |
|
269 |
+See the |
|
270 |
+.Sx Passphrase generation |
|
271 |
+and |
|
272 |
+.Sx Compatibility and extension options |
|
273 |
+sections for other options compatible with |
|
274 |
+.Fl \-config . |
|
275 |
+.Pp |
|
276 |
+. |
|
277 |
+.Bf -symbolic |
|
278 |
+Do not use the |
|
279 |
+.Fl \-phrase |
|
280 |
+and |
|
281 |
+.Fl \-config |
|
282 |
+options together! |
|
283 |
+The configuration file is assumed to not contain sensitive contents, and is |
|
284 |
+not encrypted. |
|
285 |
+.Ef |
|
286 |
+. |
|
287 |
+.It Fl x , \-delete |
|
288 |
+Delete all stored settings for |
|
289 |
+.Ar SERVICE . |
|
290 |
+. |
|
291 |
+.It Fl \-delete\-globals |
|
292 |
+Delete all stored global default settings. |
|
293 |
+. |
|
294 |
+.It Fl X , \-clear |
|
295 |
+Delete all stored settings. |
|
296 |
+. |
|
297 |
+.El |
|
298 |
+. |
|
299 |
+.Ss Storage management |
|
300 |
+. |
|
301 |
+The storage management options deal with importing and exporting the stored |
|
302 |
+settings. |
|
303 |
+They are mutually exclusive; you may only specify one of them. |
|
304 |
+Using |
|
305 |
+.Li \- |
|
306 |
+as |
|
307 |
+.Ar PATH |
|
308 |
+for standard input/standard output is supported. |
|
309 |
+. |
|
310 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
311 |
+. |
|
312 |
+.It Fl e Ar PATH , Fl \-export Ar PATH |
|
313 |
+Export all saved settings into file |
|
314 |
+.Ar PATH . |
|
315 |
+. |
|
316 |
+.It Fl i Ar PATH , Fl \-import Ar PATH |
|
317 |
+Import saved settings from file |
|
318 |
+.Ar PATH . |
|
319 |
+. |
|
320 |
+.El |
|
321 |
+. |
|
322 |
+.Ss Compatibility and extension options |
|
323 |
+. |
|
324 |
+By default, |
|
325 |
+.Nm derivepassphrase vault |
|
326 |
+behaves in a manner compatible with |
|
327 |
+.Xr vault 1 . |
|
328 |
+The compatibility and extension options modify the behavior to enable |
|
329 |
+additional functionality, or specifically to force compatibility. |
|
330 |
+.Pp |
|
331 |
+. |
|
332 |
+.Xr vault 1 |
|
333 |
+supports none of these options, and behaves as if the option had not been |
|
334 |
+given or had been left in its default state. |
|
335 |
+. |
|
336 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
337 |
+. |
|
338 |
+.It Fl \-overwrite\-existing No "" / "" Fl \-merge\-existing |
|
339 |
+When importing a configuration via |
|
340 |
+.Fl \-import , |
|
341 |
+or configuring the settings via |
|
342 |
+.Fl \-config , |
|
343 |
+overwrite or merge |
|
344 |
+.Em ( default ) |
|
345 |
+the existing configuration. |
|
346 |
+.Pp |
|
347 |
+. |
|
348 |
+If overwriting the configuration, then the whole configuration |
|
349 |
+.Pq for Fl \-import |
|
350 |
+or the respective section |
|
351 |
+.Pq service-specific or global, for Fl \-config , |
|
352 |
+will be written from scratch. |
|
353 |
+If merging, then each section |
|
354 |
+.Pq service-specific or global, for Fl \-import |
|
355 |
+or each singular setting |
|
356 |
+.Pq for Fl \-config |
|
357 |
+will be overwritten, but other unaffected settings/sections will not. |
|
358 |
+.Pp |
|
359 |
+. |
|
360 |
+.Xr ( vault 1 |
|
361 |
+behaves as if |
|
362 |
+.Fl \-merge\-existing |
|
363 |
+were always given.) |
|
364 |
+. |
|
365 |
+.It Fl \-unset Ar setting |
|
366 |
+When configuring via |
|
367 |
+.Fl \-config , |
|
368 |
+also unset the specified |
|
369 |
+.Ar setting , |
|
370 |
+where |
|
371 |
+.Ar setting |
|
372 |
+is one of the passphrase generation settings |
|
373 |
+.Pq Li phrase , key , lower , No .\|.\|. . |
|
374 |
+May be specified multiple times. |
|
375 |
+Must not overlap with any of the settings being set afterwards. |
|
376 |
+.Pp |
|
377 |
+. |
|
378 |
+.Xr ( vault 1 |
|
379 |
+does not support this option.) |
|
380 |
+. |
|
381 |
+.It Fl \-export\-as Brq Li json | sh |
|
382 |
+When exporting the configuration via |
|
383 |
+.Fl \-export , |
|
384 |
+export as |
|
385 |
+.Tn JSON |
|
386 |
+(default) or as a shell script in |
|
387 |
+.Xr sh 1 |
|
388 |
+format. |
|
389 |
+.Pp |
|
390 |
+. |
|
391 |
+The |
|
392 |
+.Tn JSON |
|
393 |
+format is compatible with |
|
394 |
+.Xr vault 1 . |
|
395 |
+For the shell script format, see the |
|
396 |
+.Sx SHELL SCRIPT EXPORT FORMAT |
|
397 |
+section for details. |
|
398 |
+.Pp |
|
399 |
+. |
|
400 |
+.Xr ( vault 1 |
|
401 |
+behaves as if |
|
402 |
+.Fl \-export\-as Li json |
|
403 |
+were always given.) |
|
404 |
+. |
|
405 |
+.El |
|
406 |
+. |
|
407 |
+.Ss Other options |
|
408 |
+. |
|
409 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
410 |
+. |
|
411 |
+.It Fl \-version |
|
412 |
+Show the version and exit. |
|
413 |
+. |
|
414 |
+.It Fl h , \-help |
|
415 |
+Show a help message and exit. |
|
416 |
+. |
|
417 |
+.El |
|
418 |
+. |
|
419 |
+.Sh SHELL SCRIPT EXPORT FORMAT |
|
420 |
+. |
|
421 |
+If the shell script export format is selected, the configuration will be |
|
422 |
+exported as a |
|
423 |
+.Tn POSIX |
|
424 |
+.Xr sh 1 |
|
425 |
+script, containing calls to |
|
426 |
+.Nm derivepassphrase vault |
|
427 |
+to reconstruct the current configuration from scratch. |
|
428 |
+The script assumes a conforming |
|
429 |
+.Xr sh 1 , |
|
430 |
+with support for |
|
431 |
+.Dq here |
|
432 |
+documents. |
|
433 |
+.Pp |
|
434 |
+. |
|
435 |
+.Bf -symbolic |
|
436 |
+Do not run these emitted shell scripts directly without double-checking |
|
437 |
+their output first! |
|
438 |
+.Ef |
|
439 |
+. |
|
440 |
+.Sh SSH KEY SUITABILITY |
|
441 |
+. |
|
442 |
+An |
|
443 |
+.Tn SSH |
|
444 |
+key is |
|
445 |
+.Sy suitable |
|
446 |
+for use with |
|
447 |
+.Nm derivepassphrase vault |
|
448 |
+if the |
|
449 |
+.Tn SSH |
|
450 |
+agent guarantees that signatures produced with this key will be |
|
451 |
+.Em deterministic , |
|
452 |
+given the same message to be signed. |
|
453 |
+This is a property specific to the key |
|
454 |
+.Em type , |
|
455 |
+and sometimes the agent used: |
|
456 |
+. |
|
457 |
+.Bl -bullet |
|
458 |
+. |
|
459 |
+.It |
|
460 |
+.Tn RSA , |
|
461 |
+Ed25519 and Ed448 keys are always suitable. |
|
462 |
+.Tn OpenSSH Ns No 's |
|
463 |
+.Xr ssh-agent 1 |
|
464 |
+supports only these keys as suitable keys. |
|
465 |
+. |
|
466 |
+.It |
|
467 |
+.Tn DSA |
|
468 |
+and |
|
469 |
+.Tn ECDSA |
|
470 |
+keys are suitable if the |
|
471 |
+.Tn SSH |
|
472 |
+agent supports deterministic |
|
473 |
+.Tn DSA |
|
474 |
+signatures, e.g. by implementing |
|
475 |
+.Tn RFC 6979 . |
|
476 |
+.Tn PuTTY Ns No 's |
|
477 |
+.Xr pageant 1 |
|
478 |
+supports this, in addition to the always-suitable keys mentioned above. |
|
479 |
+. |
|
480 |
+.El |
|
481 |
+. |
|
482 |
+.Sh ENVIRONMENT |
|
483 |
+. |
|
484 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
485 |
+. |
|
486 |
+.It Ev VISUAL , EDITOR |
|
487 |
+.Nm derivepassphrase vault |
|
488 |
+uses this editor to edit service notes when called with |
|
489 |
+.Fl \-notes . |
|
490 |
+.Ev VISUAL |
|
491 |
+has higher precedence than |
|
492 |
+.Ev EDITOR . |
|
493 |
+. |
|
494 |
+.It Ev DERIVEPASSPHRASE_PATH |
|
495 |
+.Nm derivepassphrase |
|
496 |
+stores its configuration files and data in this directory. |
|
497 |
+Defaults to |
|
498 |
+.Pa \(ti/.derivepassphrase . |
|
499 |
+. |
|
500 |
+.El |
|
501 |
+. |
|
502 |
+.Sh FILES |
|
503 |
+. |
|
504 |
+.Bl -tag -width ".Fl p , \-phrase" |
|
505 |
+. |
|
506 |
+.It Ev $DERIVEPASSPHRASE_PATH Ns Pa /vault.json |
|
507 |
+The stored configuration for |
|
508 |
+.Nm derivepassphrase vault : |
|
509 |
+the default passphrase generation settings, the known service names, and the |
|
510 |
+service-specific settings. |
|
511 |
+This file is |
|
512 |
+.Em not |
|
513 |
+intended for the user to edit. |
|
514 |
+. |
|
515 |
+.El |
|
516 |
+. |
|
517 |
+.Sh SECURITY |
|
518 |
+. |
|
519 |
+.Bl -bullet |
|
520 |
+. |
|
521 |
+.It |
|
522 |
+There is |
|
523 |
+.Sy no way |
|
524 |
+to retrieve the generated passphrases if the master passphrase, the SSH key, |
|
525 |
+or the exact passphrase settings are lost, short of trying out all possible |
|
526 |
+combinations. |
|
527 |
+You are |
|
528 |
+.Sy strongly |
|
529 |
+advised to keep independent backups of the settings and the |
|
530 |
+.Tn SSH |
|
531 |
+key, if any. |
|
532 |
+. |
|
533 |
+.It |
|
534 |
+The configuration is |
|
535 |
+.Sy not |
|
536 |
+encrypted, and you are |
|
537 |
+.Sy strongly |
|
538 |
+discouraged from using a stored passphrase. |
|
539 |
+. |
|
540 |
+.It |
|
541 |
+You are |
|
542 |
+.Sy strongly |
|
543 |
+advised to avoid the |
|
544 |
+.Pq shell script |
|
545 |
+configuration export format if possible, and use the JSON format instead. |
|
546 |
+If you |
|
547 |
+.Em must |
|
548 |
+use the shell script format, then |
|
549 |
+.Sy always |
|
550 |
+validate the export before attempting to interpret or run it. |
|
551 |
+. |
|
552 |
+.El |
|
553 |
+. |
|
554 |
+.Sh EXAMPLES |
|
555 |
+. |
|
556 |
+.Dl $ derivepassphrase vault \-\-phrase email |
|
557 |
+.Pp |
|
558 |
+Prompt for a master passphrase, then generate a standard passphrase |
|
559 |
+.Pq length 20, no character or repetition constraints |
|
560 |
+for the |
|
561 |
+.Dq email |
|
562 |
+service. |
|
563 |
+.Pp |
|
564 |
+. |
|
565 |
+.Dl $ derivepassphrase vault \-\-key \-\-upper 9 \-\-lower 9 example.com |
|
566 |
+.Pp |
|
567 |
+. |
|
568 |
+Select an |
|
569 |
+.Tn SSH |
|
570 |
+key from the available suitable |
|
571 |
+.Tn SSH |
|
572 |
+keys in the running |
|
573 |
+.Tn SSH |
|
574 |
+agent, then generate a passphrase for the |
|
575 |
+.Li example.com |
|
576 |
+service using the previously selected |
|
577 |
+.Tn SSH |
|
578 |
+key. |
|
579 |
+The passphrase will have (standard) length 20, and at least nine characters |
|
580 |
+will be uppercase characters and at least another nine characters will be |
|
581 |
+lowercase characters. |
|
582 |
+.Pp |
|
583 |
+. |
|
584 |
+.Dl $ derivepassphrase vault \-\-key \-\-upper 9 \-\-lower 9 \-\-number 9 example.com |
|
585 |
+.Pp |
|
586 |
+. |
|
587 |
+Attempt to generate a passphrase as in the previous example. |
|
588 |
+.Em This |
|
589 |
+example will error out, because the passphrase constraints require at least |
|
590 |
+27 characters and the standard passphrase length 20 cannot accomodate this. |
|
591 |
+.Pp |
|
592 |
+. |
|
593 |
+.Dl $ derivepassphrase vault \-\-key \-\-upper 9 \-\-lower 9 \-\-space 2 \-\-config |
|
594 |
+.Pp |
|
595 |
+. |
|
596 |
+After selecting an |
|
597 |
+.Tn SSH |
|
598 |
+key, configure the default settings to use exactly nine uppercase characters, |
|
599 |
+nine lowercase characters, and two spaces for each generated passphrase. |
|
600 |
+(The specific service settings, or the command-line invocation, can still |
|
601 |
+override these settings.) |
|
602 |
+.Pp |
|
603 |
+. |
|
604 |
+.Dl $ derivepassphrase vault example.com |
|
605 |
+.Pp |
|
606 |
+. |
|
607 |
+Because of the previous setting, the generated passphrase for the |
|
608 |
+.Li example.com |
|
609 |
+service will behave as if |
|
610 |
+.Fl \-key \-upper Li 9 Fl \-lower Li 9 Fl \-space Li 2 |
|
611 |
+had been specified during invocation (with the |
|
612 |
+.Tn SSH |
|
613 |
+key already having been selected). |
|
614 |
+In particular, it is neither necessary to specify |
|
615 |
+.Fl \-phrase No or Fl \-key |
|
616 |
+nor is it necessary to actually select an |
|
617 |
+.Tn SSH |
|
618 |
+key or to type in a master passphrase. |
|
619 |
+. |
|
620 |
+.Sh DIAGNOSTICS |
|
621 |
+. |
|
622 |
+.Ex -std "derivepassphrase vault" |
|
623 |
+.Pp |
|
624 |
+. |
|
625 |
+.Ss Fatal error messages on standard error |
|
626 |
+. |
|
627 |
+.Pq Li %s Ns No " indicates a variable part of the message." |
|
628 |
+. |
|
629 |
+.Bl -diag |
|
630 |
+. |
|
631 |
+.It %s is mutually exclusive with %s. |
|
632 |
+The two indicated options must not be used at the same time. |
|
633 |
+. |
|
634 |
+.It %s requires a SERVICE or \-\-config. |
|
635 |
+Using the indicated passphrase generation option requires the |
|
636 |
+.Ar SERVICE |
|
637 |
+argument or the |
|
638 |
+.Fl \-config |
|
639 |
+option. |
|
640 |
+. |
|
641 |
+.It %s requires a SERVICE. |
|
642 |
+Using the indicated option requires the |
|
643 |
+.Ar SERVICE |
|
644 |
+argument. |
|
645 |
+. |
|
646 |
+.It %s does not take a SERVICE argument. |
|
647 |
+The indicated option must not be specified together with the |
|
648 |
+.Ar SERVICE |
|
649 |
+argument. |
|
650 |
+. |
|
651 |
+.It Cannot load vault settings: %s. |
|
652 |
+There was a fatal problem loading the stored vault configuration data. |
|
653 |
+Further details are contained in the variable part of the message. |
|
654 |
+. |
|
655 |
+.It Cannot store vault settings: %s. |
|
656 |
+There was a fatal problem saving the vault configuration data. |
|
657 |
+Further details are contained in the variable part of the message. |
|
658 |
+. |
|
659 |
+.It Cannot import vault settings: %s. |
|
660 |
+There was a fatal problem loading the imported vault configuration data. |
|
661 |
+Further details are contained in the variable part of the message. |
|
662 |
+. |
|
663 |
+.It Cannot export vault settings: %s. |
|
664 |
+There was a fatal problem saving the exported vault configuration data. |
|
665 |
+Further details are contained in the variable part of the message. |
|
666 |
+. |
|
667 |
+.It Cannot load user config: %s. |
|
668 |
+There was a fatal problem loading the central user configuration file. |
|
669 |
+Further details are contained in the variable part of the message. |
|
670 |
+. |
|
671 |
+.It The user configuration file is invalid. |
|
672 |
+(Exactly what it says.) |
|
673 |
+. |
|
674 |
+.It No usable SSH keys were found |
|
675 |
+The running SSH agent does not contain any suitable SSH keys. |
|
676 |
+. |
|
677 |
+.It No valid SSH key selected |
|
678 |
+We requested that an SSH key be selected, but we got an invalid selection. |
|
679 |
+. |
|
680 |
+.It The requested SSH key is not loaded into the agent. |
|
681 |
+The running SSH agent does not contain the necessary SSH key. |
|
682 |
+. |
|
683 |
+.It Cannot find any running SSH agent because SSH_AUTH_SOCK is not set. |
|
684 |
+We require a running SSH agent, but cannot locate its communication channel, |
|
685 |
+which is normally indicated by the |
|
686 |
+.Ev SSH_AUTH_SOCK |
|
687 |
+environment variable. |
|
688 |
+. |
|
689 |
+.It Cannot connect to an SSH agent because this Python version does not support UNIX domain sockets. |
|
690 |
+This Python installation does not support the communication mechanism |
|
691 |
+necessary to talk to SSH agents. |
|
692 |
+. |
|
693 |
+.It Cannot connect to the SSH agent: %s. |
|
694 |
+We cannot connect to the SSH agent indicated by the |
|
695 |
+.Ev SSH_AUTH_SOCK |
|
696 |
+environment variable. |
|
697 |
+Further details are contained in the variable part of the message. |
|
698 |
+. |
|
699 |
+.It The SSH agent failed to or refused to supply a list of loaded keys. |
|
700 |
+The SSH agent \(em while responsive in principle \(em did not fulfill the |
|
701 |
+request. |
|
702 |
+. |
|
703 |
+.It "The SSH agent failed to or refused to" "issue a signature with the selected key," "necessary for deriving a service passphrase." |
|
704 |
+The SSH agent \(em while responsive in principle \(em failed to cooperate with |
|
705 |
+deriving a service passphrase from the selected master |
|
706 |
+.Tn SSH |
|
707 |
+key. |
|
708 |
+. |
|
709 |
+.It The SSH agent contains no keys suitable for derivepassphrase. |
|
710 |
+. |
|
711 |
+None of the keys loaded into the |
|
712 |
+.Tn SSH |
|
713 |
+agent (if any) are suitable for use with |
|
714 |
+.Nm derivepassphrase vault . |
|
715 |
+See the |
|
716 |
+.Sx "SSH KEY SUITABILITY" |
|
717 |
+section for the requirements the |
|
718 |
+.Tn SSH |
|
719 |
+key and the |
|
720 |
+.Tn SSH |
|
721 |
+agent must fulfill to be suitable. |
|
722 |
+. |
|
723 |
+.It Error communicating with the SSH agent |
|
724 |
+There was a system error communicating with the SSH agent. |
|
725 |
+. |
|
726 |
+.It Cannot understand the SSH agent's response because it violates the communication protocol. |
|
727 |
+. |
|
728 |
+(Exactly what it says.) |
|
729 |
+. |
|
730 |
+.It Not saving any new notes: the user aborted the request. |
|
731 |
+(Exactly what it says.) |
|
732 |
+. |
|
733 |
+.It Cannot update %s settings without actual settings. |
|
734 |
+Using |
|
735 |
+.Fl \-config |
|
736 |
+requires at least one of the |
|
737 |
+.Fl \-phrase , \-key , \-length , No etc.\& |
|
738 |
+options. |
|
739 |
+. |
|
740 |
+.It Attempted to unset and set %s at the same time. |
|
741 |
+While handling |
|
742 |
+.Fl \-config , |
|
743 |
+the same configuration setting was passed as an option and as an argument to |
|
744 |
+.Fl \-unset . |
|
745 |
+. |
|
746 |
+.It Generating a passphrase requires a SERVICE. |
|
747 |
+(Exactly what it says.) |
|
748 |
+. |
|
749 |
+.It No passphrase or key was given in the configuration. |
|
750 |
+.Nm derivepassphrase vault |
|
751 |
+does not know whether to use a master SSH key or a master passphrase. |
|
752 |
+. |
|
753 |
+.It No passphrase was given: the user aborted the request. |
|
754 |
+(Exactly what it says.) |
|
755 |
+. |
|
756 |
+.It No SSH key was selected: the user aborted the request. |
|
757 |
+(Exactly what it says.) |
|
758 |
+. |
|
759 |
+.El |
|
760 |
+.Pp |
|
761 |
+. |
|
762 |
+.Ss Non-fatal warning and info messages on standard error |
|
763 |
+. |
|
764 |
+.Pq Li %s Ns No " indicates a variable part of the message." |
|
765 |
+. |
|
766 |
+.Bl -diag |
|
767 |
+. |
|
768 |
+.It The %s passphrase is not %s-normalized. |
|
769 |
+The indicated passphrase \(em as a Unicode string \(em is not properly |
|
770 |
+normalized according to the preferred Unicode normalization form |
|
771 |
+.Pq as specified in the central configuration file . |
|
772 |
+It is therefore possible that the passphrase \(em as a byte string \(em is |
|
773 |
+not the same byte string as you expect it to be |
|
774 |
+.Pq even though it Em looks No correct , |
|
775 |
+and that the derived passphrases thus do not match their expected values |
|
776 |
+either. |
|
777 |
+Please double-check. |
|
778 |
+. |
|
779 |
+.It An empty SERVICE is not supported by vault(1). |
|
780 |
+.Xr vault 1 |
|
781 |
+does not support the empty string as a value for |
|
782 |
+.Ar SERVICE ; |
|
783 |
+it will treat the |
|
784 |
+.Ar SERVICE |
|
785 |
+as missing. |
|
786 |
+For compatibility, |
|
787 |
+.Nm derivepassphrase vault |
|
788 |
+will do the same. |
|
789 |
+In particular, if the empty service is imported in a configuration via |
|
790 |
+.Fl \-import , |
|
791 |
+then this service cannot be accessed via the |
|
792 |
+.Nm derivepassphrase vault |
|
793 |
+command-line. |
|
794 |
+. |
|
795 |
+.It Replacing invalid value %s for key %s with %s. |
|
796 |
+When importing a configuration, the indicated invalid value has been |
|
797 |
+replaced with the indicated replacement value. |
|
798 |
+.Pq The Do interpretation Dc of the configuration doesn't change . |
|
799 |
+. |
|
800 |
+.It Removing ineffective setting %s = %s. |
|
801 |
+When importing a configuration, the indicated ineffective setting has been |
|
802 |
+removed. |
|
803 |
+.Pq The Do interpretation Dc of the configuration doesn't change . |
|
804 |
+. |
|
805 |
+.It "The service name %s" "contains an ASCII control character," "which is not supported" "by our shell completion code." |
|
806 |
+Because of limitations in the shell completion code, this specific service name |
|
807 |
+will not be available as a suggestion in tab completion. |
|
808 |
+.Po |
|
809 |
+This |
|
810 |
+.Em only |
|
811 |
+affects tab completion, not other functionality. |
|
812 |
+.Pc |
|
813 |
+. |
|
814 |
+.It Setting a %s passphrase is ineffective because a key is also set. |
|
815 |
+The configuration (global or key-specific) contains both a stored master |
|
816 |
+passphrase and an SSH key. |
|
817 |
+The master passphrase will not take effect. |
|
818 |
+. |
|
819 |
+.It A subcommand will be required in v1.0. |
|
820 |
+.Bo |
|
821 |
+Since v0.2.0, until v1.0. |
|
822 |
+.Bc |
|
823 |
+This command now requires a subcommand. |
|
824 |
+For compatibility, it currently defaults to |
|
825 |
+.Dq vault . |
|
826 |
+. |
|
827 |
+.It Using deprecated v0.1-style config file %s, instead of v0.2-style %s. |
|
828 |
+.Bo |
|
829 |
+Since v0.2.0, until v1.0. |
|
830 |
+.Bc |
|
831 |
+A configuration file has been renamed. |
|
832 |
+.Nm derivepassphrase vault |
|
833 |
+will attempt to rename the file itself |
|
834 |
+.Pq Qq Li Successfully migrated to %s. , |
|
835 |
+or complain if it cannot rename it |
|
836 |
+.Pq Qq Li Failed to migrate to %s: %s . |
|
837 |
+. |
|
838 |
+.El |
|
839 |
+. |
|
840 |
+.Sh COMPATIBILITY |
|
841 |
+. |
|
842 |
+.Ss With other software |
|
843 |
+. |
|
844 |
+.Nm derivepassphrase vault |
|
845 |
+is |
|
846 |
+.Em almost |
|
847 |
+drop-in compatible with James Coglan's |
|
848 |
+.Xr vault 1 , |
|
849 |
+version 0.3.0 |
|
850 |
+.Pq including Do storeroom Dc support , |
|
851 |
+meaning that each tool supports the same file formats and command-line |
|
852 |
+arguments/options as the other one. |
|
853 |
+.Pp |
|
854 |
+. |
|
855 |
+Exceptions: |
|
856 |
+. |
|
857 |
+.Bl -bullet |
|
858 |
+. |
|
859 |
+.It |
|
860 |
+.Xr vault 1 |
|
861 |
+does not support the |
|
862 |
+.Sx "Compatibility and extension options" |
|
863 |
+listed above. |
|
864 |
+. |
|
865 |
+.It |
|
866 |
+.Nm derivepassphrase vault |
|
867 |
+can import and generate configuration exports in the same format as |
|
868 |
+.Xr vault 1 , |
|
869 |
+but it cannot |
|
870 |
+.Em natively |
|
871 |
+read or write |
|
872 |
+.Xr vault 1 |
|
873 |
+.Ns 's |
|
874 |
+configuration file |
|
875 |
+.Pq non-storeroom |
|
876 |
+or configuration directory |
|
877 |
+.Pq storeroom . |
|
878 |
+(The sister command |
|
879 |
+.Xr derivepassphrase-export 1 |
|
880 |
+can read both these formats and export the contents.) |
|
881 |
+. |
|
882 |
+.El |
|
883 |
+. |
|
884 |
+.Ss Forward and backward compatibility |
|
885 |
+. |
|
886 |
+.Bl -bullet |
|
887 |
+. |
|
888 |
+.It |
|
889 |
+.Bo Since v0.2.0 . Bc |
|
890 |
+In v1.0, the commands |
|
891 |
+.Nm derivepassphrase |
|
892 |
+and |
|
893 |
+.Nm derivepassphrase export |
|
894 |
+will require an explicit subcommand name. |
|
895 |
+Both default to the subcommand |
|
896 |
+.Ic vault . |
|
897 |
+. |
|
898 |
+.It |
|
899 |
+.Bo Since v0.2.0 . Bc |
|
900 |
+In v1.0, the configuration data file for the |
|
901 |
+.Ic vault |
|
902 |
+subcommand will be named |
|
903 |
+.Pa vault.json , |
|
904 |
+instead of |
|
905 |
+.Pa config.json . |
|
906 |
+. |
|
907 |
+.It |
|
908 |
+.Bo Since v0.2.0, to be removed in v1.0 . Bc |
|
909 |
+An existing configuration data file |
|
910 |
+.Pa config.json |
|
911 |
+will be attempted to be renamed to |
|
912 |
+.Pa vault.json . |
|
913 |
+.El |
|
914 |
+. |
|
915 |
+.Sh SEE ALSO |
|
916 |
+. |
|
917 |
+.Xr derivepassphrase 1 , |
|
918 |
+.Xr pageant 1 , |
|
919 |
+.Xr ssh-agent 1 . |
|
920 |
+.Rs |
|
921 |
+.%A "James Coglan" |
|
922 |
+.%T "vault(1)" |
|
923 |
+.%U https://www.npmjs.com/package/vault |
|
924 |
+.Re |
|
925 |
+.Pp |
|
926 |
+. |
|
927 |
+Further online documentation for |
|
928 |
+.Xr derivepassphrase 1 |
|
929 |
+.Pq tutorials, how-tos, reference and design documentation |
|
930 |
+is available at |
|
931 |
+.Lk https://the13thletter.info/derivepassphrase/ . |
|
932 |
+. |
|
933 |
+.Sh AUTHOR |
|
934 |
+. |
|
935 |
+.Lk mailto:software@the13thletter.info "Marco Ricci" |
|
936 |
+. |
|
937 |
+.Sh BUGS |
|
938 |
+. |
|
939 |
+.Bl -bullet |
|
940 |
+. |
|
941 |
+.It |
|
942 |
+The defaults are dictated by |
|
943 |
+.Xr vault 1 , |
|
944 |
+necessitating the |
|
945 |
+.Sx Compatibility and extension options . |
|
946 |
+.Pq WONTFIX. |
|
947 |
+. |
|
948 |
+.It |
|
949 |
+The Windows version does not support |
|
950 |
+.Tn SSH |
|
951 |
+keys because Python on Windows does not support the predominant type of |
|
952 |
+inter-process communication used by |
|
953 |
+.Tn SSH |
|
954 |
+agents on Windows. |
|
955 |
+. |
|
956 |
+.El |
|
957 |
+. |
... | ... |
@@ -18,7 +18,7 @@ |
18 | 18 |
<link rel="prev" href="../derivepassphrase.vault/"> |
19 | 19 |
|
20 | 20 |
|
21 |
- <link rel="next" href="../../changelog/"> |
|
21 |
+ <link rel="next" href="../../explanation/"> |
|
22 | 22 |
|
23 | 23 |
|
24 | 24 |
<link rel="icon" href="../../assets/images/favicon.png"> |
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -985,6 +1005,92 @@ |
985 | 1005 |
|
986 | 1006 |
|
987 | 1007 |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
1011 |
+ |
|
1012 |
+ |
|
1013 |
+ |
|
1014 |
+ |
|
1015 |
+ |
|
1016 |
+ |
|
1017 |
+ |
|
1018 |
+ |
|
1019 |
+ |
|
1020 |
+ |
|
1021 |
+ |
|
1022 |
+ |
|
1023 |
+ |
|
1024 |
+ |
|
1025 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1026 |
+ |
|
1027 |
+ |
|
1028 |
+ |
|
1029 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1030 |
+ |
|
1031 |
+ |
|
1032 |
+ |
|
1033 |
+ <div class="md-nav__link md-nav__container"> |
|
1034 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1035 |
+ |
|
1036 |
+ |
|
1037 |
+ <span class="md-ellipsis"> |
|
1038 |
+ Design & Background |
|
1039 |
+ </span> |
|
1040 |
+ |
|
1041 |
+ |
|
1042 |
+ </a> |
|
1043 |
+ |
|
1044 |
+ |
|
1045 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1046 |
+ <span class="md-nav__icon md-icon"></span> |
|
1047 |
+ </label> |
|
1048 |
+ |
|
1049 |
+ </div> |
|
1050 |
+ |
|
1051 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1052 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1053 |
+ <span class="md-nav__icon md-icon"></span> |
|
1054 |
+ Design & Background |
|
1055 |
+ </label> |
|
1056 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1057 |
+ |
|
1058 |
+ |
|
1059 |
+ |
|
1060 |
+ |
|
1061 |
+ |
|
1062 |
+ |
|
1063 |
+ |
|
1064 |
+ |
|
1065 |
+ |
|
1066 |
+ <li class="md-nav__item"> |
|
1067 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1068 |
+ |
|
1069 |
+ |
|
1070 |
+ <span class="md-ellipsis"> |
|
1071 |
+ "altered versions" license requirement |
|
1072 |
+ </span> |
|
1073 |
+ |
|
1074 |
+ |
|
1075 |
+ </a> |
|
1076 |
+ </li> |
|
1077 |
+ |
|
1078 |
+ |
|
1079 |
+ |
|
1080 |
+ |
|
1081 |
+ </ul> |
|
1082 |
+ </nav> |
|
1083 |
+ |
|
1084 |
+ </li> |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ |
|
988 | 1094 |
<li class="md-nav__item"> |
989 | 1095 |
<a href="../../changelog/" class="md-nav__link"> |
990 | 1096 |
|
... | ... |
@@ -1326,13 +1432,13 @@ format for SSH as long as the underlying key type is compatible.</p> |
1326 | 1432 |
|
1327 | 1433 |
|
1328 | 1434 |
|
1329 |
- <a href="../../changelog/" class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> |
|
1435 |
+ <a href="../../explanation/" class="md-footer__link md-footer__link--next" aria-label="Next: Explanation overview"> |
|
1330 | 1436 |
<div class="md-footer__title"> |
1331 | 1437 |
<span class="md-footer__direction"> |
1332 | 1438 |
Next |
1333 | 1439 |
</span> |
1334 | 1440 |
<div class="md-ellipsis"> |
1335 |
- Changelog |
|
1441 |
+ Explanation overview |
|
1336 | 1442 |
</div> |
1337 | 1443 |
</div> |
1338 | 1444 |
<div class="md-footer__button md-icon"> |
... | ... |
@@ -1349,7 +1455,7 @@ format for SSH as long as the underlying key type is compatible.</p> |
1349 | 1455 |
<div class="md-copyright"> |
1350 | 1456 |
|
1351 | 1457 |
<div class="md-copyright__highlight"> |
1352 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1458 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1353 | 1459 |
</div> |
1354 | 1460 |
|
1355 | 1461 |
|
... | ... |
@@ -2,78 +2,86 @@ |
2 | 2 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> |
3 | 3 |
<url> |
4 | 4 |
<loc>https://the13thletter.info/derivepassphrase/0.x/</loc> |
5 |
- <lastmod>2024-11-28</lastmod> |
|
5 |
+ <lastmod>2025-01-07</lastmod> |
|
6 | 6 |
</url> |
7 | 7 |
<url> |
8 | 8 |
<loc>https://the13thletter.info/derivepassphrase/0.x/_future/</loc> |
9 |
- <lastmod>2024-11-28</lastmod> |
|
9 |
+ <lastmod>2025-01-07</lastmod> |
|
10 | 10 |
</url> |
11 | 11 |
<url> |
12 | 12 |
<loc>https://the13thletter.info/derivepassphrase/0.x/changelog/</loc> |
13 |
- <lastmod>2024-11-28</lastmod> |
|
13 |
+ <lastmod>2025-01-07</lastmod> |
|
14 |
+ </url> |
|
15 |
+ <url> |
|
16 |
+ <loc>https://the13thletter.info/derivepassphrase/0.x/explanation/</loc> |
|
17 |
+ <lastmod>2025-01-07</lastmod> |
|
18 |
+ </url> |
|
19 |
+ <url> |
|
20 |
+ <loc>https://the13thletter.info/derivepassphrase/0.x/explanation/faq-altered-versions/</loc> |
|
21 |
+ <lastmod>2025-01-07</lastmod> |
|
14 | 22 |
</url> |
15 | 23 |
<url> |
16 | 24 |
<loc>https://the13thletter.info/derivepassphrase/0.x/how-tos/</loc> |
17 |
- <lastmod>2024-11-28</lastmod> |
|
25 |
+ <lastmod>2025-01-07</lastmod> |
|
18 | 26 |
</url> |
19 | 27 |
<url> |
20 | 28 |
<loc>https://the13thletter.info/derivepassphrase/0.x/how-tos/ssh-key/</loc> |
21 |
- <lastmod>2024-11-28</lastmod> |
|
29 |
+ <lastmod>2025-01-07</lastmod> |
|
22 | 30 |
</url> |
23 | 31 |
<url> |
24 | 32 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/</loc> |
25 |
- <lastmod>2024-11-28</lastmod> |
|
33 |
+ <lastmod>2025-01-07</lastmod> |
|
26 | 34 |
</url> |
27 | 35 |
<url> |
28 | 36 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase-export-vault.1/</loc> |
29 |
- <lastmod>2024-11-28</lastmod> |
|
37 |
+ <lastmod>2025-01-07</lastmod> |
|
30 | 38 |
</url> |
31 | 39 |
<url> |
32 | 40 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase-export.1/</loc> |
33 |
- <lastmod>2024-11-28</lastmod> |
|
41 |
+ <lastmod>2025-01-07</lastmod> |
|
34 | 42 |
</url> |
35 | 43 |
<url> |
36 | 44 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase-vault.1/</loc> |
37 |
- <lastmod>2024-11-28</lastmod> |
|
45 |
+ <lastmod>2025-01-07</lastmod> |
|
38 | 46 |
</url> |
39 | 47 |
<url> |
40 | 48 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.1/</loc> |
41 |
- <lastmod>2024-11-28</lastmod> |
|
49 |
+ <lastmod>2025-01-07</lastmod> |
|
42 | 50 |
</url> |
43 | 51 |
<url> |
44 | 52 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase._types/</loc> |
45 |
- <lastmod>2024-11-28</lastmod> |
|
53 |
+ <lastmod>2025-01-07</lastmod> |
|
46 | 54 |
</url> |
47 | 55 |
<url> |
48 | 56 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.cli/</loc> |
49 |
- <lastmod>2024-11-28</lastmod> |
|
57 |
+ <lastmod>2025-01-07</lastmod> |
|
50 | 58 |
</url> |
51 | 59 |
<url> |
52 | 60 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.exporter/</loc> |
53 |
- <lastmod>2024-11-28</lastmod> |
|
61 |
+ <lastmod>2025-01-07</lastmod> |
|
54 | 62 |
</url> |
55 | 63 |
<url> |
56 | 64 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.sequin/</loc> |
57 |
- <lastmod>2024-11-28</lastmod> |
|
65 |
+ <lastmod>2025-01-07</lastmod> |
|
58 | 66 |
</url> |
59 | 67 |
<url> |
60 | 68 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.ssh_agent/</loc> |
61 |
- <lastmod>2024-11-28</lastmod> |
|
69 |
+ <lastmod>2025-01-07</lastmod> |
|
62 | 70 |
</url> |
63 | 71 |
<url> |
64 | 72 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/derivepassphrase.vault/</loc> |
65 |
- <lastmod>2024-11-28</lastmod> |
|
73 |
+ <lastmod>2025-01-07</lastmod> |
|
66 | 74 |
</url> |
67 | 75 |
<url> |
68 | 76 |
<loc>https://the13thletter.info/derivepassphrase/0.x/reference/prerequisites-ssh-key/</loc> |
69 |
- <lastmod>2024-11-28</lastmod> |
|
77 |
+ <lastmod>2025-01-07</lastmod> |
|
70 | 78 |
</url> |
71 | 79 |
<url> |
72 | 80 |
<loc>https://the13thletter.info/derivepassphrase/0.x/tutorials/</loc> |
73 |
- <lastmod>2024-11-28</lastmod> |
|
81 |
+ <lastmod>2025-01-07</lastmod> |
|
74 | 82 |
</url> |
75 | 83 |
<url> |
76 | 84 |
<loc>https://the13thletter.info/derivepassphrase/0.x/tutorials/basic-setup-passphrase/</loc> |
77 |
- <lastmod>2024-11-28</lastmod> |
|
85 |
+ <lastmod>2025-01-07</lastmod> |
|
78 | 86 |
</url> |
79 | 87 |
</urlset> |
80 | 88 |
\ No newline at end of file |
... | ... |
@@ -174,6 +174,26 @@ |
174 | 174 |
|
175 | 175 |
|
176 | 176 |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ <li class="md-tabs__item"> |
|
180 |
+ <a href="../../explanation/" class="md-tabs__link"> |
|
181 |
+ |
|
182 |
+ |
|
183 |
+ |
|
184 |
+ |
|
185 |
+ Design & Background |
|
186 |
+ |
|
187 |
+ </a> |
|
188 |
+ </li> |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
192 |
+ |
|
193 |
+ |
|
194 |
+ |
|
195 |
+ |
|
196 |
+ |
|
177 | 197 |
<li class="md-tabs__item"> |
178 | 198 |
<a href="../../changelog/" class="md-tabs__link"> |
179 | 199 |
|
... | ... |
@@ -1049,6 +1069,92 @@ |
1049 | 1069 |
|
1050 | 1070 |
|
1051 | 1071 |
|
1072 |
+ |
|
1073 |
+ |
|
1074 |
+ |
|
1075 |
+ |
|
1076 |
+ |
|
1077 |
+ |
|
1078 |
+ |
|
1079 |
+ |
|
1080 |
+ |
|
1081 |
+ |
|
1082 |
+ |
|
1083 |
+ |
|
1084 |
+ |
|
1085 |
+ |
|
1086 |
+ |
|
1087 |
+ |
|
1088 |
+ |
|
1089 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
1090 |
+ |
|
1091 |
+ |
|
1092 |
+ |
|
1093 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
1094 |
+ |
|
1095 |
+ |
|
1096 |
+ |
|
1097 |
+ <div class="md-nav__link md-nav__container"> |
|
1098 |
+ <a href="../../explanation/" class="md-nav__link "> |
|
1099 |
+ |
|
1100 |
+ |
|
1101 |
+ <span class="md-ellipsis"> |
|
1102 |
+ Design & Background |
|
1103 |
+ </span> |
|
1104 |
+ |
|
1105 |
+ |
|
1106 |
+ </a> |
|
1107 |
+ |
|
1108 |
+ |
|
1109 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
1110 |
+ <span class="md-nav__icon md-icon"></span> |
|
1111 |
+ </label> |
|
1112 |
+ |
|
1113 |
+ </div> |
|
1114 |
+ |
|
1115 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
1116 |
+ <label class="md-nav__title" for="__nav_5"> |
|
1117 |
+ <span class="md-nav__icon md-icon"></span> |
|
1118 |
+ Design & Background |
|
1119 |
+ </label> |
|
1120 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
1121 |
+ |
|
1122 |
+ |
|
1123 |
+ |
|
1124 |
+ |
|
1125 |
+ |
|
1126 |
+ |
|
1127 |
+ |
|
1128 |
+ |
|
1129 |
+ |
|
1130 |
+ <li class="md-nav__item"> |
|
1131 |
+ <a href="../../explanation/faq-altered-versions/" class="md-nav__link"> |
|
1132 |
+ |
|
1133 |
+ |
|
1134 |
+ <span class="md-ellipsis"> |
|
1135 |
+ "altered versions" license requirement |
|
1136 |
+ </span> |
|
1137 |
+ |
|
1138 |
+ |
|
1139 |
+ </a> |
|
1140 |
+ </li> |
|
1141 |
+ |
|
1142 |
+ |
|
1143 |
+ |
|
1144 |
+ |
|
1145 |
+ </ul> |
|
1146 |
+ </nav> |
|
1147 |
+ |
|
1148 |
+ </li> |
|
1149 |
+ |
|
1150 |
+ |
|
1151 |
+ |
|
1152 |
+ |
|
1153 |
+ |
|
1154 |
+ |
|
1155 |
+ |
|
1156 |
+ |
|
1157 |
+ |
|
1052 | 1158 |
<li class="md-nav__item"> |
1053 | 1159 |
<a href="../../changelog/" class="md-nav__link"> |
1054 | 1160 |
|
... | ... |
@@ -1355,9 +1461,9 @@ Because we are using a master passphrase, we also need the <code>-p</code> optio |
1355 | 1461 |
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>derivepassphrase<span class="w"> </span>vault<span class="w"> </span>--config<span class="w"> </span>--length<span class="w"> </span><span class="m">12</span><span class="w"> </span>--space<span class="w"> </span><span class="m">0</span><span class="w"> </span>--upper<span class="w"> </span><span class="m">1</span><span class="w"> </span>--lower<span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="se">\</span> |
1356 | 1462 |
<span class="gp">> </span><span class="w"> </span>--number<span class="w"> </span><span class="m">1</span><span class="w"> </span>--repeat<span class="w"> </span><span class="m">3</span><span class="w"> </span>email |
1357 | 1463 |
</code></pre></div> |
1358 |
-<div class="admonition warning"> |
|
1359 |
-<p class="admonition-title">Warning: <code>-p</code> and <code>--config</code></p> |
|
1360 |
-<p>Do <strong>not</strong> use the <code>-p</code> and the <code>--config</code> options together to store the master passphrase! |
|
1464 |
+<div class="admonition danger"> |
|
1465 |
+<p class="admonition-title">Security risk: use of <code>-p</code> and <code>--config</code></p> |
|
1466 |
+<p>You are <strong>strongly discouraged</strong> from using the <code>-p</code> and the <code>--config</code> options together to store the master passphrase! |
|
1361 | 1467 |
The configuration is assumed to <em>not contain sensitive contents</em> and is <em>not encrypted</em>, so your master passphrase is then visible to <em>anyone</em> with appropriate privileges!</p> |
1362 | 1468 |
</div> |
1363 | 1469 |
<p>Check that the settings are stored correctly:</p> |
... | ... |
@@ -1507,7 +1613,7 @@ Our configuration should look like this:</p> |
1507 | 1613 |
<div class="md-copyright"> |
1508 | 1614 |
|
1509 | 1615 |
<div class="md-copyright__highlight"> |
1510 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1616 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1511 | 1617 |
</div> |
1512 | 1618 |
|
1513 | 1619 |
|
... | ... |
@@ -169,6 +169,26 @@ |
169 | 169 |
|
170 | 170 |
|
171 | 171 |
|
172 |
+ |
|
173 |
+ |
|
174 |
+ <li class="md-tabs__item"> |
|
175 |
+ <a href="../explanation/" class="md-tabs__link"> |
|
176 |
+ |
|
177 |
+ |
|
178 |
+ |
|
179 |
+ |
|
180 |
+ Design & Background |
|
181 |
+ |
|
182 |
+ </a> |
|
183 |
+ </li> |
|
184 |
+ |
|
185 |
+ |
|
186 |
+ |
|
187 |
+ |
|
188 |
+ |
|
189 |
+ |
|
190 |
+ |
|
191 |
+ |
|
172 | 192 |
<li class="md-tabs__item"> |
173 | 193 |
<a href="../changelog/" class="md-tabs__link"> |
174 | 194 |
|
... | ... |
@@ -902,6 +922,92 @@ |
902 | 922 |
|
903 | 923 |
|
904 | 924 |
|
925 |
+ |
|
926 |
+ |
|
927 |
+ |
|
928 |
+ |
|
929 |
+ |
|
930 |
+ |
|
931 |
+ |
|
932 |
+ |
|
933 |
+ |
|
934 |
+ |
|
935 |
+ |
|
936 |
+ |
|
937 |
+ |
|
938 |
+ |
|
939 |
+ |
|
940 |
+ |
|
941 |
+ |
|
942 |
+ <li class="md-nav__item md-nav__item--nested"> |
|
943 |
+ |
|
944 |
+ |
|
945 |
+ |
|
946 |
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" > |
|
947 |
+ |
|
948 |
+ |
|
949 |
+ |
|
950 |
+ <div class="md-nav__link md-nav__container"> |
|
951 |
+ <a href="../explanation/" class="md-nav__link "> |
|
952 |
+ |
|
953 |
+ |
|
954 |
+ <span class="md-ellipsis"> |
|
955 |
+ Design & Background |
|
956 |
+ </span> |
|
957 |
+ |
|
958 |
+ |
|
959 |
+ </a> |
|
960 |
+ |
|
961 |
+ |
|
962 |
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0"> |
|
963 |
+ <span class="md-nav__icon md-icon"></span> |
|
964 |
+ </label> |
|
965 |
+ |
|
966 |
+ </div> |
|
967 |
+ |
|
968 |
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false"> |
|
969 |
+ <label class="md-nav__title" for="__nav_5"> |
|
970 |
+ <span class="md-nav__icon md-icon"></span> |
|
971 |
+ Design & Background |
|
972 |
+ </label> |
|
973 |
+ <ul class="md-nav__list" data-md-scrollfix> |
|
974 |
+ |
|
975 |
+ |
|
976 |
+ |
|
977 |
+ |
|
978 |
+ |
|
979 |
+ |
|
980 |
+ |
|
981 |
+ |
|
982 |
+ |
|
983 |
+ <li class="md-nav__item"> |
|
984 |
+ <a href="../explanation/faq-altered-versions/" class="md-nav__link"> |
|
985 |
+ |
|
986 |
+ |
|
987 |
+ <span class="md-ellipsis"> |
|
988 |
+ "altered versions" license requirement |
|
989 |
+ </span> |
|
990 |
+ |
|
991 |
+ |
|
992 |
+ </a> |
|
993 |
+ </li> |
|
994 |
+ |
|
995 |
+ |
|
996 |
+ |
|
997 |
+ |
|
998 |
+ </ul> |
|
999 |
+ </nav> |
|
1000 |
+ |
|
1001 |
+ </li> |
|
1002 |
+ |
|
1003 |
+ |
|
1004 |
+ |
|
1005 |
+ |
|
1006 |
+ |
|
1007 |
+ |
|
1008 |
+ |
|
1009 |
+ |
|
1010 |
+ |
|
905 | 1011 |
<li class="md-nav__item"> |
906 | 1012 |
<a href="../changelog/" class="md-nav__link"> |
907 | 1013 |
|
... | ... |
@@ -1035,7 +1141,7 @@ |
1035 | 1141 |
<div class="md-copyright"> |
1036 | 1142 |
|
1037 | 1143 |
<div class="md-copyright__highlight"> |
1038 |
- Copyright © 2024 Marco Ricci (the-13th-letter) |
|
1144 |
+ Copyright © 2025 Marco Ricci (the-13th-letter) |
|
1039 | 1145 |
</div> |
1040 | 1146 |
|
1041 | 1147 |
|
1042 | 1148 |