河畔志 首页 归档 关于 链接

分类 笔记&探索 下的文章

把七牛的文件载回来

七牛的测试域名很早就到期了,但一直没有去管他,然后现在要管就变得曲折了,,

首先,七牛的网页不能批量下载,但800+个文件也不可能一个个载下来,于是就要用到 qshell 这个工具。
最先看到了几篇教程,但都有点过时(比如这个这个),要自己调整参数,绕了远路,,最后是在这里完美解决了。

基本思路是:

  1. 创建一个测试 bucket(会分配一个新的测试域名)
  2. batchcopy 原 bucket 到新的 bucket
  3. qdownload 新 bucket

具体步骤(旧A->新B->本地):

  1. 下载并重命名 qshell_windows_x64.exeqshell.exe
  2. cmd 进入文件所在目录,登录账户,qshell account <AK> <SK> <NAME>
  3. 导出文件列表 qshell listbucket A A.list.txt
  4. awk 把文本格式化为每行仅有一个文件名(安装后将 bin 加入PATH),awk "{print $1}" A.list.txt > list.txt
  5. 复制文件到新空间,qshell batchcopy --force A B -i list.txt
  6. 新建一个下载配置文件 download.txt
    {
    "dest_dir": "本地目录",
    "bucket": "新空间名",
    "cdn_domain": "外链默认域名"
    }
    
    然后 qshell qdownload download.txt 就ok了,本地目录用双反斜杠分割,如 D:\\t\\qs\\down

在联通机上强行使用电信4G

两年前的一块红辣椒任性版+,写的支持移动联通双卡双待单通,4G+2G。
但现在有两张电信卡,只有一部全网通,所以稍加思索,尝试把它用一下电信的4G。

直接装上去,有信号,但上不了网,运营商文字显示 CHINA TELECOM 4G。
然后就根据这里设置一下 APN 重启就可以用了。

名称: ctlte
接入点名称:ctlte
用户名:ctlte@mycdma.cn
密码:vnet.mobi

IMG_20190402_130102.png

但这样一来电信网会随时掉线,要开关下飞行模式才行。
然后就把承载系统固定到lte,情况依旧,查了下运营商信息,掉到联通那边去了。

最后进工程模式把网络固定在4G,它就稳定了。
那么之前掉到联通网络可能就是自动跳到2/3G,然而这是电信卡。。

IMG_20190402_134100.png

但很明显,用电信卡发热的,这里电信信号不好,午夜2:50,-96dBm在阳台。
(所以可以3G就直接优先3G了,覆盖是真的好,除了电梯)

手机支持频段的话就可以上,但只有4G只能上网,不能电话短信了。


另外,好久没上,七牛图链都挂了,以后什么时候修一下吧。

本地网页直链网盘文件夹

就算用搜索,在网盘中直接管理文件还是各种不方便,于是突发奇想把文件夹链接出来,在本地用 dokuwiki 之类的东西管理信息就方便很多。

坚果云一般的文件地址是:

https://www.jianguoyun.com/#path=xxx::sl=0::tab=browse::id=xxx::magic=xxx

稍加思索,冷静分析,在 dokuwiki 的 interwiki.local.conf 里写下:

cd        https://www.jianguoyun.com/\#path=%2F{NAME}::sl=0::tab=browse::id=xxx::magic=xxx

于是就可以这样链接:

[[cd>2018_测试文件夹]]

新世界的大门就此打开 =v=

百度云也可以如法炮制:

https://pan.baidu.com/disk/home?#/all?vmode=list&path=xxx

而微云就尴尬了:

https://www.weiyun.com/disk/folder/乱七八糟的东西

有点奇技淫巧的感觉,不过很大程度上提高了效率。

Dokuwiki 文件名中文乱码解决

本地搭了个 Dokuwiki 做知识库,但出现文件名乱码问题。

之前在 Linux 服务器上修改 conf/local.php 里的 $conf['fnencode'] = 'utf-8'; 就可以了,而简中 win7 使用 gbk 编码文件名:$conf['fnencode'] = 'gbk';

然后根据官方文档,照着修改了 inc/pageutils.php 中两个函数解决问题:

function utf8_encodeFN($file,$safe=true){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;
 
    if($safe && preg_match('#^[a-zA-Z0-9/_\-\.%]+$#',$file)){
        return $file;
    }
 
    if($conf['fnencode'] == 'safe'){
        return SafeFN::encode($file);
    }
 
   //新增下面这段代码
    if($conf['fnencode'] == 'gbk'){
        return mb_convert_encoding($file,'gbk','UTF-8');
    }
 
    $file = urlencode($file);
    $file = str_replace('%2F','/',$file);
    return $file;
}

function utf8_decodeFN($file){
    global $conf;
    if($conf['fnencode'] == 'utf-8') return $file;
 
    if($conf['fnencode'] == 'safe'){
        return SafeFN::decode($file);
    }
   //新增下面这段代码
    if($conf['fnencode'] == 'gbk'){
        return mb_convert_encoding($file,'UTF-8','gbk');
    }
 
    return urldecode($file);
}

设计一个稳定的URL

看到一篇文章《优秀的URI不会改变》

但实际上,因为种种原因,URL是很难持久的,主要有一个「命名空间」存在。
最大的命名空间就是域名,而域名作为信息的主体也是可能被改变、拆分、重组的,更不用说其下划分的目录、子域。
就这个意义上已经没有稳定的URL了,除非所有环境保持稳定,我们能做的只是采用较大的命名空间、让它相对稳定。

相对稳定的URL可以是内容无关的,使用日期(2018/01/01)或编码(post-1)定位,但这就弱化SEO要求的语义了。
如果是内容相关(如维基),应当保持内容的相对稳定。

稳定的 URL 可能是脱离程序的,但使用程序路由其实是比较灵活的方案。
变数依然太多。