You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

187 lines
12 KiB

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>lesspass</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <link rel="stylesheet" href="dist/lesspass.uncss.css">
  8. <style>
  9. body {
  10. background-color: #008ed6;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <div class="container m-t-2">
  16. <div class="row">
  17. <div class="col-md-6 col-md-offset-3">
  18. <div id="passwordGenerator">
  19. <div class="card">
  20. <div class="card-header">
  21. <img src="dist/logo.png" id="logo" alt="logo">
  22. </div>
  23. <div id="password-block" class="card-block">
  24. <form id="generatedPasswordForm">
  25. <fieldset class="form-group">
  26. <label for="login" class="sr-only">Login</label>
  27. <input id="login"
  28. name="login"
  29. type="text"
  30. class="form-control"
  31. placeholder="Login"
  32. autofocus
  33. autocomplete="off"
  34. autocorrect="off"
  35. autocapitalize="none">
  36. <!-- remove autofill for masterPassword -->
  37. <input type="hidden" id="password" style="display: none">
  38. </fieldset>
  39. <fieldset class="form-group">
  40. <label for="masterPassword" class="sr-only">Password</label>
  41. <div class="input-group">
  42. <input id="masterPassword"
  43. name="masterPassword"
  44. type="password"
  45. class="form-control"
  46. placeholder="Master password"
  47. autocomplete="off"
  48. autocorrect="off"
  49. autocapitalize="none">
  50. <span class="input-group-btn">
  51. <a id="displayMasterPasswordButton" class="btn btn-secondary" type="button"
  52. tabindex="-1">
  53. <svg viewBox="0 0 1792 1792"
  54. xmlns="http://www.w3.org/2000/svg">
  55. <path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/>
  56. </svg>
  57. <small class="hint--top" id="fingerprint" aria-label="fingerprint"></small>
  58. </a>
  59. </span>
  60. </div>
  61. </fieldset>
  62. <fieldset class="form-group">
  63. <label for="site" class="sr-only">Site</label>
  64. <input id="site"
  65. name="site"
  66. type="text"
  67. class="form-control"
  68. placeholder="Site"
  69. list="domains"
  70. autofocus
  71. autocomplete="off"
  72. autocorrect="off"
  73. autocapitalize="none">
  74. <datalist id="domains"></datalist>
  75. </fieldset>
  76. <fieldset class="form-group">
  77. <div class="input-group">
  78. <span id="autoLoginButton" class="input-group-btn">
  79. <button class="btn btn-secondary">
  80. <svg viewBox="0 0 1792 1792"
  81. xmlns="http://www.w3.org/2000/svg">
  82. <path d="M1254 581l293-293-107-107-293 293zm447-293q0 27-18 45l-1286 1286q-18 18-45 18t-45-18l-198-198q-18-18-18-45t18-45l1286-1286q18-18 45-18t45 18l198 198q18 18 18 45zm-1351-190l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm350 162l196 60-196 60-60 196-60-196-196-60 196-60 60-196zm930 478l98 30-98 30-30 98-30-98-98-30 98-30 30-98zm-640-640l98 30-98 30-30 98-30-98-98-30 98-30 30-98z"/>
  83. </svg>
  84. </button>
  85. </span>
  86. <label for="generatedPassword" class="sr-only">Password Generated</label>
  87. <input id="generatedPassword"
  88. name="generatedPassword"
  89. type="text"
  90. class="form-control"
  91. tabindex="-1"
  92. readonly>
  93. <span class="input-group-btn">
  94. <button id="copyPasswordButton" class="btn-copy btn btn-primary" type="button"
  95. data-clipboard-target="#generatedPassword">
  96. <svg viewBox="0 0 1792 1792"
  97. xmlns="http://www.w3.org/2000/svg">
  98. <path d="M768 1664h896v-640h-416q-40 0-68-28t-28-68v-416h-384v1152zm256-1440v-64q0-13-9.5-22.5t-22.5-9.5h-704q-13 0-22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h704q13 0 22.5-9.5t9.5-22.5zm256 672h299l-299-299v299zm512 128v672q0 40-28 68t-68 28h-960q-40 0-68-28t-28-68v-160h-544q-40 0-68-28t-28-68v-1344q0-40 28-68t68-28h1088q40 0 68 28t28 68v328q21 13 36 28l408 408q28 28 48 76t20 88z"
  99. fill="#fff"/>
  100. </svg>
  101. </button>
  102. </span>
  103. </div>
  104. </fieldset>
  105. <fieldset class="form-group m-b-0">
  106. <div class="row">
  107. <div class="col-xs-6">
  108. <label id="displayOptionsButton">
  109. <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
  110. <path d="M1152 896q0-106-75-181t-181-75-181 75-75 181 75 181 181 75 181-75 75-181zm512-109v222q0 12-8 23t-20 13l-185 28q-19 54-39 91 35 50 107 138 10 12 10 25t-9 23q-27 37-99 108t-94 71q-12 0-26-9l-138-108q-44 23-91 38-16 136-29 186-7 28-36 28h-222q-14 0-24.5-8.5t-11.5-21.5l-28-184q-49-16-90-37l-141 107q-10 9-25 9-14 0-25-11-126-114-165-168-7-10-7-23 0-12 8-23 15-21 51-66.5t54-70.5q-27-50-41-99l-183-27q-13-2-21-12.5t-8-23.5v-222q0-12 8-23t19-13l186-28q14-46 39-92-40-57-107-138-10-12-10-24 0-10 9-23 26-36 98.5-107.5t94.5-71.5q13 0 26 10l138 107q44-23 91-38 16-136 29-186 7-28 36-28h222q14 0 24.5 8.5t11.5 21.5l28 184q49 16 90 37l142-107q9-9 24-9 13 0 25 10 129 119 165 170 7 8 7 22 0 12-8 23-15 21-51 66.5t-54 70.5q26 50 41 98l183 28q13 2 21 12.5t8 23.5z"/>
  111. </svg>
  112. Options
  113. </label>
  114. </div>
  115. <!--
  116. <div class="col-xs-6 text-xs-right">
  117. <label id="displayHelpButton">
  118. How it works ?
  119. </label>
  120. </div>
  121. -->
  122. </div>
  123. </fieldset>
  124. <fieldset class="form-group option-block m-t-1">
  125. <div class="row">
  126. <div class="col-sm-6">
  127. <label class="c-input c-checkbox">
  128. <input type="checkbox" id="lowercase" value="lowercase" name="lowercase"
  129. checked>
  130. <span class="c-indicator"></span> Lower letters (a‑z)
  131. </label>
  132. </div>
  133. <div class="col-sm-6">
  134. <label class="c-input c-checkbox">
  135. <input type="checkbox" id="uppercase" value="uppercase" name="uppercase"
  136. checked>
  137. <span class="c-indicator"></span> Upper letters (A-Z)
  138. </label>
  139. </div>
  140. </div>
  141. <div class="row">
  142. <div class="col-sm-6">
  143. <label class="c-input c-checkbox">
  144. <input type="checkbox" id="numbers" value="numbers" name="numbers" checked>
  145. <span class="c-indicator"></span> Numbers (0-9)
  146. </label>
  147. </div>
  148. <div class="col-sm-6">
  149. <label class="c-input c-checkbox">
  150. <input type="checkbox" id="symbols" value="symbols" name="symbols" checked>
  151. <span class="c-indicator"></span> Special chars (@&%)
  152. </label>
  153. </div>
  154. </div>
  155. </fieldset>
  156. <fieldset class="form-group option-block">
  157. <div class="row">
  158. <div class="col-xs-6">
  159. <label for="passwordLength">Length :</label>
  160. <input id="passwordLength"
  161. type="number"
  162. class="form-control"
  163. value="12"
  164. min="6"
  165. max="64"/>
  166. </div>
  167. <div class="col-xs-6">
  168. <label for="passwordCounter">Counter :</label>
  169. <input id="passwordCounter"
  170. type="number" class="form-control"
  171. value="1"
  172. min="1"
  173. max="1000"/>
  174. </div>
  175. </div>
  176. </fieldset>
  177. </form>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. </div>
  184. <script src="dist/lesspass.js"></script>
  185. </body>
  186. </html>