首页
关于
壁纸
直播
留言
友链
统计
Search
1
《三国志英杰传》攻略
6,105 阅读
2
Emby客户端IOS破解
5,947 阅读
3
白嫖Emby
5,937 阅读
4
《吞食天地1》金手指代码
5,107 阅读
5
破解emby-server
4,180 阅读
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
登录
Search
标签搜索
ubuntu
mysql
openwrt
zerotier
springboot
centos
openvpn
jdk
吞食天地2
synology
spring
idea
windows11
吞食天地1
transmission
google-play
Japanese
xcode
群晖
kiftd
MoonjerX
累计撰写
375
篇文章
累计收到
463
条评论
首页
栏目
moonjerx
game
age-of-empires
zx3
san-guo-zhi
尼尔:机械纪元
net
emby
learn-video
docker
torrent
photoshop
route
minio
git
ffmpeg
im
vue
gitlab
typecho
svn
alipay
nasm
srs
mail-server
tailscale
kkfileview
aria2
webdav
synology
redis
oray
chemical
mxsite
math
π
x-ui
digital-currency
server
nginx
baota
k8s
http
cloud
linux
shell
database
vpn
esxi
rancher
domain
k3s
ewomail
os
android
windows
ios
app-store
macos
develop
java
javascript
uniapp
nodejs
hbuildx
maven
android-studio
jetbrain
jenkins
css
mybatis
php
python
hardware
hard-disk
pc
RAM
software
pt
calibre
notion
office
language
literature
philosophy
travel
页面
关于
壁纸
直播
留言
友链
统计
搜索到
375
篇与
moonjerx
的结果
2024-10-10
如何制作 macOS 启动盘
创建一个用于安装 macOS 的启动盘(优盘)是一个相对简单的过程。本文将以 macOS Mojave 或更新版本为例,介绍如何制作一个可启动的 macOS 安装优盘。请确保你的 Mac 运行的是 macOS High Sierra 或更新版本。准备工作下载 macOS 安装器:首先,你需要从 Mac App Store 下载 macOS 安装器应用。请注意,下载前需要先确定你要安装的具体 macOS 版本,并且确保该版本与你的 Mac 硬件兼容。准备一个优盘:你需要一个至少有 8GB 以上存储空间的 USB 闪存驱动器(优盘)。所有已有的数据将被删除,请提前备份。创建启动盘步骤连接优盘:将准备好的优盘插入 Mac 的 USB 端口。打开终端:在 Finder 中,前往“应用程序” > “实用工具” > “终端”。执行命令:在终端中输入以下命令来创建启动盘。请根据你实际下载的 macOS 版本调整命令中的文件名。例如,如果你下载的是 macOS Monterey,命令如下:sudo /Applications/Install\ macOS\ Sequoia.app/Contents/Resources/createinstallmedia --volume /Volumes/SequoiaReady to start. To continue we need to erase the volume at /Volumes/Sequia. If you wish to continue type (Y) then press return: y Erasing disk: 0%... 10%... 20%... 30%... 100% Copying essential files... Copying the macOS RecoveryOS... Making disk bootable... Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100% Install media now available at "/Volumes/Install macOS Sequoia"注意:/Applications/Install\ macOS\ Monterey.app 是你下载的 macOS 安装程序的位置。如果你没有将安装程序移动到“应用程序”文件夹,可能需要修改路径。/Volumes/你的优盘名称 需要替换为你的优盘的实际名称。--nointeraction 参数用于自动确认操作,避免手动输入确认信息。输入密码:系统会要求你输入管理员密码。输入后,按回车键继续。等待完成:终端将显示进度信息,整个过程可能需要几分钟到几十分钟不等,具体取决于你的 Mac 性能和优盘速度。移除优盘:当终端提示“Done.”时,表示优盘已经准备好。此时可以安全地弹出并移除优盘。使用启动盘安装 macOS将制作好的优盘插入目标 Mac 的 USB 端口。启动或重启 Mac,并立即按住 Option (⌥) 键。在启动管理器界面中选择你的优盘来启动。按照屏幕上的指示进行 macOS 安装。结语以上就是制作和使用 macOS 启动盘的全部步骤。希望这篇文章对你有所帮助。如果有任何疑问或者遇到问题,欢迎在评论区留言交流!
2024年10月10日
77 阅读
0 评论
0 点赞
2024-09-19
使用 Docker 搭建 Poste.io 邮件服务器
Poste.io 是一款开源邮件服务软件,它提供了一套简单而强大的邮件服务器环境,非常适合个人用户、小型企业或组织使用。通过使用 Docker,我们可以更加轻松地部署和管理邮件服务器,并且提供了高度灵活的配置和扩展能力。下面我们将详细介绍如何利用 Docker 搭建 Poste.io 邮件服务器,并且会包括一些额外的配置选项。准备工作在开始之前,请确保你已经在你的机器上安装了 Docker。如果还没有安装 Docker,请访问 Docker 的官方网站下载适合你操作系统的版本并安装。创建 Docker 容器我们可以通过 docker run 命令来创建并运行一个 Poste.io 的 Docker 容器。下面是一个示例命令,用于启动一个 Poste.io 的邮件服务器容器:docker run -d --name posteio \ --restart always \ -e DISABLE_RSPAMD=TRUE \ -e DISABLE_CLAMAV=TRUE \ -e DISABLE_ROUNDCUBE=TRUE \ -e HTTPS=OFF \ -e TZ=Europe/Prague \ -e HTTP_PORT=80 \ -e HTTPS_PORT=443 \ -h "mail.example.com" \ # 将 example.com 替换为你自己的域名 -p 80:80 \ -p 443:443 \ -p 25:25 \ -p 465:465 \ -p 587:587 \ -p 110:110 \ -p 143:143 \ -p 993:993 \ -p 995:995 \ -p 4190:4190 \ # 开放管理 Sieve 过滤器所需的端口 -v /etc/localtime:/etc/localtime:ro \ -v /path/to/your/data/poste:/var/lib/poste \ -v /path/to/your/data/data:/data \ -t analogic/poste.io:2.3.18 \ && docker logs -f posteio解释参数-e DISABLE_RSPAMD=TRUE: 禁用 Rspamd 反垃圾邮件系统,这有助于降低内存使用量。-e DISABLE_CLAMAV=TRUE: 禁用 ClamAV 抗病毒系统,同样是为了减少内存消耗。-e DISABLE_ROUNDCUBE=TRUE: 禁用 Roundcube Webmail,如果你打算使用其他方式访问邮件,则可以禁用该组件。-e HTTPS=OFF: 禁用所有重定向到加密 HTTP 的操作,这对于使用反向代理的情况非常有用。-e TZ=Europe/Prague: 设置容器内部的时间区域,确保日期时间的正确显示。-p 4190:4190: 如果你需要使用客户端管理外部的 Sieve 过滤器,则还需要开放此端口。配置与集成如果你需要集成 Elasticsearch 来增强邮件搜索功能,可以在运行容器时添加以下参数:-e "ELASTICSEARCH=elasticsearch_host:9200"这里的 elasticsearch_host 应该替换为实际的 Elasticsearch 服务器地址和端口。网关端口放行为了使外部网络能够访问到你的邮件服务器,你需要在网关设备(如路由器)上放行以下端口:SMTP: 25/tcpSubmission: 587/tcpIMAP: 143/tcpPOP3: 110/tcpSecure SMTP (SSL/TLS): 465/tcpSecure IMAP (SSL/TLS): 993/tcpSecure POP3 (SSL/TLS): 995/tcpSieve: 4190/tcp这些端口是标准的邮件服务端口,确保它们被正确配置以允许从外部网络到达邮件服务器的流量。测试邮件服务器启动容器之后,可以通过 docker logs -f posteio 来跟踪容器的日志输出,确认服务是否成功启动。接下来可以通过邮件客户端连接到这个邮件服务器,测试发送和接收邮件的功能。确保 DNS 设置正确指向你的邮件服务器地址,并且 SPF、DKIM、DMARC 等邮件认证机制已经配置好。总结通过 Docker 来部署 Poste.io 邮件服务器不仅简化了安装过程,还提高了灵活性和可管理性。希望这篇博客能帮助你成功搭建起属于自己的邮件服务器。
2024年09月19日
65 阅读
0 评论
0 点赞
2024-09-19
在OpenWRT路由器上使用arp-scan扫描局域网设备
在OpenWRT路由器环境中,使用arp-scan工具来扫描局域网内的设备是一个常见的需求。然而,在使用过程中可能会遇到一些警告信息,本文将介绍如何解决这些问题,并提供一个简化脚本来实现这一功能。问题背景当你在OpenWRT路由器上运行arp-scan时,可能会遇到以下警告信息:WARNING: Cannot open MAC/Vendor file /usr/share/arp-scan/ieee-oui.txt: No such file or directory WARNING: Cannot open MAC/Vendor file /etc/arp-scan/mac-vendor.txt: No such file or directory这些警告信息是因为arp-scan试图读取MAC地址对应的厂商信息文件,但在指定路径下没有找到这些文件。尽管这些警告不会影响扫描的结果,但为了更好的用户体验,我们可以消除这些警告。解决方案忽略警告如果你可以接受没有MAC地址对应的厂商信息,并且这些警告信息不影响你的使用,可以选择忽略它们。arp-scan已经成功扫描到了局域网内的设备。安装厂商信息文件如果你希望arp-scan能够显示MAC地址对应的厂商信息,可以手动下载这些文件并放置在相应的路径下。下载并安装厂商信息文件创建必要的目录mkdir -p /usr/share/arp-scan mkdir -p /etc/arp-scan下载IEEE OUI文件wget -O /usr/share/arp-scan/ieee-oui.txt https://standards-oui.ieee.org/oui/oui.txt下载简化的厂商映射文件wget -O /etc/arp-scan/mac-vendor.txt https://raw.githubusercontent.com/vektra/macsvendor/master/macsvendor/db/macvendors.db修改脚本以忽略警告如果你不希望看到这些警告信息,可以在脚本中添加对这些警告的忽略。例如,可以通过重定向标准错误输出到/dev/null来忽略这些警告:#!/bin/sh # 获取当前设备的主要网络接口(假设为主网卡) INTERFACE=$(ip route get 1 | awk '{print $5}') # 确保使用的是局域网接口 if [[ "$INTERFACE" =~ ^eth ]]; then INTERFACE="$INTERFACE" else INTERFACE="br-lan" # 假设局域网接口为br-lan fi # 确认接口有IP地址 IP=$(ip addr show $INTERFACE | awk 'NR==2{print $2}' | cut -f1 -d'/') if [ -z "$IP" ]; then echo "Error: The interface $INTERFACE does not have an IP address." exit 1 fi # 使用arp-scan扫描局域网内的设备 echo "Scanning for devices on the local network..." DEVICES=$(arp-scan --interface=$INTERFACE --localnet 2>/dev/null) # 输出结果 if [ -z "$DEVICES" ]; then echo "No devices were detected on the network." else echo "The following devices are connected to the network:" echo "$DEVICES" fi在这个脚本中,arp-scan命令的标准错误输出被重定向到了/dev/null,从而忽略了所有警告信息。使用说明保存脚本:将上述脚本保存为一个文件,例如scan_network_devices.sh。赋予执行权限:使脚本可执行。chmod +x scan_network_devices.sh运行脚本:执行脚本以开始扫描。./scan_network_devices.sh结论无论采用哪种方法,你都可以继续使用arp-scan来扫描局域网内的设备。希望这篇文章对你有所帮助!
2024年09月19日
223 阅读
0 评论
0 点赞
2024-09-18
自动检测网络状态并在断网时重启OpenWRT路由器
在家庭网络环境中,路由器偶尔会出现断网的情况。为了避免手动重启路由器带来的不便,可以通过编写一个脚本来自动检测网络状态并在断网时重启路由器。本文将详细介绍如何在OpenWRT路由器上实现这一功能。前提条件已安装OpenWRT固件。路由器支持SSH,并且已开启SSH服务。路由器的SSH端口已知(默认为22,本文假设已修改为20022)。实现步骤1. 创建脚本首先,在OpenWRT路由器上创建一个新的脚本,用于检测网络状态并在必要时重启路由器。#!/bin/sh # 配置文件路径 CONF_LAST_DOWN_TIME="/usr/share/netcheck/last_down_time.conf" CONF_HAS_REBOOT="/usr/share/netcheck/has_reboot.conf" NETWORK_DOWN_THRESHOLD=300 # 创建配置文件如果它不存在 if [ ! -f "$CONF_LAST_DOWN_TIME" ]; then touch "$CONF_LAST_DOWN_TIME" echo "LAST_DOWN_TIME=" > "$CONF_LAST_DOWN_TIME" fi if [ ! -f "$CONF_HAS_REBOOT" ]; then touch "$CONF_HAS_REBOOT" echo "HAS_REBOOT=0" > "$CONF_HAS_REBOOT" fi # 设置要检测的目标(这里使用 www.baidu.com) PING_TARGET="www.baidu.com" # 获取当前时间戳 CURRENT_TIME=$(date +%s) # 读取配置文件中的值 source "$CONF_LAST_DOWN_TIME" source "$CONF_HAS_REBOOT" # 检查是否网络断开 if ! ping -c 1 $PING_TARGET > /dev/null 2>&1; then if [ -z "$LAST_DOWN_TIME" ]; then logger "[CK-Net] Network is down since $(date)" # 如果LAST_DOWN_TIME为空值,则记录当前时间 echo "LAST_DOWN_TIME=$CURRENT_TIME" > "$CONF_LAST_DOWN_TIME" else # 已经记录了断开时间,计算断开时间长度 NETWORK_DOWN_TIME=$((CURRENT_TIME-LAST_DOWN_TIME)) # 如果断开时间超过阈值,并且 HAS_REBOOT 为 0,则重启路由器 if [ $NETWORK_DOWN_TIME -ge $NETWORK_DOWN_THRESHOLD ] && [ $HAS_REBOOT -eq 0 ]; then # 清除断开时间记录 echo "LAST_DOWN_TIME=" > "$CONF_LAST_DOWN_TIME" logger "[CK-Net] Network has been down for more than $((NETWORK_DOWN_TIME / 60)) minutes. Restarting router..." echo "HAS_REBOOT=1" > "$CONF_HAS_REBOOT" reboot else logger "[CK-Net] Network has been down for $((NETWORK_DOWN_TIME / 60)) minutes." fi fi else # 网络恢复正常,清除断开时间记录 if [ -n "$LAST_DOWN_TIME" ]; then logger "[CK-Net] Network is up again." echo "LAST_DOWN_TIME=" > "$CONF_LAST_DOWN_TIME" echo "HAS_REBOOT=0" > "$CONF_HAS_REBOOT" fi fi2. 设置执行权限确保脚本文件具有执行权限:chmod +x /usr/share/netcheck/netcheck.sh3. 设置定时任务设置一个定时任务来定期执行这个脚本。编辑crontab:crontab -e添加定时任务:在打开的编辑器中,添加一行来指定定时任务的频率。例如,每分钟执行一次脚本:* * * * * /usr/share/netcheck/netcheck.sh保存并退出:保存并退出编辑器。此时,定时任务就已经设置好了。{dotted startColor="#ff6c6c" endColor="#1989fa"/}注意事项日志记录:您可以在脚本中加入日志记录功能,以便追踪脚本的执行情况。例如:logger "Network check script executed at $(date)"可以使用日志查看命令logread | grep CK网络延迟:考虑到网络可能存在短暂的不稳定,可以在脚本中增加重试机制,以避免因瞬时的网络波动而导致不必要的重启。例如,可以尝试多次ping,确保网络确实断开后再执行重启操作。安全性:确保路由器的SSH访问是安全的,并且只允许受信任的设备访问。频繁重启的影响:频繁重启路由器可能会对硬件造成损害,因此请调整检测间隔和重启逻辑,确保不会频繁重启。通过以上步骤,您可以在OpenWRT路由器上设置一个定时任务,定期检查网络状态,并在断网超过2分钟后自动重启路由器。这种方法可以有效地减少因短暂网络波动而导致的不必要的重启操作。
2024年09月18日
360 阅读
0 评论
0 点赞
2024-09-18
通过青龙面板脚本检测网络状态并重启路由器
在家庭网络环境中,路由器偶尔会出现断网的情况。为了避免手动重启路由器带来的不便,可以通过编写一个脚本来自动检测网络状态并在断网时重启路由器。本文将介绍如何在青龙面板上编写一个脚本来实现这一功能。前提条件已安装青龙面板。路由器支持SSH,并且已开启SSH服务。路由器的SSH端口已知(默认为22,本文假设已修改为20022)。实现步骤1. 创建脚本首先,在青龙面板中创建一个新的脚本,用于检测网络状态并在必要时重启路由器。# 检测网络状态并在断网超过2分钟时重启路由器 import time import paramiko def check_network(ip_address): import os response = os.system("ping -c 1 " + ip_address) return response == 0 def ssh_restart_router(host, username, password, port=20022): client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: client.connect(host, port=port, username=username, password=password) stdin, stdout, stderr = client.exec_command('/etc/init.d/system restart') print("Router is being restarted...") except Exception as e: print(f"Failed to connect to router: {e}") finally: client.close() def main(): router_ip = "192.168.1.1" # 路由器的IP地址 username = "root" password = "111111" ping_target = "8.8.8.8" # 可以换成任意公网IP或域名 last_down_time = None while True: if not check_network(ping_target): current_time = time.time() if last_down_time is None or (current_time - last_down_time) >= 120: print("Network is down, attempting to restart the router...") ssh_restart_router(router_ip, username, password, port=20022) last_down_time = current_time else: last_down_time = None print("Network is up.") time.sleep(60) # 每60秒检查一次 if __name__ == "__main__": main()2. 配置定时任务在青龙面板中,配置定时任务来定期执行上述脚本。例如,可以设置每5分钟执行一次。进入定时任务设置:在青龙面板的定时任务管理界面,创建一个新的定时任务。设置定时任务:设定定时任务的执行频率,例如每5分钟执行一次。选择刚刚创建的脚本作为执行对象。注意事项安全性:确保路由器的SSH访问是安全的,并且只允许受信任的设备访问。频繁重启的影响:频繁重启路由器可能会对硬件造成损害,因此请调整检测间隔和重启逻辑,确保不会频繁重启。
2024年09月18日
88 阅读
0 评论
0 点赞
1
2
3
4
...
75
您的IP: