首页
关于
壁纸
直播
留言
友链
统计
Search
1
《吞食天地1》金手指代码
8,022 阅读
2
白嫖Emby
6,979 阅读
3
Emby客户端IOS破解
6,939 阅读
4
《三国志英杰传》攻略
6,798 阅读
5
破解emby-server
4,597 阅读
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
累计撰写
383
篇文章
累计收到
466
条评论
首页
栏目
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
页面
关于
壁纸
直播
留言
友链
统计
搜索到
109
篇与
net
的结果
2024-10-24
Git 操作指南:分支、标签和归档
在版本控制系统 Git 中,管理和维护代码的不同版本是一项常见任务。本文将详细介绍如何在 Git 中创建、切换、推送、删除分支、标签以及归档版本。目录创建分支切换分支推送分支删除分支创建和管理标签归档版本一、创建分支1. 创建本地分支要创建一个新的本地分支,可以使用 git checkout 或 git switch 命令:使用 git checkout 命令:git checkout -b <branch-name>使用 git switch 命令:git switch -b <branch-name>例如,创建一个名为 feature-branch 的分支:git checkout -b feature-branch # 或者 git switch -b feature-branch2. 推送分支到远程仓库创建本地分支后,可以将其推送到远程仓库:使用 git push 命令:git push origin <branch-name>例如,将 feature-branch 推送到远程仓库:git push origin feature-branch二、切换分支1. 切换到本地分支要切换到已有的本地分支,可以使用 git checkout 或 git switch 命令:使用 git checkout 命令:git checkout <branch-name>使用 git switch 命令:git switch <branch-name>例如,切换到 main 分支:git checkout main # 或者 git switch main三、推送分支1. 推送本地分支到远程仓库要将本地分支推送到远程仓库,可以使用 git push 命令:使用 git push 命令:git push origin <branch-name>例如,将 feature-branch 推送到远程仓库:git push origin feature-branch四、删除分支1. 删除本地分支要删除本地分支,可以使用 git branch 命令:使用 git branch -d 命令:git branch -d <branch-name>如果分支未合并,可以使用 -D 选项强制删除:git branch -D <branch-name>例如,删除本地分支 feature-branch:git branch -d feature-branch # 或者 git branch -D feature-branch2. 删除远程分支要删除远程分支,可以使用 git push 命令:使用 git push --delete 命令:git push origin --delete <branch-name>例如,删除远程分支 feature-branch:git push origin --delete feature-branch五、创建和管理标签1. 创建标签要创建一个标签,可以使用 git tag 命令:使用 git tag 命令:git tag <tag-name>例如,创建一个名为 v1.0 的标签:git tag v1.02. 推送标签到远程仓库创建标签后,可以将其推送到远程仓库:使用 git push 命令:git push origin <tag-name>例如,将 v1.0 标签推送到远程仓库:git push origin v1.03. 删除标签(1)删除本地标签要删除本地标签,可以使用 git tag 命令:使用 git tag -d 命令:git tag -d <tag-name>例如,删除本地标签 v1.0:git tag -d v1.0(2)删除远程标签要删除远程标签,可以使用 git push 命令:使用 git push --delete 命令:git push origin --delete <tag-name>例如,删除远程标签 v1.0:git push origin --delete v1.0六、归档版本1. 创建归档文件要创建一个归档文件,可以使用 git archive 命令:使用 git archive 命令:git archive --format=tar.gz -o <archive-file> <commit-ish>例如,创建一个包含版本 v1.0 的归档文件 v1.0.tar.gz:git archive --format=tar.gz -o v1.0.tar.gz v1.02. 解压归档文件要解压归档文件,可以使用相应的解压命令:使用 tar 命令:tar -xzvf <archive-file>例如,解压 v1.0.tar.gz 文件:tar -xzvf v1.0.tar.gz其他命令# 1. 还原当前分支代码为远程 main 分支的状态 git fetch origin git reset --hard origin/main # 2. 将 v2.0 分支的更改合并到当前分支(覆盖) git merge --strategy=ours v2.0 # 3. 强制推送到远程 main 分支 git push -f origin main总结本文详细介绍了在 Git 中创建、切换、推送、删除分支、标签以及归档版本的操作。希望这些信息能帮助你更好地管理和维护代码版本。
2024年10月24日
120 阅读
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日
233 阅读
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日
528 阅读
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日
111 阅读
0 评论
0 点赞
2024-09-10
如何在Docker容器中管理服务端口及SSH服务
在使用Docker容器时,了解容器内运行的服务及其占用的端口是非常重要的。本文将指导您如何列出容器内所有服务名称和占用的端口,并检查容器是否运行着OpenSSH服务。1. 列出容器内所有服务名称和占用的端口要找出当前容器内运行的服务及其绑定的端口,可以使用netstat或ss命令。使用netstat命令如果您容器中有安装netstat,可以使用以下命令来查找所有监听的TCP和UDP端口:netstat -tuln命令输出可能类似于:Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:63322 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:888 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN tcp6 0 0 :::63322 :::* LISTEN 使用ss命令如果您的容器使用的是ss命令,可以这样操作:ss -tuln输出看起来与netstat类似。2. 检查容器是否运行着OpenSSH服务要检查容器内是否正在运行OpenSSH服务,可以使用pgrep或者ps命令加上grep来查找。使用pgrep命令如果您有pgrep命令,可以直接这样查询:pgrep sshd如果有ssh服务正在运行,它将返回一个或多个进程ID。如果没有返回任何东西,则意味着没有ssh服务正在运行。使用ps命令结合grep如果没有pgrep,可以使用ps命令结合grep来查找:ps aux | grep sshd这将显示所有包含sshd关键词的进程列表。如果没有任何输出(除了grep自身的进程),则表示没有运行OpenSSH服务。3. 查看具体服务占用端口的情况假设您已经知道某个端口被某个服务占用,但不确定是哪个具体服务,可以使用lsof命令来查找打开文件和IPC节点(例如网络套接字)。lsof -i :端口号例如,要找到占用端口63322的服务,可以这样做:lsof -i :63322这将会显示类似于以下的输出:COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 20 root 3u IPv4 29903991 0t0 TCP *:63322 (LISTEN) sshd 20 root 4u IPv6 29903993 0t0 TCP *:63322 (LISTEN) BT-Panel 849 root 16u IPv4 41302087 0t0 TCP localhost:53958->localhost:63322 (ESTABLISHED) sshd 47399 root 3u IPv4 41299442 0t0 TCP localhost:63322->localhost:53958 (ESTABLISHED)这里可以看到sshd进程使用PID 20占用着端口63322,并且有两个监听端口的文件描述符,一个是IPv4,另一个是IPv6。4. 永久禁用IPv6连接如果您希望永久禁用IPv6连接,可以通过修改OpenSSH的配置文件来实现这一点。打开sshd_config文件编辑器:sudo nano /etc/ssh/sshd_config在文件中添加或修改以下行:# ListenAddress :: (这行可以注释掉) ListenAddress 0.0.0.0保存并关闭文件。重启OpenSSH服务使更改生效:sudo systemctl restart ssh结论通过上述步骤,您可以轻松地管理和监控Docker容器内的服务端口及SSH服务的状态。这对于保证系统的安全性和稳定性至关重要。希望本文能够帮助您更好地理解和控制您的容器环境。
2024年09月10日
136 阅读
0 评论
0 点赞
1
2
3
...
22
您的IP: