分类 计算机 下的文章

使用KeePassXC,KeePass2Android,坚果云和onedrive实现密码管理

个人笔记,如有转载,请注明作者和出处。

——by realasking

由于网络越来越深入自己的生活,身边的数字化设备也越来越多,很早以前,我就已经辗转腾挪于各种密码管理软件之中了,经过多次迁徙,一度停留在keepassx2上很长的时间。但是,该软件在linux下表现良好的同时,在windows下却缺少一些功能,比如不能实现在linux下一切正常的自动填充密码(Auto-fill),还有不能记忆授权文件,而且也缺乏网络同步的功能,随着密码数量的增加,感觉已经越来越难以为继了。

于是我决定换一款软件试试,但是必须是继续保持原有的数据库格式(keepass2格式)。这期间,尝试了多款兼容产品,也重新尝试了keepass的原始版本,但是都不那么令人满意,直到找到了keepassxc。相比于keepassx和keepassxc,其实原始的keepass是更为强大的,比如它可以直接通过webdav打开网上保存的数据库文件,可以直接auto-type输入对应网站的密码而不需要人工选择(auto-fill),再比如可以加上插件,但是它的问题和它的强大一样令人印象深刻,比如它的auto-type对于不少国内网站都是失效的,按下热键常常并不能自动输入密码,还有有时明明已经点击页面user框,但填充密码却出现在浏览器的搜索框中,它的webdav操作坚果云也似乎还不如坚果云客户端直接对文件增量同步来的快,而chromeIPass的输入一次密码自动保存也时灵时不灵,特别是对一些不那么标准的登录框......经过几天折腾,我不得不怀着复杂的感情,暂时放弃了它,也许它确实代表了未来,但现在显然还不完善。

折腾keepass之后,问题似乎又回到了原点,不过网上关于keepass的用网盘保存密码数据库的思路还是可以借鉴的。冷静的想想,其实在增量同步的前提下,虽然手机可以籍由webdav减少传输数据并提升网络安全,但电脑间同步似乎并不一定要如此,特别是个人使用,网速又较快的情况下,同步产生多个无法合并副本的概率应该不大,那么,我们完全可以直接用网盘保存密码数据库,并同步到本地打开,对于手机,依旧打开webdav,虽然不像完全使用webdav看上去那么美好,但只要放置好自己的数据库,其实也无伤大雅。

但是keepassx2不能在windows10下实现auto fill的问题一定得解决,不然老是使用复制密码的做法,在周围有多人一起办公的情况下,因为ditto、欧路词典等工具的使用,很容易造成无意间的密码泄漏。在到处搜索中,最后从archlinux的wiki上看到了keepassxc,在linux下试用了一下,它的功能与keepassx差不多,那么在win10下呢?将它也安装到win10上之后,发现虽然它界面汉化不如keepassx,但是功能上却都是完好的,包括授权文件的记忆,auto-fill的实现,都是完好的,那么,就是它了。

基于授权文件(key file)的重要性,把它和数据库放在同一个网盘上显然是不合适的,由于它一般不会频繁替换,所以保存它的网盘也不需要有那么高的访问速度了,有鉴于此,最终我确定下来用坚果云建立同步文件夹保存并同步密码数据库文件、以onedrive保存并同步授权文件、以KeePassXC替代KeePassX2在电脑上管理密码和用KeePass2Android在手机上通过webdav管理密码的方案。

具体实施如下:

linux下:

1.安装keepassxc:

yaourt -R keepassx2

yaourt -S keepassxc

2.生成授权文件:

打开keepassxc,并打开数据库,然后点击database->更改主密码,修改密码,勾选密钥文件,点击创建,将其保存到onedrive的同步目录下(我的是双系统,重启进入windows后会完成同步,现在由于微软的调整,非ntfs格式分区下已经不能与onedrive同步了,所以linux下的同步工具onedrive-d也已经失效)

3.配置数据库同步和webdav:

用浏览器访问坚果云,点击登录,点击用户名窗口,打开keepassxc,点选坚果云的用户Entry,然后按下Ctrl+v,登录坚果云。这一步要注意,不要处于中文输入状态。

