blockOgram — Telegram in the Blockstack
blockOgram is a Telegram web-based client for the Blockstack. It is forked from Webogram, the official Telegram web client. Log in to your Telegram account, and have it associated to your Blockstack Id. Access it on any device. The app will not store any of your information in a central server, the data is ownded by you. Log-in session is persisted according to your Gaia storage preferences.
So why bother using the having Blockstack support? As a start, the app will allow you to store the log-in session. However, there is at least one major Telegram feature that could benefit from Gaia storage. Telegram allows us to create Secret chats, which offer end-to-end encryption of your conversation, and would not work be valuable with some sort of persistence support. The long term goal is to support it in blockOgram.
- Secret chats
- Black list
- ...
Description | URL | Type |
---|---|---|
Online Web-version | https://blockogram.com/ | hosted |
The app is based on the AngularJS JavaScript framework, and written in pure JavaScript. jQuery is used for DOM manipulations, and Bootstrap as the CSS-framework.
The project repository is based on angularjs-seed and includes gulp tasks, so it's easy to launch the app locally on your desktop. Install node.js.
Install dependencies with:
npm install
Optionaly, run the following commands in the project directory to install gulp globally:
sudo npm install -g gulp
This will install all the needed dependencies.
The app only runs on HTTPS. You will need a valid certificate. When running locally, you may simply create a self-signed certificate as follows:
bash scripts/create_self_signed_cert.sh
You will be prompted to enter the details of the certificate. Ensure that you are using localhost
as the domain. The certificate will be created in the local directory.
Just run npm start
(gulp watch
) to start the web server and the livereload task.
Open https://localhost:8000/index.html in your browser.
Run npm run clean
(gulp clean
), then npm run build
(gulp publish
) to build the minimized production version of the app. Copy dist
folder contents to your web server. Don't forget to set X-Frame-Options SAMEORIGIN
header (docs).
Besides the frameworks mentioned above, other libraries are used for protocol and UI needs. Here is the short list:
Many thanks to all these libraries' authors and contributors. A detailed list with descriptions and licenses is available here.
The source code is licensed under GPL v3. License is available here.