编译安装 python 3.9

环境 Ubuntu 20.04.1 LTS focal x86_64 下载 && 解压缩 wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz 解压xz文件需要软件包 xz-utils tar -Jxvf Python-3.9.0.tar.xz 编译 && 安装 cd Python-3.9.0 ./configure make make install 错误解决方法 No module named zlib 编译步骤中使用 ./configure --with-zlib pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 安装软件包 libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev

2020-10-09 11:02:14 · 1 min · 59 words · johnpoint

vps 登录推送

国内的云服务器大多数都自带了 ssh 登录提示功能,这个功能我觉得不错,但是在很多并没有深度定制系统镜像的云服务器服务商那里就没有远程登录提醒功能了,于是写了一个小脚本来实现远程登录就将登录信息推送至 telegram 的功能 文件名 00-ssh-login-alarm-telegram.sh (其实也可以自己自定义),将文件放在 /etc/profile.d 目录下。 #!/bin/bash #填入 telegram bot 的 token token= #填自己telegram的id id= #vps ip vpsip=$(curl -s ip.sb -4) #登录时间 logintime=$(TZ=UTC-8 date '+%Y-%m-%d %H:%M:%S') #远程登录的ip loginip=$(who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g') #ip归属asn组织名称 loginfrom=$(curl -s https://api.ip.sb/geoip/${loginip} | jq .asn_organization) curl -s "https://api.telegram.org/bot${token}/sendMessage?chat_id=${id}" --data-binary "&text=NewLogin:%0AVPS: ${vpsip}%0ATime: ${logintime}%0ALogin from:%0A${loginip}%0A${loginfrom}" > /dev/null 因为用到了 jq 作为解析 json 的工具,所以需要在包管理器中自行安装。 使用效果: NewLogin: VPS: ***.***.***.*** Time: 2020-09-13 12:41:24 Login from: ***.***.***.*** "asn_organization" 脚本使用的 api 来自 ip.sb ...

2020-09-13 13:10:21 · 1 min · 153 words · johnpoint

liunx jetbrains 软件输入中文

首先你得有中文输入法 在启动脚本 /PATH/bin/xxx.sh 上面添加一行 export LC_ALL=zh_CN.UTF-8

2020-06-13 00:00:00 · 1 min · 6 words · johnpoint

git 同步上游代码

git remote add upstream 上游地址 git fetch upstream git checkout master git merge upstream/master git merge upstream/master git push origin master Github:syncing a fork

2020-05-31 21:30:37 · 1 min · 24 words · johnpoint

Telegram spammer 二三事

从几年前开始使用 Telegram 开始,即使身边的人大部分都在使用微信但 Telegram 一直就是我首选的即时通讯软件,就是因为 Telegram 的整体感觉比微信更加像是一个即时通讯软件,并且 Telegram 开放的 bot api 让我一陷进去就无法自拔。 今天就简单的写一写在我记忆里面的 Telegram 中文使用者群体里面所见到的 spammer 以及反 spammer 的一些事情。 spammer 分类 截至到目前,我所见过的广告帐号主要分为以下几类 色情 色情频道推广 色情 GIF/图片 分发机器人,带频道推广 私聊问你要不要拍一些色图 卖东西 卖高仿鞋 黑产 各种涨粉 个人信息售卖 四件套 实体储蓄卡+身份证+手机卡+U盾(取款密码+网银登录密码 售卖(四件套解释-知乎) 出售科学上网工具 出售各种帐号(twitter,facebook,微博) 三网数据 币圈 拉人 推荐各种币 传教 法轮功 Arch神教 外语 各种看不懂的语言 spammer 行为分类 公开群类 进群发送一些无意义的问好的消息,并且展露自己的广告iID 进群不说话,但是会私聊群成员进行推广 进群后发送转发的频道的消息 私聊类 会先了解你是不是中国人,然后假装是一个对中国很有兴趣的外国人,然后就会宣传法轮功 拉群类 会将你拉进一些莫名其妙的群里面,一般以币圈的群居多 爆破类 进群就批量发送 spam 消息,刷屏来进行爆破骚扰 spammer 等级区分 反 spam 史 这一步部分虽然美其名曰 史 但是这些阶段并没有什么明显的分界线,目前来看这几个方案都是并存的状态,这几个方案及其项目目前的活跃程度不一,但在笔者有限的视野里面也的确有在运行。 第一阶段 - 手动处理 一开始也是处理 spammer 比较原始的方式,就是利用 telegram 的比较完善的群组管理的功能进行广告内容的清理,同时因为能够清除成员发送的所有消息,所以其实效果还不错(在有管理员在线的情况下) ...

2020-05-28 17:20:00 · 1 min · 156 words · johnpoint

博客主题更新 && 一些碎碎念

好久没有更新博客啦,上来写点碎碎念 ...

2020-04-19 18:26:57 · 1 min · 141 words · johnpoint

Notion:好用的现代笔记软件

2020年的春节是我过得最“憋屈”的一次春节,整整一个月我除了必要的出门以外从大年初一开始我就一直待在了家里,更令我觉得“绝望”的是因为疫情原因我还没法回学校。。。 0 而理所当然的我也加入了网课大军,而记笔记成了我的一个难题,因为如果利用纸质笔记本来进行笔记的工作,那么在电脑屏幕上面显示的内容就需要我手抄 (我才不是懒) ,会有点割裂,所以我一直在寻找一个令我满意的笔记软件,当然,国内的公司我是不怎么考虑的了,因为我还想做一些网页存档。so,我在前些时候发了 一篇文章 ,简要的体验了一下 “开源拖拉机” joplin ,有一说一 joplin 的使用体验真的只是仅仅能用的级别,长期使用下还是不能做到体验顺滑。 1 接下来我就去体验了一下大名鼎鼎的巨硬出的 OneNote ,使用体验的确十分惊艳,其中文字图片混排的使用方式其实很适合上课的笔记,但是为什么我后来也放弃了 OneNote 呢,原因就在于我是个实打实的跨平台用户,从 windows 到 安卓 到 Linux,都是我比较主要使用的操作系统,OneNote 的客户端功能不统一的弊端就出现了,而且情况十分严重,web、移动端、win10 PWA 版和 office 2016版这四个版本的客户端其中的功能 都 不 一 样,就很气,所以使用体验就比 joplin 还要割裂,最后忍无可忍就放弃了 OneNote。 最后我只能把我的视线投向了目前还很火的 Notion,用 EDU 教育邮箱注册可以获得永久的免费个人订阅。 2 入坑,简单的试了下发现还不赖,排版功能虽然说没有 OneNote 那种几乎无限制的容器布局,但是 Notion 的块布局也相对比较自由,排版功能已经满足了我,页面套娃功能也非常不错,页面层级理论上来说可以是无限的。 值得着重讲下的就是 Notion 自带的数据库功能,其实就是将表格抽象成数据库,并且可以让数据库在几种不同的视图中来回切换,我简单的利用他这个功能做了个订阅服务续费管理的数据库 上图就是我做的一个小工具,在临近续费期的时候他最前面一格就会标红,代码也很简单 if(prop("周期") == "月付", if(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days") <= 10, "🔴 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days")) + " 天", "🔵 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days")) + " 天"), if(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days") <= 10, "🔴 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days")) + " 天", "🔵 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days")) + " 天")) 这就是 Notion 其中一个让我用起来很舒服的功能,就是你可以用简单的逻辑语句做出一些自己想要的小功能。 ...

