目录
ColinOL Home
替换默认资源管理器 为 TotalCommander
利用注册表
新建两个文本后缀为.reg的文件。双击执行就可以了。
1、添加注册表
- ExplorerToTC.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Shell] @="TC" [HKEY_CLASSES_ROOT\Directory\Shell\TC\command] @="\"D:\your-filepath\TC\Totalcmd64.exe\" \"/O\" \"/T\" \"/L=%1\""
如果自己去注册表中设置,清洁版的命令如下:
"D:\your-filepath\TC\Totalcmd64.exe" "/O" "/T" "/L=%1"
2、恢复注册表
- ExplorerToTmd_recover.reg
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Shell] @="none"
备注:
- 目录中的your-filepath为TC安装路径,需要自行修改。
- 添加“/O” “/T”是为了每次打开的文件夹在新的标签,如果不需要可以去掉。
- /L代表左侧面板,如果需要在右侧面板打开则/R。
- 各种方法,最终目的都是为了使用方便,切莫舍本逐末,忘记本心。
引用:
XRay 安装配置与资源
八合一共存脚本+伪装站点
项目地址:
- xray一键安装多合一 https://github.com/mack-a/v2ray-agent
安装脚本: 支持快捷方式启动,安装完毕后,shell输入【vasma】即可打开脚本,脚本执行路径[/etc/v2ray-agent/install.sh]
wget -P /root -N --no-check-certificate "https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh" && chmod 700 /root/install.sh && /root/install.sh
Excel 实现按照单元格和字体颜色计数(Count)与求和(Sum)
步骤一
首先需要启用Visual Basic编辑器,右键单击示例工作表,然后左键单击【查看代码】选项。在Visual Basic编辑器中的工程资源管理器窗口中,右键单击后将鼠标指针移动至插入选项,然后插入一个模块,并将以下代码复制粘贴到代码窗口中,最后关闭Visual Basic编辑器回到Excel工作表操作界面。
代码如下:
- script.vb
'计算获得与引用单元格相同底纹颜色的单元格的数量 Function GetCountColorBack(col As Range, countbackrange As Range) As Integer Dim icell As Range Application.Volatile For Each icell In countbackrange If icell.Interior.ColorIndex = col.Interior.ColorIndex Then GetCountColorBack = GetCountColorBack + 1 End If Next icell End Function '计算获得与引用单元格相同底纹颜色的单元格的数值和 Function GetSumColorBack(col As Range, sumbackrange As Range) As Integer Dim icell As Range Application.Volatile For Each icell In sumbackrange If icell.Interior.ColorIndex = col.Interior.ColorIndex Then GetSumColorBack = Application.Sum(icell) + GetSumColorBack End If Next icell End Function '计算获得与引用单元格相同文字颜色的单元格的数量 Function GetCountColorFont(col As Range, countfontrange As Range) As Integer Dim icell As Range Application.Volatile For Each icell In countfontrange If icell.Font.ColorIndex = col.Font.ColorIndex Then GetCountColorFont = GetCountColorFont + 1 End If Next icell End Function '计算获得与引用单元格相同文字颜色的单元格的数值和 Function GetSumColorFont(col As Range, sumfontrange As Range) As Integer Dim icell As Range Application.Volatile For Each icell In sumfontrange If icell.Font.ColorIndex = col.Font.ColorIndex Then GetSumColorFont = Application.Sum(icell) + GetSumColorFont End If Next icell End Function
步骤二
求相同颜色的单元格数量,需要用到GetCountColorFont函数。函数GetCountColorFont的使用方法:=GetCountColorFont(指定颜色的单元格,统计单元格区域)
参考:
- Excel超实用技能,按单元格颜色求和与计数,千万不要错过 https://kuaibao.qq.com/s/20190814A0SZY000?refer=cp_1026
- 如何分别计数[Excel]不同颜色的单元格? https://www.zhihu.com/question/54651422
Ubuntu 中安装配置密码管理服务 bitwarden 第三方服务端 Vaultwarden
Bitwarden 是可自建服务的密码管理软件,提供多种客户端,如浏览器、app等,用于替代lastpass。Vaultwarden(原名 Bitwarden_rs) 是 Bitwarden 的非官方 Rust 实现版本,比较轻量化。bitwarden_rs 项目从 v2.21.0 开始,已更名为 Vaultwarden github项目地址。相较于Bitwarden,Vaultwarden对硬件要求极低,兼容Bitwarden官方客户端,支持几乎所有密码管理器(1password等)的数据导入导出。
本文主要实现部署docker、部署vaultwarden、通过nginx反向代理vaultwarden访问、通过letsencrypt自动更新ssl证书。客户端通过设置自托管地址为本应用地址后即可使用Bitwarden管理自己的密码。
本文提供在 Ubuntu 如下环境中安装 Vaultwarden 的步骤,具体环境如下。
# uname -a Linux B2-DC8 5.4.0-152-generic #169~18.04.1-Ubuntu SMP Wed Jun 7 22:22:24 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux # docker -v Docker version 24.0.2, build cb74dfc
updated on 20250209:由于在使用 Android Bitwarden App 登录时提示错误:“我们无法处理您的请求 请重试或联系我们”,经查询Android App “We were unable to process your request. Please try again or contact us” Nail1684 in post #8,可能需要更新服务端程序。
域名准备
做好域名指向与配置
Bitwarden必须运行在https下,须在nginx中启用ssl(也可直接使用 cloudflare 提供的加密代理)
安装 Docker
确保新docker处于最新版本,否则可能出现兼容问题
另,如果遇到类似 docker-ce安装时出现错误:
dpkg: error processing package docker-ce (--configure): subprocess installed post-installation script returned error exit status 1 Processing triggers for libc-bin (2.23-0ubuntu11) ... Errors were encountered while processing: docker-ce E: Sub-process /usr/bin/dpkg returned an error code (1)
可以输入以下命令:
# cd /var/lib/dpkg # sudo mv info info.bak # sudo mkdir info # sudo apt-get install docker-ce docker-ce-cli containerd.io
再次试验,安装成功
# docker -v Docker version 19.03.5, build 633a0ea838
然后重新卸载相关程序,再重新安装
安装 Nginx
或者 Caddy
安装 Bitwarden 第三方服务端 Vaultwarden
运行 Vaultwarden(适用)
docker run --detach --name vaultwarden \ --env DOMAIN="https://passwd.com" \ --volume /bw-data/:/data/ \ --restart unless-stopped \ --publish 8880:80 \ vaultwarden/server:latest # 说明: # /bw-data 为主机数据库地址,/data 为docker应用内地址 # port 8880 为主机访问端口, port 80 为docker应用内端口
update 20250209 以下为旧版命令,不建议使用。plan1
docker run -it -d --name vaultwarden -v /bw-data/:/data/ -p 8880:80 --restart=always vaultwarden/server:latest
update 20250209 以下为旧版命令,不建议使用。plan2
docker run -d --name bitwardenrs \ --restart always \ -e SIGNUPS_ALLOWED=true \ -e WEBSOCKET_ENABLED=true \ -e LOG_FILE=/data/bitwarden.log \ -p 8880:80 \ -p 3012:3012 \ -v /bw-data/:/data/ \ bitwardenrs/server:latest
配置 Nginx
本文域名示例为 passwd.com
文件 passwd.com 保存到 /etc/nginx/site-enabled/ 目录下
- passwd.com
server { listen 443 ssl; server_name passwd.com; ssl_certificate /etc/nginx/cert/passwd.com.pem; ssl_certificate_key /etc/nginx/cert/passwd.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; client_max_body_size 128M; location / { proxy_set_header Host 'passwd.com'; proxy_pass http://127.0.0.1:8880; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:8880; } } server { listen 80; server_name passwd.com; return 301 https://$server_name$request_uri; }
重启 Nginx
service nginx restart
其他Docker常用命令:
docker pull vaultwarden/server:latest # 更新最新镜像 NAME[:TAG|@DIGEST] docker images # 查看所有镜像 docker rmi vaultwarden/server:latest # 删除镜像 IMAGENAME docker ps -a # 查看所有运行的容器 docker stop vaultwarden # 停止容器运行 CONTAINERNAME docker rm vaultwarden # 删除容器 CONTAINERNAME docker rm -f vaultwarden # 强制停止并删除容器 CONTAINERNAME
数据备份
done
参考:
- 官方 Bitwarden 部署和使用(bitwarden_rs) https://host.bitwarden.in/deploying-and-using-of-official-bitwarden/prepareing
- 使用bitwarden_rs搭建自己的密码管理器服务 https://www.vpser.net/build/bitwarden_rs-install.html
- Docker的常用命令: https://www.cnblogs.com/juno3550/p/15817325.html
Total Commander 共享版,启动免点击解决方案
本方案实现:
- 通过AutoHotKey脚本,在启动共享版Total Commander 时,自动执行点击按钮1启动程序,免去手动点击1进入软件的步骤。
- 再配合任务计划程序,可在随意运行TotalCommander时自动运行AutoHotKey脚本,达到免点击的目的。
AutoHotKey脚本
需安装 AutoHotKey
本脚本适用于 Total Commander (x64) 9.50β5
本脚本实现,启动共享版Total Commander 时,自动执行 点击按钮1启动程序,但只能运行1次。
自动点击保存以下脚本,记录下路径。
- RunTCM_auto.ahk
; When Total Commander startup, active this script immediately ; run tcm ; Total Commander (x64) 9.50β5 - NOT REGISTERED IfWinExist Total Commander (x64) 9.50β5 - NOT REGISTERED { WinActivate ;WinMaximize Send {Alt+Tab} } else { ;Run tcm WinWait Total Commander WinActivate Send {Alt}1 } return
通过任务计划配置自动运行脚本的步骤
关键步骤:
- 如果是 Windows 10 家庭版,首先启用组策略功能 Windows 10 家庭版开启组策略功能
- 可通过 【AutoHotKey安装目录】\Compiler\Ahk2Exe.exe,将以上的 RunTCM_auto.ahk 脚本转为 RunTCM_auto.exe,防止任务计划程序无法运行
- 通过任务计划配置自动运行脚本 参考 如何实现启动程序A的时候执行相应的计划任务?,创建任务计划程序,当启动Total Commander时,运行上面保存的Autohotkey脚本
- 如此,实现 共享版Total Commander启动免点击
附1:自动运行Autohotkey脚本的任务计划程序
- 03-任务计划程序导入-注意修改用户-OpenTotalCommanderthen.xml
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2020-05-14T09:31:13.3987177</Date> <Author>HC-LAPTOP\hc</Author> <Description>打开Total Commander,运行hotkey,免点击自动进入程序。C:\Program Portable\TotalCMD64\Totalcmd64.exe</Description> <URI>\Open TotalCommander then</URI> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription><QueryList><Query Id="0" Path="Security"><Select Path="Security"> *[System[band(Keywords,9007199254740992) and (EventID=4688)]] and *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Program Portable\TotalCMD64\Totalcmd64.exe')]] and *[EventData[Data[@Name='ParentProcessName'] and (Data='C:\Windows\explorer.exe')]] </Select></Query></QueryList></Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>S-1-5-21-4268050197-1674650841-2453912747-1001</UserId> <LogonType>InteractiveToken</LogonType> <RunLevel>LeastPrivilege</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <Exec> <!-- <Command>C:\home\04-storage\02-autorun\RunTCM_auto.ahk</Command> --> <Command>C:\home\04-storage\02-autorun\RunTCM_auto.exe</Command> </Exec> </Actions> </Task>
通过任务计划程序导入该脚本,点击更改用户或组,修改为当前用户,即可导入。
附2:任务计划程序中事件筛选的代码
<QueryList> <Query Id="0" Path="Security"> <Select Path="Security"> *[System[band(Keywords,9007199254740992) and (EventID=4688)]] and *[EventData[Data[@Name='NewProcessName'] and (Data='C:\Program Portable\TotalCMD64\Totalcmd64.exe')]] and *[EventData[Data[@Name='ParentProcessName'] and (Data='C:\Windows\explorer.exe')]] </Select> </Query> </QueryList>
感谢
- 感谢 Total Commander。
- 感谢 AutoHotKey
- 感谢 Microsoft Windows
- 飞扬时空 Total Commander 10.00 中文增强版,定制版本号:7.0a http://iyoung.ys168.com/ 可免点击运行,建议使用
评论