登录后,点击窗口左侧创建->新建个人文件夹,完成后将数据库上传到新建的文件夹中,与网上一些只使用webdav的方案不同,这里需要保证文件能同步到本地。

点击右上角自己的用户名,点击账户信息->安全选项,在第三方应用管理中添加应用密码,应用名可以起为keepass。

然后记录下生成的密码,记录下服务器地址,账户。

4.在系统弹出的坚果云的提示信息指引下,设置一个放置密码数据库的同步文件夹。

5.删除本地原有的密码数据库,并重新打开keepassxc,打开从坚果云上同步下来的数据库,其授权文件选择第2步生成的。

windows下:

1.下载并安装keepassxc

2.在坚果云提示信息指引下配置一个放置密码数据库的同步文件夹

3.打开keepassxc,添加授权文件,打开数据库,并等待onedrive同步完成

手机下:

1.安装onedrive for android,并同步授权文件

1.用谷歌市场或APKPure安装KeePass2Android

2.打开文件时选择https(webdav)那一项,选择认证方式那里选密码加授权文件

3.文件地址填坚果云给出的那个地址加上/你创建的文件夹/你的数据库名,授权文件点系统文件,然后选从onedrive上同步下来那个授权文件

4.点击三个竖点那个按钮,点击设置

5.点击应用程序->安全,勾选在锁屏时锁定,离开应用时锁定,记忆数据库,保存密钥文件,然后返回

6.确保快速解锁项目均被勾选

7.返回

8.点击数据库,点击指纹解锁,选择启用完整的指纹解锁,设置完成后返回

9.点击将密钥文件导入到内部文件夹

然后一路返回,在快速解锁那里关闭数据库即可。

至此,手机和电脑的设置全部完成,密码可以半自动的管理了。

个人电脑上google-chrome浏览器中比较理想的护眼方案

个人笔记,如有转载,请注明出处。

——by realasking

现在的手机浏览器都已经有很多提供比较理想的护眼方案了,比如绿茶,比如qq浏览器等,而是在电脑上,这还是一个奢望,虽然前两年一度有个别的国产浏览器厂商在这方面努力过,但是随着时间的流逝、掌握在国外厂商手中的浏览器核心技术的发展,这些努力最终都未能形成相对完美的方案,要获得一个比较舒适的网页浏览环境,最终仍然需要用户自己的努力。

在个人电脑上,笔者主要使用的浏览器是google-chrome及其开源实现chromium,为了降低长时间浏览中眼睛的疲劳程度,也曾经尝试过多种方法,试过很多扩展,甚至外挂程序,以及按时间和经纬度变化而改变屏幕色温的某些工具,但是实际使用中,感觉都不够理想。许多扩展程序都只能应对一小部分网站或者一部分网页类型的问题,外挂程序和色温调节工具有时会导致某些网站的文字颜色和屏幕颜色无法区分,反而难以阅读,而且这些工具使用比较呆板,难以有效的结合使用。所以经过很多尝试之后,笔者最终回到了使用扩展脚本来解决问题的路上。

目前笔者采用了stylish的护眼2和tempermonkey的印象笔记护眼脚本两个脚本来对眼睛进行保护,具体做法是:

1.在stylish的护眼2样式代码1中添加如下规则:

网址前缀ftp://

网址前缀file://

网址前缀http://tieba.baidu

网址前缀https://www.baidu

与该正则表达式匹配的网址https?://(?!((docs|www|realasking)\.(google|github|)\.(com[\s\S]*?)))

与该正则表达式匹配的网址http?://(?!((docs|www|realasking)\.(google|github|)\.(com[\s\S]*?)))

2.在stylish的护眼2样式代码2中添加如下规则:

网址前缀http://tieba.baidu

网址前缀https://www.baidu

与该正则表达式匹配的网址https?://(?!((docs|www|realasking)\.(google|github|)\.(com[\s\S]*?)))

与该正则表达式匹配的网址http?://(?!((docs|www|realasking)\.(google|github|)\.(com[\s\S]*?)))

