Back to feed

ircfspace/teleMirror

ircfspace/teleMirror
210
+71/day
21
JavaScript

A simple desktop client for viewing Telegram channels, specifically designed for complex filtering environments like Iran

From the README

teleMirror

teleMirror provides a reliable way to access Telegram channels in heavily filtered internet environments. By utilizing multiple bypass techniques and alternative data sources, it ensures consistent access to content even when direct Telegram connections are blocked.

Features

  • šŸ‘€ No Telegram Required: View channels without installing the official Telegram app
  • šŸ”„ Multi-Source Access: Direct Telegram access + GitHub JSON backup for maximum reliability
  • šŸ›”ļø Advanced Bypass: Multiple proxy methods including Google Translate to circumvent filtering
  • šŸŽØ Clean Interface: Modern UI optimized for content reading
  • šŸ’¾ Smart Caching: Reduces requests and improves loading speed
  • šŸ“Š Rich Content: Display posts with views, and media previews
  • 🌐 Multi-Language Support: Switch between Persian (Farsi) and English with a single click

Downloads

Pre-built binaries are available for the following platforms and architectures:

| Platform | Architectures | | -------- | ---------------- | | Windows | x64, ia32, arm64 | | Linux | x64, arm64 | | macOS | x64, arm64 |

You can download the latest release from the GitHub Releases page.

Installation

Prerequisites

  • Node.js (version 16 or higher)
  • npm

Installation Steps

  1. Clone the repository:
git clone 
cd teleMirror
  1. Install dependencies:
npm install
  1. Run the application:
npm start

Project Structure

teleMirror/
ā”œā”€ā”€ main.js                 # Main Electron file
ā”œā”€ā”€ server/
│   └── server.js          # Express backend server
ā”œā”€ā”€ renderer/
│   └── telegram-ui.html # User interface
ā”œā”€ā”€ http-client.js          # HTTP client with proxy support
ā”œā”€ā”€ telegram-parser.js      # Telegram content parser
ā”œā”€ā”€ preload.js             # Electron preload script
└── assets/                # Static files

Data Sources

The application uses two sources for channel information:

1. Direct Telegram

  • Uses Google Translate proxies
  • Support for multiple methods to bypass filtering

2. GitHub JSON API

  • URL: `
  • Channel name must be in lowercase
  • Used as backup source when Telegram is unavailable

Technical Features

  • Proxy Support: Multiple methods for accessing Telegram
  • Smart Caching: 15-minute cache to reduce repeated requests
  • Format Conversion: Automatic conversion of GitHub data to Telegram format
  • Validation: Prevent creation of invalid channels
  • Auto Cleanup: Remove empty and invalid channels

Development

Adding a New Channel

You can add channels in the following formats:

  • Username: ircfspace
  • With @: @ircfspace
  • Telegram URL: `
  • Short URL: t.me/ircfspace

Channel Data Structure

{
  username: "channel_name",
  name: "Display Name",
  loading: false,
  photo: " // optional
}

Troubleshooting

Common Issues

  1. Channel not adding
    • Check if the channel address is correct
    • Make sure t