喜极而泣!!!这款 Github 标星 20.7k+ 全能下载工具被我找到了
转自:GitHub大本营
每个月终于可以省下几十块钱喝奶茶了!可以不用开通 x 雷,某度云的超级会员了!(不要问我为什么开,2020 了,谁还没几个会员呢,傲娇脸)
大家要相信我,毕竟我是一个说话算话的“渣女”!嘻嘻
Motrix 是一款开源免费且界面非常清爽简约的全能型下载软件,它跨平台支持 Windows、Mac、Linux 三大系统,可以支持下载 HTTP、FTP、BT、磁力链接以及下载百度网盘等资源。
Motrix 软件界面非常简约清爽,设计很精美看起来也很符合目前趋势,总体上更加追求上手简单易用,并且是跨平台的统一,让用户在所有平台都能够有一致的使用体验。
而且软件代码是基于 Electron + Vue + VueX + Element 等技术编写而来,对开发感兴趣的同学可以参考学习一下。
Motrix 还有一点比较方便的点是支持百度网盘下载,它提供了「百度网盘助手」的 Chrome 浏览器插件,可以通过 Motrix 直接高速下载百度网盘的资源。
下载
-
官方网站:https://motrix.app/
-
使用手册:https://www.yuque.com/moapp/help/issues
安装
建议使用安装包(Motrix-Setup-x.y.z.exe)安装 Motrix 以确保完整的体验,例如关联 torrent 文件,捕获磁力链等。
如果你更喜欢便携版,你可以使用 scoop(需要 Windows 7+,我们可能需要设置 Git 代理)安装最新便携版本的 Motrix。
macOS 用户可以使用 brew cask 安装 Motrix
你可以下载 AppImage(适用于所有 Linux 发行版)软件包或 snap 或从源代码构建安装 Motrix。
构建请阅读 编译打包 部分。
对于 Arch Linux 用户,可以使用 aur 安装 Motrix。
运行以下命令进行安装:
Motrix 在 Linux 中首次启动可能需要使用 sudo 运行,因为可能没有创建下载会话文件的权限 (/var/cache/aria2.session)。
特性
-
简洁明了的图形操作界面
-
支持BT和磁力链任务
-
支持选择性下载BT部分文件
-
支持下载某盘资源
-
最高支持 10 个任务同时下载
-
单任务最高支持 64 线程下载
-
设置上传/下载限速
-
模拟用户代理UA
-
下载完成后通知
-
支持触控栏快捷键 (Mac 专享)
-
常驻系统托盘,操作更加便捷
-
深色模式
-
移除任务时可同时删除相关文件
-
国际化
-
开发中的更多功能
好了,今天的分享就到这里了,我要去取消 某度云跟某讯的会员连续包月服务了。
GitHub 开源项目地址:https://github.com/agalwood/Motrix
俄版百度44.7G源码泄露!遭前员工背刺,涉及搜索地图等主要服务
鱼羊 Pine 发自 凹非寺
量子位 | 公众号 QbitAI
俄罗斯第一大科技巨头,这回遇上了烦:
44.7GB源代码,全被泄露到了网上。
什么概念?
就是这家名为Yandex的公司,几乎所有主要服务的源代码都被挖了个底掉……
要知道,在俄罗斯,Yandex不仅干着搜索引擎的活儿,还把俄国老百姓购物、打车、订外卖、租车这一连串生活服务都给包圆了。
简单来说,约等于俄版百度+淘宝+美团+滴滴。
这么大个事儿,自然引起了全世界网友的围观。
但就在众人纷纷猜测这又是哪家黑客手笔之际,Yandex的声明却有些令人大跌眼镜:
我们没有被黑,就是被前员工给卖了……
具体来说,泄密链接最早出现在了一个黑客论坛上。
泄密者称,这份44.7GB的Yandex代码库,包含该公司2022年7月以前,除反垃圾邮件规则之外的所有源代码。
这些被泄露出来的代码信息量到底有多大?
看看网友们热火朝天扒出来的细节就知道了……
Yandex不是以搜索引擎起家,常被称作“俄版百度”/“俄版谷歌”嘛,那就先以搜索引擎部分的代码为例。
一位名叫Alex Buraks的老哥就深扒了下Yandex搜索引擎的排名规则,还戏称这对理解谷歌SEO(搜索引擎优化)有很多有用的信息。
毕竟Yandex和谷歌的搜索结果有70%的匹配度,不少人认为其搜索技术用的就是谷歌同款:如PageRank、BERT等。
(掌握了Yandex的规则不就相当于透了谷歌排名算法的家底,手动狗头)
目前已经有大批吃瓜群众来围观,甚至Alex Buraks的这条线程曾在谷歌搜索“yandex”中排名第8。
有趣的是,在Yandex的排名因素中,排在第一个的就是PageRank。
Buraks还直接列出了Yandex的10个排名因素:
(1)链接的创建时间;(2)流量和有机流量的百分比;(3)URL中的数字不利于排名;(4)URL中的斜杠不利于排名;(5)负面情绪过重的PageRank=0;(6)主机可靠性;(7)“维基百科”还单独列了一个因素
;(8)用户行为:点击率,跳出率等;(9)文件年龄与上次更新日期;(10)所有查询域名的平均位置……
当然这还只是其中的一部分,Buraks表示后续还会继续分析。
除了Alex Buraks,也有不少营销大师深扒了Yandex的排名因素,甚至有人都详细整理出了完整的1900+个排名因素。
值得一提的是,在各路大神扒代码的过程中,Yandex搜索引擎的一些“潜规则”也被摆上了台面。
就比如说加拿大黑客Aubrey Cottle就在代码中发现了Yandex是容忍种族歧视的。
还有网友在代码中发现,Yandex的广告投放中,普通广告和广告是分开计算的。
这事儿一出,很快还有一份详细的泄密文件目录被整理出来放在了GitHub上。
作者是一位名叫Arseniy Shestakov的软件工程师。据他评估,这些源代码确实涉及了Yandex的所有主要服务。
包括:
- 搜索引擎和索引机器人
- 地图服务
- AI语音助手
- 打车服务
- 广告服务
- 邮件服务
- 存储服务(类似百度网盘)
- 电商服务(类似淘宝)
- 旅游服务
- 云服务
还包括在线协同办公、支付、数据分析等等业务。
不过,泄露内容并不包括用户数据等敏感信息。
Arseniy Shestakov总结了几个关键细节:
- 泄露出来的主要是git存储库里的源代码,不包含git历史记录
- 所有文件日期均可追溯至2022年2月24日
- 大部分软件都没有预先编译好,只有少数例外
- 除了一些例外,没有预先训练好的机器学习模型
事情闹得这么大,Yandex官方也坐不住了,很快发表声明表示:其实我们并没有被黑,是前员工出卖了我们!
Yandex没有被黑。我们在公共领域发现了泄露自内部存储库的代码片段,但其内容与Yandex当前使用的代码版本并不相同。
存储库是用来存储和处理代码的工具。大多数公司都采用这种方式来使用代码。
代码库并未存储个人用户数据。
我们正在进行内部调查,但并没有发现该事件给用户数据和平台性能带来了任何威胁。
Yandex倒是信誓旦旦,但外部的专业人士却有不同看法。
据bleepingcomputer消息,前Yandex技术专家Grigory Bakunov对此事做出了回应。
他认为,这次代码泄露确实不会对用户的隐私或安全构成直接风险,也不会直接威胁到Yandex的专有技术。
不过一些文件仍可能会暴露正在运行的服务,比如说“blacklist.txt”,Bakunov还称:
尽管泄密的部分不涉及敏感数据,但黑客针对性利用代码中的安全漏洞,只是时间问题;
(BTW)虽然Yandex官方回应泄露的代码与公司工作服务中使用的当前代码不同,但相似度可能高达90%。
泄露代码目录:https://gist.github.com/ArseniyShestakov/53a80e3214601aa20d1075872a1ea989
参考链接:[1]https://www.bleepingcomputer.com/news/security/yandex-denies-hack-blames-source-code-leak-on-former-employee/[2]https://arseniyshestakov.com/2023/01/26/yandex-services-source-code-leak/[3]https://twitter.com/Kirtaner/status/1619007274202329091[4]https://twitter.com/dom_woodman/status/1619028740201398274[5]https://twitter.com/alex_buraks/status/1618988134850785280
— 完 —
量子位 QbitAI · 头条号签约
关注我们,第一时间获知前沿科技动态
「源码分享」.NET Core前后端分离快速开发框架(Core.3.1+AntdVue)
随着前端和后端技术的不断变革,尤其是前端,目前大环境已经是前后端完全分离为主的开发模式,在这样的大环境和必然趋势之下,传统的MVC就显得有些落伍了。在这样的背景下,一款前后端分离的.NET开发框架就显得尤为必要,由此本框架的目标:前后端分离。
首先后端技术的选择,从目前的数据来看,.NET Core的发展远远快于.NET Framework,最简单的分析就是Colder.Fx.Core.AdminLTE发布比Colder.Fx.Net.AdminLTE晚,但是星星却后来居上而且比前者多30%,并且这个差距在不断扩大,由点及面的分析可以看出我们广大.NET开发人员学习的热情和积极向上的态度,并不是某些人所认为的那么不堪(走自己的路,让别人说去吧)。大环境上微软积极拥抱开源,大力发展.NET Core, 可以说前途一片光明。因此后端决定采用 .NET Core3.1 ,不再浪费精力去支持.NET Framework。
然后是前端技术选择,首选是三大js框架选择,也是从实际出发,Vue相对其它而言更加容易上手,并且功能也毫不逊色,深得各种大小公司喜欢,如果偏要说缺点的话,那就是对TS支持不行,但是即将发布Vue3.0肯定会改变这一缺陷。选择了Vue之后,然后就是UI框架的选择了,这里的选择更多了,我选择了Ant Design Vue,理由便是简洁方便,十分符合我的设计理念。
技术选型完毕之后便进入研发,由于鄙人前端比较菜,因此需要从头学Vue2.x全家桶,从开始到现在差不多经历3个月,在预期之内。其实学习并使用前端的Vue2.x全家桶并不难,还是比较容易上手的,所以在此给没有前后端分离开发经验的老哥打一记预防针,不要退缩,要知难而上,学习永无止境。由于服务器是阿里云的86服务器,带宽1M小水管,因此将前端部署到码云上了,在此多谢码云,后端部署在阿里云86服务器CentOS7上。整个技术栈使用.NET Core + PostggreSQL+ Ant Design Vue + CentOS7+Nginx+Dokcer+jenkins,囊括了从快速开发到自动化部署一条龙,开源免费并具有高性能、高移植性、高拓展性(小公司创业选型+个人接单利器)
本框架为.NET Core3.1+Ant Design Vue版
本框架旨在极大的提高开发效率
使用技术栈:后端:采用.NET Core平台,ASP.NET Core3.1,C#语言(使用反射等高级技术),Entity FrameworkCore(数据库ORM框架)。使用数据仓储模式,抽象化数据库操作(CRUD等)、支持事务处理以及分布式事务处理(跨库)支持数据库读写分离、分库分表及事务(仅支持单表操作,不支持多表) 全面采用Autofac作为IOC容器,面向接口编程,全面解耦集成多种工具类库以及操作拓展数据库:支持SqlServer,PostgreSQL,MySQL,Oracle(框架使用简单工厂,工厂方法,抽象工厂,可轻松更换数据库),Redis作为分布式缓存前端:Vue2.x全家桶+Ant Design Vue,其中集成常用组件,力求方便项目开发。
具体技术实施:项目采用前后端完全分离模式,并采用严格分层模式,极大的增加聚合度,降低耦合度,提高代码的健壮性,可维护性。前后端通过JWT进行身份验证,通过数据接口操作数据,统一使用JSON作为数据格式,并使用默认接口签名算法保证接口的安全性。
功能架构部分详解:快速开发:此功能为框架的核心,通过选择数据库中的表,就能自动生成对应的实体层、业务逻辑层、控制器、前端页面Vue文件,无需编写代码即可生成基本的CRUD操作。接口密钥管理:管理接口的密钥,若开启接口签名的规则,则前端需要通过给接口签名才能够正常访问后台接口。权限管理:使用基本的RBAC权限控制,支持操作权限、接口权限以及数据权限
框架主要功能及特色如下
其相关版本请看下表:
后台效果展示如下:
操作系统:Windows 10后端开发工具:Visual Studio 2019+前端开发工具:Visual Studio Code,安装nodejs,yarnSDK:安装.NET Core SKD 3.0 及以上数据库:SQLServer2012及以上
- 数据库创建目录\”/docs/初始化文件\”中有所需的数据库资料先手动创建数据库,然后执行对应的SQL脚本即可
- 连接字符串配置打开src目录下Colder.Admin.AntdVue的解决方案,如下图
如下图所示依次展开05.Coldairarrow.Api/appsettings.json,配置数据库连接字符串,name不用修改,connectionString改为上述创建的数据库(若不清楚数据库连接字符串请自行百度搜索教程)
由于本框架支持自动生成代码的核心功能,此功能是根据数据库的表结构来生成代码的因此规定每张表都有一个主键,列名为Id,类型为字符串,实际添加数据时默认使用SnowflakeId(雪花Id,Twitter设计的分布式趋势自增Id,若不清楚请自行百度相关资料),表中的每个列都需要有描述信息(建议这样操作,若不按照这个标准则需要一些额外的改动才能够成功运行)。每张表都需要Id、CreateTime、CreatorId这几个必带字段
后端:打开解决方案=>还原nuget包=>配置数据库=>运行(05.Coldairarrow.Api设为启动项目)后台成功运行后会自动打开swagger
前端: 确保已安装nodejs和yarn用VS Code 打开文件夹src\\Coldairarrow.Web
输入命令:yarn输入命令:yarn run serve成功运行后即可打开登录页面
输入账号:Admin,密码:123456进入后台主页
在05.Coldairarrow.Api/appsettings.json中配置了系统的必要参数,其中包括数据库类型、连接字符串、日志配置等,具体配置参考注释
此功能为本框架的核心功能,能够自动生产完整的可运行代码,具体使用如下:
- 配置数据源
首选需要有数据库源,因为代码生成是根据数据库表来生成的。菜单:开发=>数据库连接
若列表中没有目标数据源,则添加数据库连接
数据连接名、连接字符串、数据库类型即可。添加完成后即可看到连接字符串信息。
- 生成代码
有了数据库连接之后,即可进行代码生成。菜单:开发=>代码生成
选择数据库,然后勾选需要生成代码的数据库表,点击生成代码会弹出生成选项(这里演示勾选 Base_BuildTest,其余表全是系统基础表,不要勾选,否则会被覆盖,导致异常,请勾选自己的业务表进行生成):
生成选项中可以选择需要生成的类型,默认生成全部:实体层、业务层、接口层(即控制器)和页面(Vue前端页面代码)。生成区域请输入业务模块名(例如系统叫Base_Manage),请按具体业务填入(必填)这里示例填写TestManage,点击生成按钮,即可完成代码生成。生成后的代码在项目解决方案中,将代码文件包括进入项目
默认生成后的文件会被自动包括到解决方案中,若没有则需要点击显示所有文件按钮,即可看到生成后的新文件
生成的实体层、业务逻辑层、控制器层代码:
前端生成的代码:
后端代码添加后需要重新编译下(F7),编译后好可以看到有新的接口
前端生成代码后会自动保存并编译(别的文件修改保存也会自动编译,毕竟编译一次挺慢的),不放心可以Ctrl+C停止,然后再yarn run serve重新运行
代码生成完毕,但是要展示到菜单上需要进行配置,并且所有业务菜单都是动态的(权限控制)打开菜单:系统管理=>权限管理=>新建
菜单名:即需要显示的菜单名上级菜单:菜单是多级树状的,可以放在某个菜单下面类型:可以选择菜单或页面,这里是具体的页面,所以选页面路径:页面的路径,菜单可以不配置,这里配置为/TestManage/Base_BuildTest/List,这里设置规则为:views文件夹为根路径(即\”/\”),向下展开依次为/TestManage/Base_BuildTest/List,最后真正的列表页为List.vue文件,表单页为EditForm.vue文件是否需要权限:若为“否”,则此页面不限制权限,即所有人都能看图标:菜单显示图标,具体到开发=>图标选择页进行选择排序:若需要需要对菜单进行排序则设置,默认0,类型为int页面权限:页面拥有的权限(权限值唯一,作为操作权限即接口权限的依据),详见权限管理
确认保存,然后刷新整个页面(F5),即可看到全新生成的菜单“生成测试”
整个代码生成过程,无需编写代码即可完成一张表的CRUD,当然需要根据具体业务中进行相应的修改,本次示例中字段比较少,但是当一张表的字段很多时,那么此功能能够将开发效率提高几个档次。
默认超级管理员账号为:Admin密码为:123456
管理系统登录的用户菜单:系统=>用户管理点击右侧设置权限
管理系统角色,角色是权限的载体,合理分配角色有利于权限管理菜单:系统=>角色管理操作中可以设置角色的权限,详情见<权限管理>模块
一般情况下,后台管理系统多少会涉及权限管理,因此本框架提供了一个灵活、高效、简洁的权限管理系统。
首先,权限分为两种,即操作权限和数据权限,其中操作权限主要包括菜单权限和按钮权限,在角色编辑表单中,给角色勾选需要的权限即可,用户可以分配多个角色,继承所有角色的权限。
如上图,按需勾选,有人会疑问为什么只有增、改和删的权限而没有查的权限,其实这里考虑到了当勾选“用户管理”时,就已经默认拥有“查”的权限了,这里再设置“查”权限岂不是多此一举,可以根据实际业务需求添加诸如申请、审核等权限,灵活应用。这里的树状是和菜单一一对应的,勾选哪些菜单就拥有哪些菜单
下面介绍下最常用的按钮权限
如上图,在需要控制权限的按钮使用v-if=\”hasPerm(\’Base_User.Add\’)\”,表示只有当用户拥有权限值Base_User.Add才显示此按钮,权限值就是权限表单中配置的权限值
这里的按钮级权限控制只能够在前端控制操作入口,若系统对安全性要求较高,则需要控制接口权限
如上图,在需要权限控制的接口加上ApiPermission特性即可,参数也为权限值,只有拥有此权限才能访问此接口
数据权限比较复杂,若采用纯SQL方式,那么会更加复杂,本框架全程采用EF作为ORM框架,通过对IQueryable< T >进行过滤,即可完成数据权限控制,详细使用方式见用户管理。
更详细的使用方式,请参考源代码中的用户管理模块(菜单权限、操作权限、数据权限、联表查询、业务层AOP等使用方式均可参考此模块)。
作为对外接口签名的AppId和AppSecret管理菜单:系统=>接口秘钥管理
菜单:系统=>操作日志
系统采用AOP管理事务,使用十分简单,只需要在需要事务包裹的方法中添加Transactional特性,无需任何其他处理,系统会自动捕捉异常并回滚,而且支持多库事务(即使用多个不同的IDbAccessor也会在同一个事务中处理)
系统采用EFCore.Sharding组件,具体使用方式请移步EFCore.Sharding
框架使用EF+LINQ进行联表操作,核心在于对IQueryable< T >的使用,另可网上搜EF+LINQ的相关教程。
示例如下:Base_User表左连接Base_Department表获取DepartmentName属性
源码可参考Base_UserBusiness.GetDataList
修改05.Coldairarrow.Api/appsettings.json中的DatabaseType修改相应的数据库连接字符串安装相应的数据库Nuget包注意:若使用Oracle,只能使用2.x版本的包(EFCore.Sharding也要降级为2.x),因为EF Core3.x版本暂不支持Oracle,其余版本数据库使用最新版即可
默认框架会自动注入IDbAccessor作为数据库访问接口,在需要的时候注入即可,若系统需要操作多个数据库,那么需要定义额外的接口继承IDbAccessor然后配置注入进去即可访问
- 先定义新的接口IMyDbAccessor
- 然后配置数据库类型和连接字符串
- 使用IMyDbAccessor
这样就可以在任何地方注入并使用IMyDbAccessor,更多数据库同理配置即可
解决方法:1:不要选择IIS启动,选择控制台启动
2:IIS托管模型改为进程外
废话不多说,下面直接上地址代码(GitHub):https://github.com/Coldairarrow/Colder.Admin.AntdVue文档(GitHub):https://github.com/Coldairarrow/Colder.Admin.AntdVue/wiki代码(码云镜像):https://gitee.com/Coldairarrow/Colder.Admin.AntdVue文档(码云镜像):https://gitee.com/Coldairarrow/Colder.Admin.AntdVue/wikis在线预览地址:http://coldairarrow.gitee.io/coler.antdvue.preview
欢迎使用本框架,若觉得不错,请点赞+转发+关注!大家的支持是我分享最大的动力!!!
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。