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.
42 lines
1.1 KiB
42 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 { |
|
$db = new mysqli("mysql", "root", $_SERVER["MYSQL_ENV_MYSQL_ROOT_PASSWORD"]); |
|
if (!$db) error("database connection failed on server"); |
|
$db->query("create database if not exists safechat;"); |
|
if (!$db) error("cannot create database"); |
|
$db->select_db("safechat"); |
|
if (!$db) error("cannot select database"); |
|
$query = file_get_contents("schema.sql"); |
|
if (!$query) error("cannot load database schema"); |
|
foreach (split(";\n", $query) as $create) { |
|
if ($create) { |
|
$db->query($create); |
|
if (!$db) error("cannot create database tables"); |
|
} |
|
} |
|
} catch (Exception $e) { |
|
error('database error on server: '+$e->getMessage()); |
|
} |
|
?>
|
|
|