mirror of
https://github.com/ichmagmaus111/ghostgram.git
synced 2026-04-27 10:06:01 +02:00
docs: restructure readme into main presentation and build guide
This commit is contained in:
@@ -59,6 +59,8 @@ bazel-telegram-ios
|
||||
bazel-telegram-ios/*
|
||||
bazel-testlogs
|
||||
bazel-testlogs/*
|
||||
bazel-telegram-antidelete
|
||||
bazel-telegram-antidelete/*
|
||||
xcodeproj.bazelrc
|
||||
*/*.swp
|
||||
*.swp
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
# Ghostgram iOS Compilation Guide
|
||||
|
||||
> **Important**: Notifications, calls, and some other cloud-dependent features may not be fully implemented in this fork's development builds. For daily use, it is recommended to keep the official Telegram App installed.
|
||||
|
||||
## 🛠 Prerequisites
|
||||
|
||||
- **macOS**: Latest version recommended.
|
||||
- **Xcode**: See `versions.json` for the exact required version.
|
||||
- **Bazel**: Managed via the build system.
|
||||
- **Python**: 3.x
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
### 1. Obtain Telegram API Credentials
|
||||
1. Go to [my.telegram.org](https://my.telegram.org).
|
||||
2. Log in and create a new application to get your `api_id` and `api_hash`.
|
||||
|
||||
### 2. Get the Source Code
|
||||
```bash
|
||||
git clone --recursive -j8 https://github.com/TelegramMessenger/Telegram-iOS.git
|
||||
# Note: In this fork, ensure you have all submodules
|
||||
```
|
||||
|
||||
### 3. Setup Xcode Configuration
|
||||
1. Generate a random 8-character hex identifier:
|
||||
```bash
|
||||
openssl rand -hex 8
|
||||
```
|
||||
2. Create a dummy Xcode project named `Telegram` with organization identifier `org.<YOUR_HEX_ID>`.
|
||||
3. Locate your **Team ID** in Keychain Access (Organizational Unit of your Apple Development certificate).
|
||||
4. Edit `build-system/template_minimal_development_configuration.json` with your credentials and Team ID.
|
||||
|
||||
### 4. Generate Xcode Project
|
||||
```bash
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
generateProject \
|
||||
--configurationPath=build-system/template_minimal_development_configuration.json \
|
||||
--xcodeManagedCodesigning
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🏗 Advanced Build Options
|
||||
|
||||
### Building an IPA (Release)
|
||||
1. Configure `build-system/appstore-configuration.json`.
|
||||
2. Ensure you have the correct provisioning profiles.
|
||||
3. Run:
|
||||
```bash
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
build \
|
||||
--configurationPath=your_config.json \
|
||||
--codesigningInformationPath=your_profiles_dir \
|
||||
--buildNumber=100001 \
|
||||
--configuration=release_arm64
|
||||
```
|
||||
|
||||
### Simulator Build (No Codesigning)
|
||||
Add `--disableProvisioningProfiles` to the generation command to build for the simulator without needing a development certificate.
|
||||
|
||||
---
|
||||
|
||||
## ❓ FAQ & Troubleshooting
|
||||
|
||||
### "build-request.json not updated yet"
|
||||
If Xcode hangs with this message, cancel the build and restart it.
|
||||
|
||||
### "no such package @rules_xcodeproj_generated"
|
||||
This usually happens after a system restart or clearing Bazel cache. Re-run the `generateProject` command.
|
||||
|
||||
### Overriding Xcode Version
|
||||
If you have a newer/older Xcode than what is specified in `versions.json`, use:
|
||||
```bash
|
||||
python3 build-system/Make/Make.py --overrideXcodeVersion generateProject ...
|
||||
```
|
||||
|
||||
---
|
||||
Report all issues/bugs on Telegram [@ceopoco](https://t.me/ceopoco)
|
||||
@@ -1,116 +1,72 @@
|
||||
# Ghostgram iOS Source Code Compilation Guide
|
||||
# 👻 Ghostgram iOS
|
||||
|
||||
We welcome all developers to use our API and source code to create applications on our platform.
|
||||
There are several things we require from **all developers** for the moment.
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/TelegramMessenger/Telegram-iOS/master/Telegram/Telegram-iOS/Images.xcassets/AppIcon.appiconset/Icon-60%403v.png" width="128" height="128" alt="Ghostgram Logo">
|
||||
</p>
|
||||
|
||||
# Creating your Telegram Application
|
||||
<p align="center">
|
||||
<b>The ultimate Telegram fork for privacy, control, and freedom.</b>
|
||||
</p>
|
||||
|
||||
1. [**Obtain your own api_id**](https://core.telegram.org/api/obtaining_api_id) for your application.
|
||||
2. Please **do not** use the name Telegram for your app — or make sure your users understand that it is unofficial.
|
||||
3. Kindly **do not** use our standard logo (white paper plane in a blue circle) as your app's logo.
|
||||
3. Please study our [**security guidelines**](https://core.telegram.org/mtproto/security_guidelines) and take good care of your users' data and privacy.
|
||||
4. Please remember to publish **your** code too in order to comply with the licences.
|
||||
<p align="center">
|
||||
<a href="https://t.me/ceopoco"><img src="https://img.shields.io/badge/Telegram-Support-blue.svg?logo=telegram" alt="Telegram Support"></a>
|
||||
<img src="https://img.shields.io/badge/Platform-iOS-lightgrey.svg" alt="Platform iOS">
|
||||
<img src="https://img.shields.io/badge/License-GPLv2-green.svg" alt="License GPLv2">
|
||||
</p>
|
||||
|
||||
# Quick Compilation Guide
|
||||
---
|
||||
|
||||
## Get the Code
|
||||
## 🌟 Key Features
|
||||
|
||||
```
|
||||
git clone --recursive -j8 https://github.com/TelegramMessenger/Telegram-iOS.git
|
||||
```
|
||||
### 🛡️ Anti-Delete System
|
||||
*Never miss a message again. Ghostgram keeps what others try to hide.*
|
||||
- **Local Archive:** Automatically saves messages deleted by the sender for everyone.
|
||||
- **Media Preservation:** Photos and videos from deleted messages are archived locally.
|
||||
- **Edit History:** View original content of edited messages.
|
||||
- **Visual Indicators:** Deleted messages are clearly marked with a 🗑️ icon.
|
||||
|
||||
## Setup Xcode
|
||||
### 👤 Ghost Mode
|
||||
- **Invisible Reading:** Read messages without sending "Read" receipts (single checkmark).
|
||||
- **Stealth Stories:** View stories anonymously without appearing in the viewer list.
|
||||
- **Hidden Input:** Hide "Typing..." status from your contacts.
|
||||
- **Online Privacy:** Hide your online status or use **Force Offline** to always appear as "last seen recently".
|
||||
|
||||
Install Xcode (directly from https://developer.apple.com/download/applications or using the App Store).
|
||||
### 🎙️ Advanced Audio Tools
|
||||
- **Free Transcription:** Get text from voice and video messages without Telegram Premium (On-device processing).
|
||||
- **Voice Morpher:** Real-time voice changer for your outgoing audio messages.
|
||||
|
||||
## Adjust Configuration
|
||||
### 🔓 Bypass Limits
|
||||
- **Copy Protection Bypass:** Forward or save content from channels that have restricted it.
|
||||
- **Infinite View-Once:** View-once media stays available as long as you need.
|
||||
- **Secret Screenshots:** Take screenshots in secret chats without notification.
|
||||
|
||||
1. Generate a random identifier:
|
||||
```
|
||||
openssl rand -hex 8
|
||||
```
|
||||
2. Create a new Xcode project. Use `Telegram` as the Product Name. Use `org.{identifier from step 1}` as the Organization Identifier.
|
||||
3. Open `Keychain Access` and navigate to `Certificates`. Locate `Apple Development: your@email.address (XXXXXXXXXX)` and double tap the certificate. Under `Details`, locate `Organizational Unit`. This is the Team ID.
|
||||
4. Edit `build-system/template_minimal_development_configuration.json`. Use data from the previous steps.
|
||||
### 🛠️ More Features
|
||||
- **Device Spoofing:** Change how your device appears to others.
|
||||
- **Ad Blocker:** Say goodbye to sponsored messages in channels.
|
||||
- **Always Online:** Keep your status active even when the app is in the background.
|
||||
|
||||
## Generate an Xcode project
|
||||
---
|
||||
|
||||
```
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
generateProject \
|
||||
--configurationPath=build-system/template_minimal_development_configuration.json \
|
||||
--xcodeManagedCodesigning
|
||||
```
|
||||
## 🛠 Installation & Building
|
||||
|
||||
# Advanced Compilation Guide
|
||||
Ghostgram is a developer-centric fork. To build it from source, follow our detailed guide:
|
||||
|
||||
## Xcode
|
||||
📖 **[Build & Compilation Guide](BUILD.md)**
|
||||
|
||||
1. Copy and edit `build-system/appstore-configuration.json`.
|
||||
2. Copy `build-system/fake-codesigning`. Create and download provisioning profiles, using the `profiles` folder as a reference for the entitlements.
|
||||
3. Generate an Xcode project:
|
||||
```
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
generateProject \
|
||||
--configurationPath=configuration_from_step_1.json \
|
||||
--codesigningInformationPath=directory_from_step_2
|
||||
```
|
||||
---
|
||||
|
||||
## IPA
|
||||
## ⚠️ Disclaimer & Legal
|
||||
|
||||
1. Repeat the steps from the previous section. Use distribution provisioning profiles.
|
||||
2. Run:
|
||||
```
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
build \
|
||||
--configurationPath=...see previous section... \
|
||||
--codesigningInformationPath=...see previous section... \
|
||||
--buildNumber=100001 \
|
||||
--configuration=release_arm64
|
||||
```
|
||||
> **Educational Use Only:** This is a modified version of the Telegram client. Use it at your own risk. The developer is not responsible for any account bans or data loss.
|
||||
|
||||
# FAQ
|
||||
- **Unofficial:** This project is not affiliated with, endorsed by, or in any way officially connected with Telegram Messenger Inc.
|
||||
- **Terms of Service:** Using third-party clients may violate Telegram's ToS.
|
||||
- **License:** Based on [Telegram-iOS](https://github.com/TelegramMessenger/Telegram-iOS), licensed under **GPLv2**.
|
||||
|
||||
## Xcode is stuck at "build-request.json not updated yet"
|
||||
---
|
||||
|
||||
Occasionally, you might observe the following message in your build log:
|
||||
```
|
||||
"/Users/xxx/Library/Developer/Xcode/DerivedData/Telegram-xxx/Build/Intermediates.noindex/XCBuildData/xxx.xcbuilddata/build-request.json" not updated yet, waiting...
|
||||
```
|
||||
### 👨💻 Support & Community
|
||||
Report issues or join the discussion:
|
||||
- **Telegram:** [@ceopoco](https://t.me/ceopoco)
|
||||
|
||||
Should this occur, simply cancel the ongoing build and initiate a new one.
|
||||
|
||||
## Telegram_xcodeproj: no such package
|
||||
|
||||
Following a system restart, the auto-generated Xcode project might encounter a build failure accompanied by this error:
|
||||
```
|
||||
ERROR: Skipping '@rules_xcodeproj_generated//generator/Telegram/Telegram_xcodeproj:Telegram_xcodeproj': no such package '@rules_xcodeproj_generated//generator/Telegram/Telegram_xcodeproj': BUILD file not found in directory 'generator/Telegram/Telegram_xcodeproj' of external repository @rules_xcodeproj_generated. Add a BUILD file to a directory to mark it as a package.
|
||||
```
|
||||
|
||||
If you encounter this issue, re-run the project generation steps in the README.
|
||||
|
||||
|
||||
# Tips
|
||||
|
||||
## Codesigning is not required for simulator-only builds
|
||||
|
||||
Add `--disableProvisioningProfiles`:
|
||||
```
|
||||
python3 build-system/Make/Make.py \
|
||||
--cacheDir="$HOME/telegram-bazel-cache" \
|
||||
generateProject \
|
||||
--configurationPath=path-to-configuration.json \
|
||||
--codesigningInformationPath=path-to-provisioning-data \
|
||||
--disableProvisioningProfiles
|
||||
```
|
||||
|
||||
## Versions
|
||||
|
||||
Each release is built using a specific Xcode version (see `versions.json`). The helper script checks the versions of the installed software and reports an error if they don't match the ones specified in `versions.json`. It is possible to bypass these checks:
|
||||
|
||||
```
|
||||
python3 build-system/Make/Make.py --overrideXcodeVersion build ... # Don't check the version of Xcode
|
||||
```
|
||||
**Made with 🖤 for the community.**
|
||||
Reference in New Issue
Block a user