首页
关于
壁纸
直播
留言
友链
统计
Search
1
《三国志英杰传》攻略
6,136 阅读
2
Emby客户端IOS破解
6,000 阅读
3
白嫖Emby
5,983 阅读
4
《吞食天地1》金手指代码
5,308 阅读
5
破解emby-server
4,255 阅读
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
累计撰写
377
篇文章
累计收到
465
条评论
首页
栏目
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
页面
关于
壁纸
直播
留言
友链
统计
搜索到
377
篇与
moonjerx
的结果
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日
435 阅读
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日
93 阅读
0 评论
0 点赞
2024-09-12
清理 Windows 11 休眠文件
在 Windows 11 专业版中,你可以通过以下步骤来释放休眠文件(Hibernate File),从而腾出磁盘空间。休眠文件是系统休眠(Hibernate)功能所需要的文件,它保存了系统的当前状态,以便在休眠状态下恢复。如果你不使用休眠功能,或者因为 C 盘空间不足,可以考虑释放这个文件。打开命令提示符或 PowerShell:点击任务栏上的“搜索”按钮,然后键入“cmd”或“PowerShell”。在搜索结果中,右键点击“命令提示符”或“Windows PowerShell”并选择“以管理员身份运行”。执行命令:在命令提示符或 PowerShell 窗口中,输入以下命令并按下 Enter:powercfg -h off这个命令会关闭休眠功能,并删除休眠文件。释放磁盘空间:休眠文件被删除后,系统会释放之前被占用的磁盘空间。重新启用休眠功能(可选):如果以后你想要重新启用休眠功能,可以执行以下命令:powercfg -h on这个命令会重新启用休眠功能,并重新创建休眠文件。请注意:禁用休眠功能会使你无法使用系统的休眠模式。如果你经常使用休眠功能来保存系统状态并快速恢复,最好不要禁用休眠功能。另外,释放休眠文件可能会影响系统恢复速度。休眠功能的主要作用包括:快速恢复:休眠功能使计算机能够在保持状态的同时降低功耗,从而可以快速恢复到之前的工作状态。节省电能:休眠状态下,计算机的功耗会显著降低,有助于节省电能。临时关闭计算机:休眠功能类似于关机,但可以在保持工作状态的同时关闭计算机。避免数据丢失:休眠功能可以帮助你避免数据丢失,即使在电源中断的情况下也可以恢复到之前的状态。
2024年09月12日
241 阅读
0 评论
0 点赞
2024-09-12
Electron 开发环境搭建
1. 安装 Node.js首先,我们需要确保你已经安装了 Node.js。Electron 是基于 Node.js 和 Chromium 浏览器引擎构建的。如果你还没有安装 Node.js,请前往 Node.js 官方网站 下载并安装与你操作系统匹配的最新稳定版 Node.js。安装完成后,你可以在终端或命令提示符中运行以下命令来确认 Node.js 和 npm(Node 包管理器)已经成功安装且版本正常:node -v npm -v2. 初始化 Electron 项目现在,我们来创建一个新的工作目录,例如 my-electron-app。在终端中执行以下命令:mkdir my-electron-app cd my-electron-app npm init -y这将初始化一个新的 Node.js 项目,并自动生成一个 package.json 文件。3. 安装 Electron继续在终端中执行以下命令,安装 Electron:npm install electron4. 创建主进程窗口在项目根目录下创建一个名为 main.js 的文件,作为 Electron 的主进程。在 main.js 中,你可以使用 Electron 提供的 API 来创建窗口、加载页面等。以下是一个简单的示例:// main.js const { app, BrowserWindow } = require('electron'); app.on('ready', () => { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, // 允许在渲染进程中使用 Node.js }, }); // 加载你的 HTML 文件 mainWindow.loadFile('index.html'); });5. 创建渲染进程在项目根目录下创建一个名为 index.html 的文件,作为 Electron 的渲染进程。在这个文件中,你可以编写你的应用界面,使用 HTML、CSS 和 JavaScript。6. 运行应用在终端中运行以下命令,启动你的 Electron 应用:electron .这将打开一个 Electron 窗口,加载 index.html 中的内容。7. 更多功能当然,这只是一个简单的入门示例。你还可以添加更多功能,如菜单、对话框、文件操作等。如果你想开发一个 Markdown 编辑器,可以在渲染进程中使用一些流行的 Markdown 渲染库,例如 marked。祝你在 Electron 开发中玩得愉快!如果有其他问题,随时告诉我哦。🚀(Electron 官网)
2024年09月12日
35 阅读
0 评论
0 点赞
2024-09-11
Ollama本地私有化部署
Ollama 是一个用于在本地或私有环境中部署大型语言模型(LLMs)的工具。本文将详细介绍如何通过一个一键安装脚本在本地环境中部署 Ollama,并集成联网搜索功能。1. 前提条件1.1 系统要求操作系统:Linux(推荐Ubuntu)Docker:必须安装 Docker 和 Docker ComposeGit:用于克隆 Ollama 仓库1.2 硬件要求CPU:至少4核RAM:根据模型大小至少需要8GB RAM,更大的模型可能需要更多硬盘:至少需要50GB的存储空间来保存模型和数据2. 一键安装脚本我们将使用一个一键安装脚本 ollama_install.sh 来自动化整个安装流程。该脚本将自动下载 Ollama 仓库、安装所需依赖、下载模型,并集成联网搜索功能。2.1 一键安装脚本 ollama_install.sh#!/bin/bash # 设置变量 OLLAMA_DIR="$HOME/programs/ollama" SEARCH_PROXY_PATH="$HOME/programs/search_proxy" MODEL_NAME="ollama-base" PORT="8080" # 更新系统包索引 sudo apt-get update # 检查是否已安装Docker if ! command -v docker &> /dev/null; then # 如果未安装,则安装Docker echo "Docker not found, installing..." sudo apt-get install docker.io -y sudo systemctl start docker sudo usermod -aG docker $USER newgrp docker else echo "Docker already installed." fi # 检查是否已安装Docker Compose if ! command -v docker-compose &> /dev/null; then # 如果未安装,则安装Docker Compose echo "Docker Compose not found, installing..." sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose else echo "Docker Compose already installed." fi # 检查是否已安装Python 3 if ! command -v python3 &> /dev/null; then # 如果未安装,则安装Python 3 echo "Python 3 not found, installing..." sudo apt-get install python3 -y else echo "Python 3 already installed." fi # 创建Ollama目录 mkdir -p $OLLAMA_DIR # 克隆Ollama仓库 git clone https://github.com/ollama/ollama.git $OLLAMA_DIR # 切换到Ollama目录 cd $OLLAMA_DIR # 下载默认模型 echo "Downloading default model..." ollama pull $MODEL_NAME # 创建.env文件 echo "MODEL=$MODEL_NAME" > .env echo "PORT=$PORT" >> .env # 创建搜索代理脚本 mkdir -p $SEARCH_PROXY_PATH cat <<EOF > $SEARCH_PROXY_PATH/search_proxy.py import requests import sys def search_web(query): url = f'https://html.duckduckgo.com/html/?q={query}' response = requests.get(url) if response.status_code == 200: return response.text else: return None if __name__ == "__main__": if len(sys.argv) > 1: query = ' '.join(sys.argv[1:]) result = search_web(query) print(result) EOF chmod +x $SEARCH_PROXY_PATH/search_proxy.py # 创建搜索代理的服务文件 cat <<EOF > /etc/systemd/system/search_proxy.service [Unit] Description=Search Proxy Service [Service] User=$USER WorkingDirectory=$SEARCH_PROXY_PATH ExecStart=/usr/bin/env python3 \$PWD/search_proxy.py \${QUERY} Restart=always [Install] WantedBy=multi-user.target EOF # 启动搜索代理服务 sudo systemctl daemon-reload sudo systemctl enable search_proxy.service sudo systemctl start search_proxy.service # 构建并运行Ollama容器 docker-compose up --build & echo "Ollama installation and setup complete. The search proxy is running in the background."2.2 使用方法保存脚本:将上述脚本保存为 ollama_install.sh 文件。赋予执行权限:在终端中运行 chmod +x ollama_install.sh。执行脚本:在终端中运行 sudo ./ollama_install.sh。3. 安装后使用说明3.1 访问 Ollama Web UI脚本执行完成后,Ollama 将会在后台运行。你可以通过 Web 浏览器访问 Ollama 的 Web UI。打开浏览器:使用你喜欢的浏览器。访问地址:输入 http://localhost:8080 或者根据你的实际 IP 地址和端口号输入 http://your_server_ip:8080。3.2 使用联网搜索功能Ollama 现在已经集成了联网搜索功能。当你在 Ollama 的 Web UI 中输入查询时,它将利用 DuckDuckGo API 进行搜索,并显示搜索结果。3.3 日常维护停止服务:如果需要停止 Ollama 服务,可以在终端中运行 docker-compose down。重启服务:如果需要重启 Ollama 服务,可以在终端中运行 docker-compose up --build。查看日志:可以查看 Ollama 的日志文件来诊断问题。日志通常位于 $OLLAMA_DIR/logs 目录下。4. 总结通过上述步骤,你已经成功地在本地环境中部署了 Ollama,并且集成联网搜索功能。Ollama 不仅简化了大型语言模型的部署流程,还提供了高度的灵活性和可扩展性。随着技术的进步,私有化部署将成为越来越多企业和个人的选择。
2024年09月11日
56 阅读
0 评论
0 点赞
1
...
3
4
5
...
76
您的IP: