庆余年2火了,却把热爱开源的程序员给坑了

庆余年 2 终于开播了,作为一名剧粉,苦等了五年终于盼来了。开播即爆火,虽然首播的几集剧情有些拖沓,不过也不影响这是一部好剧。

然而,庆余年 2 的爆火,却把 npmmirror 镜像站给坑惨了。npmmirror 镜像站(原 CNPM)的核心开发者 fengmk2 在某社交平台发推说,有人利用了 npm 包的机制,将刚刚开播的《庆余年 2》盗版资源搬运到了 npmmirror,因此导致 npmmirror 使用了大量的阿里云 CDN 资源,这个月开发者要因此付出很多的 CDN 账单费用了。

有些人就要问了,为什么看个盗版视频,会影响到这个很多人没听过名字的网站呢?

那一切的源头就要从 npm 说起了,了不起这就给大家简单科普一下。

何为 npm

npm(Node Package Manager)是一个 JavaScript 编程语言的包管理器,npm 允许开发者安装、共享和管理具有依赖关系的 JavaScript 包,这些包可以是库、工具或框架。而 npm 提供了一个公共的包仓库(registry),开发者可以在这里发布自己的包,也可以搜索和下载其他人发布的包。

图中说的 Unpkg,则是一个快速的 CDN 服务,用于提供 npm 包的内容。它允许开发者通过 URL 访问 npm 仓库中的文件,而不需要下载整个包。其优势在于它提供了一个快速、可靠的方式来分发 npm 包,并且可以自动处理缓存和版本控制。这对于前端开发者来说是一个非常方便的工具。

而 npmmirror 是一个中国的 npm 镜像服务,它提供了 npm 官方仓库的镜像,以加速中国大陆地区开发者访问 npm 仓库的速度。由于网络原因,中国大陆的开发者在访问 npm 官方仓库时可能会遇到速度慢或连接不稳定的问题。npmmirror 通过在中国大陆设立服务器,缓存 npm 官方仓库的数据,从而提供更快的访问速度。

盗版视频如何影响到 npm

当然,npm 和 Unpkg 都是免费的。而盗版视频的团队却盯上了这个免费快速的分发机制,通过将视频文件分割成多个小体积的视频文件,并对格式进行伪装,上传到 npm。而他们搭建的盗版视频网站则以软件包的方式从 npm 中获取这一批小视频文件,进而实现盗版网站的在线播放。

因为 npmmirror 是 npm 的镜像服务,所以国内的盗版视频网站在播放视频时,自然是走了 npmmirror 提供的 CDN 服务,从而达到了免费快速加载视频的。

本来是一群热爱开源的开发者给大家提供便利的 npmmirror,却被灰产团队利用,遭到了巨大的损失。了不起也惊叹到还可以这样使用公共资源为自己谋取私利,灰产团队的小聪明用到了这种歪路上,实在是可恶。

后续的处理

npmmirror 第一时间关闭了 unpkg 的新增文件功能紧急止损,并于第二天新增了白名单的判断,尽量的减少对其他开发者使用的影响。

了不起说

讲道理,这件事真是有些让人气愤。

开源社区和公共基础设施的建立是为了促进技术的发展和知识的共享,它们是无数开发者辛勤工作和智慧的结晶。当这些宝贵的资源被滥用,不仅损害了版权所有者的合法权益,也破坏了社区的和谐与信任。

而对于那些坚守原则、维护正义的开发者和组织,正是因为有了你们,开源社区才能持续繁荣发展,成为推动技术进步的重要力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/842913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gem5模拟器入门(二)——创建一个简单的配置脚本

本章教程将引导您设置一个简单的 gem5 仿真脚本,并首次运行 gem5。假设您已经完成了gem5模拟器入门(一)——环境配置-CSDN博客,并成功构建了带有可执行文件 build/X86/gem5.opt 的 gem5。 配置脚本将模拟一个非常简单的系统&#…

LangChain实战 | 3分钟学会SequentialChain怎么传多个参数

SequentialChain参数传递,总结了以下四种类型 参数传递入参出参一 对 一11一 对 多1n多 对 一n1多 对 多nn 0.连接大模型 先选一个llm,参考这篇博客选择一个国内大模型 LangChain连接国内大模型测试|智谱ai、讯飞星火、通义千问 from langchain_comm…

网络侦察技术

网络侦察技术 收集的信息网络侦察步骤搜索引擎检索命令bing搜索引擎Baidu搜索引擎Shodan钟馗之眼(zoomeye) whois数据库:信息宝库查询注册资料 域名系统网络拓扑社交网络跨域拓展攻击 其它侦察手段社会工程学社会工程学常见形式Web网站查询 其它非技术侦察手段总结网…

巅峰对决:OpenAI与Google如何用大模型开创未来

2024年,人工智能领域正引领着一场波澜壮阔的全球技术革命。 5月14日,OpenAI揭开了其新一代多模态人工智能大模型GPT4系列的神秘面纱,其中GPT-4o不仅拥有流畅迷人的嗓音,还展现出幽默、机智和深刻的洞察力……紧接着,在…

linux下cp和mv命令显示进度条

1.查看当前系统下coreutils工具包的版本号: [rootk8s-master ~]# rpm -qa | grep -w coreutils coreutils-8.22-24.el7_9.2.x86_64当前版本为8.22。 因为cp 和 mv 命令由 coreutils 软件包提供,所以需要重新下载 coreutils 软件包配置补丁 2.下载core…

