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.
49 lines
1.3 KiB
49 lines
1.3 KiB
9 years ago
|
<?php
|
||
|
/*! @file
|
||
|
|
||
|
@id $Id$
|
||
|
|
||
|
@see @ref usertable for the database schema
|
||
|
|
||
|
@page database Database
|
||
|
|
||
|
@tableofcontents
|
||
|
|
||
|
@section usertable User Table
|
||
|
|
||
|
<table>
|
||
|
<caption>Table: user</caption>
|
||
|
<tr><th>Colum Name</th><th>SQL Type</th><th>Description</th></tr>
|
||
|
<tr><td>name</td><td>varchar(50)</td><td>The user's name (pseudonym).</td></tr>
|
||
|
<tr><td>pubkey</td><td>text</td><td>The user's public key.</td></tr>
|
||
|
</table>
|
||
|
|
||
|
*/
|
||
|
// 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");
|
||
|
$db->query("create database if not exists safechat;");
|
||
|
$db->select_db("safechat");
|
||
|
if (!$db) error("cannot create database for safechat");
|
||
|
$db->query(file_get_contents("schema.sql"));
|
||
|
if (!$db) error("cannot create database tables");
|
||
|
}
|
||
|
} catch (Exception $e) {
|
||
|
error('database error on server');
|
||
|
}
|
||
|
?>
|