网络技术 Archives - 峰哥分享 https://www.dengnz.com/category/网络技术/ 昨天,今天,明天,每天的每天,都多懂一点点... Wed, 19 Jun 2024 22:31:56 +0000 zh-CN hourly 1 https://wordpress.org/?v=6.5.4 https://www.dengnz.com/wp-content/uploads/2020/02/cropped-logo-32x32.png 网络技术 Archives - 峰哥分享 https://www.dengnz.com/category/网络技术/ 32 32 关于 raspberry pi 的一点心得 https://www.dengnz.com/2024/06/17/%e5%85%b3%e4%ba%8e-raspberry-pi-%e7%9a%84%e4%b8%80%e7%82%b9%e5%bf%83%e5%be%97/ https://www.dengnz.com/2024/06/17/%e5%85%b3%e4%ba%8e-raspberry-pi-%e7%9a%84%e4%b8%80%e7%82%b9%e5%bf%83%e5%be%97/?noamp=mobile#respond Mon, 17 Jun 2024 03:39:24 +0000 https://www.dengnz.com/?p=83036 我本来是想用一个 respberry pi 来控制车库门的遥控器的,之前在面包板上实验成功。 所以就兴致冲冲的… 阅读更多 »关于 raspberry pi 的一点心得

The post 关于 raspberry pi 的一点心得 appeared first on 峰哥分享.

]]>
我本来是想用一个 respberry pi 来控制车库门的遥控器的,之前在面包板上实验成功。 所以就兴致冲冲的去搞了个PI回来, 最后发现 PI上面的 GPIO pin 的电流只有几毫安, 根本驱动不了继电器, 继电器需要60毫安左右的电流。 所以需要买一个可以用微电流驱动的继电器模组。 模组可以直接接5V电压,然后用 GPIO的电压来控制继电器是否连通。 已经下单,还要等个两周到货。 现在先来讲讲心得吧。
刚开始买了个 respberry pi 3b+, 因为比较便宜,只有5的一半。 3B+没有插卡直接通电的话, 屏幕是完全没有反应的,要先到官网下载官方工具把操作系统写入内存卡,插卡后就能自动启动了。
后来发现我买的3B+, 1G内存的比 4B 1G内存的还贵几刀。 太不划算了, 就赶紧去换 4B。 3B+太老了, 谁买谁傻X。
后来在柜员的耸涌下,我直接入了5,5的话支持比较多的启动方式, 不仅仅是插卡, 所以不插卡也是可以点亮屏幕的。
说说安装系统吧,这个是真的超级简单。 网上很多教程过时了, 非常麻烦。 现在官网推出了 Respberry pi manager, 工具, 打开跟着界面一直下一步就可以了。这个工具会把你插进电脑的SD卡格式化并写入 respberry pi 的系统。 写完后拔出来插进 respberry pi 开机就行了。 记得先插鼠标,键盘,显示器再插电。 因为插电后直接就启动了, 是不要按开关的。 不过 5上面是有个小开关的, 这个小开关可以长按强制关机。 也可以在关机后重启。 而3B+是没有这样一个开关的。 Respbeery pi manager 在操作的时候你可以设置 ssh, wifi 什么的。 所以如果你的PI正常工作的话, 其实不连鼠标键盘和显示器也是没问题的。 进路由器看看最新连进来的设备找到IP, 直接SSH上去就可以用了。
还有一点要注意, 3B+用的是常用的HDMI接口。 而5用的是 micro HDMI 接口。 我是用了一个转接器。 因为两个口很近, 所以我是插不了两个显示器的。 要买 micro HDMI 到 普通HDMI的线才有足够空间吧。 5有两个HDMI口, 我发现0口可以支持我的4K显示器, 但是1口就支持不了。 1口可以支持我的便携4K显示器,不知道是为什么。
几个新学的指令

kmsprint

输出
`Connector 0 (32) HDMI-A-1 (connected)
Encoder 0 (31) TMDS
Crtc 2 (86) 3840×2160@60.00 594.000 3840/176/88/296/+ 2160/8/10/72/+ 60 (60.00) P|D
Plane 2 (76) fb-id: 303 (crtcs: 2) 0,0 3840×2160 -> 0,0 3840×2160 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
FB 303 3840×2160 XR24
Plane 22 (278) fb-id: 304 (crtcs: 2) 0,0 64×64 -> 1918,1078 64×64 (XR24 AR24 AB24 XB24 RG16 BG16 AR15 XR15 RG24 BG24 YU16 YV16 YU24 YV24 YU12 YV12 NV12 NV21 NV16 NV61 P030 XR30 AR30 AB30 XB30 RGB8 BGR8 XR12 AR12 XB12 AB12 BX12 BA12 RX12 RA12)
FB 304 64×64 AR24
Connector 1 (41) HDMI-A-2 (disconnected)
Encoder 1 (40) TMDS
`

可以显示连接了几个显示器, 连上我的4K显示器的时候,如果用1口, 可以检测到连接, 但屏幕就是不亮。 如果连0口,就可以正常工作。

也可以用以下指令查显示器连接状态

`cat /sys/class/drm/card1-HDMI-A-1/status`

安装 docker

`sudo apt install docker.io`

显示温度

`vcgencmd measure_temp`

显示电压

`vcgencmd measure_volts`

查看电源是否稳定

`vcgencmd get_throttled`

查看内核日志

`dmesg`

 

一个简单的控制 relay 的webAPI, 之前用在  3B+上用 RPi.GPIO, 发现在 5 上就不好使了。 在5上我换用了 gpiod. 使用下面的代码开一个简单的WEB服务器, 再配合 localtonet 或 ngrok 内网穿透一下。 就可以在任何地方开关继电器了。 我是直接用我的telegram 机器人来调用这个API的。可以在telegram 上控制 家里的设备。

“`
from flask import Flask, request, jsonify
import gpiod
import time

app = Flask(__name__)

# Define the GPIO chip and line
chip = gpiod.Chip(‘gpiochip4’)
line = chip.get_line(17)

# Configure the line for output
config = gpiod.LINE_REQ_DIR_OUT

@app.route(‘/control_relay’, methods=[‘POST’])
def control_relay():
if request.method == ‘POST’:
try:
# Request the line as output
line.request(consumer=’relay-control’, type=config)

# Set the line high (turn on the relay)
line.set_value(1)
print(“relay pass through”)
time.sleep(1)  # Keep the relay on for 1 second

# Set the line low (turn off the relay)
line.set_value(0)
print(“relay block”)

return jsonify({‘message’: ‘Success’})

except Exception as e:
return jsonify({‘error’: str(e)})

finally:
# Release the line
line.release()

if __name__ == ‘__main__’:
app.run(debug=True, host=’0.0.0.0′)
“`

播放YOUTUBE自动关机的问题。 我在youtube 上播放 4K的视频(其它分辨率没试过)。 播几分钟 PI 就自动关机了。 现在怀疑两个原因。 一是电源功率不够,我用的是我的苹果电脑的140W充电器, 5V的话只支持3A, 我没有5V 5A的充电器, 已下单 。 第二个可能就是过热, 虽然我摸了下CPU我没有多热,我还是下单了一个带风扇的盒子。更新, 问题居然是充电线上,原来使用的是便携显示器送的usb c 电源线,后来换了一根支持100w的usb c线, 还是使用苹果电脑的充电器, 这次再播放 youbue 就没有自动关机了。 所以说,线也很重要,不是所有的USB C线都能支持大电流的,而且很难分辨哪根可以。

The post 关于 raspberry pi 的一点心得 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2024/06/17/%e5%85%b3%e4%ba%8e-raspberry-pi-%e7%9a%84%e4%b8%80%e7%82%b9%e5%bf%83%e5%be%97/feed/ 0
华为P30 Pro刷机日记 https://www.dengnz.com/2023/11/06/%e5%8d%8e%e4%b8%bap30-pro%e5%88%b7%e6%9c%ba%e6%97%a5%e8%ae%b0/ https://www.dengnz.com/2023/11/06/%e5%8d%8e%e4%b8%bap30-pro%e5%88%b7%e6%9c%ba%e6%97%a5%e8%ae%b0/?noamp=mobile#respond Mon, 06 Nov 2023 02:56:19 +0000 https://www.dengnz.com/?p=83025 老爸送我的华为P30 PRO全网通版, VOG-AL00, 非常好用。用了几年,由于谷歌对华为的封禁,谷歌套件… 阅读更多 »华为P30 Pro刷机日记

The post 华为P30 Pro刷机日记 appeared first on 峰哥分享.

]]>
老爸送我的华为P30 PRO全网通版, VOG-AL00, 非常好用。用了几年,由于谷歌对华为的封禁,谷歌套件偶尔有点小问题,所以在苹果iPhone 14 Pro Max出来的时候我就换了苹果。 刚买苹果不久,我爸又送了我一台华为的Mate X2折叠屏保时捷版,比我的iPhone 还贵,据说是手机中的理财产品。

于是我就有了三台手机,导致我心爱的 P30 Pro 长期闲置。昨天我发现Yuzu NS模拟器有安卓版, 于是想把我的P30 Pro改成NS游戏机。 但是我安装YUZU的时候发现YUZU需要至少 Android 11的版本。 但是我的P30 Pro 运行的是基于安卓10的鸿蒙3.0. 这样我的游戏计划直接搁浅。

想当年我也是安卓刷机界小王子,虽然从来没有刷过华为的手机, 心想总是那些东西,不会太难。没想到最后我居然放弃了。。。勉强取得了一些进展,就记录一下吧。

网上关于华为手机的刷机教程居然不多,这让我挺意外。特别是我搜索关于 Sigma Key 这个软件的时候, 居然啥也搜不到。我最先找到的教程是用华为手机助手进行降级从鸿蒙回退到EMUI的教程, 我以为回退后可以回到 Android 11. 没想到我是被那个 EMUI 的版本号忽悠了。 EMUI 11居然还是基于 Android 10的。 所以我最终是白忙了。

回退的方法并不难,只是也有几点要注意。 网上的教程都是基于 Windows 的。 我用的是Mac os, 下载了华为手机助手的 Mac os 版本。 我想着华为既然提供了Mac 的版本, 功能应该是一样的, 没想到MAC版的根本没有回退系统的功能, 只能备份和从备份恢复。 于是我不得不拿出当年老爸送我的华硕笔记本, 再次感谢老爸。

在Windows 笔记本的加持下, 我终于找到了回退的界面, 但是我的鸿蒙3.0不能回退到EMUI,只能回退到鸿蒙2.0。 多方搜索后,发现是要回退两次, 先回退到鸿蒙2.0, 再重复操作, 回退到了EMUI 11. 这里我又出现了问题, 因为回退的时候我没有在电脑前看着,等我回来的时候电脑休眠了,回退失败。重试了好几次都卡在 17%。 最后我把华为手机助手删了,把Document 和 appData 里面 HiSuite 的文件也删了, 重启后重新安装华为手机助手, 再操作一次成功。 这时候如果从手机更新的话, 会更新到鸿蒙2.0, 而不是 EMUI12. 所以, 我是没办法升级到 Android 11 了。

所以,现在就只能想办法把国行的系统换成海外版的系统, 这时候我就碰到了难点。在网上,没有找到把国行刷成海外版的教程。 倒是看到几个把海外版刷行国行的,道理相通,所以这个方法应该是可以用的。 但是所有的教程基本上是演示性质的, 没有提供必要的软件和刷机包。 感觉这些技术都掌握在修手机的一些人手里, 而这些人并不想分享这些技术, 毕竟是吃饭的家伙。 而其中一个软件 sigma key, 我发现是收费软件, 要买他们的一个加密狗才能使用,而且价格不便宜, 官网这个加密狗要 163.9 美刀, 如果买来做手机生意赚钱是不贵的, 但买来刷我自己一台手机,就不是很划算了。

https://gsmserver.com/en/sigma-plus-dongle/

所以,在没有买的前提下,我是没法刷的, 但是找不了不少资料, 所以把可能的刷机步骤记录如下。警告,以下步骤只是我上网搜索后总结整理,我并没有试过, 请不要使用。

第一步, 打开开发者模式

第二步,使用华为线刷降级工具v5.7–猎人维修大师切换到下载模式

第三步, 打开 SigmaKey v.2.39.08 华为版, 选择端口, DBAdapter Reserved Interface (COM7) *Huawei Incorporated, 然后 HiSiliCon改成 Kirin 980

第四步, 选择服务, 点 Software testpoint On…/Off, 然后选择文件 Huawei P30 Pro VOG-L29 hw ru VOGUE-L29C 10.1.0.179(C10E13R5P1) Firmware EMUI1…\Software\dload\update_sd_base\update.app. 不知道这个从哪里下载。 文件大概5M。通过更进一步的搜索,了解到这一步是为了打开 software testpoint, 视频中用的是 sigmakey, 但实际上还可以使用 Octoplus Huawei Tool, Chimera 等。 但无一例外,这些软件都是收费的。其中的 update.app 这个文件就是你机子当前固件包里包含的文件。 也就是说, 我现在是国行的, 所以我要用国行的固件包里的这个文件。 视频教程中是从海外版刷国行, 所以视频中选的是海外版固件包里的 update.app 文件。还有一个方法要拆机,就更复杂了。 software testpoint 打开后, 设备管理器里会出现 HUAWEI USB COM 1.0 (COMxx) 这个设备, 更多资讯可以参考这个帖子。 https://xdaforums.com/t/how-to-flash-custom-kernel-rom-in-emui-10-via-software-testpoint-mode.4210343/

第五步,这时候在 SigmaKey 中,端口变了, 手机也变成了黑屏,视频中没讲要重启手机,我猜这里是要重启手机的,不然手机还是在下载模式 ,可能是刷完update.app 后自动就重启了。 选择新出现的这个通信端口(testpoint 诊断端口), 然后点  Load FastBoot, 也就是第四步就是为了打开这个新的端口,要有这个端口, 才能刷 FastBoot, 这步会删除固件保护, 然后发送引导,也就是刷入 FastBoot. 这时候端口又变了。 这步不用选择文件, 所以这个 Fastboot 是软件自带?。

第六步, 点击 IMEI, 然后选择新端口, ^ Android Sooner Single ADB Interface *22X0220318000438, 点击下方的 +Huawei, 在供应商这里输入 all, 国家输入 cn, 型号输入 VOG-AL00. 由于我是反过来操作,所以我不知道我要填什么, 可能供应商填all, 国家可以填 us,型号填 VOG-L29, 这是猜的。因为我的手机没有 sim lock , 我估计供应端填 all 没啥问题。 在工程菜单的Network Information Query 的 4. Vendor Country Info 中可以看到我的手机 Vendor: all, Country: cn. 如果我能拿到一台新西兰的华为 P30 Pro, 我就能知道新西兰的机器应该怎么填了。填好后点修复, 这样就把国行变海外了(或者反过来)。这只是改了IMEI的一些信息,系统还没有改。

在本视频作者80后大笨熊的另一个视频中,我发现他没有进行第五步,也就是没有刷入 Fastboot, 而且在他刷IMEI的时候,用的是诊断端口。 刷完IMEI后, 端口才变成 ^ Android Sooner Single ADB Interface *22X0220318000438。

第七步, 点服务,再点 Software testpoint On…/Off, 这时候会有一个弹窗, 为什么视频中第一次没有。。。我留意了一下, 其实这次和第三步是不一样的, 第三步的端口是 DBAdapter Reserved Interface (COM7) *Huawei Incorporated (下载模式), 这次是更改IMEI后, 端口还是^ Android Sooner Single ADB Interface *22X0220318000438 (正常Adb模式, 或者是fastboot模式,猜的)。而且这次不需要选择 update.app 文件(可能是因为之前已经选过)。这步完成后, 端口又变了, 因为手机重启了。所以我怀疑这步是为了关闭Software testpoint. 打开的时候, 如果 testpoint firmware 和手机的 firmware 不匹配,可能只是打不开。 但关闭的时候, 如果不匹配,手机就会变砖,这就是为什么这次有弹窗,猜的。

第八步, 使用华为线刷降级工具v5.7–猎人维修大师切换到下载模式, 因为重启了, 要重新进入下载模式。

第九步, 使用华为线刷降级工具v5.7–猎人维修大师选择刷机包, 视频里选的是国行的刷机包, VOGUE-AL00A 10.0.0.200(COOE85R2P8)_Firware_EMUI10.0.0_05015KN/\Software\dload\hwromlbase_PTABLE.APP, 因为我是反过来操作,这时候我要选的是海外版刷机包。在手机进入下载模式后点击开始。 这步可以进行是因为我们在第五步刷入的 fastBoot 删除了固件保护。

 

第十步, 成功后会有弹窗, 关闭弹窗, 手机会自动重启。

 

总结一下步骤

  1. 打开test point, (这步应该是为了第二步和第三步, 如果没有这步,是不能修改IMEI的, 或者就要拆机短接硬件上的testpoint.)
  2. 刷入 fastboot (这步是为了删除固件保护,这样才能刷入第三方ROM, 或者说其它发行版的固件)
  3. 修改 IMEI
  4. 关闭 test point, 这步也是必需关闭的,不然就等于手机硬件test point 一直在短接的状态。
  5. 刷入新固件

 

弹窗

This operation may brick the phone if the phone firmware version does
not EXACTLY match the software testpoint firmware version!
If you are unsure, better completely reflash the firmware. Are you sure
you want to proceed?

 

进入工程菜单的方法:

– 打开 uSB调试
-输入*#*#2846579#*#*
– 选择工程菜单

 

我尝试在工程菜单中进入SigmaKey 中提示的生产模式,得到以下错误,不知道有没有影响,以上教程中是不需要进入这个模式的。 但 SigmaKey 这个软件为什么要提示进入这个模式呢?

Not support at this state!

淘宝有很多远程刷机的服务,不知道价格如何,如果不贵的话,感觉还是不要自己折腾了。刚刚去淘宝问了下, 问了好几家, 他们都说做不了。 看来这不是远程可以搞定的。

The post 华为P30 Pro刷机日记 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2023/11/06/%e5%8d%8e%e4%b8%bap30-pro%e5%88%b7%e6%9c%ba%e6%97%a5%e8%ae%b0/feed/ 0
微软 Azure 设置 Swap 文件的新方法 https://www.dengnz.com/2022/06/11/%e5%be%ae%e8%bd%af-azure-%e8%ae%be%e7%bd%ae-swap-%e6%96%87%e4%bb%b6%e7%9a%84%e6%96%b0%e6%96%b9%e6%b3%95/ https://www.dengnz.com/2022/06/11/%e5%be%ae%e8%bd%af-azure-%e8%ae%be%e7%bd%ae-swap-%e6%96%87%e4%bb%b6%e7%9a%84%e6%96%b0%e6%96%b9%e6%b3%95/?noamp=mobile#respond Sat, 11 Jun 2022 04:36:55 +0000 https://www.dengnz.com/?p=83011 因为不小心把Azure免费额度用超了一点点, 一台虚拟机被停了. 等了几小时后重新开始一轮新的 bill cy… 阅读更多 »微软 Azure 设置 Swap 文件的新方法

The post 微软 Azure 设置 Swap 文件的新方法 appeared first on 峰哥分享.

]]>
因为不小心把Azure免费额度用超了一点点, 一台虚拟机被停了. 等了几小时后重新开始一轮新的 bill cycle. 赶紧重启虚拟机恢复服务. 运行了不到一小时, 服务器突然变得超级慢. 查了一下, 发现内存严重不足. 然后认真一看, SWAP 变成了0!!!

怎么会是0呢….我晕死

上网查了一下, 原来是万恶的微软改了东西. 把原来使用 waagent 设置SWAP文件的方式改成了用 cloud-init . 不明所以, 跟着教程整了一遍, 重启机器, 然后用 Free 查了一下, 没有卵用.

https://docs.microsoft.com/en-us/troubleshoot/azure/virtual-machines/swap-file-not-recreated-linux-vm-restart

那还是手动运行指令吧.

先用这条指令生成 swap 文件, 教程里是2048, 果断改成4096, 不敢改多, 怕不生效.

dd if=/dev/zero of=/mnt/swapfile bs=1M count=4096

然后一条一条输入以下指令

chmod 600 /mnt/swapfile
mkswap /mnt/swapfile
swapon /mnt/swapfile
swapon -a

以上指令都需要 sudo 哦.

