2017-04-26 09:10:43 -04:00
<h4 class="ui top attached header">
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "settings.manage_ssh_keys" }}
2017-11-21 00:43:00 -05:00
<div class="ui right">
2022-08-31 11:58:54 -04:00
{{ if not .DisableSSH }}
2023-03-13 23:34:09 -04:00
<button id="add-ssh-button" class="ui primary tiny show-panel button" data-panel="#add-ssh-key-panel">
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "settings.add_key" }}
2023-03-13 23:34:09 -04:00
</button>
2021-10-28 06:55:48 -04:00
{{ else }}
2023-03-13 23:34:09 -04:00
<button class="ui primary tiny button disabled"> {{ .locale .Tr "settings.ssh_disabled" }} </button>
2021-10-28 06:55:48 -04:00
{{ end }}
2017-11-21 00:43:00 -05:00
</div>
2017-04-26 09:10:43 -04:00
</h4>
<div class="ui attached segment">
2023-02-18 23:06:14 -05:00
<div class=" {{ if not .HasSSHError }} gt-hidden {{ end }} gt-mb-4" id="add-ssh-key-panel">
2021-10-28 06:55:48 -04:00
<form class="ui form" action=" {{ .Link }} " method="post">
{{ .CsrfTokenHtml }}
<div class="field {{ if .Err_Title }} error {{ end }} ">
2022-06-27 16:58:46 -04:00
<label for="title"> {{ .locale .Tr "settings.key_name" }} </label>
2021-10-28 06:55:48 -04:00
<input id="ssh-key-title" name="title" value=" {{ .title }} " autofocus required>
</div>
<div class="field {{ if .Err_Content }} error {{ end }} ">
2022-06-27 16:58:46 -04:00
<label for="content"> {{ .locale .Tr "settings.key_content" }} </label>
<textarea id="ssh-key-content" name="content" class="js-quick-submit" placeholder=" {{ .locale .Tr "settings.key_content_ssh_placeholder" }} " required> {{ .content }} </textarea>
2021-10-28 06:55:48 -04:00
</div>
<input name="type" type="hidden" value="ssh">
<button class="ui green button">
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "settings.add_key" }}
2021-10-28 06:55:48 -04:00
</button>
<button id="cancel-ssh-button" class="ui hide-panel button" data-panel="#add-ssh-key-panel">
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "cancel" }}
2021-10-28 06:55:48 -04:00
</button>
</form>
</div>
2023-02-13 12:59:59 -05:00
<div class="ui key list gt-mt-0">
2017-11-21 00:43:00 -05:00
<div class="item">
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "settings.ssh_desc" }}
2017-11-21 00:43:00 -05:00
</div>
2020-12-25 23:24:47 -05:00
{{ range $ in dex , $ key : = .Keys }}
2017-11-21 00:43:00 -05:00
<div class="item">
2020-12-25 23:24:47 -05:00
<div class="right floated content">
2022-06-27 16:58:46 -04:00
<button class="ui red tiny button delete-button {{ if in dex $ .ExternalKeys $ in dex }} disabled {{ end }} " data-modal-id="delete-ssh" data-url=" {{ $ .Link }} /delete?type=ssh" data-id=" {{ .ID }} " {{ if in dex $ .ExternalKeys $ in dex }} title=" {{ $ .locale .Tr "settings.ssh_externally_managed" }} " {{ end }} >
{{ $ .locale .Tr "settings.delete_key" }}
2020-12-25 23:24:47 -05:00
</button>
2021-12-19 00:37:18 -05:00
{{ if and ( not .Verified ) ( ne $ .VerifyingFingerprint .Fingerprint ) }}
2022-06-27 16:58:46 -04:00
<a class="ui primary tiny show-panel button" href=" {{ $ .Link }} ?verify_ssh= {{ .Fingerprint }} "> {{ $ .locale .Tr "settings.ssh_key_verify" }} </a>
2021-12-19 00:37:18 -05:00
{{ end }}
2020-12-25 23:24:47 -05:00
</div>
<div class="left floated content">
2023-03-22 23:24:16 -04:00
<span class="tooltip text {{ if .HasRecentActivity }} green {{ end }} " {{ if .HasRecentActivity }} data-content=" {{ $ .locale .Tr "settings.key_state_desc" }} " {{ end }} > {{ svg "octicon-key" 3 2 }} </span>
2020-12-25 23:24:47 -05:00
</div>
<div class="content">
2021-12-19 00:37:18 -05:00
{{ if .Verified }}
2023-03-17 01:12:40 -04:00
<span class="tooltip" data-content=" {{ $ .locale .Tr "settings.ssh_key_verified_long" }} "> {{ svg "octicon-verified" }} <strong> {{ $ .locale .Tr "settings.ssh_key_verified" }} </strong></span>
2021-12-19 00:37:18 -05:00
{{ end }}
2020-12-25 23:24:47 -05:00
<strong> {{ .Name }} </strong>
<div class="print meta">
{{ .Fingerprint }}
</div>
<div class="activity meta">
2022-10-17 00:08:21 -04:00
<i> {{ $ .locale .Tr "settings.add_on" }} <span><time data-format="short-date" datetime=" {{ .CreatedUnix .FormatLong }} "> {{ .CreatedUnix .FormatShort }} </time></span> — {{ svg "octicon-info" }} {{ if .HasUsed }} {{ $ .locale .Tr "settings.last_used" }} <span {{ if .HasRecentActivity }} class="green" {{ end }} ><time data-format="short-date" datetime=" {{ .UpdatedUnix .FormatLong }} "> {{ .UpdatedUnix .FormatShort }} </time></span> {{ else }} {{ $ .locale .Tr "settings.no_activity" }} {{ end }} </i>
2020-12-25 23:24:47 -05:00
</div>
</div>
2017-11-21 00:43:00 -05:00
</div>
2021-12-19 00:37:18 -05:00
{{ if and ( not .Verified ) ( eq $ .VerifyingFingerprint .Fingerprint ) }}
<div class="ui segment">
2022-06-27 16:58:46 -04:00
<h4> {{ $ .locale .Tr "settings.ssh_token_required" }} </h4>
2021-12-19 00:37:18 -05:00
<form class="ui form {{ if $ .HasSSHVerifyError }} error {{ end }} " action=" {{ $ .Link }} " method="post">
{{ $ .CsrfTokenHtml }}
<input type="hidden" name="title" value="none">
<input type="hidden" name="content" value=" {{ .Content }} ">
<input type="hidden" name="fingerprint" value=" {{ .Fingerprint }} ">
<div class="field">
2022-06-27 16:58:46 -04:00
<label for="token"> {{ $ .locale .Tr "settings.ssh_token" }} </label>
2021-12-19 00:37:18 -05:00
<input readonly="" value=" {{ $ .TokenToSign }} ">
<div class="help">
2022-06-27 16:58:46 -04:00
<p> {{ $ .locale .Tr "settings.ssh_token_help" }} </p>
2022-06-24 06:11:13 -04:00
<p><code> {{ printf "echo -n '%s' | ssh-keygen -Y sign -n gitea -f /path_to_your_privkey" $ .TokenToSign }} </code></p>
2021-12-19 00:37:18 -05:00
</div>
<br>
</div>
<div class="field">
2022-06-27 16:58:46 -04:00
<label for="signature"> {{ $ .locale .Tr "settings.ssh_token_signature" }} </label>
<textarea id="ssh-key-signature" name="signature" class="js-quick-submit" placeholder=" {{ $ .locale .Tr "settings.key_signature_ssh_placeholder" }} " required> {{ $ .signature }} </textarea>
2021-12-19 00:37:18 -05:00
</div>
<input name="type" type="hidden" value="verify_ssh">
<button class="ui green button">
2022-06-27 16:58:46 -04:00
{{ $ .locale .Tr "settings.ssh_key_verify" }}
2021-12-19 00:37:18 -05:00
</button>
<a class="ui red button" href=" {{ $ .Link }} ">
2022-06-27 16:58:46 -04:00
{{ $ .locale .Tr "settings.cancel" }}
2021-12-19 00:37:18 -05:00
</a>
</form>
</div>
{{ end }}
2017-11-21 00:43:00 -05:00
{{ end }}
</div>
2017-04-26 09:10:43 -04:00
</div>
<br>
2022-06-27 16:58:46 -04:00
<p> {{ .locale .Tr "settings.ssh_helper" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh" "https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/troubleshooting-ssh" | Str2html }} </p>
2017-04-26 09:10:43 -04:00
<div class="ui small basic delete modal" id="delete-ssh">
<div class="ui icon header">
2021-03-22 00:04:19 -04:00
{{ svg "octicon-trash" }}
2022-06-27 16:58:46 -04:00
{{ .locale .Tr "settings.ssh_key_deletion" }}
2017-04-26 09:10:43 -04:00
</div>
<div class="content">
2022-06-27 16:58:46 -04:00
<p> {{ .locale .Tr "settings.ssh_key_deletion_desc" }} </p>
2017-04-26 09:10:43 -04:00
</div>
{{ template "base/delete_modal_actions" . }}
</div>