提取WinSCP密码
最近将生产环境切换到了 Linux,之前在 Windows 下开发使用的 FTP 工具是 WinSCP,在 Linux 下将其替换成了 FilleZilla。研究了一下发现,WinSCP的密码不是明文存储的,所以要将之前保存的 FTP 密码提取出来。 用到的工具 knarf / winscppwd — Bitbucket 使用方法 将下载下来的 winscppwd.exe 与 WinSCP 的 winscp.ini 放在同一目录。执行命令 Winscppwd winscp.ini记录我的(Manjaro)Linux Web 开发环境的搭建过程
写在前面的话 许久之前开始跟随郑教授使用 Linux 作为 Web 的开发环境,中间折腾了很多东西,这里做一个简要的记录。 用Linux?为啥嘞? 如果要用Linux,我想首先你应该知道为什么自己要用?因为毕竟不怎么好用(从小白的角度出发。。大神别喷),从各种社区来说,通常都会几个理由: 为了自由和理想 不想使用盗版 程序员的操作系统 Shell、命令行 买不起Mac 拓宽技术视野 …. 总之,要用它可以有100个理由,不用它也可以有100个理由,黑它也可以有一万个理由。不管为毛,如果你真的要用它,那就欢迎来一直踩坑。 选发行版 开始使用Linux之前,就要做一个选择题,并且这个选择题有超多选项,如果有选择困难症,这可能是你要面对的第一关。说一下我前前后后曾经使用过的发行版 Ubuntu Linux Mint openSUSE Fedora YMLF OS(哈哈,就看看有多少人用过这) 红旗Linux(再看看有多少人用过这) CDLinux (做坏事用的) Deepin Manjaro Deepin 和 Manjrao是我最近使用的两个发行版。 Deepin是我知道目前针对国内优化的最好的发行版了,并且相当漂亮,国际排名第6,原生支持QQ,原生支持微信,原生支持招行的网银,原生支持QQ旋风等等,最开始我使用的也是这个,后来因为电脑配置跟不上,会经常卡死,也就放弃了。 Manjaro是我目前在用发行版本,基于Arch,软件丰富,很多软件可以一键安装,而必备的Win软件,就开个虚拟机(使用wine其实也很折腾) 安装 安装Linux现在也挺方便的,具体教程网上一堆,就不搬运了,可不同的发行版自己选择。不过我安装的时候一般会给自己留条后路,一般我都是安装的Win和Linux的双系统,特殊情况下,可以做一个紧急切换。反正公司的系统硬盘还挺大的,我直接给了270G给Linux,现在觉得有点少了。 神器pacman 安装Manjaro默认是xfce的桌面环境,安装好之后,基本就是可以直接使用了。Manjaro基于Arch,此发行版我觉得有两个地方做的优秀: 完善的文档(有问题不用百度一下,直接文档上搜) 丰富的软件(关于pacman的简单中文使用说明可以看Pacman (简体中文) - ArchWiki) 更新源 使用Manjaro不需要手动去找国内源,使用下面的命令 sudo pacman-mirrors -i -c China -m rank sudo pacman -Syyu 直接查找最快的源并设置。 安装yaourt(非必须但推荐) sudo pacman -S yaourt 强烈推荐,里面有各路大神打包好的软件,使用yaourt可以拿来即用,比如vscode,直接 yaourt -S visual-studio-code 安装proxychain(非必须但推荐) yaourt中的软件许多要下载国外的包,加个终端的代理是必须的,这玩意谁用谁说好。教程:利用proxychains在终端使用socks5代理 安装中文输入法 sudo pacman -S fcitx-rime sudo pacman -S fcitx-im # 全部安装 sudo pacman -S fcitx-configtool # 图形化配置工具 之后就是还需要更改 ~/. 继续阅读小程序开发 webview 中无法获取参数的解决方法
小程序开发已经支持 web-view 的跳转,最近开发的一项功能正好APP与小程序均要使用,于是自然想到使用 web-view 的方式。场景是这样的: 用户打开APP/小程序,查看自己个人信息卡片,根据不同的 userid 返回不同的卡片样式。 H5实现 H5实现很简单,直接使用页面类似地址 https://xxx.com/xxx.html?userid=2345。 所以可以看出 2345 这个 userid 是需要我们动态传入的。 小程序实现 小程序中跳转 web-view 需要生成一个新的页面,然后里面嵌入一个 <web-view></web-view> 组件。 所以想当然的可以这样写: <web-view src="https://xxx.com/xxx.html?userid={{userid}}"></web-view> 其中 userid 我们需要在跳转之前传入,并在当前的 onLoad 中获取一下,代码如下: /** * 页面的初始数据 */ data: { userid: '' }, /** * 生命周期函数--监听页面加载 */ onLoad: function (option) { if (option.userid) { this.setData({ userid: option.userid }) } }, 遇到的问题 使用上面的方法在 iOS 下完美,但是在 Android 下经常会出现 H5 页面没有获取到 userid 的情况。后来思考了一下,应该是 <web-view> 组件在没有取到参数的情况下(也就是 onLoad 没有执行完成)的时候就已经打开了我们的 H5 页面。 继续阅读解决html2canvas的图片跨域问题
最近要做一个将当前HTML页面生成图片的功能,网上百度了一圈,确定了如下的解决方案。 使用html2canvas将HTML DOM节点转换成canvas 使用canvas的toDataURL方法将canvas转换成base64 github: niklasvh/html2canvas 图片跨域 在前端开发中,HTML中的 img 标签是默认支持跨域的,但是这个规则canvas不认。使用html2canvs转换canvas的时候,如果使用了不同域的图片就会报错。 针对这种情况的解决方案如下: 第一步:给 img 元素设置 crossOrigin 属性,值为 anonymous 或 *。 PS:这个html2canvas已经支持了这个配置项(version:1.0) useCORS: true 第二步:图片服务端设置允许跨域(返回 CORS 头)。 如果图片是自己服务器的,这么做很简单,可是如果是其他服务器的呢?比如微信头像。 图片资源转发 针对非自己服务器图片的情况下,可以使用 NodeJS 做一个中间层代理。代码如下: const router = require('express').Router(); const coWrap = require('../utils/coWrap'); var request = require('request'); router.get('/transferImage', coWrap(function* (req, res) { var path = req.query && req.query.path; return request.get(path).pipe(res); })); 使用 NodeJS 的 request 库可以方便的完成这个功能。使用方法如下: <img src="http://yourserver/prcImage/transferImage?path=https://yourimg.png"> 问题解决,以上。 参考 一次 H5 「保存页面为图片」 的踩坑之旅利用.htaccess最简易的实现全站https站点跳转
最近站点升级了全站https,中间遇到了一些问题,这里做一个小结,首先是https跳转。原来很多友链、外链还是基于http的,所以要对原来的外链做一个跳转。网上找了很多使用.htaccess实现https 301跳转的方法,又是通配符又是正则的,整了半天也没有成功,后来硬着头皮看了下语法,取了一个最简单的方法。
继续阅读