在馒头,我被 ban 了两个账号了,甚是可惜。最近又拿到邀请,成功入站,决心认真一点对待。40天未登录就ban账号的规则说实话还是有点严格,但是没办法,得遵循他们的规则

馒头考核-已达标

打算写代码自动模拟登录的,但是稍许有些麻烦。网上搜了一下也有现成的模拟登录的项目,但看上去部署太复杂,就没有兴趣阅读下去了。

发现可以利用 cron 和 curl 直接模拟登录,借用 chrome dev tool 的 copy request as curl(bash) 功能,可以把整个请求包含 cookie 复制下来,方便通过 curl 调用。

copy as curl

写一个 bash 脚本,cron 执行访问馒头的 userdetail 页面。

脚本位置 /home/dk/temp/mteam.sh, cron 内容, 意思是每周五的上午11点执行一次,并把日志输出到 /home/dk/temp/mteam-login-logs 目录下的 log 文件里,文件名举例: 2023-02-21_14-27-26.log

cron 内容

0 11 * * 5 bash /home/dk/temp/mteam.sh >/home/dk/temp/mteam-login-logs/$(date +%Y-%m-%d_%H-%M-%S).log

mteam.sh 脚本本身内容(已打码)

#!/bin/bash

set -e

curl 'https://kp.m-team.cc/userdetails.php?id=xxxxxx' \
  -H 'authority: kp.m-team.cc' \
  -H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
  -H 'accept-language: zh,zh-CN;q=0.9,en-US;q=0.8,en;q=0.7' \
  -H 'cache-control: no-cache' \
  -H 'cookie: tp=xxxxxx; cf_clearance=xxxxxx' \
  -H 'dnt: 1' \
  -H 'pragma: no-cache' \
  -H 'sec-ch-ua: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "Windows"' \
  -H 'sec-fetch-dest: document' \
  -H 'sec-fetch-mode: navigate' \
  -H 'sec-fetch-site: none' \
  -H 'sec-fetch-user: ?1' \
  -H 'upgrade-insecure-requests: 1' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36' \
  --compressed

查看生成的 log 文件,请求之后返回了一个完整的 html 静态页面

20230222140724

关于 Mattermost 服务端的安装搭建在此不做赘述,如果有朋友需要经验可以留言评论。我使用的是官方的 Dockerfile 构建并运行的。主程序 Dockerfile 位于 app/Dockerfile,mm 官方 GitHub 仓库地址: https://github.com/mattermost/mattermost-server

FROM alpine:3.10

# Some ENV variables
ENV PATH="/mattermost/bin:${PATH}"
ENV MM_INSTALL_TYPE=docker

# Build argument to set Mattermost edition
ARG edition=enterprise
ARG PUID=1002
ARG PGID=1003
ARG MM_BINARY=
#ARG MM_VERSION=5.37.9
ARG MM_VERSION=7.8.0