2020-03-23 11:30:30 · 1 min · 124 words · johnpoint

Notion:好用的现代笔记软件

2020年的春节是我过得最“憋屈”的一次春节,整整一个月我除了必要的出门以外从大年初一开始我就一直待在了家里,更令我觉得“绝望”的是因为疫情原因我还没法回学校。。。 0 而理所当然的我也加入了网课大军,而记笔记成了我的一个难题,因为如果利用纸质笔记本来进行笔记的工作,那么在电脑屏幕上面显示的内容就需要我手抄 (我才不是懒) ,会有点割裂,所以我一直在寻找一个令我满意的笔记软件,当然,国内的公司我是不怎么考虑的了,因为我还想做一些网页存档。so,我在前些时候发了 一篇文章 ,简要的体验了一下 “开源拖拉机” joplin ,有一说一 joplin 的使用体验真的只是仅仅能用的级别,长期使用下还是不能做到体验顺滑。 1 接下来我就去体验了一下大名鼎鼎的巨硬出的 OneNote ,使用体验的确十分惊艳,其中文字图片混排的使用方式其实很适合上课的笔记,但是为什么我后来也放弃了 OneNote 呢,原因就在于我是个实打实的跨平台用户,从 windows 到 安卓 到 Linux,都是我比较主要使用的操作系统,OneNote 的客户端功能不统一的弊端就出现了,而且情况十分严重,web、移动端、win10 PWA 版和 office 2016版这四个版本的客户端其中的功能 都 不 一 样,就很气,所以使用体验就比 joplin 还要割裂,最后忍无可忍就放弃了 OneNote。 最后我只能把我的视线投向了目前还很火的 Notion,用 EDU 教育邮箱注册可以获得永久的免费个人订阅。 2 入坑,简单的试了下发现还不赖,排版功能虽然说没有 OneNote 那种几乎无限制的容器布局,但是 Notion 的块布局也相对比较自由,排版功能已经满足了我,页面套娃功能也非常不错,页面层级理论上来说可以是无限的。 值得着重讲下的就是 Notion 自带的数据库功能,其实就是将表格抽象成数据库,并且可以让数据库在几种不同的视图中来回切换,我简单的利用他这个功能做了个订阅服务续费管理的数据库 上图就是我做的一个小工具,在临近续费期的时候他最前面一格就会标红,代码也很简单 if(prop("周期") == "月付", if(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days") <= 10, "🔴 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days")) + " 天", "🔵 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "months"), now(), "days")) + " 天"), if(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days") <= 10, "🔴 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days")) + " 天", "🔵 还有 " + format(dateBetween(dateAdd(prop("上次付款"), 1, "years"), now(), "days")) + " 天")) 这就是 Notion 其中一个让我用起来很舒服的功能,就是你可以用简单的逻辑语句做出一些自己想要的小功能。 ...

2020-03-23 11:30:30 · 1 min · 124 words · johnpoint