然后swap 就回来了, 不需要重启. 不过下次重启的时候可能还得这么来一遍. 先不管了!

The post 微软 Azure 设置 Swap 文件的新方法 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2022/06/11/%e5%be%ae%e8%bd%af-azure-%e8%ae%be%e7%bd%ae-swap-%e6%96%87%e4%bb%b6%e7%9a%84%e6%96%b0%e6%96%b9%e6%b3%95/feed/ 0
WIN10把IDE模式改成AHCI模式后启动蓝屏的解决办法 https://www.dengnz.com/2022/04/30/win10%e6%8a%8aide%e6%a8%a1%e5%bc%8f%e6%94%b9%e6%88%90ahci%e6%a8%a1%e5%bc%8f%e5%90%8e%e5%90%af%e5%8a%a8%e8%93%9d%e5%b1%8f%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/ https://www.dengnz.com/2022/04/30/win10%e6%8a%8aide%e6%a8%a1%e5%bc%8f%e6%94%b9%e6%88%90ahci%e6%a8%a1%e5%bc%8f%e5%90%8e%e5%90%af%e5%8a%a8%e8%93%9d%e5%b1%8f%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/?noamp=mobile#respond Sat, 30 Apr 2022 06:16:23 +0000 https://www.dengnz.com/?p=83005 我有一台很旧, 但又很新的华硕 A40J 笔记本电脑, 是我叫我老爸买给我的. 买来后, 因为公司提供的电脑性… 阅读更多 »WIN10把IDE模式改成AHCI模式后启动蓝屏的解决办法

The post WIN10把IDE模式改成AHCI模式后启动蓝屏的解决办法 appeared first on 峰哥分享.

]]>
我有一台很旧, 但又很新的华硕 A40J 笔记本电脑, 是我叫我老爸买给我的. 买来后, 因为公司提供的电脑性能更好, 所以一直闲置. 好吧, 到现在估计都超过10年了. 电脑基本没有用过, 所以成色很新. 之前因为卡, 重装过好几次系统, win7, win8, win10都装过, 都是很卡, 这估计才是闲置的真实原因吧.

今天心血来潮想把它整顿整顿, 看看能不能变快. 所以上网查了一下WIN11的极速版, 感觉有点靠谱,不过介绍说要至少4G内存. 我的本子上的标签是2G内存, 但我隐约记得我买 的时候就升级过, 于是打开电脑一查, 果然是8G内存. 这我就不明白了, 8G内存怎么这么卡. 打开任务管理器, 发现CPU和内存都没有压力, 只是硬盘在100%.

很明显, 瓶颈就是硬盘, HDD. 早就想换硬盘了, 只是之前SSD太贵, 电脑又用不上, 所以没有下手. 上网查了一下, 一款 Crucial 的SSD 480G, 69刀. 买得起, 果断下单. 买回来后,感觉WIN11也没必要装了, 反正是硬盘的问题, 而且手上又没有WIN11的启动盘. 所以还是装回WIN10吧.

很顺利的装上了, 据说这台电脑只能支持sata 2, 买来的SSD是sata 3, 不能发挥所有性能. 不过比起原来HDD, 现在的启动速度就是飞一般的感觉. 爽!

然后按SSD的说明书安装了它们家的 硬盘优化软件. 软件打开后告诉我, 电脑运行在 IDE 模式, 应该要运行在AHCI模式… 这什么鬼, 不懂呀, 玩机那是10几年前的事了. 上网查一下说 AHCI要比IDE快很多…我靠! 难道这才是我电脑卡的真凶吗!

于是进BIOS (开机的时候狂按F2). 把sata 模式改成 AHCI. 按F10保存, 重启. 哈哈, 看看这回速度是不是还得更快. 我X, 蓝屏!!! 电脑直接启动不了了, win10 自己重启了N次后进入了维护模式, 不过没有卵用,不是启动不了.

最后我从新进BIOS, 把AHCI改回IDE, 重启, 成功!

好吧…上网查了一下, 发现很多人有这个问题. 简单粗暴的方式就是重装系统. 还有一个方法是修改注册表…我根据说明打开注册表, 却发现我的注册表没有所说的那个键…玩不了.

最后, 我找到了另一个可行的方法, 非常容易操作, 重启两次就搞定了!

AHCI vs regular Native IDE

If you want to change IDE to AHCI in windows 10, without a clean install, do the following steps:

  • Open Command Prompt (Admin)
  • type: bcdedit /set {current} safeboot minimal
  • Restart PC and go into you BIOS -> Set IDE to AHCI
  • Windows 10 will start if Safe Mode
  • Open Command Prompt (Admin)
  • type: bcdedit /deletevalue {current} safeboot
  • Restart and Windows 10 should load with AHCI enabled now

Until now, I had a 100% succes rate with this, but in the case Windows 10 wouldn’t start, go back into your BIOS and set AHCI to IDE.

Rudy Mas, Oct 20, 2021

原贴

https://www.windowsphoneinfo.com/threads/windows-10-wont-boot-on-ahci-without-first-switching-to-ide-on-bios-then-back-to-ahci.604576/

The post WIN10把IDE模式改成AHCI模式后启动蓝屏的解决办法 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2022/04/30/win10%e6%8a%8aide%e6%a8%a1%e5%bc%8f%e6%94%b9%e6%88%90ahci%e6%a8%a1%e5%bc%8f%e5%90%8e%e5%90%af%e5%8a%a8%e8%93%9d%e5%b1%8f%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95/feed/ 0
Macos 把剪贴板的内容打字出来 https://www.dengnz.com/2022/04/10/macos-%e6%8a%8a%e5%89%aa%e8%b4%b4%e6%9d%bf%e7%9a%84%e5%86%85%e5%ae%b9%e6%89%93%e5%ad%97%e5%87%ba%e6%9d%a5/ https://www.dengnz.com/2022/04/10/macos-%e6%8a%8a%e5%89%aa%e8%b4%b4%e6%9d%bf%e7%9a%84%e5%86%85%e5%ae%b9%e6%89%93%e5%ad%97%e5%87%ba%e6%9d%a5/?noamp=mobile#respond Sun, 10 Apr 2022 02:32:06 +0000 https://www.dengnz.com/?p=83001 在有些情况下,我们不能把剪贴板中的内容直接粘贴出来使用. 比如有些分段式的银行卡账号,在网页上输入的时候,如果… 阅读更多 »Macos 把剪贴板的内容打字出来

The post Macos 把剪贴板的内容打字出来 appeared first on 峰哥分享.

]]>
在有些情况下,我们不能把剪贴板中的内容直接粘贴出来使用. 比如有些分段式的银行卡账号,在网页上输入的时候,如果你用手打,它就会自动跳到下一个输入框, 而你直接粘贴的话, 它只会贴在第一个框里. 而对我来说,我的情况是我会批量运行一些指令, 就像在 shell 里面运行一样, 但是在shell 里面直接粘贴是没有问题的, 但是我是在其它一些地方使用. 我需要把剪贴板里每一行的内容单独发出,而不是一次性发出. 这时候, 能把剪贴板的内容像打字一样打出来就会省很多复制粘贴的时间.

我在windows里习惯使用一个叫 hoekey 的小程序来实现这个功能. 但是在macos里面, 没有这个程序. 另外一个比较好用的程序 autohotkey 也是没有 macos 的版本.

之前试了用 automator + 内置的 keyboard shortcut 一直没有成功. 就是shortcut 不工作. 后来试了下 Alfred 的 workflow, 发现可以比较完美的解决这个问题.

设置如下

CleanShot 2022-04-10 at 14.25.37.png

CleanShot 2022-04-10 at 14.27.08.png

CleanShot 2022-04-10 at 14.27.29.png

CleanShot 2022-04-10 at 14.27.38.png

CleanShot 2022-04-10 at 14.27.51.png

bash script 里的内容

// 到此处下载 https://github.com/minoki/InputSourceSelector
/Users/fennng/gitLocal/InputSourceSelector/InputSourceSelector select com.apple.keylayout.ABC

Javascript 里面的内容

function run(argv) {
            
            // https://github.com/JXA-Cookbook/JXA-Cookbook/wiki/System-Events#example-of-sending-copy-command
          function sendKeystroke(text) {
              if (false) {
                    console.log("do is called");
              } else {
                  var seApp = Application("System Events");
                  seApp.keystroke(text);
				 
              }
          }

          var query = argv[0];


          console.log(query);
          
          const lines = query.split('\n');
          
          for (let i = 0; i < lines.length; i++) {
              delay(2);
			 console.log('now typing ===>', lines[i]);
              sendKeystroke(lines[i] + "\r");
          }

        }

设置完成后, 使用热键 SHIFT+ALT+V 就可以把剪贴板的内容像打字一样打出来. 不过我现在还不知道怎么样中断这个workflow, 有小伙伴知道的可以留言教我.

The post Macos 把剪贴板的内容打字出来 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2022/04/10/macos-%e6%8a%8a%e5%89%aa%e8%b4%b4%e6%9d%bf%e7%9a%84%e5%86%85%e5%ae%b9%e6%89%93%e5%ad%97%e5%87%ba%e6%9d%a5/feed/ 0
几款win10效率工具 https://www.dengnz.com/2021/09/12/%e5%87%a0%e6%ac%bewin10%e6%95%88%e7%8e%87%e5%b7%a5%e5%85%b7/ https://www.dengnz.com/2021/09/12/%e5%87%a0%e6%ac%bewin10%e6%95%88%e7%8e%87%e5%b7%a5%e5%85%b7/?noamp=mobile#respond Sun, 12 Sep 2021 01:15:58 +0000 http://www.dengnz.com/?p=82988 前几天不小心把“人在中年不得已,保温杯里泡枸杞”的水洒到了键盘上,虽然只是一点点,但是第二天就发现好几个键不太… 阅读更多 »几款win10效率工具

The post 几款win10效率工具 appeared first on 峰哥分享.

]]>
前几天不小心把“人在中年不得已,保温杯里泡枸杞”的水洒到了键盘上,虽然只是一点点,但是第二天就发现好几个键不太灵了。弹不起来。。。于是把键帽全部拆下来让女儿洗了,我自己把键盘里面的灰全部刷干净,晾干后,跟新的一样。 刚开始用感觉还行,可是好景不长,还是有几个键偶尔会卡着弹不起来。而且有两个键帽被我女儿暴力安装的时候卡扣弄断了。 于是上网随便买了一把键盘。 之前在网上也研究过一些键盘, 发现适合码农用的键盘新西兰都没有货,如果要淘宝,美亚的话我也没办法等。新西兰能买到的机械键盘都是游戏键盘。所以我在PB TECH买了一把雷蛇的黑寡妇无线迷你版。 买这款其实就是网上看了一篇文章推荐的,也没有分辨是不是软广告,上班要用,急呀。 本来想着先买一个用着,以后再慢慢买合适的。 不过买回来后发现, 还是蛮不错的,也没有必要再换了。虽然这是个游戏键盘,但是码字开发也完全没有问题。而且灯光效果酷炫。

于是为了鼠标也能发光,我又入了个雷蛇的炼狱蝰蛇无线专业版。入手的那一刻心凉了半截。鼠标实在太大了,这几年用惯小鼠,这么大的鼠标触手非常难受,好不后悔没有做调查。

不过用了几天后,感觉好了很多,看来习惯一个鼠标的适应期真的好短。

键位映射

呃,我好像是要讲效率工具的,怎么扯了这么久键盘和鼠标呢? 哈, 那是因为我今天要讲的效率工具就是和键盘和鼠标有关。因为买的是一个65%的键盘,很多按键是没有的, 所以很多按钮需要通过组合键来完成,就是要用到Fn键。雷蛇把这个键叫做Hypershift。 比如说键盘上是没有F1-F12这些键的, 只能通过 Fn+1 到 Fn++ 来实现。这个键在现在很多键盘上都有,在大多数的笔记本电脑上都是标配,所以并没以有啥奇怪的。在我的笔记本电脑上,调节音乐,音量,屏幕亮度等等都需要用到这个键。

但是当我入手了雷蛇的鼠标后,我发现这个键的可玩性非常高。 因为雷蛇的键盘和鼠标都可以随意的映谢键位,比如说你可以把A映射成B,当你按下A的时候,屏幕上打出的是B。当然一般正常人不会做这些反人类的设置。基本上就是结合Fn键把键盘上没有的键进行映射。因为我是一个鼠标和键盘都用得很频繁的人,所以会经常在鼠标和键盘上切换。因为切换的频率非常高,所以每天切换这个动作也做得厌烦。 我一直希望我的鼠标上有一个回车键。

于是我把Fn+鼠标右键映射成了回车键。因为键盘和鼠标都是雷蛇的,所以我可以在键盘上和鼠标上都设置Fn键。因为默认的Fn键在右手ALT键的右侧,是一个我从来不会按的位置,因为我只习惯左侧的ALT和CONTROL,我几乎从来不按右键的这两个键,右侧我偶尔会按SHIFT键。因为这个键用右手小指按还算方便。 所以我把键盘上的CAPLOCK键改成了Fn键,这样就好按多了, 因为我本身也几乎不用CAPLOCK键,我打大写字母都是靠左手小指按SHIFT来完成的, 有些不好完成的字母我会使用右手按SHIFT。但是为了以防万一,我把 Fn+tab 映射成了CAPLOCK键(也就是按住CAPLOCK+TAB, 因为我键盘上现在有两个Fn键,一个是原来就有的,一个是我改的CAPLOCK)。 而我鼠标上我把鼠标第五键(翻页键)改成了Fn键。