3.在印象笔记护眼脚本的设置中添加用户排除,内容如下:

http://tieba.baidu.*

https://www.baidu.*

然后一切都美好了。

做了个小工具essential-pathway

个人作品说明,如有转载,请注明作者和出处。

——by realasking

工具下载地址:

github pypi

以前就一直觉得在命令行下切换各个目录很头疼,而且总是忘记哪些目录在用,所以后来就自己写了好几个shell脚本来管理在使用的目录,并提醒自己其中的内容。最近几天,突然萌生了把它们整理一下、打成一个包的念头,不过没有想到的是,做着做着突然觉得还不如干脆用python来整个重写一遍,结果最后就做出了这么个东西。

这个小工具是用python3.6开发的,以LGPLv3发布,兼容性并未进行多少测试,目前只在64位archlinux上使用着。它用python调用sqlite3来管理常用路径,并生成包含数据内记录路径的modulefile供Tcl版的environment module来读取,以生成新的环境变量供用户调用,而在列表显示内部的路径时,需要调用python的prettytable库,所以该工具在安装前,需要先安装配置module和prettytable。

prettytable直接用pip install prettytable即可安装。

module在archlinux上用yaourt -S env-modules-tcl安装,在安装完成后,需要在$HOME下建立文件.modulespath,其内容为存放modulefile的目录位置,然后还需要在.bashrc中添加如下两行:
export MODULEPATH=${HOME}/env/module_files:$MODULEPATH
source /etc/modules-tcl/init/bash
下次登录bash即可启用module了。

本工具所生成的modulefile叫epath,要启用它,则需要在以上两行之后另起一行,添加以下内容:

module load epath

这一步建议在本工具安装完成并至少运行一次后操作

设置完成后,用pip install essential-pathway安装本工具,然后执行ep,就可以看到各种功能的使用说明了,举个例子,比如要将当前目录加入到pathway中,并将此pathway命名为myhome,执行:

ep a myhome

然后执行:

ep l

显示:

然后执行:

[realasking@Laptop Documents]$cd ~
[realasking@Laptop ~]$module load epath
[realasking@Laptop ~]$cd "$myhome"
[realasking@Laptop Documents]$

可以看到,环境变量myhome就生效了。

同样的,该工具还支持评注(备忘)、删除、刷新、备份、卸载环境变量设置等功能,需要注意的是,每次使用该命令前,请先执行一次module unload epath,否则可能会出现一些问题,在所需操作都执行完之后,需要让所有的pathway都生效,则可以再执行一次module load epath,当然,如果将这一句导入到了.bashrc中,则重新登录shell就可以了。

有兴趣的朋友可以试试,欢迎大家提意见,但限于个人精力和能力,本人不保证此工具的有效性及稳定性,也不一定能及时回复大家的关切,还望大家海涵。

github使用初步

个人笔记,如有转载,请注明出处。

——by realasking

很久没有用github了,今天想用它备份点东西,于是又折腾了一下,现将操作过程作个记录,备忘。

1.修改邮箱

登录->头像->settings->Emails->Add email address->Add->Primary email address->save->用新邮箱验证

如此添加多个邮箱,但只设置一个为primary,然后:

Profile->Public Email

设置公开邮箱

2.SSH和GPG Key

先在本地检查有没有Key.

SSH是在$HOME/.ssh下看有没有id_rsa之类的文件,注意,同时要有id_rsa.pub,否则就用ssh-keygen重新生成:

ssh-keygen -t rsa -C "邮箱名作为备注" -f "输出私钥名"

GPG是看如下命令:

gpg --list-secret-keys --keyid-format LONG

若有sec,uid和ssb输出,则说明已经创建了GPG Key

GPG Key的生成方式见:阮一峰:GPG入门教程

我一直是用的ssh,由于已经有了key pairs,所以直接导入就行了。

依次执行以下命令:

ssh-agent bash

ssh-add ~/.ssh/id_rsa后缀

xclip -sel clip < ~/.ssh/id_rsa后缀.pub

然后在浏览器中:

SSH and GPG Keys->New ssh Key->拷贝到Key框中,再写个Title->Add SSH Key

