Fully end to end encrypted anonymous chat program. Server only stores public key lookup for users and the encrypted messages. No credentials are transfered to the server, but kept in local browser storage. This allows 100% safe chatting.
https://safechat.ch
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.1 KiB
35 lines
1.1 KiB
<?php |
|
/*! @file |
|
|
|
@id $Id$ |
|
|
|
@see @ref database for the database schema |
|
|
|
*/ |
|
// 1 2 3 4 5 6 7 8 |
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890 |
|
|
|
mysqli_report(MYSQLI_REPORT_STRICT); |
|
require_once("functions.php"); |
|
try { |
|
if (!isset($pgp)) { |
|
$pgp = gnupg_init(); |
|
if (!$pgp) error("pgp on server failed"); |
|
} |
|
} catch (Exception $e) { |
|
error('cannot start pgp on server'); |
|
} |
|
try { |
|
if (!isset($db)) { |
|
$db = new mysqli("mysql", "root", $_SERVER["MYSQL_ENV_MYSQL_ROOT_PASSWORD"]); |
|
if (!$db) error("database connection failed on server"); |
|
if (!$db->query("create database if not exists safechat;")) error("cannot create database"); |
|
if (!$db->select_db("safechat")) error("cannot use database"); |
|
if (!$db->multi_query(file_get_contents("schema.sql"))) error("cannot create database tables"); |
|
} |
|
$db = new mysqli("mysql", "root", $_SERVER["MYSQL_ENV_MYSQL_ROOT_PASSWORD"]); |
|
if (!$db->select_db("safechat")) error("cannot use database"); |
|
} catch (Exception $e) { |
|
error('database error on server'); |
|
} |
|
?>
|
|
|