这样,我就有三个Fn键,所以,我也有三种新的方法来触发回车, 一是按住键盘上的Fn键,然后按鼠标右键。二是按住键盘上的CAPLOCK键再按鼠标右键,三是按住鼠标上的翻页键再按鼠标右键。其中二和三我都比较常用,在鼠标上操作的时候由姆指和中指完成,并不会难按。

我又把Fn+鼠标左键映射成删除键,这样我可以用鼠标轻松的删除当前光标位置的字符。

所以,想像一下原来的场景,我在网页中复制了一段话到我的聊天窗口中,我需要删除一些不要的字符然后发送出去。 原来的操作是这样的,我右手用鼠标在网页中选择内容,然后左后按下CTRL+C复制,右手操控鼠标到聊天窗口点击,左手按下CTRL+V粘贴, 右手鼠标选取要删除的文字,这时候,我可以右键点鼠标再点CUT,但大多数时候我想保留剪贴板的内容,所以我不喜欢这个方法,而且点右键再点选CUT也比较耗时,所以大多数时候我会右手移到键盘上按下删除键,然后马上按回车键。然后右手再移到鼠标上进行下一步动作。 有了新的映射出来的按键后,我这时候只要左手按住CAPLOCK,右手点击鼠标左键,然后马上点击鼠标右键,一气呵成。右手就不再需要在键盘和鼠标上来回移动。

image.png

image.png

image.png

同时使用雷蛇的键盘和鼠标可以让我使用键盘上的HyperShift按钮来实现鼠标上的HyperShift映射,这点无疑是买配套外设的一大好处。

我这款键盘上实际上是有方向按键的,但是按方向键的时候我们需要把右手向右下移动,离开主键盘区,所以我把键盘上的IJKL四个键通过HYPERSHIFT映射成了方向键,这样用起来就更顺手啦,不过还真需要习惯一段时间。

快速移动鼠标

雷蛇的这款鼠标支持1-20000的灵敏度, 好吧,我承认这样的灵敏度给我就是一种浪费,因为我用400的灵敏度。 但是400的灵敏度在需要大范围移动的时候需要移动整个手臂。而且鼠标垫要足够大, 所以我需要调节鼠标灵敏度来移动。雷蛇的鼠标上有两个按钮是用来调节灵敏度的。但是我希望一种更高效的方案,就是按住某个键的时候鼠标移动速度变快, 然后松开的时候变成正常。

我在网上搜索了一圈,没有找到这样的方案,最常见的方案是使用 autohotkey 来切换鼠标的灵敏度。但这和鼠标上的灵敏度调节按钮并没有任何区别。然后我发现雷蛇自带的软件 synapse 其实是有这个设定的,只要把鼠标上任意按钮映射到 “灵敏度滑块” 就可以了, 当你按下这个键的时候,鼠标就会按滑块上设定的灵敏度工作,松开就回到正常状态。 可惜的是这个灵敏度滑块不能设置到键盘的按键上,只能使用鼠标的按钮,由于我本人从不使用鼠标中键,于是我把鼠标中间设置成了加速的按钮,只要按钮鼠标中键,鼠标就能高速移动。

使用键盘控制鼠标

前面我讲了使用鼠标模拟删除键和回车键,是因为当我右手在鼠标上的时候,尽量不要回到键盘。 同样的,当我的右手在键盘上的时候,我也希望尽量不要回到鼠标。 于是, 我就想要一个可以用键盘控制鼠标的工具。 实际上WIN10是自带这样一个工具的, 直接用就可以。

image.png

可惜在我电脑上不工作, 估计是我电脑的原因。于是我找了一款软件叫 NeatMouse.

image.png

我把上下左右设置成了CTRL+键盘上的上下左右,而且只有SCROLL LOCK打开的时候才能控制鼠标。 这样我就可以使用CTRL+方向键来控制鼠标了, 如果我同时按下ALT键, 则会进入慢速模式,降低鼠标的移动速度,精确移到想到的地方。当然,我不希望我的右手离开主键盘区, 所以我实际上使用的时候是左手按住CAPLOCK和CONTROL, 右手则按 IJKL来移动的, 记得最开始我把 CAPLOCK+IJKL映射成方向键了吗?

用键盘直接实现屏幕点击

用键盘模拟鼠标移动是很酷,但是效率并不高,适合小范围的移动。我们在点击屏幕上的菜单,按钮的时候,有不需要使用鼠标的方法。很多软件的菜单都有快捷键。 记不住快捷键也按住ALT键来高亮快捷键字母。 但这个方法限制比较多,界面上的按钮大多数是点不了的。这时候我想到了Google chrome 上的 Vimium 插件。 在win10上是否有一款类似的软件,不是用来控制网页,而是用来控制软件呢? 还真有,我找到一款软件叫 Hunt-and-Peck, 效果图如下。神奇的是,它也能控制网页里的链接,简直神器,在一些本身有很多快捷键的网页(如GMAIL),我会禁用 VIMIUM, 这时候,Hunt-and-Peck 就可以暂代VIMIUM控制网页了。 主要是 Hunt-and-Peck 可以控制所有软件,太酷了。

image.png
image.png

值得注意的是,高效工具如果使用不当其实不如不用,如果习惯不了这些设置,它可能让你降低效率,比如一个不常用VIM的人使用VIM来编辑文档,它不仅不会增加效率,而且会把效率降到无法直视。所以合适自己的才是最好的。

The post 几款win10效率工具 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2021/09/12/%e5%87%a0%e6%ac%bewin10%e6%95%88%e7%8e%87%e5%b7%a5%e5%85%b7/feed/ 0
在 ipad 上使用code-server (vscode) 加 neovim 实现生产力 https://www.dengnz.com/2021/09/02/%e5%9c%a8-ipad-%e4%b8%8a%e4%bd%bf%e7%94%a8code-server-vscode-%e5%8a%a0-neovim-%e5%ae%9e%e7%8e%b0%e7%94%9f%e4%ba%a7%e5%8a%9b/ https://www.dengnz.com/2021/09/02/%e5%9c%a8-ipad-%e4%b8%8a%e4%bd%bf%e7%94%a8code-server-vscode-%e5%8a%a0-neovim-%e5%ae%9e%e7%8e%b0%e7%94%9f%e4%ba%a7%e5%8a%9b/?noamp=mobile#respond Thu, 02 Sep 2021 11:13:18 +0000 http://www.dengnz.com/?p=82983 需要用到的工具: 一台 linux 服务器 code-server docker 版 webssh neovi… 阅读更多 »在 ipad 上使用code-server (vscode) 加 neovim 实现生产力

The post 在 ipad 上使用code-server (vscode) 加 neovim 实现生产力 appeared first on 峰哥分享.

]]>
017C0CBD-D6CA-4710-87C9-D24231A8CE49.jpeg

需要用到的工具:
一台 linux 服务器
code-server docker 版
webssh
neovim
ipados safari
蓝牙键盘

注:本教程需要 linux,ssh, docker 相关知识。

注:我开始是使用 chrome, 但是chrome里面经常会有问题,常常输入没有反应。

