110 lines
5.2 KiB
HTML
110 lines
5.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<title>lycan - decentralized message board</title>
|
|
|
|
<meta name="description" content="Generate Onionr block">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
|
<meta name="referrer" content="no-referrer">
|
|
|
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>🐺</text></svg>">
|
|
<link rel="stylesheet" href="css/bulma-dark.min.css">
|
|
<link rel="stylesheet" href="css/style.css">
|
|
<script src="js/tordetect.js" async></script>
|
|
<script src="js/marked.min.js" defer></script>
|
|
<script src="js/purify.min.js" defer></script>
|
|
<script src="js/sha3.js" defer></script>
|
|
<script src="jspow/index.js" defer></script>
|
|
<script src="js/onionr-blocks.js" defer></script>
|
|
<script src="js/hush-hush.js" defer></script>
|
|
<script src="js/worker-handler.js" defer></script>
|
|
<script src="js/message-creator.js" defer></script>
|
|
<script src="js/topic-handler.js" defer></script>
|
|
</head>
|
|
<body>
|
|
<section class="section">
|
|
<div class="container">
|
|
<h1 class="title">
|
|
lycan
|
|
</h1>
|
|
<p class="subtitle">
|
|
anonymous decentralized message board 🌐
|
|
<img src="no-cookies.png" alt="No cookies used" loading="lazy" class="is-pulled-right">
|
|
<img src="vanilla.png" alt="this website uses vanilla JS" aria-hidden="true" loading="lazy" class="is-pulled-right">
|
|
<a href="LICENSE.txt"><img src="copyleft.png" alt="GNU" loading="lazy" class="is-pulled-right"></a>
|
|
</p>
|
|
<noscript><p class="has-text-warning">
|
|
JavaScript is required for this app. The server has no knowledge of posts, so content must be served by P2P nodes.
|
|
</p></noscript>
|
|
<p>lycan is a message board program that utilizes the <a href="https://onionr.net/">Onionr</a> network.</p>
|
|
<p>posts are rate-limited and protected using a partial hash collision proof of work function.</p>
|
|
<p>lycan is <i>decentralized as in power</i></p>
|
|
<p>⚠️ the host of this web page has no control over posts. Browse and post at your own risk.</p>
|
|
<br>
|
|
<div class="columns">
|
|
<div id="lastReached" class="column has-text-warning is-one-fifth">Last reached Onionr: never</div>
|
|
<div class="column">
|
|
<label class="checkbox">
|
|
<input type="checkbox" id="use-markdown" checked>
|
|
draft using markdown/HTML
|
|
</label>
|
|
</div>
|
|
</div>
|
|
<p class="is-pulled-right">feed size: <span id="memUsage">0kb</span> | page size: 289kb</p>
|
|
<p class="is-hidden has-text-warning noTor">You do not seem to be able to reach .onion services. Please use Tor Browser.</p>
|
|
</div>
|
|
</section>
|
|
<section class="section">
|
|
<div class="container messageCreator">
|
|
<div class="columns">
|
|
<div class="column">
|
|
<div class="control">
|
|
<label for="boardID">Board name: </label>
|
|
<input type="text" value="global" name="boardID" id="boardID">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="columns">
|
|
<div class="column is-two-fifths">
|
|
<div class="postForm">
|
|
<div class="control">
|
|
<p>Markdown and limited HTML is supported.</p>
|
|
<textarea class="textarea" placeholder="Draft a post..." id="postMessageField"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
</div>
|
|
</div>
|
|
<div class="control">
|
|
<a class="button is-primary" id="createMessageBtn">Create Post</a>
|
|
<span id="creatingMessage" class="is-hidden"><span id="creatingCount">0</span> post(s) generating</span>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<div class="container messageFeed">
|
|
</div>
|
|
<div class="container block">
|
|
<footer>privacy policy: We log nothing, but Onionr node operators may log data. Nothing personalized is sent to Onionr nodes, but all posts should be considered public and immutable.
|
|
<br>
|
|
it is your responsibility to obey laws in your area.
|
|
</footer>
|
|
</div>
|
|
<template id="cMsgTemplate">
|
|
<div class="box cMsgBox">
|
|
<div class="columns">
|
|
<div class="column cMsg">
|
|
Message
|
|
</div>
|
|
<div class="column cAuthor is-narrow"></div>
|
|
<div class="column is-narrow cMsgDate">
|
|
Date
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</body>
|
|
</html>
|