OpenWrt 编译步骤
前言
本文转载自 P3TERX 大佬的文章: https://p3terx.com/archives/openwrt-compilation-steps-and-commands.html
这里稍作修改作为记录。
首次编译
克隆 OpenWrt 源码
git clone https://github.com/coolsnowwolf/lede.git openwrt
这里以 Lean 大佬的源码仓库为例子,毕竟很多人都在用它。命令末尾加了openwrt是指克隆代码到openwrt目录,目的是为了规范化,因为有时并不是编译这个的源码。
进入源码目录
cd openwrt
如果要下载额外的软件包,先进入package目录git clone
避免 feeds 较大修改后更新无效
./scripts/feeds clean
下载 feeds 源中的软件包源码
./scripts/feeds update -a
feeds 是扩展的软件包,独立于 OpenWrt 源码之外,所以需要单独进行拉取和更新。
安装 feeds 中的软件包
./scripts/feeds install -a ...
Python PyInstaller安装和使用
PyInstaller是一款将 .py 文件转为 .exe 文件的软件
安装 PyInstaller
使用pip命令安装
1pip install pyinstaller
使用 PyInstaller
基本使用
PyInstaller工具的命令语法如下
1pyinstaller 选项 Python文件
常用的pyinstaller选项
选项
作用
-h, --help
查看 PyInstaller 选项的详细信息
-F, -onefile
产生单个的可执行文件
-D, --onedir
产生一个目录(包含多个文件)作为可执行程序
-a, --ascii
不包含 Unicode 字符集支持
-d, --debug
产生 debug 版本的可执行文件
-w, --windowed, --noconsole
指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c, --console, --nowindowed
指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR, --out=DIR
指定 spec 文件的生成目录。如 ...
通过Hyper-V测试OpenWrt固件
由于软路由刷入有问题的系统后需要外接显示器、键鼠重装系统,较为麻烦,所以需要提前测试编译好的固件,检查是否有恶性bug。
借助Hyper-V虚拟机可以方便快捷的测试OpenWrt固件,下面是详细方法。
创建虚拟交换机
点击“虚拟交换机管理器”
创建外部虚拟交换机,名称可以设为“WAN”,下拉菜单选择电脑的网卡,勾选“允许管理操作系统共享此网络适配器”
新建专用虚拟交换机,名称可以设为“internal”,然后点击“确定”
创建OpenWrt虚拟机
点击“新建-虚拟机”
这里选择第二代
这里使用默认的“1024MB”和“为此虚拟机使用动态内存”即可
配置网络时先选择“未连接”
这里选择“以后附加虚拟硬盘”
点击“完成”即可
注意,点击完成之后一定要调整虚拟机的安全启动设置,否则无法引导
去掉“启用安全启动”前的复选框
点击“网络适配器”,选择之前创建的专用虚拟交换机
点击“添加硬件-网络适配器-添加”
点击新添加的“网络适配器”,选择之前创建的外部虚拟交换机
注意,两个虚拟交换机的顺序有要求,第一个应为专用虚拟交换机,第二个应为外部虚拟交换机
使 ...
解决手机进入fastboot模式后连接电脑提示Press any key to shutdown的问题
进入fastboot模式的手机连接某些Windows 10电脑后,手机会显示Press any key to shutdown,电脑也无法检测到设备。
解决方法如下:
1.打开注册表编辑器
2.定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100
3.新建DWORD(32位)值,名称设为SkipBOSDescriptorQuery
4.数值数据设为1
5.退出注册表编辑器,拔下并重新插入设备即可解决问题
转载自:https://ehye.github.io/2020/03/21/fastboot-press-any-key-to-shutdown/
通过Hyper-V创建Ubuntu 20.10虚拟机并启用增强会话
创建Ubuntu 20.10虚拟机
这里选择第二代
由于使用动态内存,所以内存随便设置即可,我设为2048MB
注意,点击完成之后一定要调整虚拟机的安全启动设置,否则无法引导,可以关闭安全启动,也可以选择模板中的Microsoft UEFI证书颁发机构
设置好之后启动虚拟机,第一次开机直接回车选择第一项
启用增强会话
这里使用了微软官方的工具linux-vm-tools
GitHub地址:https://github.com/microsoft/linux-vm-tools
首先按照官方wiki中Ubuntu 18.04的步骤执行下列命令
123wget https://raw.githubusercontent.com/Microsoft/linux-vm-tools/master/ubuntu/18.04/install.shsudo chmod +x install.shsudo ./install.sh
执行完脚本会提示
12Job for xrdp.service failed because the control process exited with ...
记录
清空Windows安全中心保护历史记录
清空C:\ProgramData\Microsoft\Windows Defender\Scans\History\Service\DetectionHistory中的文件即可
获取网页Cookies
打开目标网页
打开开发人员工具(F12)-控制台,执行下面代码
1javascript:(function(){let domain=document.domain;let cookie=document.cookie;prompt(`Cookies: ${domain}`, cookie)})();
javascript无法读取HttpOnly Cookie,可使用开发人员工具(F12)-应用程序-存储-Cookie查看
通过jellyfin打造媒体服务器
jellyfin官网:https://jellyfin.org/
GitHub项目地址:https://github.com/jellyfin/jellyfin
本教程基于CentOS 8,使用宝塔面板实现文件管理、反向代理以及SSL证书申请等
宝塔面板安装方式见宝塔官网:https://bt.cn/
安装ffmpeg
centos8安装ffmpeg首先需要添加RPMfusion仓库,然后使用dnf安装
12dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpmdnf install ffmpeg
安装jellyfin
在官网中找到最新版本rpm包地址,然后执行dnf install url,我这里的命令为
123dnf install https://repo.jellyfin.org/releases/server/centos/stable/server/jellyfin-server-10.6.2-1.el7.x86_64.rpmdnf install htt ...
WordPress添加网站运行天数统计
在主题设置中找到个性化页脚内容设置框,填写如下代码即可
123456789101112131415161718192021222324<script>function runTime() { birthday = new Date('2020-05-01 00:00:00');//这里更改网站创建日期 now = new Date(); timeold = (now.getTime() - birthday.getTime()); msperday = 24 * 60 * 60 * 1000 msperhour = 60 * 60 * 1000 msperminute = 60 * 1000 daysold = Math.floor(timeold / msperday); str = daysold + '天' timeold = timeold - daysold * msperday hoursold = Math.floor(timeold / msperh ...
uptime status设置timeline倒序
项目地址:https://github.com/yb/uptime-status
先上最后效果
本方法请教的这位大佬solstice23
首先在uptimerobot.js第71 行后面加一行daily.reverse();
然后修改uptime-item.js的时间显示
把第25行
123const initial = useMemo(() => { return monitor.daily[monitor.daily.length - 1].date; }, [monitor]);
改为
123const initial = useMemo(() => { return monitor.daily[monitor.daily.length - CountDays].date; }, [monitor]);
然后交换第45行<span>今天</span>和第47行<span>{initial.format('YYYY-MM-DD')}</span> ...
WordPress纯代码实现SMTP邮件发送功能
代码如下,修改相关参数后,直接添加到当前主题的functions.php文件中即可
12345678910111213//smtp发送邮件功能add_action('phpmailer_init', 'mail_smtp');function mail_smtp( $phpmailer ) { $phpmailer->FromName = 'Admin'; //要显示的邮件发送者名字,可随意设置 $phpmailer->Host = 'smtp.example.com'; //smtp地址,可以到你使用的邮件设置里面找 $phpmailer->Port = 465; //端口,一般不用修改 $phpmailer->Username = 'admin@example.com'; //邮件账号 $phpmailer->Password = '******'; //邮件密码 $phpmailer- ...