{% extends "zerver/portico.html" %}

{# Zephyr mirroring information page #}

{% block portico_content %}
    <h1 style="margin-top:30px;">The Zephyr mirror script (not recommended)</h1>

    <p>
        Webathena is the easiest way to use Zulip.  With Webathena, you don't need
        to run any software in a screen session.  Your Athena password never leaves
        your computer and the only access that any Zulip computer ever receives is the
        ability to send/receive zephyrs as you.
    </p>

    <p>
        We recommend that you use Webathena instead of following these instructions.
        Please only follow these instructions if you know that you want to run the zephyr
        mirror script instead of using Webathena.
    </p>

    <h3 id="mirror">Running the Zephyr mirror script</h3>

    <p>
        On an Athena dialup
        (<a href="https://linerva.mit.edu">linerva.mit.edu</a>,
        <a href="https://athena.dialup.mit.edu">athena.dialup.mit.edu</a>,
        etc.), run the Zephyr mirroring script inside a screen
        session.
    </p>

    <p>
        <strong>IMPORTANT: You must keep the Zephyr mirroring script
        always running in a session with unexpired Kerberos
        tickets.</strong> The script forwards personals you receive on
        Zephyr to Zulip, and forwards messages you send in Zulip to
        Zephyr. <strong>If it is not running, only other Zulip users
        will receive messages you send from Zulip!</strong> The Zulip
        web application will warn you if the Zephyr mirroring script is
        not running.
    </p>

    <p>
        If you already have BarnOwl running in screen/tmux somewhere,
        you can just run:
    </p>

    <p><code>/mit/tabbott/zulip/zephyr_mirror.py</code></p>

    <p>inside that screen session.</p>

    <h4>Mirroring without a BarnOwl session</h4>

    <p>
        If you are not already running a screen/tmux for BarnOwl, you
        can set up a screen session to run the Zephyr mirroring script by
        running the following on a dialup such
        as <a href="https://linerva.mit.edu">linerva.mit.edu</a>:
    </p>

    <ol>
        <li><code>kinit -l7d && aklog</code></li>
        <li>(Type your password to create 7-day renewable Kerberos tickets)</li>
        <li>
        <code>env ZEPHYR_SCREEN_CLIENT=/mit/tabbott/zulip/zephyr_mirror.py
        SCREEN_SESSION_NAME=zulip athrun kchen owl-screen
        </code>
        </li>
    </ol>

    <p>
        This will run the Zephyr mirroring script inside a screen
        session, and use `/mit/kchen/bin/cont-renew-notify` to continually
        renew your Kerberos tickets for up to a week; each week, it will
        send you a Zephyr/Zulip letting you know that you need to renew
        your tickets.  To do so, log in to the server that you set up the
        screen session on and use the following procedure:
    </p>

    <ol>
        <li>
            Run <code>screen -x zulip</code> to connect to the mirroring
            screen session created above.
        </li>
        <li>The first time, you'll need to type <code>Ctrl-A c</code> to switch to a new terminal in your screen session.</li>
        <li><code>kinit -l7d && aklog</code></li>
        <li>(Type your password to renew your Kerberos tickets).</li>
    </ol>

    <p>
        Don't run multiple copies of the Zephyr mirroring script;
        doing so will result in messages you sent being forwarded to
        Zephyr twice.
    </p>

{% endblock %}