数据结构——顺序表基本操作的实现(初始化、取值、查找、插入)

一、线性表与顺序表的概述 线性表的数据元素的逻辑特征是线性的,是一种典型的线性结构。这样的结构可以借鉴数组,如数组a[10]中,a[1]前一定是a[0],a[1]后一定是a[2],首结点(a[0])前面无元素&am…

java医院管理系统源码(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 医院管理系统的主要使用者分…

VR法治教育展厅互动体验突破了地域限制

VR全景互动展厅搭建编辑器以其卓越的特点、强大的功能及实际应用中的显著优势,成为企业级VR应用的得力助手。这款软件不仅能够制作逼真的虚拟场景,更能让用户沉浸其中,体验前所未有的真实感。 它拥有高度逼真的视觉效果,采用先进的…

智能单款计划助力品牌利润增长

零售品牌若要在激烈的市场竞争中胜出,季中单款的管理无疑是商品生命周期管理的核心环节之一。而单款计划的制定,首先依赖于对爆款、平销及滞销产品的敏锐洞察。一个利润现象不得不引起我们的关注:爆款产品的销售,往往成为拉动品牌…

svix - webhooks

文章目录 一、关于 SvixClient Library Overview与 Svix 托管服务的区别 二、运行服务器1、部署1.1 Docker1) 使用 Docker Compose2) 独立容器 1.2 预编译的二进制文件1.3 从源代码构建 2、运行时依赖项3、Redis/Valkey 注意事项持久性 Eviction 政策4、服务器配置4.1 配置文件…

express.js--生成token(二)

主要作用是访问路由接口时,生成身份权限信息 下载依赖 npm i express-jwt npm i jsonwebtoken 配置管理 config/index.js module.exports {app: {port: process.PORT || 3000,//jwt密钥jwtSecret: jwtSecret,//token过期时间expiresIn: 60 * 60 * 24,} } con…

从零开始:如何集成美颜SDK和优化美颜接口

今天,小编将从零开始,详细讲解如何集成SDK并优化美颜接口。 一、选择合适的美颜SDK 评估SDK的功能 在评估过程中,可以通过阅读官方文档、查看示例代码以及实际测试来确定SDK是否符合需求。 兼容性和性能 确保其支持你开发的应用平台&…

Android15 Beta更新速览

Android15 Beta更新速览 前台服务变更 前台服务使应用保持活动状态,以便它们可以执行关键且对用户可见的操作,通常以牺牲电池寿命为代价。在 Android 15 Beta 2 中,dataSync 和 mediaProcessing 前台服务类型现在具有约 6 小时的超时时间&a…

内网安全--隧道技术-CS上线本地

免责声明:本文仅做技术交流与学习...请勿非法搞破坏... ---隧道技术:硬刚网络协议,(你不让我走我偏走!) 解决不出网协议上线的问题(利用出网协议进行封装出网) 代理协议: SOCKS4/5 代理软件: SocksCap Proxifier ProxyChains(…

磁盘管理以及文件系统08

1、为什么要对磁盘进行分区? 业务层面:为满足一定的需求所是做的特定操作。 2、硬盘是什么,以及硬盘的作用 硬盘:计算机的存储设备,一个或者多个带磁性的盘组成的,可以在盘片上进行数据的读写。硬盘的最…

LVGL圆弧、线条、图片、色环、按钮矩阵、文本区域、键盘部件

目录 LVGL圆弧部件 LVGL线条部件 LVGL图片部件 LVGL色环部件 LVGL按钮矩阵部件 LVGL文本区域部件 LVGL键盘部件 LVGL圆弧部件 圆弧部件以弧形滑动的形式来调节、显示某个参数的值。 圆弧部件组成部分: 背景弧(LV_PART_MAIN) 前景弧&am…

浏览器提示网站不安全怎么办?有什么解决办法吗?

当你在浏览器中访问一个网站时,如果看到提示说该网站不安全,这通常是由于网站没有使用SSL证书或者SSL证书存在问题。SSL证书在这里扮演着非常关键的角色,下面我会详细解释它的作用以及如何解决这类不安全提示。 SSL证书的作用: 1…

【CTF Web】CTFShow web11 Writeup(RCE+PHP+代码审计)

web11 1 阿呆听完自己菜死了&#xff0c;自己呆了。决定修好漏洞&#xff0c;绝对不能让自己再菜死了。 解法 可知 flag 在 config.php。 <?php # flag in config.php include("config.php"); if(isset($_GET[c])){$c $_GET[c];if(!preg_match("/system…

WorldSpace下的合批策略与ScreenSpace有什么区别

1&#xff09;WorldSpace下的合批策略与ScreenSpace有什么区别 2&#xff09;在iOS上用Metal取代OpenGL的多么 3&#xff09;在动画蓝图中将两个或多个动画同时融合到同一个网格 4&#xff09;Mipmap如何限定层级 这是第387篇UWA技术知识分享的推送&#xff0c;精选了UWA社区的…

java面对对象编程-多态

介绍 方法的多态 多态是在继承&#xff0c;重载&#xff0c;重写的基础上实现的 我们可以看看这个代码 package b;public class main_ {public static void main(String[] args) { // graduate granew graduate(); // gra.cry();//这个时候&#xff0c;子类的cry方法就重写…