You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sessioncommunities.online/sites/index.php

221 lines
6.8 KiB
PHTML

<?php
// prerequisite include for sites and components
require_once '+getenv.php';
require_once 'php/utils/getopt.php';
require_once 'php/utils/utils.php';
require_once 'php/servers/servers-rooms.php';
// Read the server data from disk.
$servers_raw = file_get_contents($ROOMS_FILE);
// Decode the server data to an associative array.
$server_data = json_decode($servers_raw, true);
// Re-build server instances from cached server data.
$servers = CommunityServer::from_details_array($server_data);
// Fetch all server assets ahead of time.
CommunityServer::fetch_assets($servers);
// List all rooms from the cached servers.
$rooms = CommunityServer::enumerate_rooms($servers);
// Sort rooms by name and then host.
CommunityRoom::sort_rooms_str($rooms, 'name');
CommunityRoom::sort_rooms_by_pubkey($rooms);
// Set the last-updated timestamp
// to the time the server data file was last modified.
$timestamp = filemtime($ROOMS_FILE);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php include "+components/page-head.php" ?>
<link rel="canonical" href="https://sessioncommunities.online/">
<link rel="stylesheet" href="./index.css">
<script type="module" src="./main.js"></script>
<link rel="modulepreload" href="js/constants.js">
<link rel="help" href="./instructions.html">
<title>Self-updating list of active Session communities</title>
<meta name="description" content="
Directory of Session Open Groups — public chatrooms within Session Messenger.
Copy these Communities into the Session app
and talk anonymously about Privacy, Security, or Cryptocurrency.
">
<meta name="modified" content="<?=date("Y-m-d H:i:s", $timestamp)?>">
<meta property="og:title" content="Click here for Session Communities">
<meta
property="og:description"
content="<?=count($rooms)?> Communities and counting — updated every day!"
>
<meta property="og:url" content="https://sessioncommunities.online/">
<meta property="og:type" content="website">
<meta property="og:locale" content="en_US"/>
<meta name="timestamp" content="<?=$timestamp?>">
1 year ago
<?php include "+components/communities-json-ld.php"; ?>
</head>
<body>
<input type="checkbox" id="toggle-theme-switch">
<div id="theming-root">
<header>
<div id="header-start"></div>
<div id="header-end">
<a
id="link-about"
href="#footer"
title="Learn more about sessioncommunities.online."
>About</a>
<a
id="link-more-sites"
href="#more-sites"
title="Find other Session groups."
>More groups</a>
1 year ago
<label
for="toggle-theme-switch"
class="anchorstyle clickable"
title="Switch color theme"
tabindex="0"
>Switch theme</label>
<a
id="link-instructions"
target="_blank"
rel="help"
title="Multi-language guide to using the site."
href="instructions.html"
>Instructions</a>
</div>
</header>
<h1 id="headline">Session Communities</h1>
<?php include "+components/qr-modals.php" ?>
<?php include "+components/tbl-communities.php" ?>
<hr>
<footer id="footer">
<p id="server_summary">
<?=count_rooms($servers)?> unique Session Communities
on <?=count($servers)?> servers have been found.
<span id="servers_hidden">(None hidden as JS is off)</span>
<sup><a href="<?=$REPOSITORY_CANONICAL_URL?>/#policy" target="_blank">why?</a>
</p>
<p id="last_checked">
Last checked <span id="last_checked_value">
<?=date("Y-m-d H:i:s", $timestamp)?> (UTC)
</span>.
</p>
<p id="disclaimer">
This site is not affiliated with
<a
href="https://optf.ngo"
target="_blank"
>Oxen Privacy Tech Foundation</a>.
<br>
<br>
Communities shown are fetched automatically from
<a
href="https://codeberg.org/gravel/sessioncommunities.online#which-sources-are-crawled"
target="_blank"
>various sources</a>.
<br>
<span class="js-only">
We make an attempt to hide communities containing
objectionable or illegal content, but
you should still proceed with caution.
</span>
<span class="noscript">
Proceed with caution when joining unofficial communities.
As JavaScript is disabled, no communities are filtered from the list.
</span>
</p>
<p class="noscript">
This site works fine without JavaScript.
However, some interactive features are
only available with JS enabled.
</p>
<nav id="about-us">
<a
href="<?=$REPOSITORY_CANONICAL_URL_FILES?>/README.md"
target="_blank"
title="sessioncommunities.online README on Codeberg."
>About</a
><a
href="./privacy.html"
target="_blank"
title="Read sessioncommunities.online's Privacy Policy."
>Privacy</a
><a
href="<?=$REPOSITORY_CANONICAL_URL?>"
target="_blank"
title="sessioncommunities.online official repository."
>Source Code</a
><a
href="<?=$REPOSITORY_MIRROR_URL?>"
target="_blank"
title="sessioncommunities.online alternate repository."
>Source Code (Mirror)</a
><a
href="<?=$API_CANONICAL_URL?>"
target="_blank"
title="Visit the index page of our Session Listing Provider API."
>API</a
><a
href="./donate.html"
target="_blank"
title="Support sessioncommunities.online"
>$$</a
><a
href="<?=$REPOSITORY_CANONICAL_URL?>#contact-us"
target="_blank"
title="Information on how to contact the maintainer(s) of sessioncommunities.online"
>Report an issue</a
>
</nav>
<nav id="more-sites">
<a
href="https://lokilocker.com/Mods/Session-Groups/wiki/Session-Closed-Groups"
target="_blank"
title="Closed groups curated by community moderators"
>Closed Groups</a
><a
href="https://session.directory/"
target="_blank"
title="User-submitted closed groups, communities and user profiles. Not safe for work."
>session.directory (NSFW)</a
><a
href="https://oxen.directory/"
target="_blank"
title="Discover more resources in the Oxen ecosystem."
>oxen.directory</a
><span
id="more-sites-info-button"
class="clickable"
href="#"
title="Read more about sites hosting additional groups."
>()</span>
</nav>
<nav id="about-session" class="highlight">
<a
href="https://getsession.org/"
title="Download Session private messenger for Android, iOS, Windows, Linux, or Mac."
>Download Session</a
><a
href="https://github.com/oxen-io/session-pysogs"
target="_blank"
title="Information about running a community server."
>Host Your Own Community</a
><a
href="https://getsession.org/terms-of-service"
target="_blank"
>Session Terms Of Service</a>
</nav>
</footer>
<div id="copy-snackbar"></div>
</div>
</body>
</html>