3.在github上创建项目aaa并以空文件初始化

4.在本地创建项目的文件夹,假设名字是aaa_folder

5.执行以下命令初始化git

cd aaa_folder

git init

ssh -T [email protected]

cp 待上传文件 ./

git remote add origin [email protected]:用户名/aaa.git

git add .

git pull origin master

git commit -m "init project"

git push -u origin master

6.以后修改文件后的更新

git add .

git commit -m "comment"

git push origin master

7.创建分支和合并

创建分支

git checkout -b dev

git add 文件名

git commit -m "分支修改"

合并分支dev到master

git merge dev

git branch -d dev

8.查看和切换分支

查看所处分支

git branch

切换分支

git co 分支名

华硕K50IE笔记本部分老版本驱动和Quantum Espresso的PWgui6.1所需依赖ActiveTCL 8.4导致Windows 10 1703 专业版 升级KB4025342补丁无法完成的不完善解决办法

个人笔记,如有转载,请注明出处。

——by realasking

前段时间给老笔记本ASUS K50IE(T9550,8GB RAM)升级了一下系统,其中Windows升级为了Windows10 1703中文专业版,开始用了几天挺好,但是7月12日起就不那么愉快了。

事情的起因是那天收到了KB4025342的更新通知,关机的时候等待了很久,结果开机的时候,又等待了更久,并且更新到99%的时候通知更新未能完成,然后更新失败,差不多同时,我的另一台新一点的Acer笔记本却顺利更新成功了。刚开始,我不打算管它,结果第二天又出现了相同的一幕,这就难以忍受了。

我开始上网查询资料,中文资料几乎都是说这个更新多么好,多么妙,以至于基本没有人更新失败,深受打击的我只好去微软的论坛上查看了。这一看,发现遇到这个问题的人还是不少的,而且虽然提示一样,但其发生原因其实是不同的,也有几位微软的专家提供了一些通用的解决办法。

于是我跟着他们的思路先清理更新的缓存,然后重启几个服务,无效之后,再用sfc、dism检查和恢复系统,仍然无效,后来又按他们的说明reset电脑,结果被提示reset失败,这么反复了几次,只好死心了。后来看到论坛上有个网友分析CBSlog文件,找到了他的问题,是和usb3.0驱动有关,并进行了解决,但我看我的机器上的相关文件,虽然找到了失败的提示,却并没能找到问题具体指向的软件或驱动的信息,灰心之下,我只好备份了部分已经按照的应用,然后清理C盘,重装Win10。

Win10重装很顺利,而且在不装驱动、不装软件的情况下,系统更新自动装了显卡驱动和这个KB4025342更新,一切非常成功,但是安装软件过程中发现ActiveTCL 8.4安装不上。由于这个软件本身太老,此前也是通过兼容模式才装上的,而在干净安装win10并完成此次的更新后,这个软件即使用兼容模式也安装不上了。

但这个软件提供了PWgui6.1所必须的环境,在尝试了在cygwin、ubuntu on windows上安装iwidgets4.0.1均未成功后,还是觉得要再做一些尝试,另外,也认为虽然安装了补丁后这个程序装不上,但未必是因为这个软件才不能装那个补丁。

我就反复多次重装win10,并尝试在更新前排除不同的软件,最后发现,nforce 主板驱动中的SMU驱动、ASUS的ATK OSD驱动和ActiveTCL 8.4这三个软件如果先于更新安装,则更新无法完成,但更新完成后,前两者还是能够装上,只有ActiveTCL 8.4没有办法。不过由于安装一次系统耗时太长,我并未去确定前两者导致更新失败是否存在网络不稳定等偶然因素,只是ActiveTCL 8.4在我的机器上确与更新失败相关。

最后,我放弃了在Windows10上直接安装ActiveTCL8.4及运行PWgui6.1,不过,如果需要的时候,倒是可以安装一个virtualbox虚拟机,在其中装上WinXP SP3,再装PWgui就是了,只要设置一个和真实机器共享的文件夹就能解决脚本文件的互相拷贝问题。也许这也算一个解决办法。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它