原文地址:https://juejin.im/post/6844904083694813192
主要添加了自己在部署过程中出现的问题,提供了相应的解决方案,关于内网如何部署ArtiPub的相关记录
一文多发神器--ArtiPub&OpenWrite
网上冲浪的时候,发现一篇文章,「群晖搭建ArtiPub – 一款开源的一文多发平台」,才发现我想要的一文多发软件早就有了。
一文多发
所谓一文多发,就是把一篇文章同时发布到多个平台。
之前写文章,除了发布到自己的博客,还会同步到知乎专栏、CSDN 和简书上。刚开始还好,后面写的多了,每次都要复制粘贴,调整格式,觉得重复性工作太多。
然后就想,要是有一个工具,能同时把文章发布到所有平台该多好啊。偶然看到了开头说到的那篇文章,才知道把文章同时发布到不同平台的专业说法叫一文多发
。
顺着这个搜索了一下,发现除了 「ArtiPub」,还有 「OpenWrite」。
ArtiPub
截止到写本文时,ArtiPub 的 stat 数已经到 1.7k 了。
ArtiPub (Article Publisher的简称,意为"文章发布者")是一款开源的一文多发平台,可以帮助文章作者将编写好的文章自动发布到掘金、SegmentFault、CSDN、知乎、开源中国等技术媒体平台,传播优质知识,获取最大的曝光度。
目前支持以下平台:
- 掘金
- SegmentFault
- CSDN
- 简书
- 知乎
- 开源中国
- 今日头条
- 博客园
ArtiPub 提供了三种安装方式,我这里介绍一下在 CentOS 下以 Docker 方式安装,如果你没有 MongoDB,那么这种方式应该是相对简单的。
1、安装 Docker
参考我之前的文章「Docker环境搭建(CentOS篇)」。
2、安装 Docker Compose
执行下面命令,下载 Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
更快速的安装方式为下面,且是最新版
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
上面安装完成后,执行下面命令赋予权限:
sudo chmod +x /usr/local/bin/docker-compose
执行下面命令,验证 Docker Compose 是否安装成功:
docker-compose -v
显示 docker-compose version 1.27.4, build 8d51620a
表示安装成功。
3、安装 ArtiPub
这里有个坑,原作者官网的docker安装教程是会报错的,无法正常进行部署,这里使用第三方作者的docker镜像进行部署的,第三方作者的docker镜像仓库地址:https://hub.docker.com/r/gogobody/artipush
创建 docker-compose.yaml
,编辑文件,粘贴下面的内容:
这里暂时有问题
程序能够起来,并且测试过“SegmentFault”与“开源中国”能够正常发布,“简书”、“知乎”、“微信公众号”没有试过,“CSDN”、“V2ex”、“掘金”、“博客园”发布会错误。
version: '3.3'
services:
app:
image: "tikazyq/artipub:latest"
environment:
MONGO_HOST: "mongo"
ARTIPUB_API_ADDRESS: "http://localhost:3000" # 后端 API 地址,如果安装地址不在本机,请修改为协议 + 服务器 IP 地址 + 端口号(默认为 3000)
ports:
- "8000:8000" # frontend
- "3000:3000" # backend
depends_on:
- mongo
mongo:
image: mongo:latest
restart: always
ports:
- "27017:27017"
保存之后,执行下面的命令:
docker-compose up
等待下载和服务器启动之后,在浏览器输入 服务器 IP:8000 即可访问。
界面如下:
4、使用说明
- 点击"下载登陆助手",保存文件名为"artipub-helper.zip"。
- 在Chrome浏览器中输入chrome://extensions,并开启开发者模式(点击右上角)。
- 将下载的登陆助手文件artipub-helper.zip拖入浏览器中,浏览器将自动安装插件(如果不能拖拽,请刷新页面后重试)。
- 在使用登陆助手之前,请确保您的各个平台账号已经处于登陆状态。
- 右上角点击安装好的插件图标,点击"一键获取登陆信息",插件将获取所有平台的Cookie。
注意: 如果您的服务器没有部署在本机,请点击"扳手"按钮,输入服务器的IP地址+端口号(默认3000),然后再获取登陆信息。 - 到"平台管理"页面,点击"更新Cookie状态"(需要大约1分钟),然后查看"Cookie状态",确保其为"已导入"状态。
- 到"文章管理"页面,点击"发布",选择登陆方式为"Cookie",然后发布文章。
内网穿透进行部署
因为我在部署的时候是部署在自己实验室的服务器上的,而服务器是属于内网的,所以无法从公网ip进行访问,但是我们实验室通过一台公网机器为跳板搭建了隧道,可以将公网端口转发到内网端口。
首先通过ssh远程端口转发将公网的某一端口(如8000端口)转发到内网机器(你部署ArtiPub的奇迹)的8000端口上,这里用到的是ssh远程端口转发,这样你就可以通过 《公网ip》:8000
来访问前端你发表文章的页面,ssh端口转发详解这篇博客文章
但是这样会有个问题,因为部署的应用你在前端页面交互时会请求后台数据,而请求的地址为
ARTIPUB_API_ADDRESS: "localhost:3000" # 后端API地址,如果安装地址不在本机,请修改为服务器IP地址+端口号(默认为3000)
导致直接访问前端页面时,进行相关操作会请求这个地址,无法正常显示数据,所以也需要将 localhost:3000
地址转发到内网机器上去(你部署ArtiPub的服务器上),这里用的是ssh本地端口转发,同样关于ssh端口转发的问题可以看是上面说到的文章。
OpenWrite
官网:openwrite.cn
目前支持以下平台:
- SegmentFault 思否
- CSDN
- 掘金
- 博客园
- 简书
- 知乎
- 开源中国
- Spring4All
- 极术社区
- 今日头条
- 慕课手记
1、安装
无需安装服务端,直接在线使用。
2、使用说明
- 打开新的浏览器窗口,登录下方需要扩散的所有渠道
- 手动在各个渠道发布一篇文章,确保账号正常
- 下载插件:OpenWrite助手
- 点击右上角已安装的插件:OpenWrite助手,在插件里点击 "自动认证" 按钮
- 点击各渠道的 "配置" 按钮,设置文章发布时的默认信息
- 各渠道完成“配置”之后,点击 "启用" 按钮,开启需要扩散的渠道
我的选择
粗略体验之后,感觉两者的操作体验是类似的;发文逻辑也都是使用 cookie 调用各个平台的文章发布接口;且使用两者都可能导致知乎被封号,这个应该是知乎的封号策略导致的。
不同的地方在于,ArtiPub 是部署在自己服务器的,数据安全性有保证,且没有功能限制。
而 OpenWrite 使用的是第三方的服务器,数据安全性有待验证,且免费会员有部分功能限制。
本来是我准备使用 ArtiPub 的,但是考虑到有封号的风险,并且仅仅是批量发布文章,失去了平台社区的互动,感觉没有灵魂。
我很少在知乎上发文章,一般在博客园,csdn广告太多
本文由博客群发一文多发等运营工具平台 OpenWrite 发布