首页
关于我们
友链链接
壁纸下载
更多
统计中心
图床上传
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,451 阅读
2
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,166 阅读
3
N1教程:Openwrt安装docker webui界面(基于flippy openwrt n1固件)
5,182 阅读
4
ZFAKA小店Docker版之 数据的备份和迁移
4,997 阅读
5
甲骨文oracle ARM 重装 Debian 10
4,674 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
登录
Search
标签搜索
vps
linux
typecho
bench
nginx
empirecms
lnmp
centos
cloudflare
openwrt
n1
301
qbittorrent
ssl
rclone
onedrive
google
storage
ssh
speedtest
V+变量
累计撰写
193
篇文章
累计收到
77
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
页面
关于我们
友链链接
壁纸下载
统计中心
图床上传
搜索到
3
篇与
的结果
2024-12-21
使用tg机器人自动下载并上传频道内文件到本地&网盘
因为要转存tg某些群的视频和图片(比如马里奥),但是太多了一个一个转存太麻烦了,有没有什么好的办法呢?于是找到了这个项目:GitHub地址:telegram_channel_downloader如果运行运行脚本时出现164行报错,那可能就是你的系统或是环境问题,这一点要注意。一. Telegram API 申请打开 https://my.telegram.org/apps ,登录后选择 Apps ,填写相关信息后自动生成 apiId 和 apiHash 等信息。如果之前申请过,进入 Apps 后即可看到。二. 搭建tg机器人下载脚本git clone https://github.com/snow922841/telegram_channel_downloader.git安装 rclone。如果只需要下载到本地,则无需安装这一步Rclone安装及检查命令:curl https://rclone.org/install.sh | sudo bashrclone --version* 安装完之后一定要记得配置好需要上传的网盘。进入脚本目录cd telegram_channel_downloader安装依赖pip3 install -r requirements.txt修改 telegram_channel_downloader.py 文件内的相关信息:api_id、api_hash:telegram api得到的信息,分别填入对应位置;bot_token:联系@BotFather 创建一个机器人,也可以是现有的。将获得的token。填入其中;admin_id:联系@get_id_bot 发送随意消息获取;如果需要上传到OD:应修改脚本中以下参数:drive_id=”,drive_name=’onedrive’,onedrive 就是你配置 rclone 的时候填的网盘名称,还有第102行的“fclone”替换为“rclone”;所有配置都有相应备注,根据需要修改。运行脚本:可用SCREEN保持在线python3 tg_channel_downloader.py # 输入 telegram 所绑定的手机号,获取验证码并输入后即可使用tg机器人自动下载并上传频道内文件到本地&网盘screen相关命令:创建一个screen会话:screen -S xx #xx为创建会话的名称隐藏并保留当前会话窗口:按Ctrl+A,再按"D"键恢复会话窗口:screen -r xx #恢复名字为xx的会话如果忘记或者没有设定会话名称:screen -ls #列出所有会话,找到并使用恢复命令即可关闭会话窗口exit运行:给机器人发送 /start 频道的链接 0 ,就可以正式开始运行脚本,下载文件了。使用tg机器人自动下载并上传频道内文件到本地&网盘频道的链接:点击你的频道名就能看到频道链接;0:这是消息ID,可以自己定义,0代表的是最早的信息。如果要从特定某条信息往后下载,鼠标右键点击该条消息,选择复制该消息直链,就能从链接末尾看到消息ID数字。三. 效果使用tg机器人自动下载并上传频道内文件到本地&网盘使用tg机器人自动下载并上传频道内文件到本地&网盘四. 如果你的服务器没有流量你可以用自己的电脑你可以用google colab打开google colab,并登录文件-新建笔记输入:!bash;点击左边的播放按钮使用tg机器人自动下载并上传频道内文件到本地&网盘这就相当于一个linux了,之后安装RCLONE,配置网盘,下载脚本文件,进入脚本文件夹内,安装依赖。这时要修改脚本文件,但是google colab修改文件内容不是那么容易,那么可以这样做:点击左边的播放按钮,暂停这行代码,在下面新建一行代码:使用tg机器人自动下载并上传频道内文件到本地&网盘在这行代码下面粘贴修改好的tg_channel_downloader.py文件。点击左边的播放按钮。再回到第一行代码,将!bash改成!python3 tg_channel_downloader.py,点击播放按钮运行即可,就可以输入telegram信息了。防止Google Colab自动断开代码:每60分钟自动运行代码刷新,解除90分钟断开限制.使用方法:colab页面按下 F12或者 Ctrl+Shift+I (mac按 Option+Command+I) 在console(控制台) 输入以下代码并回车。复制以下代码粘贴在浏览器console!!不要关闭浏览器以免失效。function ConnectButton(){console.log("Connect pushed"); document.querySelector("#connect").click() }setInterval(ConnectButton,60000);
2024年12月21日
27 阅读
0 评论
0 点赞
2024-12-18
获取Telegram私人电报频道的ID的两种办法
今天加了一个自动通知微博更新的Telegram机器人,由于需要发送到我的私人群组,但是找不到私人频道的ID,始终发送失败,试过很多方式全都不能获取到正确的ID最后在Github上发现了正确使用方法解决方案在这里: https://github.com/GabrielRF/telegram-id#web-channel-id解决方案如下在网页版Telegram的帐户下登录:https://web.telegram.org点击你的私人的频道。这是浏览器的网址会发生变化,变成这样https://web.telegram.org/#/im?p=c1055587116_11052224402541910257从浏览器地址栏获取 1055587116 ,并添加 -100 作为前缀。所以,你的频道ID是 -1001055587116后来又发现一个更加简便的方法添加机器人 @get_id_bot 到你的频道,正常情况他会自动发言告诉你频道ID如果没有发言,可以在群组内输入 /my_id@get_id_bot 获取ID
2024年12月18日
22 阅读
0 评论
0 点赞
2024-12-17
来尝试无限容量,可以webdav挂载的teldrive吧!
0 前言两个月前偶然间看到telegram团队做了一个网盘叫teldrive,据说是可以无限存储的网盘,且可以webdav挂载到本地,于是部署到了服务器上,但当时没有写博客记录,最近空闲了决定补一下博客。1 teldrive介绍teldrive仓库地址 teldrive是一个通过telegram账号登陆后存储到私人账户空间的一个网盘空间,类似于google drive和onedrive特点如下数据很安全,官方保证存储数据不会丢失可以webdav挂载到本地无限容量上传下载速度取决于你的服务器链接至telgram服务器的速度缺点是无法直链共享,共享需要走自己的服务器流量这里可以看到这个url指向本地ip,需要公网环境才可以共享2 部署teldrive根据teldrive官方仓库的指引即可本文采取docker-compose部署的方式填写配置信息首先创建并填写config.toml创建config,根据提示填写数据库地址,secret即可数据库地址比较容易理解,secret则是可以通过openssl rand -hex 64生成,或者通过官方的vercel app链接一键获取这里可能会比较疑惑的是app-id和app-hash其实app-id和app-hash是telegram的api相关密钥telegram 获取api密钥根据英文指引即可获得,这里不再赘述特别提示:如果你部署在国内本地服务器,那你需要在[tg]下添加proxy选项最终我的配置是这样的[db] data-source = "postgres://postgres:xxx@postgres_db:5432/teldrive" [jwt] secret = "xxxxxxx" [tg] app-id = "xxxx" app-hash = "xxxxxxxxxxxxxxxxxxxxxxxx" proxy = "http://192.168.50.171:10809"填写docker-compose我的docker-compose.yml经供参考在同一文件夹下创建docker-compose.ymlvim docker-compose.yml填入如下内容services: teldrive: image: ghcr.io/tgdrive/teldrive restart: always container_name: teldrive ports: - '8080:8080' volumes: - ./config.toml:/config.toml - ./session.db:/session.db networks: - teldrive postgres_db: image: ghcr.io/tgdrive/postgres:17-alpine container_name: postgres_db restart: always networks: - teldrive environment: - POSTGRES_PASSWORD=xxxxxxxxx - POSTGRES_DB=teldrive volumes: - postgres-data:/var/lib/postgresql/data volumes: postgres-data: networks: teldrive: external: true注意这里POSTGRES_DB和POSTGRES_PASSWORD环境信息需要修改为同刚才config.toml相同的配置,如我的配置[db]data-source = "postgres://postgres:xxx@postgres_db:5432/teldrive"这里postgres://代表协议对接postgresql数据库冒号前则是用户名冒号后面的xxx则是密码@后面就是访问终结点,postgres_db,可以看作是ip5432则是端口,这里是默认没有改/teldrive代表访问的数据库是teldrive其实就是数据库的标准url访问i形式://:@:<port(optional)>/<database_name>顺带一提halo博客用的springboot,链接mysql的话也一个格式mysql://twoonefour:xxx@127.0.0.1/halo题外话扯远了,配置完docker-compose.yml后,这里还需要一个session.db文件,创建一下就可以开启容器了touch session.dbdocker-compose up -d之后可以尝试访问http://localhost:8080对接rclone使用webdavrclone是一个开源的用于挂载盘到本地的一个开源软件github仓库地址但这里teldrive是不能使用开源的rclone的,坑死我了teldrive需要使用telegram团队魔改的版本需要使用魔改版本需要使用魔改版本魔改teldrive 仓库地址直接从release下载下来即可使用下载完以后创建文件配置,位于~/.config/rclone/rclone.conf[teldrive]type = teldriveapi_host = http://localhost:8080 # default hostaccess_token = #session token obtained from cookieschunk_size = 500Mupload_concurrency = 4encrypt_files = false # Enable this to encrypt files make sure encryption key is not empty in teldrive config file.random_chunk_name= true # Use random chunk names when uploading files to channel instead of original filename.需要动脑筋的是access_token,在teldrive登陆以后,在控制台cookie中获取user-session就是access_tokenuser-session就是access_token复制这个值填上就可以了其他的根据需要填写填完以后就可以运行了,我的命令示例如下rclone mount teldrive:/ /volume3 \--vfs-cache-mode full \--vfs-cache-max-age 72h \--vfs-cache-poll-interval 5m \--vfs-cache-max-size 15G \--dir-cache-time 200h \--cache-dir /opt/rclonecache这里我是挂载到/volume3下的其他参数请看文档rclone文档自动挂载请参照官方文档自动挂载 rclone-as-unix-mount-helper我这里给出我的方案,我是使用的systemdvim /usr/lib/systemd/system/rclone.service填入以下内容[Unit]Description=Rclone webdavAfter=network.target[Service]User=rootNice=1RestartSec=5Restart=alwaysSuccessExitStatus=0 1ExecStart=rclone mount teldrive:/ /volume3 --vfs-cache-mode full --vfs-cache-max-age 72h --vfs-cache-poll-interval 5m --vfs-cache-max-size 15G --dir-cache-time 200h --cache-dir /opt/rclonecache[Install]WantedBy=multi-user.target接着素质二连即可启动systemctl daemon-reloadsystemctl start rclone之后就能同普通文件夹一样,访问/volume3就是访问远程,使用cp命令,mv命令都可以,看你的脑洞要如何运用了顺带一提我的nas就是整个备份到了teldrive里,可以看到我已经用了1T空间了.原文地址 原文地址 至此搭建结束,enjoy
2024年12月17日
34 阅读
0 评论
0 点赞