撸了微软的E5开发者账号,但时间只有90天,要想长期使用就得手动续期,但是哪有那个时间来续期,于是就找到了这个项目来部署,但是项目的文档和一些教程都写的不清不楚,很是复杂,于是在自己的搭建过程中写了这篇教程,希望帮助到大家。有任何问题欢迎进博客群提出点击进入博客TG群

本文是基于作者SundayRX提出的E5 调用API续订服务:Microsoft 365 E5 Renew X的基础上提出的Docker版本的E5调用API续订服务。

本文主要是让小白轻松部署自己的E5续订服务。

一、安装docker

复制以下代码到ssh终端安装docker

curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

chmod +x /usr/local/bin/docker-compose

二、拉取并部署项目

在安装好docker后就需要拉取Microsoft 365 E5 Renew X项目进行安装部署啦

docker pull hanhongyong/ms365-e5-renew-x:latest

三、新建配置文件

在你想要新建的路径下建立【Deploy】文件夹,在【Deploy】文件夹里新建【Config.xml】配置文件,修改你想要修改的端口管理员密码

sudo mkdir /Deploy
sudo touch /Deploy/Config.xml
sudo sh -c "cat > /Deploy/Config.xml << EOF
<?xml version="1.0" encoding="utf-8" ?>
<Configuration>
    <!--站点服务器基本配置-->
    <Serivce>
        <!--服务访问端口-->
        <Port>1066</Port>
        <!--管理员密码(管理员登录路由/Admin/Login) 重要:首次启动前必须更改-->
        <LoginPassword>123456</LoginPassword>
        <!--是否启用内核多线程支持-->
        <CoreMultiThread>true</CoreMultiThread>
        <!--网站备案号(选填)-->
        <ICP></ICP>
        <!--备案管理查询机构跳转链接(选填)-->
        <ICPLink>https://beian.miit.gov.cn</ICPLink>
    </Serivce>
    <!--站点Kestrel服务器HTTPS配置 (只支持IIS证书类型 即PFX格式的证书)-->
    <HTTPS>
        <!--Kestrel是否启用HTTPS(SSL加密传输)-->
        <Enable>false</Enable>
        <!--SSL证书文件名 (需要将PFX格式的SSL证书放置于该配置文件的同级目录Deploy文件夹下) 如e5.sundayrx.net.pfx-->
        <!--不填则默认使用Dev localhost 本地证书-->
        <Certificate></Certificate>
        <!--SSL证书密钥(PFX证书的访问密钥)-->
        <Password></Password>
    </HTTPS>
    <!--共享站点配置,不共享可无视以下内容 (若要共享站点 请自备以下所需的配置信息 且配置中HTTPS必须启用)-->
    <ShareSite>
        <!--是否启用站点共享-->
        <Enable>false</Enable>
        <!--SMTP邮件发送支持-->
        <SMTP>
            <!--发件邮箱-->
            <Email></Email>
            <!--邮箱密钥-->
            <Password></Password>
            <!--SMTP服务器地址-->
            <Host>smtp.163.com</Host>
        </SMTP>
        <!--第三方OAuth登录支持(至少启用以下一种OAuth否则其他用户无法注册)-->
        <OAuth>
            <!--微软登录授权-->
            <Microsoft>
                <!--是否启用该OAuth-->
                <Enable>false</Enable>
                <!--应用程序Id-->
                <ClientId></ClientId>
                <!--应用程序访问机密-->
                <ClientSecret></ClientSecret>
            </Microsoft>
            <!--GitHub登录授权-->
            <Github>
                <!--是否启用该OAuth-->
                <Enable>false</Enable>
                <!--应用程序Id-->
                <ClientId></ClientId>
                <!--应用程序访问机密-->
                <ClientSecret></ClientSecret>
            </Github>
        </OAuth>
        <!--站点系统设置-->
        <System>
            <!--站点启动后默认是否允许用户注册 建议为false-->
            <AllowRegister>false</AllowRegister>
            <!--站点启动后默认公告(换行符请使用 &#x000D;&#x000A; 进行换行)-->
            <Notice></Notice>
            <!--站点运营者-->
            <Master></Master>
            <!--站点运营者推广链接-->
            <MasterLink></MasterLink>
            <!--站点新用户默认配额数-->
            <DefaultQuota>1</DefaultQuota>
            <!--站点自动特赦时间间隔 (单位:天 至少30天)-->
            <AutoSpecialPardonInterval>30</AutoSpecialPardonInterval>
        </System>
    </ShareSite>
</Configuration>
EOF"

四、运行Microsoft 365 E5 Renew X项目

在ssh终端输入以下代码运行项目,访问后台的地址为:ip:1066;管理员密码:123456,当然这是在没有更改配置的情况下。

docker run -d -p 1066:1066 -v /root/Deploy:/app/Deploy -e TZ=Asia/Shanghai  --name e5  hanhongyong/ms365-e5-renew-x:latest

其中-p为暴露服务器的端口(前面的1066,可以自行修改)和暴露容器的端口(后面的1066,可以自行修改,这个端口是在Config.xml中指定的开放的端口);-v为数据卷的挂载,前面的Deploy指的是服务器中的Deploy文件夹(可以修改,但是必须是绝对路径),/app/Deploy指的是容器内的文件夹(不能修改);-e TZ=Asia/Shanghai: 设置容器内的时区为亚洲/上海;–name为容器的名字。

五、注册Azure应用程序

点击注册教程进入csdn查看注册流程,这里我就不写了。

六、设置API权限

由于登录方式授权的权限需求太多了,一个个找太费事了,下载Microsoft365_E5_Renew_Plus电脑客户端进行设置【自动配置应用程序API权限】成功后再在网页后台操作即可。
2023-02-23T12:18:41.png

七、关闭账号双重验证

如图所示,在电脑客户端点击这几个按钮,进入相关设置页面把安全验证关闭【属性-管理安全默认值-否】,否则会导致网页不能进行正常续签。
2023-02-23T12:21:59.png

写在最后

docker相关命令:
重启容器:docker restart e5
停止容器:docker stop e5
删除容器:docker rm e5容器id
开机启动:docker update --restart=always e5
关闭:docker update --restart=no e5