使用p2p实现Linux内网快速分发文件
安装opentracker
方法一:编译安装
参考如下官方文档进行操作即可,国内下载源码会比较慢
https://erdgeist.org/arts/software/opentracker/
编译完成后会生成可执行文件opentracker和opentracker.debug
可以直接./opentracker.debug进行验证
方法二:使用lednerb/opentracker-docker镜像进行部署
docker部署的方式可以参考
https://github.com/Lednerb/opentracker-docker
这里选择在kubernetes集群上部署
cat > opentracker-ingress-service-deployment.yaml << EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: opentracker-ingress
spec:defaultBackend:service:name: opentracker-serviceport:number: 6969
---
apiVersion: v1
kind: Service
metadata:labels:app: opentracker-servicename: opentracker-service
spec:ports:- name: tcp-6969protocol: TCPport: 6969targetPort: 6969- name: udp-6969protocol: UDPport: 6969targetPort: 6969selector:app: opentracker-pod
---
apiVersion: apps/v1
kind: Deployment
metadata:labels:app: opentracker-deployname: opentracker-deploy
spec:replicas: 1selector:matchLabels:app: opentracker-podstrategy: {}template:metadata:labels:app: opentracker-podspec:containers:- image: lednerb/opentracker-dockername: opentrackerports:- containerPort: 6969
EOFkubectl apply -f opentracker-ingress-service-deployment.yaml
测试
制作torrent种子
这里使用ctorrent制作种子
假设tracker服务器IP=192.168.122.21
ctorrent -t -u "http://192.168.122.21:6969/announce" -s yourfile.tgz.torrent yourfile.tgz
启动初始上传服务
让制作的种子和文件存在于同一文件夹中,执行如下命令就会自动做种
ctorrent yourfile.tgz.torrent
下载
下载可以使用支持BitTorrent协议的任意客户端,这里使用aria2进行测试
假设把上面的种子文件已经放到了tracker服务器的httpd根目录下
aria2c http://192.168.122.21/yourfile.tgz.torrent
下载完成后会自动做种一段时间,最后自动退出
参考:
使用BT协议构建软件快速分发系统(可用于Linux内网快速分发文件)
来自 https://blog.csdn.net/Jailman/article/details/86231517
opentracker 搭建自己的 BT Tracker 服务器
来自 https://blog.wudinaonao.com/2020/12/24/opentracker搭建自己的BT-Tracker服务器/
相关文章:
使用p2p实现Linux内网快速分发文件
安装opentracker 方法一:编译安装 参考如下官方文档进行操作即可,国内下载源码会比较慢 https://erdgeist.org/arts/software/opentracker/ 编译完成后会生成可执行文件opentracker和opentracker.debug 可以直接./opentracker.debug进行验证 方法二&a…...
Android Studio报错:connect refused
参考链接: https://blog.csdn.net/qq_43213783/article/details/113936012 参考文章中说报错主要是由于代理导致的,在文件->设置->外观与行为->系统设置->HTTP代理。 方法一: 查看打开代理(前提是代理可以通网&#x…...
ubuntu 源码编译安装make过程很慢问题解决
一般下载的时候有两种方式 使用wget 下载后使用tar命令解压直接git clone 源代码 下载完成之后,进入目录,新建一个文件夹build,防止影响码源结构第三步,进入到build目录,使用cmake编译 cmake ..第四步直接make编译 …...
深度学习 opencv python 实现中国交通标志识别 计算机竞赛
文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…...
希尔排序原理
目录: 一、希尔排序与插入排序 1)希尔排序的概念 2)插入排序实现 二、希尔排序实现 一、希尔排序与插入排序 1)希尔排序的概念 希尔排序(Shells Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Incremen…...
测试用例的设计方法(全):判定表驱动分析方法
目录 判定表驱动分析方法 一. 方法简介 二. 实战演习 判定表驱动分析方法 一. 方法简介 1.定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。 2.判定表的优点 能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此…...
node 第十七天 使用rsa非对称加密 实现前后端加密通信 JSEncrypt和node-rsa
什么是非对称加密 加密过程需要两个钥匙, 公钥和私钥 其中公钥用于加密明文, 私钥用于解密公钥加密的密文, 解密只可以用私钥 公钥和私钥是一对一的关系 公钥可以发送给用户, 不用担心泄露 私钥需要保存在服务端, 不能泄露 例如: 战场上,B要给A传递一条消息…...
Spring-依赖注入findAutowireCandidates源码实现
findAutowireCandidates()实现 1、找出BeanFactory中类型为type的所有的Bean的名字,根据BeanDefinition就能判断和当前type是不是匹配,不用生成Bean对象 2、把resolvableDependencies中key为type的对象找出来并添加到result中 3、遍历根据type找出的b…...
单页面应用与多页面应用的区别?
单页面应用(SPA)与多页面应用(MPA)的主要区别在于页面数量和页面跳转方式。单页面应用只有一个主页,而多页面应用包含多个页面。 单页面应用的优点有: 用户体验好:内容的改变不需要重新加载整…...
模型预处理的ToTensor和Normalize
模型预处理的ToTensor和Normalize flyfish import torch import numpy as np from torchvision import transformsmean (0.485, 0.456, 0.406) std (0.229, 0.224, 0.225)# data0 np.random.randint(0,255,size [4,5,3],dtypeuint8) # data0 data0.astype(np.float64) da…...
nodejs express multer 保存文件名为中文时乱码,问题解决 originalname
nodejs express multer 保存文件名为中文时乱码,问题解决 originalname 一、问题描述 用 express 写了个后台,在接收文件并保存的时候 multer 接收到的文件名为乱码。 二、解决 找了下解决方法,在 github 的 multer issue 中找到了答案 参…...
大数据之LibrA数据库系统告警处理(ALM-12035 恢复任务失败后数据状态未知)
告警解释 执行恢复任务失败后,系统会自动回滚,如果回滚失败,可能会导致数据丢失等问题,如果该情况出现,则上报告警,如果下一次该任务恢复成功,则恢复告警。 告警属性 告警ID 告警级别 可自动…...
汽车生产RFID智能制造设计解决方案与思路
汽车行业需求 汽车行业正面临着快速变革,传统的汽车制造方式正在向柔性化、数字化、自动化和数据化的智能制造体系转变,在这个变革的背景下,汽车制造企业面临着物流、生产、配送和资产管理等方面的挑战,为了应对这些挑战…...
讲解机器学习中的 K-均值聚类算法及其优缺点。
K-均值聚类算法是一种无监督学习算法,常用于对数据进行聚类分析。其主要步骤如下: 首先随机选择K个中心点(质心)作为初始聚类中心。 对于每一个样本,计算其与每一个中心点的距离,将其归到距离最近的中心点…...
开源DB-GPT实现连接数据库详细步骤
官方文档:欢迎来到DB-GPT中文文档 — DB-GPT 👏👏 0.4.1 第一步:安装Minicoda https://docs.conda.io/en/latest/miniconda.html 第二步:安装Git Git - Downloading Package 第三步:安装embedding 模型到…...
java学习part01
15-Java语言概述-单行注释和多行注释的使用_哔哩哔哩_bilibili 1.命令行 javac编译出class文件 然后java运行 2. java文件每个文件最多一个public类 3.java注释 单行注释 // 多行注释 文档注释 文档注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文…...
渗透测试学习day3
文章目录 靶机:DancingTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8 靶机:RedeemerTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9Task 10Task 11 靶机:AppointmentTask 1Task 2Task 3Task 4Task 5Task 6Task 7Task 8Task 9T…...
【Proteus仿真】【Arduino单片机】数码管显示
文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用TM1637、共阳数码管等。 主要功能: 系统运行后,数码管显示数字、字符。 二、软件设计 /* 作者:嗨小易&am…...
【Bug】Python利用matplotlib绘图无法显示中文解决办法
一,问题描述 当利用matplotlib进行图形绘制时,图表标题,坐标轴,标签中文无法显示,显示为方框,并报错 运行窗口报错: 这是中文字体格式未导入的缘故。 二,解决方案 在代码import部…...
Docsify 顶部的导航是如何配置
如下图,我们在 Docsify 的文档中配置了一个顶部导航。 下面的步骤对顶部导航的配置进行简要介绍。 配置 有 2 个地方需要这个地方进行配置。 首先需要在 index.html 文件中的 loadNavbar: true, 配置上。 然后再在项目中添加一个 _navbar.md 文件。 在这个文件中…...
RK3588驱动编译踩坑记:手把手教你解决‘-Werror’导致的‘all warnings being treated as errors’
RK3588驱动编译实战:从-Werror报错到内核构建优化的完整指南 当你在深夜的调试灯光下,面对RK3588开发板驱动编译失败的红字报错,那种挫败感每个嵌入式开发者都深有体会。特别是当错误提示"cc1: all warnings being treated as errors&qu…...
WorkshopDL:打破平台壁垒,为所有玩家解锁Steam创意工坊模组自由
WorkshopDL:打破平台壁垒,为所有玩家解锁Steam创意工坊模组自由 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否曾在GOG或Epic Games Store购买了…...
AKAZE源码全解析——非线性扩散方程、FED加速与MLDB描述子的2319行C++
SIFT 用高斯模糊构建尺度空间。ORB 用图像金字塔暴力缩放。它们的共同缺陷是什么? 高斯模糊不分青红皂白,把边缘和噪声一起抹掉了。 2012年,Alcantarilla 提出了 KAZE 算法,用非线性扩散方程替代高斯平滑,让尺度空间的构建第一次做到了"该模糊的地方模糊,该保留的…...
NVIDIA Profile Inspector终极指南:5个高效显卡优化方案解决性能瓶颈
NVIDIA Profile Inspector终极指南:5个高效显卡优化方案解决性能瓶颈 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款强大的显卡驱动配置工具,能…...
第二篇:Nacos服务注册与发现原理
第二篇:Nacos服务注册与发现原理关键词:Nacos、服务注册、服务发现、心跳机制、健康检查、Distro协议、Spring Cloud、负载均衡、长连接、gRPC摘要 服务注册与发现是微服务架构的神经系统,它决定了服务之间能否高效、可靠地找到彼此。Nacos 作…...
从单层感知机到MLP:为什么加了几层‘隐层’,AI就突然开窍了?
从单层感知机到MLP:为什么加了几层‘隐层’,AI就突然开窍了? 想象一下你正在教一个孩子区分猫和狗。如果只告诉他"猫的耳朵尖,狗的耳朵圆",这个规则在遇到折耳猫或立耳犬时就会失效。单层感知机就像这个孩子…...
独家逆向分析.NET 11 RC2 JIT增强日志:AI算子融合(Op Fusion)如何让ResNet-50推理吞吐提升5.2×?(附JITDump深度解读PDF)
第一章:.NET 11 RC2 JIT引擎在AI推理场景下的范式跃迁.NET 11 RC2 引入了重写后的 RyuJIT 后端,其核心增强聚焦于动态向量化、延迟绑定的硬件加速指令调度,以及针对张量计算密集型工作负载的即时编译策略重构。在 AI 推理场景中,这…...
Switch模拟器:Ryujin模拟器教程
下载配置模拟器前需要先安装游戏运行库,显卡驱动正常 龙神模拟器官网:https://ryujinx.org/ switch模拟器的区别 Ryujinx【龙神模拟器】兼容性更好,刚出来的游戏也能运行,但由于它以前只支持OpenGL,所以帧率较低&am…...
2026 Google Play开发者上架全攻略:提升审核通过率的10个关键技巧
2026年,Google Play审核上架应用的门槛已经不再只是“功能是否可用”。很多应用被拒,并不是单一原因,而是权限合规、元数据一致性、功能完整度以及开发环境稳定性等多个因素叠加的结果。这篇将从Google Play最新审核机制出发,拆解…...
CN3862 具有太阳能最大功率点跟踪功能的降压型 4A 两节锂电池充电管理集成电路
概述: CN3862 是一款可使用太阳能板供电的 PWM 降压模式两节电池充电管理集成电路,独立对两节 电池充电进行管理,具有封装外形小,外围元器件少和使用简单等优点。 CN3862 具有涓流,恒流和恒压充电模式,非常适合两节锂电…...