# Install some needed packages
RUN apk add --no-cache \
        ca-certificates \
        curl \
        jq \
        libc6-compat \
        libffi-dev \
        libcap \
        linux-headers \
        mailcap \
        netcat-openbsd \
        xmlsec-dev \
        tzdata \
        && rm -rf /tmp/*

# Get Mattermost
RUN mkdir -p /mattermost/data /mattermost/plugins /mattermost/client/plugins \
        && if [ ! -z "$MM_BINARY" ]; then curl $MM_BINARY | tar -xvz ; \
                elif [ "$edition" = "team" ] ; then curl https://releases.mattermost.com/$MM_VERSION/mattermost-team-$MM_VERSION-linux-amd64.tar.gz?src=docker-app | tar -xvz ; \
                else curl https://releases.mattermost.com/$MM_VERSION/mattermost-$MM_VERSION-linux-amd64.tar.gz?src=docker-app | tar -xvz ; fi \
        && cp /mattermost/config/config.json /config.json.save \
        && rm -rf /mattermost/config/config.json \
        && addgroup -g ${PGID} mattermost \
        && adduser -D -u ${PUID} -G mattermost -h /mattermost -D mattermost \
        && chown -R mattermost:mattermost /mattermost /config.json.save /mattermost/plugins /mattermost/client/plugins \
        && setcap cap_net_bind_service=+ep /mattermost/bin/mattermost

USER mattermost

#Healthcheck to make sure container is ready
HEALTHCHECK CMD curl --fail http://localhost:8000 || exit 1

# Configure entrypoint and command
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
WORKDIR /mattermost
CMD ["mattermost"]

# Expose port 8000 of the container
EXPOSE 8000

# Declare volumes for mount point directories
VOLUME ["/mattermost/data", "/mattermost/logs", "/mattermost/config", "/mattermost/plugins", "/mattermost/client/plugins"]

修改 MM_VERSION 为 7.8.0 之后发现卡在了 # Get Mattermost 的步骤,原因是与官方的服务器网络不通畅,下载速度特别慢,还容易丢失连接。

curl https://releases.mattermost.com/$MM_VERSION/mattermost-$MM_VERSION-linux-amd64.tar.gz?src=docker-app | tar -xvz

将此压缩包下载到本地, https://releases.mattermost.com/7.8.0/mattermost-7.8.0-linux-amd64.tar.gz?src=docker-app

然后上传到我的 Seafile,生成分享链接后通过 curl 获取文件直链,参考文章 获取 seafile 分享的文件直链 ,再更改 Dockerfile,就可以很快的 docker-compose build 了。

当时用 curl/wget -O mattermost-7.8.0-linux-amd64.tar.gz 都没有成功,拿到文件直链轻松解决。 https://emby.940304.xyz:23399/seafhttp/files/ac915dbb-14b7-4815-80c9-2d989f1830a2/mattermost-7.8.0-linux-amd64.tar.gz.tar

更新 mattermost 版本

mattermost 7.8.0

创建一个带有效期的分享文件的链接,比如 http://192.168.1.29:8088/f/266c337aab4c40598023/

点击即下载的直链是 http://192.168.1.29:8088/f/266c337aab4c40598023/?dl=1

但这些都还需要 js 运行后下载器才能获取到文件的直链。之前更新 Mattermost 后端需要下载最新版的 mm 压缩包程序,由于官网太慢,我就下载到了本地然后通过公网的 seafile 分享了个链接,试图修改 Dockerfile 让 curl 直接下载文件,最终找到了文件直链。

$ curl -vv http://192.168.1.29:8088/f/266c337aab4c40598023/?dl=1
*   Trying 192.168.1.29...
* TCP_NODELAY set
* Connected to 192.168.1.29 (192.168.1.29) port 8088 (#0)
> GET /f/266c337aab4c40598023/?dl=1 HTTP/1.1
> Host: 192.168.1.29:8088
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: nginx/1.18.0 (Ubuntu)
< Date: Wed, 22 Feb 2023 01:46:28 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Location: http://192.168.1.29:8088/seafhttp/files/ab1a6620-1623-41e2-8838-3920199694e3/Snipaste_2022-06-09_11-02-04.png
< Vary: Cookie, Accept-Language
< Content-Language: en
< Set-Cookie: sfcsrftoken=FoZm3c677QZ3S99XuZe17Wl8wivMUBafSYH02DMBxFTsZcq7V4o5IMCxHzteWfr0; expires=Wed, 21 Feb 2024 01:46:28 GMT; Max-Age=31449600; Path=/; SameSite=Lax
<
* Curl_http_done: called premature == 0
* Connection #0 to host 192.168.1.29 left intact

可以看到 curl 之后 HTTP/1.1 302 Found,目标路径 location 是 http://192.168.1.29:8088/seafhttp/files/ab1a6620-1623-41e2-8838-3920199694e3/Snipaste_2022-06-09_11-02-04.png,这个就是文件直链。但在有效期过了之后文件直链便不可访问了。

原文来自 https://bbs.hupu.com/57127414.html


JR们,普通人的生活,就是这么艰难吗由消失的那三年 发表在步行街主干道
原谅我注册小号来发这篇帖子,有些心里话,就用流水账来释放一下吧,有点长希望有人能看完。

我是91年生人,今年已经31了,但是看起来显年轻,像刚毕业一两年的大学生。其实好几年前我就开始刻意把自己打扮得老成一点,基本都穿深色衣服,白头发很多也不染发,甚至平时也故意装作深沉。希望这样在工作时能够更受重视,在社交时能够更平等。

14年毕业之后,在武汉工作了两年,每个月3000块,期间遇到了初恋,16年她出国了我被分手。于是冲动之下去了深圳,一个月6000块,工作了一年除了给家里转了一万,自己一分钱没留下。这才发现,即使在遍地黄金的深圳,我依然是属于赚不到钱的那种人。

17年又只身一人去了北京,找了三个月工作才进了一家金融公司上班,月薪翻了一倍,期间遇到了第二个女朋友。结果上班一年后,我因为炒币不仅一分钱没剩下,还落下十多万的负债,为了不让家里人担心,我至今都没有提过这件事。女朋友没有选择离开我,反而一直鼓励我,这段感情让我怀念至今。

19年进了教培行业,月薪又涨了点,工作强度很大,为了还债我任劳任怨。期间带女朋友回了一趟武汉,见了父母,一家人出门旅游了一趟,大家都很开心。来回开车七八个小时,我爸一个人开的,回家他不太舒服,在家躺了两天才恢复。回北京后我开始默默盘算结婚的事情,可是看着计算器上的数字,我开始对自己产生质疑:我是一个值得托付的人吗?

19年底疫情爆发,我留在北京,没有回武汉过年。

20年涨薪了,这一年钱包余额终于变成了正数。但最终我们还是分手了,这时我已经毕业6年了,身上只有两三万的存款,20万的彩礼+房子首付+结婚费用,是我想都不敢想的数字。

11月份,我接到妈妈的电话,整个人都懵了,时隔7年,经过多次复查,我爸居然胃癌复发了。给主治医生打电话的时候,第一句话还没说出口,我就已经忍不住哭出声来了。听医生亲口告诉我他只剩半年时间,我在角落坐了半个小时才缓过神来。晚上躺在卧铺车上,回想起这些年的点点滴滴,眼泪控制不住的往下流。回家第一件事,是他拉着我们去拍了套全家福。

我爸是个客车司机,开了一辈子车,也没能给自己买一辆私家车。查出病情以后,表哥把车借给他过过瘾,有时候我回武汉,他就开着车带我去没人的路段练车。我想起小时候指着马路上的车问他,这是什么牌子,他告诉我这是凌志,日本车豪车。我回答说长大赚钱了一定给你买一辆。我打开虎扑,开始搜预算之内的车型,跟他说想买辆轩逸开,一家人出去自驾游。他说花那钱干什么,先买房结婚,结婚了再买个好车一步到位。

于是我开始看房,身上算上公积金只有15万,我妈拉着我的手说,家里没能力帮我,积蓄要给我爸治病,最新的抗癌针一针1万9,一个月就要打一针。我说要不先治病吧,房子以后再说。她说已经没办法了,现在只图不留遗憾。我四处借了四十多万上了车,办好手续那天,我爸气色看起来都好一些了。住了几十年老破小,到我这辈终于在武汉扎了根。

20年过年,一家四口终于在一起开开心心吃了一顿年夜饭,也是最后一顿。

21年跳槽了薪资涨了一截,可以外派到湖南长期出差,离武汉很近周末没事能回去陪陪爸妈。这年我姐出嫁了,看着我爸开心的样子,我有点后悔分手了。

7月份双减出台,我开始提心吊胆,看着负债和房贷,安慰自己一切都会好起来,在家人面前我还是只字未提。月底姐姐流产了,爸爸的精气神一下子就垮了,本来想熬到看一眼孙子,结果也没能如愿。

8月份他身体状况越来越差,有天晚上他在群里发了张一万块的保单,我问这是干啥,他说是买的人寿险,以后你帮你妈取一下她不懂这个。没过多久我接到家里电话说情况不太好,于是请假回家,我爸见到我第一句就是你回来干什么,我现在好好的,工作要紧。这时他已经卧床不起了,连大便都需要人看着免得摔倒。我在床边守了两天,喂他喝水,帮他排尿。不自觉想起二十年前病床上的爷爷,那时我也守在床边,一听到他哼唧就起身拿痰盂帮他导尿,他是食道癌去世的。两天后,爸爸也走了。我觉得生活不过如此,有时候走在马路上都不看路,车开过来都不想躲。

9月份买的房子传出了烂尾的消息,监管资金被掏空,交房遥遥无期。

21年过年回家相亲,遇到了第三个女孩,各方面都挺合适,很会为人着想也不物质,我以为终于遇到了真爱。可是业务调整我调回了北京,只能抽空回武汉找她,疫情反复,还因为密接被隔离过。我们见面虽然少,感情却越来越好。5月份被裁员,找工作很困难,整个人很消沉,跟她的交流也少了,我又开始问自己真的是一个值得托付的人吗?有一天她问我,跟她在一起是因为喜欢,还是因为合适。我愣住了,30岁了,喜欢和合适的界限变的很模糊,不再只受荷尔蒙的支配,我一定是爱她的,但一定不只是因为爱。不久她提了分手,果断而决绝。我打包好东西回武汉,试图挽回她,她一句话让我收起了卑微:你比我大好几岁,但我有时候还要反过来照顾你。

回武汉还了一半债务,余额又变成了负数。好久才找到一份工作,薪资是上一份的零头,甚至又变回了最基础的专员岗。我再一次对自己产生质疑:我这些年,究竟在做些什么?事业上、感情上、生活上,始终摆脱不了稚气,努力了这么多年,一直落后于同龄人,甚至被一些毕业没两年的年轻人甩在身后。

都说人的成长是接受父母的平凡,接受自己的平凡,接受孩子的平凡。

我从小都是人群里的普通人,不算聪明,成绩中等,考了二本,工作一般,没有冲劲,不会赚钱,嘴皮子笨。但我一直是我爸眼里的希望,我踏实学习不鬼混,我是村里第一个大学生,我在北京大公司工作。

也许在他眼里我一定会闯出名堂吧,不知道他走时带着多少个遗憾。

可是我自己清楚,30岁的年纪,25岁的皮囊,20岁的灵魂。我的性格决定,我一定不是一个强者。即使人生在世,事业上、感情上,就需要你成为强者。

我接受了自己的平凡,可是平凡的人啊,路要怎么走呢。

原帖地址: https://www.v2ex.com/t/902854

两张图

24岁焦虑1

24岁焦虑2

26 楼被折叠的超长回复原文如下

那我们四川话说叫焦虑个锤子。我也觉得身边的人都比我混得好,男同胞买了房车,几乎都有女朋友或已婚了,女同胞也结婚生子了。

实际聊过天才知道,房车是父母赞助的首付,每个月都要还房贷,压力也不小,特别是疫情的背景下,甚至跑去银行这类稳定的地方去了。还说以后打算考公务员,但四川省会的公务员难度可想而知。

结婚生子的人,聊天中得知,自从生了娃后,生活质量直线下降。虽然这个朋友是女生,但她说整天带娃忙不过来,完全没时间做自己想做的事,,诗和远方早已荡然无存。整日都是材米油盐,小孩的屎尿屁。

但如果不经过了解详谈,只看他们朋友圈,就会觉得他们很幸福。他们溜娃,我没有。七夕和对象吃饭,我没有。他们装修房子,我没有。他们开车自驾游,我没有。

每个人都有烦恼,你看其他人觉得他们过得好,那都是表面的。我虽然一无所有,但他们还羡慕我自由,了无牵挂呢。

过好自己的生活吧。少看社交网社交软件。因为人们只会把自己最好的一面展示出来。

最后,送你一首诗:

纽约时间比加州时间早三个小时,

但加州时间并没有变慢。

有人 22 岁就毕业了,

但等了五年才找到好的工作!

有人 25 岁就当上 CEO ,

却在 50 岁去世。

也有人迟到 50 岁才当上 CEO ,

然后活到 90 岁。

有人依然单身,

同时也有人已婚。

奥巴马 55 岁就退休,

川普 70 岁才开始当总统。

世上每个人本来就有自己的发展时区。

身边有些人看似走在你前面,

也有人看似走在你后面。

但其实每个人在自己的时区有自己的步程。

不用嫉妒或嘲笑他们。

他们都在自己的时区里,你也是!

生命就是等待正确的行动时机。

所以,放轻松。

你没有落后。

你没有领先。

在命运为你安排的属于自己的时区里,一切都准时。