解除telegram群组屏蔽-电报telegram技巧分享

苹果telegram怎么解除群组屏蔽

由于 App Store 的内容考核政策,Telegram iOS 许多群组(尤其 NSFW 群组)都无法进入,部分正常的群也遭到屏蔽,而安卓和 PC/Mac 端不受影响,这还是带来了一些不方便。鉴于 telegram 的代码是开源的,于是我实验通过修改代码的方法来绕过限定。

Telegram X 是官方使用 Swift 语言写的新的 Telegram 客户端,相比于原版越发丝滑流畅。由于原版的 Telegram iOS 已经六个月没有更新代码了,而 Telegram X 正在保持稳定的开发步调,从久远来看我们还是修改新出的 Telegram X 比较好。

下载代码

首先我们从 GitHub 下载代码,项目地点是 https://github.com/peter-iakovlev/Telegram-iOS 。

然后进入目次,下载 git 子模块:

git submodule update --init --recursive



然后打开 XCode 的 workspace。

申请 API Key

你需要在 https://my.telegram.org/auth 申请一个 API Key 以和服务器进行通讯。

运行代码

在开始修改之前,我们先实验运行一下。首先选择 target 为 Telegram-iOS-Fork。

修改 target

更换 API Key

然后来到 Telegram-IOS/Supporting Files/BuildConfig.m,将 275 到 331 行的代码更换为如下代码:


_apiId = 123456; _apiHash = @"aaaabbbbccccddddeeeeffffededeeee"; _hockeyAppId = nil;

此中,apiId 和 apiHash 为上一步官网申请时得到的。

实在单看提示来看是缺了一个 APP_CONFIG_DATA,它是包含了 apiId、apiHash 和 hockeyAppId 的一个 hex,但是并不知道怎样将这三个值变成一个 hex。以是临时只能更换代码。 GitHub 上有关于这个的讨论 。

修改前
修改后

XCode 10.2 兼容性问题

假如你是用的 XCode 版本是 10.2,你大概会碰到这个问题,不然你可以跳过这个步骤。在 XCode 10.2 中,会出现 Swift 3 到 Swift 4 的兼容性问题,详细体现是 ManagedAudioSession.swift 中有一个 Expression type ‘Bool’ is ambiguous without more context 的告诫。GitHub 上也有 对应的 issue 。现在只能把那一行解释掉来解决问题。

解释代码

运行

完成以上步骤后,我们就可以点击左上角的播放按钮来编译运行了。不出意外你可以看到编译成功并弹出 iOS 模仿器窗口。登录后你会发现此时频道屏蔽依然有用。

修改代码

在自己开始上手之前,我曾经在群里问过有没有人实验过。有一个人说自己实验过而且成功了,不外他使用的是原版的 Telegram 客户端。根据他的描述,原版客户端的代码逻辑比较易读,只需要修改以下几个地方即可:

可以看到业务逻辑非常清楚易读,只需要去掉

hasExplicitContent

的判定即可。不外在 Telegram X 中好像没有这么荣幸,这段代码在 Telegram X 中并不存在,因此我被迫寻找别的出路。

经过不停地调试,我最后在 API 调用的反序列化步骤中参加了代码,通过位运算修改了服务器返回的群组的属性实现了频道解禁。

修改的位置在 TelegramCore/Network/Api1.swift 的

parse_channel

函数中,我们在读取流的操作之后(1733行)参加位运算代码,将从右数的第九位和第十八位置零,并清空

_9



_12

的内容:


_1 = _1! & ~(1 << 9) & ~(1 << 18) _9 = nil _12 = nil

这时间我们再编译运行,可以看到 channel 屏蔽已经排除。

真机调试

到这里实在我们只完成了一半:如今只能在模仿器里运行,而由于苹果的限定,真机运行非常麻烦。

假如你没有苹果开发者账号(99刀一年),你会无法使用包括通知推送在内的很多功能

。在进行下面的步骤之前,你需要先在 XCode 中登录自己的 Apple ID。

取消没有权限的 capabilities

对于我们的免费证书,许多功能都不能使用。为了通过编译,我们需要把这些“本领”关掉。在左侧列表中点击“Telegram-iOS”、在右边的 target 列表中选择 “Telegram-iOS”,然后在 Capabilities 选项卡中关掉 Associated Domains、iCloud、Push notifications、Siri。

封闭后

别的,还需要通过修改代码封闭 Siri 的授权申请,不然运行时会白屏卡住。详细的做法是将 AppDelegate.swift 中的 Siri 授权逻辑部分由判定逻辑直接改成拒绝状态。

修改前
修改后

使用自己的证书对 App 署名

对于

全部的 targets

,在 signing 区块中勾选 Automatically manage signing。

然后在每一个 targets 的 Build settings 中的 signing 区块中清空 Code Signing Entitlements。

清空 Code Signing Entitlements

自定义 Bundle Identifier

把每一个 target 的 bundle identifier 都改掉。除了 Telegram-iOS 之外,其他的 target 的 bundle identifier 应该以 Telegram-iOS 的 bundle identifier 为前缀。好比假如 Telegram-iOS 的新 bundle identifier 是“pro.admirable.telegram”,则 Share 的新 bundle identifier 应该设置为“pro.admirable.telegram.Share”。

除此之外,还需要去每一个 target 里的 build settings 选项卡中,修改 User-defined 下的 APP_BUNDLE_ID 为 Telegram-iOS 的 bundle identifier:

修改 APP_BUNDLE_ID

自定义 App Group

在 Target “Telegram-iOS”的 capabilities -> App Groups 中新建一个 App Groups,名字自己起(

疑似必须与“Telegram-iOS”的 Bundle identifier 保持同等,不然运行时会黑屏出现 Error 2 错误,不确定是否为 XCode 的 bug

。这个问题坑了我好几个小时。)。然后封闭 App Groups 功能再重新打开,然后选择你方才新建的项目。接下来的每一个 target 都需要

