首页
关于
统计
壁纸
请留言
投资盈亏
友情链接
Search
1
HTTP 缓存
37 阅读
2
HTML 基础
26 阅读
3
HTML 标签
26 阅读
4
小米4a千兆版,刷入老毛子固件
26 阅读
5
Mac 错误zsh: command not found: brew解决方法
24 阅读
前端开发
HTML / CSS
JavaScript
Python
Windows
Mac OS
Linux
电子产品
Search
标签搜索
路由器
小米
HTML
常用标签
显示秒
系统时间
属性
input
brew
VS code
免密登录
红米AX6000
R4A
Openwrt
Deepin20.9
黑苹果
Hackintosh
Sunshine
累计撰写
14
篇文章
累计收到
1
条评论
首页
分类
前端开发
HTML / CSS
JavaScript
Python
Windows
Mac OS
Linux
电子产品
页面
关于
统计
壁纸
请留言
投资盈亏
友情链接
搜索到
14
篇与
的结果
2023-05-18
Deepin 23 编译Openwrt
有条件一定要科学上网减少编译出错有条件一定要科学上网减少编译出错有条件一定要科学上网减少编译出错第一步:下载Openwrt源码git clone https://gitee.com/Siioo/lede.git lede 第三方openwrt库sudo apt update #拉取系统更新 sudo apt full-upgrade -y #更新系统 sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip libpython3-dev qemu-utils \ rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-devv #如果是Windows10子系统需要修改WSL环境变量 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin{tabs}{tabs-pane label="切换版本"}git checkout <新分支名>{/tabs-pane}{tabs-pane label="用screen"}apt-get install -y screen万一ssh断了不会影响编译。建议使用{/tabs-pane}{/tabs}第二步:git pull #请求更新 git branch -a #列出本地分支 git tag #查看版本 git checkout #切换版本号第三步: 修改Feeds文件(不修改需要自由网络) src-git wiwiz https://gitee.com/wiwiz/WiFiPortal #wifi收费插件第四步: 下载软件源更新和安装` ./scripts/feeds update -a && ./scripts/feeds install -a #下载feeds插件并安装第五步: 配置设备参数以及插件`make menuconfig #根据路由器硬件选择配置第六步: 下载dl库 并编译固件 make -j10 download && make -j2 V=s #download下载dl依赖库 -j(线程数) ,并安装二次编译#清理旧文件 #如果只是调整检查和驱动等 make clean #如果需要调整架构,或者之前编译出错 make dirclean #删除旧的配置文件 rm -rf ./tmp && rm -rf .config
2023年05月18日
17 阅读
0 评论
0 点赞
2023-01-28
小米4a千兆版,刷入老毛子固件
小米4a千兆版,刷入老毛子固件。准备工作:路由器正常联网状态,官方固件版本 https://www.right.com.cn/forum/thread-4134544-1-1.html电脑网线插入路由lan口,ip地址设置自动获取开启win10的telnet服务(不懂就百度)安装python注意:安装的时候一定要勾选add python 3.x.x to path!!(选添加变量)win+R 输入 cmd 打开命令窗口python -m pip install --upgrade pip #升级pip最新pip install pycryptodomepip install requests开启sshcmd下载输入OpenWRTInvasion-0.0.7文件中 小米R4Ascript.sh 改名为 script.shcd OpenWRTInvasion-0.0.7python remote_command_execution_vulnerability.py192.168.31.1htpp:// 192.168.31.1/cgibin/luci/;stok=df0fdfad694c66c13813bc6a5691ee9e/web/home#router输入stok值(浏览器打开路由器管理页面上复制,不要关掉管理页面,不然stok值会变动),等待完成telnet 192.168.31.1root 回车备份重要文件下载winscp软件并安装,用来上传breed文件及下载路由备份用cat /proc/mtd #显示路由分区dd if=/dev/mtd0 of=/tmp/all.bindd if=/dev/mtd4 of=/tmp/eeprom.bin刷breed之前备份固件,方便日后刷回。用winscp登入路由,ftp协议,ip地址192.168.31.1,账号root密码空或者root,把breed文件上传到tmp文件夹内,把备份的固件下载到电脑刷入Breed 一定谨慎!用winscp登入路由XiaomiR4a-breed.bin 上传到路由器tmp目录下面cd /tmp小米4a千兆版 的breedmtd -r write XiaomiR4a-breed.bin Bootloader 重启之后浏览器打开192.168.1.1进入breed恢复控制台,导入备份出来eeprom.bin,刷入老毛子固件。个人感觉 老毛子的固件最稳,本人300mb移动宽带跑400+mb 。注意!只要Breed (类似系统引导)不弄坏 就随便造!刷回官方固件,breed下编程器固件刷入备份的all.bin即可。
2023年01月28日
26 阅读
0 评论
3 点赞
2023-01-20
红米AX6000 刷回小米官方Rom
红米AX 6000 刷回小米官方Rom参考大佬的文章https:【2】从hanwckf大佬的不死uboot刷回官方刷过分区表的请移步这个没有刷回原厂分区表的操作,有些固件没有解锁FIP分区,先刷 :237大佬和hanwckf大佬的闭源OP是已解锁FIP一定要先解锁FIP分区把原厂的uboot刷回去,就可以使用小米路由官方修复工具第一步:先打开WinSCP(文件协议选择SCP)登录进去后把自己备份的mtd5_FIP.bin上传到tmp文件夹下运行MobaXterm登录SSH运行命令查看md5值是否一样md5sum /tmp/mtd5_FIP.bin擦除FIP分区mtd erase FIP写入分区mtd write /tmp/mtd5_FIP.bin FIP检查分区mtd verify /tmp/mtd5_FIP.bin FIP
2023年01月20日
15 阅读
0 评论
0 点赞
2022-08-25
配置一台黑苹果台式电脑
配置名称CPUIntel(R) CPU QTB2 @ 3.30GHz (十核 / 二十逻辑处理器)主板MPG Z490 GAMING PLUS (MS-7C75)显卡UHD Graphics 630内存Crucial DDR4 3200 16GB*2散热Segotep 240水冷多彩固态aigo NVMe SSD P2000 500GB (500 GB)电源长城G750系统: MacOS 12
2022年08月25日
5 阅读
0 评论
0 点赞
2020-03-20
HTTP 缓存
前端缓存前端缓存可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自行去查阅。下面这张图是前端缓存的一个大致知识点: HTTP 缓存策略分为两种: 强缓存 和 协商缓存 ,这两种缓存策略都是服务端设置 HTTP Header 来实现的(一)强缓存强缓存的意思很简单,直接从浏览器缓存过的本地进行读取,不会去请求服务器。例如请求一个图片,当缓存后,第二次访问,直接从本地去拿,不会再去请求这个资源,可以节省服务器资源。可以通过三种方式来设置强缓存Expires:服务端在响应头中设置一个 GMT 格式的到期时间。客户端的本地时间小于响应头的 Expires 时间,那么会从本地进行读取,不会去请求服务器。如果超过了,那么就去请求服务器去获取最新资源。但是就是因为根据本地时间进行判断,本地时间可以随便修改,所以这种缓存机制有漏洞,会与服务端时间有偏差,为了解决这个问题,就出现了下面的 Cache-contorlCache-control:他和Expires不一样,Expires是直接设置一个时间戳就行了,而Cache-control可以设置下面这几种属性:max-age:这个用于设置一个滑动时间,例如设置 max-age=30 表示客户端时间向后滑动30秒,在这30秒内都是强缓存,不会去请求服务器s-maxage:这个和上面的一样,只不过这个设置的是代理服务器的缓存时间privte:这个表示缓存只能被客户端的浏览器缓存,不能被代理服务器缓存public:这个表示缓存既可以被浏览器缓存,也可以被代理服务器缓存no-store:这个属性表示不缓存,在任何情况下,都是与服务器进行最新的交互no-cache:这个并非不缓存的意思,这个表示强制进行协商缓存,会在下面描述(二)协商缓存协商缓存表示在使用本地的缓存之前,会先向服务器发一个请求,与服务器协商当前浏览器的缓存是否已经过期了,如果没过期,那么就使用本地的资源,如果过期了就去请求最新资源。协商缓存主要是解决强缓存资源不能及时更新的问题,协商缓存服务端可以通过2种设置来实现:第一种:last-modified 配合 If-Modified-Since 例如,客户端请求一个 03.jpg,服务端接收到这个请求后,会读取这个文件的最后修改时间,然后设置到响应头中,设置的参数就是 last-modified,参数值是文件最后修改的时间戳。客户端第二次请求 03.jpg 这个文件的时候,会带上一个 If-Modified-Since 参数,服务端能拿到这个参数与last-modified进行比对,如果一致,那么就返回304状态,否则就去请求最新的文件,使用nodejs实现这个代码:(注意协商缓存需要设置Cache-Control为no-cache,表示设置成协商缓存)... // 判断客户端请求的是03这个图片 if(pathname === '/img/03.jpg') { // 读取 03 图片的最后修改时间 const { mtime } = fs.statSync("./img/03.jpg") // 判断客户端发送过来的if-modified-since是否与mtime一致,如果一致就直接返回304 if(req.headers['if-modified-since'] === mtime.toUTCString()) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("last-modified", mtime.toUTCString()) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...上面的 last-modified 配合 If-Modified-Since在使用时有些弊端,例如将03.jpg修改成04.jpg,再改回03.jpg。此时这个文件其实是没有变化的,但是最后修改时间更改了,因此客户端就需要重新请求,因此就出现了下面的第二种使用Etag的方式第二种:Etag 配合 If-None-Match Etag实现的方式服务端是为文件生成一个指纹,类似于MD5字符串。接着响应头中塞进 Etag 参数,参数的值就是计算出的字符串,客户端接收到后,第二次请求会带上一个 If-None-Match 的参数,接着服务端和上面第一种方式一样进行比对,nodejs的实现代码如下:// 引入 etag 模块 const etag = reqiure("etag") ... if(pathname === '/img/03.jpg') { const data = fs.readFileSync("./img/03.jpg") // 获取生成的etag字符串 const etag = etag(data) // 判断客户端发送的 If-None-Match 与服务端是否一致 if(req.headers['if-none-match'] === etag) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("etag", etag) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...
2020年03月20日
37 阅读
0 评论
0 点赞
2019-05-25
Mac 错误zsh: command not found: brew解决方法
Homebrew在安装想更新zsh时,发现使用brew提示没有发现1.使用以下代码/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2019年05月25日
24 阅读
0 评论
0 点赞
2019-05-21
让Windows系统的时间显示到秒
1.同时按下键盘的Windows+R键即可打开运行窗口,且输入命令【regedit】2.进入Windows资源管理器的高级设置路径在注册表底部的框中输入路径【HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced】然后按下Enter键。3.选中Windows资源管理器的高级设置路径(Advanced),然后点击鼠标右键–>选择【新建】–>选择【DWORD(32位)值(D)】的项,且修改名字为【ShowSecondsInSystemClock】,然后修改该【ShowSecondsInSystemClock】项的值为【1】
2019年05月21日
21 阅读
0 评论
1 点赞
2018-12-05
配置vscode 远程开发+ 免密登录
配置密钥在本地机器生成密钥对(公钥+私钥):ssh-keygenWindows生成目录:C:\Users\用户名.ssh私钥放本机,公钥放远程(~/.ssh路径下)在远程机器用公钥生成authorized_keys:进入home目录下的.ssh文件夹:cd ~/.sshcat id_rsa.pub >> authorized_keys2.VS Code 安装插件Remote - SSH
2018年12月05日
10 阅读
0 评论
0 点赞
2018-11-24
表单 元素
iput (输入)属性名称描述type用来定义表单元素的类型。属性值如下:1. text:单行文本输入框 2.radio:单选按钮 3.checkbox:复选框 4.password:密码框 5.button:普通按钮,也可以直接写成 button 按钮,例如:<button>按钮标签</button>6.submit:提交按钮 7.reset:重置按钮 8.url:表示网址输入控件 9.date:日期控件 10.time:时间控件 11.email:电子邮件输入控件 12.file:文件选择控件,需要上传本地文件时,可以使用它 13.number:表示数字输入控件 14.color:颜色控件(不常用,了解即可)15.range:表示拖拽条(不常用,了解即可) 16.search:t 表示搜索框(不常用,了解即可)value用于为 input 元素设定值,value 值一般是给后端发送数据时使用,后续学习了相关课程就会了解name规定 input 元素的名称checked用来设置单选按钮、多选按钮的默认选中项placeholder表示提示文本,用来设置输入框的提示信息,告诉用户该输入框需要输入什么内容disabled用于禁用 input 元素,表示只读maxmax 表示最大值,表示数字输入控件(即 type="number"的 input 元素)允许输入的最大值minmin 表示最小值,最小值,表示数字输入控件(即 type="number"的 input 元素)允许输入的最小值required表示必填字段,约束某项内容是必填项,比如规定”用户名“项,是必填项textarea (文本框)定义文本域 (一个多行的输入控件)label (标签)定义了 <input> 元素的标签,一般为输入标题select (下拉列表)定义了下拉选项列表 与 option(下拉列表中的选项) 配合使用学习后实践: 表单标签
2018年11月24日
11 阅读
0 评论
0 点赞
2018-11-21
HTML 标签中的属性
属性说明langhtml 标签的属性,用来标记网页的语言;常见属性值有:"en"和"zh";en 代表英语, zh 代表中文charsetmeta 标签的属性,声明页面文档使用的字符编码类型。常用的属性值有:UTF-8 和 GB2312src(1)img 标签的属性,指定图片的路径(2)audio 标签和 video 标签也可以设置 src 属性,指定音频、视频的路径altimg 标签的属性,用来对引入的图片进行文本描述width规定元素的宽度。此属性不常用,了解即可。后续学习 css,会使用 css 样式设置元素宽度height规定元素的高度。此属性不常用,了解即可。后续学习 css,会使用 css 样式设置元素高度。注意,height 或者 width 如果省略其中一个属性,则按照图片原始比例缩放图片hrefa 标签属性,规定该链接要跳转到目标页面的地址titlea 标签属性,设置鼠标悬停的文本targeta 标签属性,规定在何处打开链接文档;如果属性值为 blank 或_blank,会打开新的标签页controlsaudio/video 的属性,用于显示播放控件autoplayaudio/video 的属性,设置音频/视频自动播放loopaudio/video 的属性,设置音频/视频可以循环播放class所有标签都可以使用这个属性,用来定义元素的类名(后续学习 css,会有详细的讲解)rowstextarea 标签属性,设置多行文本框有多少行colstextarea 标签属性,设置多行文本框有多少列border边框属性,可为 table 添加边框colspan表格标签的属性,实现跨列合并的效果,用来设置 td 或 th 跨列合并rowspan表格标签的属性,实现跨行合并的效果,用来设置 td 或 th 跨行合并
2018年11月21日
13 阅读
0 评论
0 点赞
1
2