Coder Social home page Coder Social logo

telegram-micro's Introduction

TelegramMicro License: GPL v2

TelegramMicro is an attempt to build a Telegram implementation for J2ME, there's still alot of work to be done but I think I've gotten most of the difficult stuff out of the way now (in terms of protocol and such) it's just a matter of implementing all the MTProto objects and creating a UI.

Useful links

Building

This project can be built using the Sun Java Wireless Toolkit, which you can install on Ubuntu by following this StackOverflow answer. Once installed you should copy this repository to your j2mewtk folder (default is ~/j2mewtk) under 2.5.2/apps/ and you should see it when you go to 'open project'. Then you can click build then run.

Troubleshooting WTK

  • If the emulator comes up with a white screen restart your computer, I think there's some weird conflict with Docker, so launching docker at any point during a session means you'll need to restart your computer.
  • Additional emulator instances may randomly appear when running, just get used to ignoring or closing them, it's a bug with ktoolbar.

Sideprojects

If you want to help out but don't want to work on this part of the project, there are a few things that would be useful:

  • A J2ME runtime that can run headlessly so we can have a real CI pipeline
  • A modern libre replacement for the J2ME WTK that doesn't require as much hassle to get running
  • Some kind of preprocessor or compiler that would give us compile time function execution so that we can optimise things like public key storage while keeping the code readable

telegram-micro's People

Contributors

baumschubser avatar faissaloo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

telegram-micro's Issues

Documentations

As a open-source project, i think adding descriptions to the methods, and bibliography to your codes with diagrams, would help a lot. I saw it's only SSH stuff (wich i never messed with) until then and there should be some documentations explaining how that works.

Key generation

Hi faissaloo, just wanted to compliment you on this project, looks awesome and got me kind of interested in crypto :)

In the Readme you propose to outsource some of the calculation work to a server. I tried that and it works. Decomposing the primes can be done with the linux standard tool factor, it's fast and mature and no harm done when sending the data unencrypted.

However, the bigger problem is this line, it takes more time than prime decomposing and it cannot be outsourced to a server because this is private key stuff. That's why I think the server approach will not work to get the auth handshake to a reasonable amount of time.

One solution might be to restrict the app to JSR177-capable devices, where those things can be calculated natively in the JRE. However, I'm not expert enough to wrap my head around it, also I fear I'd make mistakes that would sabotage the whole encryption.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.