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
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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?>">
<?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>
<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>