权那他

1943 分类: 原创内容

南博 使用说明

南博 - typecho 客户端的使用说明, 确保照此就做

介绍/下载

keyvalue
介绍https://krait.cn/nabo.html
下载https://www.coolapk.com/apk/240898

友人的教程

欢迎大家留下你撰写的教程

keyvalue
使用教程优雅的Typecho安卓客户端nabo
使用教程欢迎提交
使用教程value
使用教程value

根据要求

keyvalue
原因为了南博更好的发展,南博不再使用官方给的xmlrpc方法
解决前往南博官网替换XmlRpc文件
下载https://github.com/kraity/typecho-xmlrpc
操作获取下载的 XmlRpc.php 文件
操作把下载 XmlRpc.php 替换你博客的 /var/Widget/XmlRpc.php
附言应和[南博]版本号相同使用。
附言不同版本有不同功能和算法。
keyvalue
step 1安卓手机
step 2安卓版本不低于 android 7
step 3下载南博
step 4安装南博
step 5打开博客的XmlRpc接口
step 6启动南博
step 7输入域名
step 8点击检测
step 9若XmlRpc过旧则需更新
step 10输入账号密码
step 11等待几秒钟
step 12进入主页面
step 13下拉刷新
step 14欢迎使用

打开博客的XmlRpc接口 (设置->基本->XMLRPC 接口)

提示XmlRpc接口不存在?

keyvalue
版本value
问题提示XmlRpc接口不存在
出错对象是博客的原因,不是南博的原因
原因博客阻断了南博发送的post请求
原因一个XML-RPC消息就是一个请求体为xml的http-post请求
解决关闭post过滤,关闭user-agent过滤

为了安全?

keyvalue
目的为了博客的安全
措施南博支持了密码md5加密过后密文登陆
原因众所周知md5加密的密文后一般不可以逆向的
获取密文打开数据库
对象找到表名typecho_users
对象找到你博客的账号
发现你会发现有 uid name password ....
找到password 对应的值(全部复制) 比如是: $P$B7REihLFP0nt5Ed06yw8Cig5IoC1dC/
加密加密成32位小写
加密用md5加密上述找到的对应值 比如加密后是bbe94415259eb11179f167a7f71241ea
登陆用上面加密过后的密文,就可以就它登陆南博了
keyvalue
目的为了更更安全?
措施使用上述的密文登陆
措施让博客的xmlrpc不支持明文登陆,仅许可密文登陆
更新修改/var/Widget/XmlRpc.php文件
位置按ctrl+f 搜索 if (preg_match("/^[a-f0-9]{32}$/", $password))
操作找到这个if(...){....}else{.....}
操作去掉这个if(...){....}else{.....} 后面的 else{.....}

Markdown

keyvalue
原因南博编辑器仅支持markdown
故然需要告知typecho我们用的markdown编辑
前往https://example.com/admin/profile.php
位置个人信息->撰写设置->在 XMLRPC 接口
操作使用 Markdown 语法->打开

评论管理

keyvalue
需求使用评论回复
解决关闭评论中的开启反垃圾保护
前往后台->设置->评论->评论提交->开启反垃圾保护
操作关闭它
附言它的上下几项在没有回复成功则也要关闭

探索与发现

keyvalue
版本v1.5
更新替换/var/Widget/XmlRpc.php文件
更新修改/var/Widget/Upload.php
修改位置126行
需修改代码if (!file_put_contents($path, $file['bytes'])) {}
目标代码if (!file_put_contents($path, base64_decode($file['bytes']))) {}
keyvalue
版本v1.3 - v1.4
更新替换/var/Widget/XmlRpc.php文件

附件

keyvalue
版本v1.5
通知已修复上传文件限制问题
更新修改/var/Widget/Upload.php
修改位置126行
需修改代码if (!file_put_contents($path, $file['bytes'])) {}
目标代码if (!file_put_contents($path, base64_decode($file['bytes']))) {}