不用 vim的小伙伴不装 neovim即可,不是必须的。

1、在ipad上安装webssh, 连接到linux服务器, 安装 code-server docker版

运行 docker 容器的时候要把代码文件夹映射进去, 这样才能在 code-server 的vscode里找到文件夹进行开发。

还要记得把端口映射出来,下一步才能从IPAD映射过去。

2、用 webssh的 tunnel 功能把ipados本机的端口映射到 code-server 的端口。

3、在 sarafi里打开 code-server的网址,比如我是 localhost:8083, 按提示找到密码, 然后输入密码

4、在 code-server 里安装 neovim 插件。然后在 code-server的terminal 里安装 neovim

在 code-server 的 docker 里安装 neovim要注意。 因为我使用的官方 docker-server docker镜像里面没有neovim, 所以我需要自己安装, 但是直接用 apt-get install 会安装到很旧的版本, 好像是0.34. 这样neovim插件是不会工作的, 因为插件相求最低 0.5 的版本。

需要到以下网站下载安装。 可以先用 apt-get 安装 wget, 再用wget下载安装包, 然后根据提示安装即可。

https://github.com/neovim/neovim/releases/tag/v0.5.0

code-server 设置文件参考

{
“wokbench.colorTheme”: “Default Dark+”,
“vskode-neovim.neovimPath”: “/home/coder/squashfs-root/usr/bin/nvim”,
“files.autoSave”: “off”
}

复制问题

安装了 neovim 以后, 在vscode 的界面无法正常的选择文字内容进行复制,这的确是一个非常头痛的问题。 不管是使用 “+Y, 还是 ”*Y都没有办法把VISUAL mode 选中的文字复制到IPADOS的剪贴板。

我最后的方法就是把需要复制的文字放在一个单独的文件里面, 然后使用 cmd+A, cmd+C 进行复制。还好 CMD+A 全选是工作的。

The post 在 ipad 上使用code-server (vscode) 加 neovim 实现生产力 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2021/09/02/%e5%9c%a8-ipad-%e4%b8%8a%e4%bd%bf%e7%94%a8code-server-vscode-%e5%8a%a0-neovim-%e5%ae%9e%e7%8e%b0%e7%94%9f%e4%ba%a7%e5%8a%9b/feed/ 0
mongo express 1.0.0-alpha.4 无法连接 Mongodb 5.0.2的问题 https://www.dengnz.com/2021/08/24/mongo-express-1-0-0-alpha-4-%e6%97%a0%e6%b3%95%e8%bf%9e%e6%8e%a5-mongodb-5-0-2%e7%9a%84%e9%97%ae%e9%a2%98/ https://www.dengnz.com/2021/08/24/mongo-express-1-0-0-alpha-4-%e6%97%a0%e6%b3%95%e8%bf%9e%e6%8e%a5-mongodb-5-0-2%e7%9a%84%e9%97%ae%e9%a2%98/?noamp=mobile#respond Mon, 23 Aug 2021 21:01:41 +0000 http://www.dengnz.com/?p=82980 Mongo express version: 1.0.0-alpha.4 Mongodb version: 5… 阅读更多 »mongo express 1.0.0-alpha.4 无法连接 Mongodb 5.0.2的问题

The post mongo express 1.0.0-alpha.4 无法连接 Mongodb 5.0.2的问题 appeared first on 峰哥分享.

]]>
Mongo express version: 1.0.0-alpha.4
Mongodb version: 5.0.2

如果使用

docker \
run \
--network \
feng-net \
--network-alias \
mongo-host \
--name \
mongodb \
-d \
-e \
MONGO_INITDB_ROOT_USERNAME='restheart' \
-e \
MONGO_INITDB_ROOT_PASSWORD='R3ste4rt!' \
mongo \
--bind_ip_all \
--auth

来启动 mongo express, 会碰到如下问题

image.png

(node:10) [MONGODB DRIVER] Warning: Current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor.
(node:10) UnhandledPromiseRejectionWarning: MongoError: command listDatabases requires authentication
    at Connection.<anonymous> (/node_modules/mongodb/lib/core/connection/pool.js:453:61)
    at Connection.emit (events.js:314:20)
    at processMessage (/node_modules/mongodb/lib/core/connection/connection.js:454:10)
    at Socket.<anonymous> (/node_modules/mongodb/lib/core/connection/connection.js:623:15)
    at Socket.emit (events.js:314:20)
    at addChunk (_stream_readable.js:297:12)
    at readableAddChunk (_stream_readable.js:272:9)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
(node:10) UnhandledPromi

解决方案如下

sudo docker run \
--network feng-net \
--network-alias mongoexp-host \
-e ME_CONFIG_MONGODB_URL='mongodb://restheart:R3ste4rt!@mongo-host:27017' \
--rm \
-p 8084:8081 \
--name mongoexp \
mongo-express

image.png

The post mongo express 1.0.0-alpha.4 无法连接 Mongodb 5.0.2的问题 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2021/08/24/mongo-express-1-0-0-alpha-4-%e6%97%a0%e6%b3%95%e8%bf%9e%e6%8e%a5-mongodb-5-0-2%e7%9a%84%e9%97%ae%e9%a2%98/feed/ 0
在Chrome浏览器中使用完整的VIM编辑器 https://www.dengnz.com/2021/08/02/%e5%9c%a8chrome%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%ad%e4%bd%bf%e7%94%a8%e5%ae%8c%e6%95%b4%e7%9a%84vim%e7%bc%96%e8%be%91%e5%99%a8/ https://www.dengnz.com/2021/08/02/%e5%9c%a8chrome%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%ad%e4%bd%bf%e7%94%a8%e5%ae%8c%e6%95%b4%e7%9a%84vim%e7%bc%96%e8%be%91%e5%99%a8/?noamp=mobile#respond Mon, 02 Aug 2021 01:53:08 +0000 http://www.dengnz.com/?p=82977 做为一个VIM党,任何输入都喜欢在VIM里面操作。甚至写邮件的时候都喜欢把文字在VIM里面打完后再粘贴到浏览器… 阅读更多 »在Chrome浏览器中使用完整的VIM编辑器

The post 在Chrome浏览器中使用完整的VIM编辑器 appeared first on 峰哥分享.

]]>
做为一个VIM党,任何输入都喜欢在VIM里面操作。甚至写邮件的时候都喜欢把文字在VIM里面打完后再粘贴到浏览器里面。

Google Chrome 上有个插件叫 Vimium(还有个类似的叫CVIM)。可以让你在Chrome上使用VIM化的操作来控制浏览器,VIM党必备。它也自带一个VIM的编辑模式,如果你想像VIM一样在输入框打字,你只要点击 Insert 按钮,就会出现一个可以用HJKL的新输入框替换原来的输入框。 它大概是长这样的。

image.png

