From a6da2c3f72c2795c33a6ff4321ffd36c38ba3ad4 Mon Sep 17 00:00:00 2001 From: xtaodada Date: Tue, 22 Jun 2021 09:37:06 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Add=20archlinux.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- _coverpage.md | 2 +- _sidebar.md | 3 +- archlinux.md | 168 +++++++++++++++++++++++++++++++++++++++++++++ pagermaid-logo.png | Bin 0 -> 18962 bytes 5 files changed, 172 insertions(+), 3 deletions(-) create mode 100644 archlinux.md create mode 100644 pagermaid-logo.png diff --git a/README.md b/README.md index 2ac1a54..82f4446 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Pagermaid-modify 是一个开源的 Telegram 人形自走 Bot 方案,功能强 本 Wiki 主要详细说明搭建的流程和注意事项,以便各位用户依此搭建属于自己的 Userbot 。 -由于资金有限和部分依赖包的安装方便性,这里主要提供 `ubuntu 16.04` 的安装过程。(欢迎其他用户提供其他系统的搭建方法) +由于资金有限和部分依赖包的安装方便性,这里主要提供 `ubuntu 16.04` 和 `Archlinux` 的安装过程。(欢迎其他用户提供其他系统的搭建方法) ## 手动搭建 diff --git a/_coverpage.md b/_coverpage.md index 4954322..b70f2f3 100644 --- a/_coverpage.md +++ b/_coverpage.md @@ -1,6 +1,6 @@ -![logo](circle-cropped.png) +![logo](pagermaid-logo.png) # PagerMaid-Modify 1.0 diff --git a/_sidebar.md b/_sidebar.md index 574946a..4831268 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -2,4 +2,5 @@ * [开始](README) * 手动安装 - * [Ubuntu 16.04](ubuntu) \ No newline at end of file + * [Ubuntu 16.04](ubuntu) + * [Archlinux](archlinux) \ No newline at end of file diff --git a/archlinux.md b/archlinux.md new file mode 100644 index 0000000..62e600f --- /dev/null +++ b/archlinux.md @@ -0,0 +1,168 @@ +# Archlinux + +一个经典的国内家用 Linux 。 + +# 拉取项目 + +本项目托管在 `github` ,所以您首先需要检查您是否已经安装 `git` 软件包。并且我们发现当 `git` 软件包版本过低时,无法实现程序的自动更新,所以您需要首先升级 `git` 软件包: + +```bash +sudo pacman -S git +``` + +从仓库拉取项目 + +```bash +cd /var/lib && git clone https://github.com/xtaodada/PagerMaid-Modify.git pagermaid && cd pagermaid +``` + +# 安装软件包 + +## imagemagick + +?> 此软件包用于处理图片,如您没有图片处理需求,您可以无需安装此软件包。 + +```bash +sudo pacman -S imagemagick +``` + +## neofetch + +?> 此软件包用于显示系统信息,如您没有显示系统信息需求,您可以无需安装此软件包。 + +```bash +sudo pacman -S neofetch +``` + +## zbar + +?> 此软件包用于处理二维码信息,如您没有处理二维码信息需求,您可以无需安装此软件包。 + +```bash +sudo pacman -S zbar +``` + +## tesseract + +?> 此软件包用于图片光学字符识别,如你没有处理此方面的需求,你可以无需安装此软件包。 + +### 安装英文和中文数据包 + +```bash +sudo pacman -S tesseract tesseract-data-eng tesseract-data-chi_sim +``` + +## Redis + +?> 此软件包用于记录信息,以方便软件重启后仍然可以进行上一次未完成的任务,你也可以无需安装此软件包。 + +```bash +sudo pacman -S redis +``` + +# 安装依赖包 + +```bash +pip3 install -r requirements.txt +``` + +# 修改配置文件 + +将配置 `config.gen.yml` 文件复制一份并且命名为 `config.yml` + +```bash +cp config.gen.yml config.yml +``` + +然后去 [telegram 官网](https://my.telegram.org/) 生成 api 填入配置文件内,我们只需要复制 `api id` 和 `api_hash` 值 填入 `api_key` 和 `api_hash` 。 + +```bash +vi config.yml +``` + +> 按 i 进入编辑模式,粘贴好后,按下 esc 输入 shift 加冒号,输入 wq 保存退出 + +## 代理配置 + +此篇文章已经假设您已经安装 clash 等代理工具,举例端口为 7890 ,实际使用请按需替换。 + +### socks5 + +```bash +proxy_addr: "127.0.0.1" +proxy_port: "7890" +``` + +### http + +```bash +http_addr: "127.0.0.1" +http_port: "7890" +``` + +### MTProto + +```bash +mtp_addr: "127.0.0.1" +mtp_port: "7890" +mtp_secret: "ddwqrwr892778whwee78789" +``` + +### GitSource + +此步是将安装插件的获取源文件更改为国内可以访问的反代源,但是可能因为 cdn 原因,插件更新不及时。 + +```bash +git_source: "https://raw.fastgit.org/Xtao-Labs/PagerMaid_Plugins/master/" +``` + +```bash +git_source: "https://cdn.jsdelivr.net/gh/Xtao-Labs/PagerMaid_Plugins/" +``` + +# 登录账号 + +```bash +python3 -m pagermaid +``` + +此步需要填入完整的电话号码(eg:`+12569986522`)然后 tg 会发给你的其他客户端发送验证码,填入验证码后,回车,如有两步验证密码,则再输入两步验证密码即可。 + +停止运行: + +```bash +ctrl + c +``` + +有时(或大部分时间),当您在服务器部署 `PagerMaid-Modify` 时,登录会有问题,当出现了问题,请在应用程序的配置步骤配置唯一的 `api_key` 和 `api_hash` ,然后在您的本地电脑上执行 `python3 utils/mksession.py` ,在账号登录成功以后,将生成的 `pagermaid.session` 文件复制到服务器对应目录即可。 + +!> 请注意保护好您已登录的 `pagermaid.session` 。此文件可以进行账号所有操作,请不要分享给他人使用。 + +# 进程守护 + +此步骤可以方便 `pagermaid` 的自动运行,您无需在 `pagermaid` 意外退出后重新登录主机进行操作。 + +```bash +cat <<'TEXT' > /etc/systemd/system/pagermaid.service +[Unit] +Description=PagerMaid-Modify telegram utility daemon +After=network.target + +[Install] +WantedBy=multi-user.target + +[Service] +Type=simple +WorkingDirectory=/var/lib/pagermaid +ExecStart=/usr/bin/python3 -m pagermaid +Restart=always +TEXT +``` + +# 常用指令 + +启动程序:`systemctl start pagermaid` + +设置为开机自启:`systemctl enable pagermaid` + +停止程序:`systemctl stop pagermaid` diff --git a/pagermaid-logo.png b/pagermaid-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..435271f811aab9a994e2a06e5f5bdffdeaa70c80 GIT binary patch literal 18962 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 I12Ks8A49vl2><{9 literal 0 HcmV?d00001