先封闭 App Groups 功能再重新打开,然后选择你方才新建的项目

除此之外,你还需要前去每一个 target 的 build settings,然后将 User-defined -> Provisioning profile 清空。不然 App Groups 列表下面会有告诫。

清空 Provisioning profile

运行

在完成了以上步骤之后,我们就可以运行了。点击播放图标。经过编译的過逞后,telegram 就安装到了你的手机上。为了运行你署名的应用程序,你需要在 iPhone 上前去设置->通用->描述文件,然后信托你自己的开发者证书。

后记

对于我这个后端,使用 XCode 修改 iOS 项目还是有点难度的。经过了许多个小时的斗(keng)争,终于实现了频道(channel)屏蔽的排除。不确定对于群组(group)是否有用,欢迎在评述区留言讨论。


2020年1月23日更新:现在已经官方支持通过网页版或Windows桌面客户端设置表现NSFW内容,不需要再自行编译了。

技术资料

主体内容:可以以为是页面最想表达的内容总和。对于内容详情页来说,主体内容指从标题开始至正文内容结束,翻页地区也被视为主体内容,文章后的评述、分享、建议等不视为主体内容。

首屏:用户点击搜索结果后进入移动页面,不滑动屏幕即看到的全部内容,称为首屏。

一屏:用户滑动屏幕至主体内容显现结束之前,在页面任意位置停顿时看到的全部内容,称为一屏。

移动端适配:为了使PC页面可以或许在移动端正常显现的本领,保证用户不需要缩小、放大、左右滑动即可看清全部字体。

列表页:指信息聚合展示的页面,包括图片列表页、问答列表页、文章列表页、黄页信息列表页等。

详情页:指信息全部睁开表现的页面,包含文章内容页、问答详情页、商品详情页等。

广告:指为了某种特定的需要,通过肯定情势的媒体,公开且广泛地向民众通报信息的宣传本领;本白皮书中的广告泛指全部在落地!页中出现的面向用户的流传行为。需要留意的是,对网站自有产品的推广也视作广告。

APP引导:引导用户下载安装或激活调起APP的行为,包括大段文字、图片、弹窗浮窗等情势。百度移动搜索为了降低用户获取内容的本钱,要求凡可在H5端观看、操作的内容及功能,均不可引导甚至逼迫用户下载APP来解决。

一跳页面:从百度搜索结果点击进入落地页时,进行第一次跳转后到达的页面。

多跳页面:从百度搜索结果点击进入落地页后,进行二次或多次跳转所到达的页面。

页面加载速率是影响用户搜索体验的一个重要因素。百度搜索对用户行为的研究表明,页面首屏的加载时间在1.5秒以内的网站,会带给用户流痛快酣畅捷的极速体验。

从搜索结果页进入站点落地页的一跳以及多跳页面都应有加载动效。 在页面加载等候的過逞中,应有加载动效实时反馈(如页面自右向左滑动进入等),带给用户优质高级的感觉

页面字体、字符大小、文本行间距等计划,应合适手机用户阅读,不可显着过大过小,正文文本字号不小于10pt。

摘要

IOS版的telegram对内容有限定,这是众所周知的,但是方法总是有的,有网友给出理解决方法,从网络中收集……

站长寄语

IOS版的telegram对内容有限定,这是众所周知的,但是方法总是有的,有网友给出理解决方法,从网络中收集。

方法搜集


方法一

  • 用美区账号在App Store里搜索并安装Nicegram
  • 登录telegram账号后,一连点击右下角设置Setting10次,进入Debug界面,开启Nicegram Debug选项,返回即可。这就排除限定了。

    仅限 5.11(59) 及后续版本

    1. 进入网站 my.nicegram.app ;

    2. 直接登陆要么在 Telegram 中联系 @Nicegram_bot 登陆;

    3. 登陆成功后,打开两个开关;

    4. 重启 Nicegram。


方法二

  • 安装TestFlight 这是供 ios 软件开发者内测软件功能的官方app
  • 安装Nicegram(如名额已满 00点后再参加),之后的操作步骤同方法一


方法三

  • 使用Telegram X 5.0.2,听说此官方分付出的版本还没有添加限定功能。
  • 温馨提示

    看了不可描述内容,对于你来说,大概在telegram/电报上大概还会遭遇如下问题,有爱好的小伙伴可以看一下:

    假如对telegram这款交际有爱好的同窗可以察看此页面的专题 https://www.luckydesigner.space/tools/playsocialapp/

    本文网址:

    http://www.1cm8858.com/d/2020811122755_2049_3367374346/home

    Ten articles before and after

    马卡蒂、帕赛国人修车队??Channelstatistics群组.TelegramAnalytics-电报telegram技巧分享

    修正气象电报英文信文;-电报telegram技巧分享

    铁路线上的电报所铁路人责任与爱-电报telegram技巧分享

    191013日安亭北站运转南京东站-电报telegram技巧分享

    老照片里现代化的晚清【一点资讯】电报“内外有别”影响外交www.yidianzixuncom-电报telegram技巧分享

    微信之外最优选!用Telegram收发消息-电报telegram技巧分享

    联合国总部一览揭秘纽约无窗摩天大楼:隐藏监听基地能抵御核爆-电报telegram技巧分享

    中朝两国之间历来怎样发电报?【问答】即期不可撤消信用证下-电报telegram技巧分享

    telegram接管聊天消息如何黑掉以及WhatsApp?-电报telegram技巧分享

    如果美国禁微信微信前景不明华人转战LINE、TelegramWhatsApp-电报telegram技巧分享