但是这个只是一个VIM模拟器,支持的功能非常有限。以下面我要介绍的这个插件,可以让你在浏览器里面使用完整版的VIM,会加载你的VIMRC文件,能够使用你所有的VIM插件, 是不是感觉有点神奇?如下图:

image.png

这个插件会把原来的编辑框替换成VIM的编辑器,这是一个真的VIM编辑器,而不是模拟器,加载的是NEOVIM的实体程序,所以你可以像使用真的VIM一样使用它。这个插件需要NEOVIM的支持,使用GVIM是不行的。

安装看上去有点复杂,因为步骤好像有点多,但实际上操作起来还是很快的,几分钟搞定。

  1. 安装 NEOVIM
  2. 安装vim-plug插件,如果你还没有的话, 只要把这个文件下载并放在 runtimepath/autoload 这个文件夹即可, https://github.com/junegunn/vim-plug/blob/master/plug.vim
  3. 在VIMRC文件中加入以下代码, 通常位于 c:\Users\fennn\AppData\Local\nvim\init.vim, 而我通常会把它做成一个 symbolic link 连到我的git repo 里面的一个 vimrc 文件。
        if has('nvim')
          "改成你自己的 runtimepath 路径"
          set runtimepath+=c:\Users\fennn\gitLocal\settings\Vim\vimfiles\
            call plug#begin('c:\\Users\\fennn\\gitLocal\\settings\\Vim\\vimfiles\\plugged')
                Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
            call plug#end()
        endif
    
  4. 重启NEOVIM, 输入 :PlugInstall
  5. 在浏览器中安装Firenvim https://chrome.google.com/webstore/detail/firenvim/egpjdkipkomnmjhjmdamaniclmdlobbo

这样就大功造成了。 使用起来真的很爽。

The post 在Chrome浏览器中使用完整的VIM编辑器 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2021/08/02/%e5%9c%a8chrome%e6%b5%8f%e8%a7%88%e5%99%a8%e4%b8%ad%e4%bd%bf%e7%94%a8%e5%ae%8c%e6%95%b4%e7%9a%84vim%e7%bc%96%e8%be%91%e5%99%a8/feed/ 0
如何为 Nginx-proxy 后面的服务添加独立的设置 https://www.dengnz.com/2020/10/08/%e5%a6%82%e4%bd%95%e4%b8%ba-nginx-proxy-%e5%90%8e%e9%9d%a2%e7%9a%84%e6%9c%8d%e5%8a%a1%e6%b7%bb%e5%8a%a0%e7%8b%ac%e7%ab%8b%e7%9a%84%e8%ae%be%e7%bd%ae-294/ https://www.dengnz.com/2020/10/08/%e5%a6%82%e4%bd%95%e4%b8%ba-nginx-proxy-%e5%90%8e%e9%9d%a2%e7%9a%84%e6%9c%8d%e5%8a%a1%e6%b7%bb%e5%8a%a0%e7%8b%ac%e7%ab%8b%e7%9a%84%e8%ae%be%e7%bd%ae-294/?noamp=mobile#respond Thu, 08 Oct 2020 04:07:32 +0000 https://www.dengnz.com/?p=7936 Nginx-proxy 提供非常简便的网站和其它基于HTTP的服务中转, 而且通过一个插件还能实现动态自动更新… 阅读更多 »如何为 Nginx-proxy 后面的服务添加独立的设置

The post 如何为 Nginx-proxy 后面的服务添加独立的设置 appeared first on 峰哥分享.

]]>
Nginx-proxy 提供非常简便的网站和其它基于HTTP的服务中转, 而且通过一个插件还能实现动态自动更新HTPS证书。

nginx-proxy docker 镜像 hub.docker.com/r/jwilder/nginx-proxy

我曾经发过两个视频介绍它。有兴趣的可以看看。

如何使用 Nginx-proxy 做反向代理实现单端口多服务(网站)

如何使用 Nginx-proxy 反向代理把HTTP网站(服务)变成HTTPS

今天我来介绍一下如何对单独的某个服务或网站添加独立的设置。

因为Nginx-proxy 的配置文件是动态生成的, 如果我们去修改生成的文件, 当文件被重新生成的时候, 我们的修改就丢失了, 所以并没有用。
nginx-proxy 给我们提供了解决方案。

比如我现在希望我的网站在回复的时候加上一个HTTP 头, 比如我要加这样一个HTTP头
test: works

我们使用 docker exec -it 容器名 bash 的方式登录到容器 在 /etc/nginx/vhost.d 中添加这样一个文件 www.dengnz.com_location
然后在文件里面添加如下一行

add_header test works;

然后我们重启我们网站的容器, 这里我就是重启我的 wordpress 容器 。 这样 nginx-proxy 才会重新读取配置文件。 如果有小伙伴知道更好的方法, 请在下方留下宝贵的评论。

以下重启nginx 的方法应该也有效 /usr/sbin/nginx -s reload nginx.org/en/docs/beginners_guide.html

现在刷新我的网站, 就发现 HTTP response 里面有 test: works 了


除了加HTTP头, 其它任何在 location 里面可以用的参数都是可以使用的。

这个方法应该会把 www.dengnz.com_location 里面的设置应用在所有的 location 里, 并不能区分不同的 location, 在这里, 这并不是问题, 因为我们使用 nginx-proxy 本身就不会对不同的 location 做不同的配置。

如果不是改变 location 的内容, 而是改变 server 级别的内容。 则添加一个 www.dengnz.com 文件, 也就是去掉 _location 后缀。
然后这里面你可以加上server级别的设置。 当然也可以加上其它的 location, 这里你就可以对不同的 location 做设置了。
以下是一个默认的配置, 是由 nginx-proxy companion 添加的用来生成证书的一个验证位置。


如果要修改 http 级别的配置, 这个就是共享的配置了。 可以在

/etc/nginx/conf.d/ 底下加一个 以 .conf 结尾的文件, 文件名任意

比如我要给我的 wordpress 加上 rate limit

我在 /etc/nginx/conf.d/ 底下加上一个叫 wordpess.conf 的文件, 文件名可以是任意,我用 wordpress.conf 只是应景。

然后我加入以下这行

limit_req_zone $binary_remote_addr zone=wordpress:10m rate=1r/s;

这里我定义了一个 zone, 名字 wordpress

然后我再到之前提到的 www.dengnz.com_location 文件里加上这行

limit_req zone= wordpress burst=10 nodelay;

这样,我的 rate limit 就加上了。 重启 nginx 或 wordpress 容器, 让它工作。

The post 如何为 Nginx-proxy 后面的服务添加独立的设置 appeared first on 峰哥分享.

]]>
https://www.dengnz.com/2020/10/08/%e5%a6%82%e4%bd%95%e4%b8%ba-nginx-proxy-%e5%90%8e%e9%9d%a2%e7%9a%84%e6%9c%8d%e5%8a%a1%e6%b7%bb%e5%8a%a0%e7%8b%ac%e7%ab%8b%e7%9a%84%e8%ae%be%e7%bd%ae-294/feed/ 0