折腾日记

  • 优雅的使用tg机器人自动下载频道内文件

    笔记本出问题了,现在没法继续写我的自动下载机器人了 于是在GitHub找到了一个同样好用的机器人源码 脚本需要python3.6以上环境,具体安装教程自行搜索。 测试环境 Ubuntu 18.04.5 LTS & Python 3.6.9 如果164行报错那可能就是你的系统问题 换个系统试试就可以 1. 前提 从 https://my.telegram.org/apps 获取自己的Telegram API密钥。 下载脚本 2. 使用 进入脚本目录 安装依赖 修改telegram_channel_downloader.py文件内的 api_id 和 api_hash 为你自己的 修改脚本内的频道名称、保存路径、 bot_token 、 admin_id 、 chat 等必填配置 鉴于网友需要上传GD,特添加了使用gclone自动上传到团队盘的功能,需要在配置区域设置。具体查看脚本内注释 运行 按照提示输入telegram绑定的手机号获取验证码并输入 配置完成后需要给bot发送 /start 频道的链接 0 才会正式开始运行脚本,否则无法启动 0代表开始下载消息的ID,可以自行修改。

    折腾日记 2020年11月21日
    0 151 0
  • (整活)TG自动下载文件机器人

    给自己找点活干 TG总有些大宝贝需要保存一下,但是自己下载又费劲,这时候就该动动自己的小手来成就自己的梦想。 预计实现功能 1.视频等文件使用aria2自动下载 2.自动上传到网盘或是云存储 3.用户分组(禁止白嫖) 开发进度 由于某些不可抗因素(沉迷红警无法自拔),11月16日准时开始开发 每天过程会同步到这里

    乱七八糟 2020年11月3日
    0 195 0
  • Spug-轻量级无 Agent 的自动化运维平台

    简介 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。 特性 批量执行: 主机命令在线批量执行 在线终端: 主机支持浏览器在线终端登录 (可以充当ssh中转来使用 我就是馋这个功能) 文件管理: 主机文件在线上传下载 任务计划: 灵活的在线任务计划 发布部署: 支持自定义发布部署流程 配置中心: 支持 KV、文本、json 等格式的配置 监控中心: 支持站点、端口、进程、自定义等监控 报警中心: 支持短信、邮件、钉钉、微信等报警方式 优雅美观: 基于 Ant Design 的 UI 界面 开源免费: 前后端代码完全开源 快速开始 依赖环境 Docker 现代浏览器 安装步骤 以下安装步骤使用 Centos7.x 操作系统。 1. 安装docker 2. 拉取镜像 阿里云的镜像与 Docker hub 同步更新,国内用户建议使用阿里云的镜像。 3. 启动容器 Docker镜像内部使用的 Mysql 数据库。 如果需要持久化存储代码和数据,可以添加:-v 映射容器内/data路径 4. 初始化 以下操作会创建一个用户名为 admin 密码为 spug.dev 的管理员账户,可自行替换管理员账户。 4. 访问测试 在浏览器中输入 http://localhost:80 访问。 手动部署 因为部署比较繁琐建议使用docker或是一键部署脚本,力荐docker 部署方便快速,操作简单,适合小白使用。 一键部署 安装命令 默认设置 手动安装 建议参考官方教程进行安装https://spug.dev/docs/deploy-product/ 官方也是推荐使用docker的哦 个人体验 因为几台国外服务器连接慢 最近又是需要经常连接操作 于是才部署了这个早就想部署的程序,批量指令运行和任务计划都大幅缩减了项目维护的成本,监控中心可以对网站进行实时监控,报警中心可以及时的提醒问题的出现。

    折腾日记 2020年7月27日
    0 154 0
  • 吹一波buyvm

    caddy 9000以上连接数 破2G的上传 机器负载690(更高的没截到) 因为内存不够机器caddy崩了 不然可能各项都会正常 上传随时可破G口 月付还便宜 太香了

    2020年6月22日
    0 133 0
  • 调整swap内存使用优先级优先使用swap

    低配服务器通常会使用swap来缓解服务器内存压力,但是很多设置之后即使内存已经跑爆了 swap使用量也不过才100MB左右的使用量。此时我们可以通过调整swappiness的值来提高使用优先级。 在ubunt系统中swappiness默认60 而在centos中默认10 所有在centos中swap内存的使用率是很低的。 1.查看当前swappiness值 $ cat /proc/sys/vm/swappiness2.修改swappiness值为10(临时修改,重启后即还原为默认值) $ sudo sysctl vm.swappiness=10 3.永久修改swappiness默认值(重启生效)$ sudo gedit /etc/sysctl.conf在文档的最后加上:  vm.swappiness=10保存重启,搞定收工! 不过设置之后mysql的内存使用大部分都到了swap但是php的还是停留在内存上,200MB的内存只会使用3-5MB的虚拟内存 同理如果需要优先使用内存 则调低swappiness的值即可

    折腾日记 2020年6月11日
    0 246 0
  • python利用session来模拟登录进行爬虫抓取

    很多网站内容在抓取时需要进行登录,不登录则无法获取到内容,这时就需要session来模拟进行登录的过程,有人会问使用cookie不行吗,当然不行,cookie只能在本地环境下使用,也就是你浏览器登录之后抓取cookie写入,然后再在本地运行脚本才能使用,当你放到服务器之后这个cookie就相当于失效的。 session模拟登录 上面代码可以看到 通过header定义了访问所需的ua标示 然后通过data定义登录需要填写的信息。 url1定义了登录地址(因为某些问题隐藏,可以在我开源的teelebot-invitecode的项目里查看) sess来定义 reuests模块的Session方法 最后通过f = sess.post(url1, data=data, headers=header)来进行post提交数据,这时requests会自动对你的cookie进行操作,后面的抓取页面等操作直接使用sess.get进行操作即可,注意用的什么变量post的就要使用什么变量进行get操作,因为cookie只会绑定在这个变量里面 1

    折腾日记 2020年5月31日
    0 288 0
  • 如何利用teelebot机器人框架快速开发telegram机器人

    框架开源地址:https://github.com/plutobell/teelebot 准备工作 安装python3.x环境,程序不支持2.x的python版本。 可以访问telegram的服务器或是你的电脑可以访问。 学习python编程语言。 文件结构 有了teelebot框架我们只需要进行简单的插件开发即可,下面的是插件文件结构。 这里以作者的示例项目为例: __init__.py 文件代码如下: 第一行格式#指令第一行设置的是触发指令,可以是任意组合建议前面加上/来规范书写,也方便后面在botfather来添加指令模块. 第二行#指令说明不多做解释 Hello.py 代码如下: 第一行设定编码格式不多做解释,不理解的直接复制即可 第二行引入这个bot库 不多做解释,直接复制到你的插件文件里面即可 第三行 def Hello(message):python的函数定义,其中Hello(message)是固定的格式 插件名称(message)需要注意的是插件名称一定要和你的插件文件是相同的.比如Hello.py就要对应函数Hello(message) Chat.py就要对应Chat(message) printf这一行不说了都会 第五行bot = bot()将bot()类赋给bot变量 类定义在teelebot/teelebot.py文件夹内 可以在文件夹查看类所有的方法 第六行status = bot.sendChatAction(message["chat"]["id"], "typing") 实际上等于bot.sendChatAction(message["chat"]["id"], "typing") 通过翻译就能看出 发送输入状态命令message["chat"]["id"]就是传入的会话 ,这一部分也可以直接替换用户id来实现发送给指定用户。 第七行status = bot.sendPhoto(message["chat"]["id"], bot.plugin_dir + "Hello/helloworld.png", reply_to_message_id=message["message_id"])编辑的前一天 框架作者迭代了版本增加了回复功能。 也是从翻译来看 发送图片 功能很明显message["chat"]["id"]还是用来指定会话。bot.plugin_dir + "Hello/helloworld.png"用来说明图片引用的地址, `bot.plugin_dir在配置confi.cfg文件时就能看到需要自行手动填写位置。reply_to_message_id=message["message_id"])这段是新加的,用来回复指定消息,如果不需要回复功能这段其实可以直接不写。 扩展一个方法 bot.sendMessage:发送信息,需要传入三个参数 id,消息文本,类型(默认为txt).。发送类型还有另外三种"Markdown", "MarkdownV2", "HTML" 示例:bot.sendMessage(message["chat"]["id"],"lbwnb","HTML") 上面介绍的只是一个简单的回复消息功能,其他功能可以通过你自己的编写来实现,比如我搞出来的邀请码模块,实际上我学python7天就搞出来了。 要注意的是bot库的引入和bot()的赋值,与函数名的定义问题。这三个是重中之重。其余有问题左侧q我或是留言都可以。

    折腾日记 2020年5月27日
    0 195 0
  • 记一次CDN被刷

    106.12.91.15 nmsl,??。 上午收到阿里的短信提示我cdn欠费,我回头一想 我这小破站也没啥人访问啊 怎么可能欠费,于是到控制台一看,发现从9点开始刷到11点开始被刷了56G流量,因为阿里看不到当天记录 我就下午充值了一次,但是充值之后没多长时间又欠费了。于是在日志管理看了下当天日志,发现存在这么一个IP在访问资源,上IPIP一查发现是个百度的地址,一开始还以为是百度的爬虫,但是一翻记录发现不对劲,这IP一直在不断的访问一个资源 于是果断拉黑,顺便申请了频次控制。您可千万别让我查着您也建站还用了cdn了?

    2020年5月27日
    0 157 0
  • Python判断文件最后一行是否是空行

    先提供两种提取最后一行文本的方案: 读取小文件时: 读取大文件时: 以上两种方式在实测的时候如果文件最后存在空行,都不会实际输出空行,如下: 可见文件中存在空行但是最后的输出却不是空行,而是倒数第二行存在内容的一行。 这问题也是前两天开发机器人的补码模块的时候发现的问题,百度之后发现所给的文章都不大适合我这种7天python新手,于是自行进行写入读取 发现如果最后一行存在空行,那么是存在一个换行符的,当然明面上是看不到的,于是修正代码如下: 结果如下: 存在空行时会提示存在空行,修改文件,删除最后的空行,结果如下: 这时已经正确的判断了文件最后一行是否存在空行。

    2020年5月25日
    0 170 0
  • Telegram邀请码机器人源码 自动发码 数量统计 无码提醒

    简介 因为论坛和部分网站需要发送邀请码邀请注册,人工发码又太慢,于是想到tg机器人发码,但是找了很多项目都没有找到类似的开源项目,偶然间看到了teelebot开源的tgAPi框架 于是参考着示例 ,用我学了半个月的半吊子python 写出了这个暂时能用不会报错的telegram邀请码机器人 目前已经到我理想状态,短期内不会进行功能更新,学习比较重要。 增加功能 1.邀请码自动发码模块 并且限制领取数量(邀请码添加在invite_code目录下的code.txt 一行一个) 用户信息存储在usertext.txt文件内 2.邀请码数量统计,如果邀请码用完自动给管理员发消息(需自行修改len_invite.py里面的发送id) 3.补码模块已经添加 目前并不是很理想的状态但是可以用使用方法 注意:一行一个注意换行 4.删除用户信息模块,删除后用户可以再次获取邀请码指令/del用户id目前只能删除单个用户 5.mps的自动补码模块 请在/plugins/updatacode/updatacode.py文件内填写网站登录信息,目前只会抓取两页邀请码,需要手动更新,后期会添加自动执行进去。 开发计划 1.增加管理员添加邀请码模块 2.多类邀请码模块支持 3.统计需改成json数据 目前统计方式过于简易(已完成) 4.管理员补码:暂定计划1,发送补码指令并跟随邀请码,格式为一行一个,然后剔除指令文本,后使用write写入code.txt文件中。 计划2:用户发送指令后开始监听,将用户发送的后续文本写入文件中,需发送特定指令来结束输入 环境要求 Python版本 teelebot 只支持 Python3.x,不支持Python2.x。 本项目在 Python 3.5 及以上版本测试通过。 安装 pip install teelebot 升级 使用 一行命令启动 (Polling Mode) 此命令会自动生成在Polling模式下适用的配置文件,但仍需手动配置插件路径。 一、运行模式 teelebot 支持以 Webhook 模式和 Polling 模式运行。生产环境推荐使用 Webhook 模式,而 Polling 则仅用于开发环境。 1、Webhook 模式 要以 Webhook 模式运行,请将配置文件字段 webhook 设置为 True ,此模式涉及的配置文件字段如下: [config] webhook=True self_signed=False cert_key=your private cert path cert_pub=your public cert path server_address=your server ip address or domain server_port=your server port local_address=webhook local address local_port=webhook local port self_signed 用于设置是否使用自签名证书,而 cert_key 和 cert_pub 则是你的证书路径(绝对路径),server_address 为你的服务器公网IP, server_port 为服务器的端口(目前 telegram 官方仅支持 443, 80, 88, 8443),local_address 为Webhook 本地监听地址, local_port 为 Webhook 本地运行的端口。 推荐搭配 nginx 使用,自签名证书生成请参考:Generating a self-signed certificate pair...

    2020年5月21日
    1 978 2