Skip to content

⭐ An extremely simple, one-time view encrypted message system. Send anybody passwords, or secret messages on a one-time view basis.

License

Notifications You must be signed in to change notification settings

RChutchev/quickblaze-encrypt

 
 

Repository files navigation

Quickblaze Logo

Quickblaze Encrypt

GitHub release (latest by date) License: MIT Discord: axtonprice

An extremely simplistic, one-time view encryption system. Send links anywhere on the internet, and your encrypted message will automatically be destroyed after being viewed!

Requirements

  • PHP v8.1.10.
  • Accessible webserver with PHP support.
  • MySQL server for database host. (Optional)*
  • PHP MYSQL module for database access. (Optional)*
  • PHP PDO module for database access. (Optional)*
  • PHP OPENSSL module for encryption.
  • PHP MBSTRING module for full UTF-8 support.
  • PHP JSON module for JSON manipulation.

Optional: dependant on storage method configuration in .config. See below.

Installation

  1. Download the latest version of Quickblaze from the releases page.
  2. Upload and extract the contents to your web server. You can also pull the repo with GitHub Desktop.
  3. Visit your domain installation directory or subdomain https://example.com/quickblaze-encrypt/

Don't delete the .version, .config, or cache files once the installation has completed! They contain necessary version and configuration data, and removing them will cause issues!

If using MySQL as storage method:

  • Update the database connection information in modules/Database_example.env.
  • Rename the database configuration file to Database.env.
  • View example database configuration below.

System Configuration

NOTE: Remove comments from configuration for valid JSON.

Example configuration of Database.env.

{
    "HOSTNAME": "mysql.example.com", // Database Host
    "USERNAME": "admin", // Database Username
    "PASSWORD": "admin123", // Database Password
    "DATABASE": "quickblaze_db" // Database Name
}

Default configuration of .config.

{ 
  "STORAGE_METHOD": "mysql", // options: 'mysql', 'filetree'
  "LANGUAGE": "auto", // options: 'auto', 'en', 'ru', 'is', etc.
  "INSTALLATION_PATH": "https://example.com" // No trailing slash
}

What is Quickblaze?

This tool provides users with the ability to create private messages that are both secure and shareable, thanks to an encryption method that guarantees the message can only be decrypted once. In addition, the tool allows users to input a decryption password that they can share with the recipient to access the message. The message is then stored either locally or in the configured MySQL database allowing for customisation in how the messages are stored.

In the event that you misplace your password or decryption key*, it will be impossible to access the encrypted message. Your decryption key serves to verify your password and to decrypt the message contents. It's important to keep in mind that the Arizon team will not provide any assistance in retrieving passwords for messages that were created on the Quickblaze website.

Upon creating a message, an encryption key is generated, and it can be viewed in the URL of your message. For example, in example.com/view?key=fb304cb9b3d8d38d82, the decryption key would be fb304cb9b3d8d38d82.

Screenshots

Public API

The Quickblaze API is a tool which offers a straightforward and user-friendly REST API, which enables you to seamlessly integrate Quickblaze into your projects and applications.

Public API Base URL:

https://quickblaze.arizon.dev/api/interactions/{endpoint}

Available Endpoints:

GET/POST /{createEncryption}
Parameters
name type data type description
data required string The plain string message to be encrypted.
password required string The password to use to allow users to decrypt the message.
Responses
object value
response_code 200
data message, encryption_key, password
request_header timestamp, ip, user_agent
Example cURL
curl -X GET -H "Content-Type: application/json" http://quickblaze.arizon.dev/api/interactions/createEncryption?data=HelloWorld&password=1234
GET/POST /{decryptMessage}
Parameters
name type data type description
key required string The encryption key used to specify the message.
password required string The valid password to use to decrypt the message.
Responses
object value
response_code 200
data message, decrypted_contents, key, password
request_header timestamp, ip, user_agent
Example cURL
curl -X GET -H "Content-Type: application/json" http://quickblaze.arizon.dev/api/interactions/decryptMessage?key=4b6d76205bc1dda9ee7&password=1234
GET/POST /{checkEncryption}
Parameters
name type data type description
key required string The encryption key used to check if the message exists.
Responses
object value
response_code 200
data message, message_exists, key
request_header timestamp, ip, user_agent
Example cURL
curl -X GET -H "Content-Type: application/json" http://quickblaze.arizon.dev/api/interactions/checkEncryption?key=4b6d76205bc1dda9ee7
GET/POST /{getCreationDate}
Parameters
name type data type description
key required string The encryption key used to fetch the message creation date.
Responses
object value
response_code 200
data message, date_created, key
request_header timestamp, ip, user_agent
Example cURL
curl -X GET -H "Content-Type: application/json" http://quickblaze.arizon.dev/api/interactions/getCreationDate?key=4b6d76205bc1dda9ee7

Author & Maintainer

🙍 axtonprice

@axtonprice Twitter Sponsor Me

Contributors

@RChutchev @brendanprice2003 @masondq

❤️ Show your support

If you like this project, give a star to support us! ⭐️
Want to sponsor us? Become an Arizon sponsor here!

📝 License

Copyright © 2023 axtonprice & Arizon Software.
This project is GNU GPL v3.0 licensed.

🎮 Discord

About

⭐ An extremely simple, one-time view encrypted message system. Send anybody passwords, or secret messages on a one-time view basis.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 83.0%
  • JavaScript 10.2%
  • CSS 6.8%