如果你使用了其他的附件上传插件,则可能无法使用上传图片,应为都没有写byte流写入内容的考虑

keyvalue
南博版本v1.4
插件OssForTypecho
插件名字阿里云OSS上传插件
位置https://github.com/jqjiang819/typecho-plugin-ossfile/blob/master/Plugin.php

152行

$result = $ossClient->uploadFile($options->bucket, substr($path,1), $uploadfile);

改为

if (isset($file['tmp_name'])) {
    $result = $ossClient->uploadFile($options->bucket, substr($path, 1), $uploadfile);
} else {
    $result = $ossClient->putObject($options->bucket, substr($path, 1), $uploadfile);
}

169行

'mime' => @Typecho_Common::mimeContentType($path)

其改为

'mime' => (isset($file['tmp_name']) ? Typecho_Common::mimeContentType($file['tmp_name']) : $file['mime'])
keyvalue
南博版本v1.4
插件Qiniu File
插件名字Typecho 的附件上传至七牛云存储中
位置https://github.com/licxisky/typecho-Plugin-QiniuFile/blob/master/Plugin.php

108行

$filename = $file['tmp_name'];
if (!isset($filename)) return false;

将其删掉

116行到127行

if ($error == null)   .... else return false; 

将其改为

if (isset($file['bytes'])) {
            list($ret, $error) = $upManager->put($token, $option->savepath . $file['name'], $file['bytes']);
            if ($error == null) {
                return array(
                    'name' => $file['name'], 
                    'path' => $option->savepath . $file['name']  . ($option->imgstyle == '' ? '' : '-' . $option->imgstyle), 
                    'size' => $file['size'], 
                    'type' => $ext, 
                    'mime' => $file['mime']//Typecho_Common::mimeContentType($option->savepath . $file['name'])
                    );
                
            } else {
                return false;
            }
            
            
        } else {
    
        // 上传文件
        $filename = $file['tmp_name'];
        //if (!isset($filename)) return false;
        list($ret, $error) = $upManager->putFile($token, $option->savepath . $file['name'], $filename);
           if ($error == null) {
            return array(
                'name' => $file['name'], 
                'path' => $option->savepath . $file['name'] . ($option->imgstyle == '' ? '' : '-' . $option->imgstyle), 
                'size' => $file['size'], 
                'type' => $ext, 'mime' => Typecho_Common::mimeContentType($filename)
                );
                } else {
            return false;
        
           }
            
        }

#typecho客户端, typecho, nabo

作者: 权那他

版权: 除特别声明,均采用BY-NC-SA 4.0许可协议,转载请表明出处

目录Content

已有 42 条评论

  1. Mr.岳 Mr.岳

    我想说,支持sm.ms这个图床吗…

    1. 下个版本将就加入公共图床啦😁

  2. [...]使用文档: https://krait.cn/major/1802.html[...]

  3. 不好意思现在才回复,还没有对腾讯云测试

  4. ken ken

    对于腾讯云储存呢,需要更改什么嘛

    1. 你如果使用的是cosUploadV5这个插件的话,我做了修改地址在这 https://github.com/eocene317/cosUploadV5

  5. 😱登录之后不显示文章怎么办,概要不显示,订阅页面1正常显示

    1. 目前发现出现这样的原因之一是,存在一些文章没有归属分类,必须每篇文章都有他的所在分类

      1. 这不应该啊,typecho会有默认分类的呀

        1. 那我再去审查一下源码🤔

          1. 现在是19年十月三十一号,我也出现这样的问题,文章打不开,点击编辑app闪退

          2. 我也是这个问题,登陆进去,概要页是空白状态(机器是米6)

  6. 可以哦,ui设计的不错,不过发现一个小问题,输入博客地址,用户名的时候,有几率输入不进去,明明点了键盘。需要再点一次才输入进去。设备:小米mix3,安卓9.0

    1. 好嘞,收到,过几天回家debug😄

  7. 改了后台地址是不是用不了了😣

    1. 不会的,使用的xmlrpc

评论