一文多发神器

原文地址:https://juejin.im/post/6844904083694813192

主要添加了自己在部署过程中出现的问题,提供了相应的解决方案,关于内网如何部署ArtiPub的相关记录

一文多发神器--ArtiPub&OpenWrite

网上冲浪的时候,发现一篇文章,「群晖搭建ArtiPub – 一款开源的一文多发平台」,才发现我想要的一文多发软件早就有了。

一文多发

所谓一文多发,就是把一篇文章同时发布到多个平台。

之前写文章,除了发布到自己的博客,还会同步到知乎专栏、CSDN 和简书上。刚开始还好,后面写的多了,每次都要复制粘贴,调整格式,觉得重复性工作太多。

然后就想,要是有一个工具,能同时把文章发布到所有平台该多好啊。偶然看到了开头说到的那篇文章,才知道把文章同时发布到不同平台的专业说法叫一文多发

顺着这个搜索了一下,发现除了 「ArtiPub」,还有 「OpenWrite」。

ArtiPub

项目地址:github.com/crawlab-tea…

截止到写本文时,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 即可访问。

界面如下:

image-20201106210911338

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端口转发详解这篇博客文章

玩转ssh端口转发

但是这样会有个问题,因为部署的应用你在前端页面交互时会请求后台数据,而请求的地址为

ARTIPUB_API_ADDRESS: "localhost:3000" # 后端API地址,如果安装地址不在本机,请修改为服务器IP地址+端口号(默认为3000)

导致直接访问前端页面时,进行相关操作会请求这个地址,无法正常显示数据,所以也需要将 localhost:3000地址转发到内网机器上去(你部署ArtiPub的服务器上),这里用的是ssh本地端口转发,同样关于ssh端口转发的问题可以看是上面说到的文章。

OpenWrite

官网:openwrite.cn

目前支持以下平台:

  • SegmentFault 思否
  • CSDN
  • 掘金
  • 博客园
  • 简书
  • 知乎
  • 开源中国
  • Spring4All
  • 极术社区
  • 今日头条
  • 慕课手记

1、安装

无需安装服务端,直接在线使用。

2、使用说明

  • 打开新的浏览器窗口,登录下方需要扩散的所有渠道
  • 手动在各个渠道发布一篇文章,确保账号正常
  • 下载插件:OpenWrite助手
  • 点击右上角已安装的插件:OpenWrite助手,在插件里点击 "自动认证" 按钮
  • 点击各渠道的 "配置" 按钮,设置文章发布时的默认信息
  • 各渠道完成“配置”之后,点击 "启用" 按钮,开启需要扩散的渠道

image-20201106212220335

我的选择

粗略体验之后,感觉两者的操作体验是类似的;发文逻辑也都是使用 cookie 调用各个平台的文章发布接口;且使用两者都可能导致知乎被封号,这个应该是知乎的封号策略导致的。

不同的地方在于,ArtiPub 是部署在自己服务器的,数据安全性有保证,且没有功能限制。

而 OpenWrite 使用的是第三方的服务器,数据安全性有待验证,且免费会员有部分功能限制。

本来是我准备使用 ArtiPub 的,但是考虑到有封号的风险,并且仅仅是批量发布文章,失去了平台社区的互动,感觉没有灵魂。

我很少在知乎上发文章,一般在博客园,csdn广告太多

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

保持对优秀的热情
原文地址:https://www.cnblogs.com/luckforefforts/p/13939110.html