{% extends "/base.html" %}
{% block title %}Nercone TLS Test{% endblock %}
{% block title_suffix %}TLS Test{% endblock %}
{% block description %}Nercone TLS Testは、任意のホストに対して TLS/SSL 設定の詳細チェックとランク付けを行うWebサービスです。{% endblock %}
{% block header_desc %}ただのTLS/SSL設定分析サービス{% endblock %}
{% block extra_head %}
        <link rel="stylesheet" href="/tools/tls-test/assets/tls-test.css">
{% endblock %}
{% block content %}
            <section class="tls-landing">
                <h1 class="tls-landing-title"><span class="font-bold">Nercone</span> <span class="font-weight-300">TLS Test</span></h1>
                <p class="tls-landing-subtitle text-tx-alt">ただのTLS/SSL設定分析サービス</p>
                <form method="POST" action="/tools/tls-test/" class="tls-landing-form">
                    <input type="text" name="target" required autocomplete="off" spellcheck="false"
                           value="{{ last_target or '' }}"
                           placeholder="nercone.dev" class="tls-landing-input"
                           aria-label="対象ホスト">
                    <button type="submit" class="tls-landing-submit">実行</button>
                </form>
                {% if error %}
                <p class="tls-landing-error text-bright-red font-small">{{ error }}</p>
                {% endif %}
                <p class="tls-landing-links">
                    <a href="#notes" class="text-tx-alt text-underline">注意事項</a>
                    <a href="#api" class="text-tx-alt text-underline">API</a>
                </p>
            </section>

            <section id="notes" class="tls-aux-section">
                <div class="block">
                    <h2 class="font-large">注意事項</h2>
                    <ul>
                        <li>このツールは指定されたホストに対して実際にTLS接続を行いテストします。第三者のサーバーに対するスキャンは、対象サーバーの利用規約や法律を遵守した上で行ってください。</li>
                        <li>同一IPからの同時実行はできません。レートリミットは1時間あたり30件までです。</li>
                        <li>結果は最長1年間保存されます。少なくとも7日間保存され、経過後は件数が多い場合にのみ古い順に順次削除されます。</li>
                        <li>ドメイン名 / サブドメイン / IPv4 / IPv6 / ホスト名:ポート の形式を使用可能です。IPアドレスを使用した場合、SNI/証明書名の一致を判定できないため減点対象となることがあります。</li>
                        <li>Nercone TLS Testがサーバーへのアクセス時に使用するUser-Agent文字列は<code>nercone-tls-test/1.0</code>です。</li>
                    </ul>
                </div>
            </section>

            <section id="api" class="tls-aux-section">
                <div class="block">
                    <p>APIからも同等の機能が使用可能です。APIはJSON形式で返答します。</p>
                    <pre>POST /api/tools/tls-test/scan<br>Content-Type: application/json<br>{"target": "example.com"}</pre>
                    <p>次のエンドポイントで進捗・結果を取得することができます。</p>
                    <pre>GET /api/tools/tls-test/status/{test_id}<br>GET /api/tools/tls-test/results/{test_id}</pre>
                </div>
            </section>
{% endblock %}
