thefox / phpchat
A decentralized, peer-to-peer, encrypted chat in PHP.
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 19
Watchers: 6
Forks: 10
Open Issues: 12
Type:project
Requires
- php: >=5.3
- lib-curl: ~7.0
- lib-openssl: >=0.9.8
- guzzlehttp/guzzle: ~3.0
- kevinlebrun/colors.php: ~0.4
- liip/process-manager: ~1.0
- rhumsaa/uuid: ~2.7
- rych/bytesize: 1.0.0
- stephenhill/base58: ~1.1
- symfony/console: ~2.5
- symfony/filesystem: ~2.5
- symfony/finder: ~2.5
- symfony/yaml: ~2.5
- thefox/hashcash: ~1.5
- thefox/imapd: ~0.1
- thefox/smtpd: <0.1.2
- thefox/utilities: ~1.2
- zendframework/zend-uri: ~2.3
Requires (Dev)
- doctrine/common: ~2.4
- phploc/phploc: ~2.0
- phpmd/phpmd: ~2.1
- phpunit/phpunit: ~4.1
- satooshi/php-coveralls: dev-master
- thefox/phpcsrs: ~1.0
- theseer/phpdox: ~0.7
README
A decentralized, peer-to-peer, encrypted chat in PHP. If nobody on the Internet cares about security and privacy we must take care about ourselves.
Why this project?
Because we need to encrypt and secure the Internet. The Internet is broken and we need to fix it. Thanks people like Edward Snowden we know today that the NSA (and also other intelligence agencies too) operates a global surveillance on citizens. We can't loose our right of freedom, our right of privacy to centralized governmental authorities. Now it's our move. It's time to fight back!
I also like the Bitmessage project. But building thinks by myself feels like I can contribute to the Internet. And coding this with PHP because it's an easy-to-learn programming language and every one can contribute to this project.
Features
- Peer-to-peer instant messaging.
- Peer-to-peer offline messaging. Offline means when the recipient is offline.
- Decentralized: See DHT.
- Point-to-point encryption using SSL.
- Addressbook: manage all conversation partners.
- IMAP interface for fetching new messages.
- SMTP interface for sending messages.
- Send P2P random messages.
Install
-
Clone
git clone https://github.com/TheFox/phpchat.git
-
Change to your
phpchat
directory and runmake
-
You need to forward TCP port 25000 (default) on your modem to your computer. After the chat has been started once there will be a
settings.yml
. Edit this file to change the incoming port. Change thesettings.yml
only when PHPChat is not running. -
Start:
./start.sh
Stop:
./stop.sh
To run PHPChat with an MUA interface run
./start-mua.sh
To run PHPChat only in daemon mode:
./start-daemon.sh
TODO
- Some tasks are commented with
NOT_IMPLEMENTED
. TODO
are to be complete the PHP Code Sniffer tests before releasing a new version.
Contribute
You're welcome to contribute to this project. Fork this project at https://github.com/TheFox/phpchat. You should read GitHub's How to Fork a Repo.
Links
License
Copyright (C) 2014 Christian Mayer http://fox21.at
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.