Tweb
Telegram Web K, GPL v3
Install / Use
/learn @morethanwords/TwebREADME
Telegram Web K
Based on Webogram, patched and improved. Available for everyone here: https://web.telegram.org/k/
Developing
Install dependencies with:
pnpm install
This will install all the needed dependencies.
Running web-server
Just run pnpm start to start the web server and the livereload task.
Open http://localhost:8080/ in your browser.
Running in production
Run node build to build the minimized production version of the app. Copy public folder contents to your web server.
Running in docker
Developing:
- Install dependencies
docker-compose up tweb.dependencies. - Run develop container
docker-compose up tweb.develop. - Open http://localhost:8080/ in your browser.
Production:
- Run
docker-compose up tweb.production -dnginx image and container to serve the build - Open http://localhost:80/ in your browser.
You can use docker build -f ./.docker/Dockerfile_production -t {dockerhub-username}/{imageName}:{latest} . to build your production ready image.
Dependencies
- BigInteger.js (Unlicense)
- fflate (MIT License)
- cryptography (Apache License 2.0)
- emoji-data (MIT License)
- emoji-test-regex-pattern (MIT License)
- rlottie (MIT License)
- fast-png (MIT License)
- opus-recorder (BSD License)
- Prism (MIT License)
- Solid (MIT License)
- TinyLD (MIT License)
- libwebp.js
- fastBlur
- mp4-muxer (MIT License)
Debugging
You are welcome in helping to minimize the impact of bugs. There are classes, binded to global context. Look through the code for certain one and just get it by its name in developer tools. Source maps are included in production build for your convenience.
Additional query parameters
- test=1: to use test DCs
- debug=1: to enable additional logging
- noSharedWorker=1: to disable Shared Worker, can be useful for debugging
- http=1: to force the use of HTTPS transport when connecting to Telegram servers
Should be applied like that: http://localhost:8080/?test=1
Taking local storage snapshots
You can also take and load snapshots of the local storage and indexed DB using the ./snapshot-server mini-app. Check the README.md under this folder for more details.
Preview all icons
You can see all the available svg icons by calling the showIconLibrary() global function in the browser's console.
Troubleshooting & Suggesting
If you find an issue with this app or wish something to be added, let Telegram know using the Suggestions Platform.
Licensing
The source code is licensed under GPL v3. License is available here.
