精华内容
下载资源
问答
  • B站4月22日源码泄露。bilibili是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主。
  • 最近传的很火的B站后台源码,使用go语言编写,应该是老版本了,欢迎各位下载欣赏,切勿恶意传播,如有疑问请留言
  • 网传的B站后台源码,使用go语言编写,应该是老版本了,喜欢的朋友欢迎欢迎各位下载欣赏学习,切勿恶意传播,谢谢配合
  • 这两天闲来无事,回顾了一下年前B站沸沸扬扬的代码泄露事件,大致翻阅了一些泄露的代码发现了一些有意思的事情,其中就包括B站... 首先回顾一下B站源码泄露事件始末 北京时间4月22日下午16点左右,一个名叫“ope...

    这两天闲来无事,回顾了一下年前B站沸沸扬扬的代码泄露事件,大致翻阅了一些泄露的代码发现了一些有意思的事情,其中就包括 B站视频推荐 加权部分算法 的相关代码。

    不过后期 B站官方辟谣说是老版本代码,并且已经进行相应的防御措施,但是后端大体的架构还是不会变化太多,所以就仁者见仁智者见智了,仅供吃瓜参考。

    姊妹篇:   B站 (哔哩哔哩) 泄露源码中的有趣片段(彩蛋)

     

    首先回顾一下B站源码泄露事件始末

    北京时间 2019年4月22日下午16点左右,一个名叫“openbilibili”的用户在Github上创建了“go-common”代码库,而那显然就是B站网站后台工程源码。B站在技术圈炸锅,其后端源码被恶意“开源”,被上传至 GitHub 供全球用户下载。

    通俗一点来解释,这就好像是有人把你家的房子图纸发在了微博上,门在哪锁在哪甚至钥匙在哪都标得一清二楚。虽然单凭这个还不至于让所有人都能进你家门,但其实也足够头疼了。

    结果就是截至北京时间17:04,该项目已获得6597个标星。fork数量已经突破6000(这个操作会将被Fork的代码仓库中所有的信息,包括源代码、原仓库中的issus、历史提交等全部复制到你的账号中),issues已经成了弹幕,场面已经失控。

    最终B站官方也是就此做出了 “回应”,这一代码库已被GitHub「封杀」,微博上已经看不到此事的踪影,知乎上关于该事件的话题也基本被删。

    不过总的来说次此泄露对B站的影响也是不可估量的,也是导致了B站股价直接下跌4%.

     

    有关B站的推荐和加权算法

    抱着吃瓜的心理在翻看后台代码时,发现了这么一段代码,注意上面的注释。

    //countArcHot 视频=硬币*0.4+收藏*0.3+弹幕*0.4+评论*0.4+播放*0.25+点赞*0.4+分享*0.6 最新视频(一天内发布)提权[总值*1.5]
    func countArcHot(t *api.Stat, ptime int64) int64 {
        if t == nil {
            return 0
        }
        hot := float64(t.Coin)*0.4 +
            float64(t.Fav)*0.3 +
            float64(t.Danmaku)*0.4 +
            float64(t.Reply)*0.4 +
            float64(t.View)*0.25 +
            float64(t.Like)*0.4 +
            float64(t.Share)*0.6
        if ptime >= time.Now().AddDate(0, 0, -1).Unix() && ptime <= time.Now().Unix() {
            hot *= 1.5
        }
        return int64(math.Floor(hot))
    }
    
    // countArtHot 专栏=硬币*0.4+收藏*0.3+评论*0.4+阅读*0.25+点赞*0.4+分享*0.6 最新专栏(一天内发布)提权[总值*1.5]
    func countArtHot(t *model.Meta) int64 {
        if t.Stats == nil {
            return 0
        }
        hot := float64(t.Stats.Coin)*0.4 +
            float64(t.Stats.Favorite)*0.3 +
            float64(t.Stats.Reply)*0.4 +
            float64(t.Stats.View)*0.25 +
            float64(t.Stats.Like)*0.4 +
            float64(t.Stats.Share)*0.6
        if int64(t.PublishTime) >= time.Now().AddDate(0, 0, -1).Unix() && int64(t.PublishTime) <= time.Now().Unix() {
            hot *= 1.5
        }
        return int64(math.Floor(hot))
    }
    

    接下来就是对这段代码的解读:

    首先像大多数的推荐算法一样,小破站的视频推荐也是通过对各项数据进行加权求得视频权重然后在进行再区分,提高视频出现概率;

    我们能帮助提高视频在哪些地方的出现概率呢?
    ① b站『搜索』时出现的默认结果页面
    ② 对该视频话题感兴趣的其他用户的首页
    ③ 任何会有推荐视频的地方,比如用户看完一个视频后网站自动推荐一组视频

    其中影响权重的主要是以下因素:

    视频是: 硬币、收藏、弹幕、评论、播放量、点赞数、分享数、更新时间。

    专栏文章是:硬币、收藏、评论、阅读量、点赞数、分享数、更新时间。

    总结:

    • 视频多了一个弹幕加成。
    • 在2个内容里,分享都占到了最高权重,有0.6,这个可以理解,大部分平台都是分享权重无限高。
    • 播放量和阅读量真的是弟弟,两边都是最低权重,不过相比评论这些二次互动,权重低可以理解。
    • 评论比收藏的权重要高,这个有点特殊。因为不少平台是收藏权重大于评论的。为什么呢?因为一般来说,很多人看见内容都会评论,但是只有感觉特别好的内容,才会收藏。

    收藏权重高,意味着重视内容质量,更重视大家觉得好的干货。

    评论权重高,则意味着注重互动,更重视能吸引大家讨论的内容。

    目前B站在代码上的思路来看,更重视能引发讨论热议的内容。

     

    那么对于我们来说这段代码有什么实际意义呢?

    在如今的流量时代,高曝光就意味着能有更多的人看到,从而转化为 高流量、高粉丝,高收益

    如果你是UP主 : 

    那么想要提高自己视频/文章的曝光度,尽可能增加 分享,评论,弹幕的数量 会是更有效的方法,而去刷播放量则意义不大(这样就很好的解释了为什么有些UP老是骗弹幕 ~)

    如果你是用户 :   

    点赞、硬币、阅读量 可能更多的影响的是你所看UP的收益,想要为喜欢的UP增加曝光不如多刷几条弹幕和评论

    如何搞定自己的首页推荐内容  ——— 对视频点击不感兴趣能极大的减少相关话题的权重。

    首页看到不感兴趣的视频,首页视频缩略图下面右边按钮点击,选择不感兴趣,调教一段时间就好了。

     

    如果有什么要补充的,欢迎下方👇评论区留言

    1份赞许 = 100分的认可,如果感觉还不错,点个赞👍 支持一下吧 ~

    不定期分享 有趣、有料、有营养内容,欢迎 订阅关注 👌 我的博客 ,期待在这里与你相遇 ~

    好文推荐:   20秒 一键配置 VSCode (Visual Studio Code) C/C++开发环境 !

                         一道微软面试题引出的 int与unsigned隐式转换问题

                         Facebook前身 哈佛“选美”网站Facemash核心算法 --- ELO等级分制度(附源码)

    展开全文
  • 据微博@互联网的那点事爆料称,哔哩哔哩B站)整个网站后台工程源码泄露,并且“不少用户名密码被硬编码在代码里面,谁都可以用。” 同时,在开源及私有软件项目托管平台GitHub上,出现了名为“哔哩哔哩...

    据微博@互联网的那点事爆料称,哔哩哔哩(B站)整个网站后台工程源码泄露,并且“不少用户名密码被硬编码在代码里面,谁都可以用。”

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    同时,在开源及私有软件项目托管平台GitHub上,出现了名为“哔哩哔哩bilibili网站后台工程源码”的项目。该项目由账号“openbilibili”创建,其中有不少用户名密码被硬编码在代码里面,由于网站的开源性质,登录网站者均可使用。该项目一度获得6597个标星和6050个代码库分支(fork)。

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    随后有网民在该项目内留言,请求上传者删除大仓代码。

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    据微博@互联网的那点事描述,源代码库中的用户名显示哔哩哔哩的邮箱,密码中则是“Test”+日期,应该是官方测试所用,暂未发现用户的账号密码泄露。受此影响,B站美股盘前一度跌逾5%,截至发稿跌2.92%。天空彩

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    对此,B站已第一时间报案,并将彻查源头。B站表示:

    经内部经济核查,确认该部分代码属于较老的历史版本,目前网站已执行主动防御措施,确保该事件不会影响到网站安全和用户数据安全。

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    截至发稿,这一代码库已被GitHub删除。

    果真A站完了是B站,B站后台工程源码疑似泄露,已被GitHub删除!

    https://github.com/openbilibili/go-common

    作为目前人气最高的两家国内弹幕式视频网站,它们除了在市场上你争我抢外,在网络安全领域可谓是一对难兄难弟。

    “弹幕元素”所包含的即时便捷的互动性,和新奇的体验感,深受年轻一代群众的喜爱。而因着计算机的高度普及,大数据时代下,人们也越来越重视“数据”的安全性,加上全网普及“实名认证体系”更是把每个人生活上的点点滴滴记录在册,数据安全更成为了每个人不可忽视的问题。

    早在2018年6月,A站就被曝出遭黑客攻击,近千万条用户数据外泄,泄露的数据主要包括用户ID、昵称、加密储存的密码等。

    展开全文
  • 照着B站做的一款播放器,本源码文件没加密 破解授权 解密 总之文件就是无加密 不行下载 随意打开一个js css php 也是无加密可放心使用 开源提供给大家学习源码 有能力可以二次开发
  • 由于涉及包括B站在内的多方利益,不会公开此插件的正式发布版本 禁止出于商用目的使用此插件,违者列入授权黑名单并公开示众,所带来的一切后果自负 运行环境 软件介绍  此插件主要用于 B...

    完整原文(含源码):Github
    (转载请注明出处,仅供分享学习,严禁用于商业用途)


    声明

    • 写这个插件纯粹是出于学习目的,此博文主要作用是功能展示
    • 之后会围绕这个插件,写一个系列的爬虫教程
    • 由于涉及包括B站在内的多方利益,不会公开此插件的正式发布版本
    • 禁止出于商用目的使用此插件,违者列入授权黑名单并公开示众,所带来的一切后果自负

    运行环境


    软件介绍

    此插件主要用于 B站直播间核心功能 包括但不限于:

    • 偷窥直播间:
        ○ 可实时监控指定直播间的版聊情况(包括投喂、聊天等)
        ○ 主播开播时自动触发通知
    • 全平台挂机抽奖:
        此功能可自动监控并参与全平台的小电视/摩天大楼/C位光环、活动高能礼物、节奏风暴抽奖
        需要登陆后才能使用(支持帐密登陆和B站手机APP扫码登陆,本插件不会盗号,不放心请勿使用)
    • 自动完成每日任务:
        ○ 每日签到
        ○ 每日小学数学任务(宝箱任务)
        ○ 领取日常/周常礼包
        ○ 友爱社签到(PC端自动模拟观看,手机端需绑定手机自行观看规定时长)
        ○ 自动扭蛋、投喂心仪直播间(可开关控制)
        ○ 领取成就奖励
        ○ 领取/补领总督奖励
    • 为主播自动答谢、公告、晚安、打call、点歌:
        为保护直播间秩序,普通用户默认禁用此功能,仅对主播或房管开放
    • 房间活跃度统计:
        主播限定功能,实时采集直播间内所有用户的活跃度,并按月度生成统计报表
    • 直播间抽奖:
        主播限定功能,会搜集当前直播间内的活跃用户数据进行抽奖
    • 版聊命令禁言:
        此功能主要便于在手机端直播间,通过在版聊区输入命令即可管制某些用户的违规行为
        目前支持命令有两种:
         ○ 【#禁言+用户名关键字】直接关小黑屋1小时(仅限房管或主播使用)
         ○ 【#举报+用户名关键字】超过3人联名则关小黑屋1小时(所有用户可用)

    运行界面展示

    ※ 主界面

    在这里插入图片描述


    ※ 多号挂机管理界面

    在这里插入图片描述


    ※ 登陆界面

    二维码登陆(左) & 帐密登陆(右)

    在这里插入图片描述


    ※ 功能界面

    自动抽奖设置(左) & 开播通知(右)

    在这里插入图片描述


    小学宝箱(左) & 随缘点歌姬(右)

     在这里插入图片描述


    粉丝活跃度统计(左) & 直播间抽奖姬(右)

    在这里插入图片描述


    安装与使用

    • 01. 安装JDK环境【jdk-8u191-windows-x64.exe】,一直 下一步 到完成即可(无需修改安装路径)
    • 02. 解压并运行【哔哩哔哩插件姬.exe】(面向不同人群,分别提供了试用版/大众版/主播版/管理员版)
    • 03. 为限制随意传播,会要求输入注册码,请加QQ群131637823申请
    • 04. 2018.12.07开始B站关闭了原本的【账号+密码+验证码】的后台登录通道,最新的登录方式 点这里

    全功能一览

    功能试用版普通用户版主播版管理员版
    日常签到
    友爱社签到(限PC端)
    日常/周常礼包
    在线时长经验
    (需月费/年费老爷)
    成就礼包
    每日宝箱任务
    小电视抽奖
    摩天大楼抽奖
    高能抽奖(需绑定手机)
    节奏风暴抽奖(需实名)x
    实时舰长/提督/总督奖励
    多号挂机+3小号+8小号+15小号+233小号
    自动投喂(有开关)
    自动扭蛋(有开关)
    实时版聊
    随缘点歌姬
    打call姬
    公告姬xx
    答谢姬xx
    晚安姬xx
    补领舰长/提督/总督奖励xx
    发起直播间抽奖xx
    节奏风暴检索范围设置xx
    抽奖参数设置xx
    直播间活跃度统计
    (可导出排名报表)
    xxx
    版聊命令:举报/禁言
    (便于手机端管理直播间)
    xxx
    软件自动升级x

    升级记录


    v6.0版本:

    • 01. JDK1.8重编译版
    • 02. Linux + Windows 跨平台双版
    • 03. 取消凌晨休眠
    • 04. 增加新通知事件支持
    • 05. 增加全区任意门抽奖支持
    • 06. 修正舰长和节奏风暴抽奖逻辑
    • 07. 修正模拟在线观看直播接口失效问题
    • 08. 增加 Linux 登陆凭证转换脚本
    • 09. 修正默认使用权限为【游客】
    • 10. 修正礼物投喂接口


    v5.8版本:

    • 01. 修正搜索主播房间号接口错误问题
    • 02. 新增登录凭证转换器,以临时解决B站关闭账密登录通道问题
    • 03. 可动态调整各个版本的小号下限值
    • 04. 修正节奏风暴抢夺逻辑
    • 05. 每小时增加随机触发补领船员亲密度功能
    • 06. 添加新模式"仅冻结账号参与节奏风暴", 确保被关小黑屋也有收益
    • 07. 更新节奏风暴/舰长扫描接口
    • 08. 更新直播分区扫描接口
    • 09. 账号管理列表增加主号和马甲号控制
    • 10. 修正版聊接口参数变更导致无法发送版聊问题


    v5.7版本:

    • 01. 增加对新消息类型的支持
    • 02. 新增每个角色的行为统计
    • 03. 增加进入直播间行为模拟
    • 04. 增加舰长/提督/总督亲密度领取支持
    • 05. 修正直播心跳协议
    • 06. 新增服务器配置信息提取接口
    • 07. 节奏风暴开关与健将亲密度联动
    • 08. 增加主动冻结机制,已防止被B站试探脚本
    • 09. 更新节奏风暴抽奖逻辑
    • 10. 恢复活动心跳机制
    • 11. 凌晨高危时间段自动暂停抽奖等一切行为, 避免被抓
    • 12. 调整抽奖开关
    • 13. 修正公告重复打印异常
    • 14. 修正抽奖冻结时间的逻辑判定
    • 15. 修正进入直播间时丢失visti_id异常
    • 16. 修正给自己晚安逻辑异常
    • 17. 搭载AI尬聊姬
    • 18. 修正所有请求为https
    • 19. 所有需要在特定房间执行的行为,均先模拟进入该直播间
    • 20. 修正抽奖通知重复打印问题
    • 21. 新增月费/年费老爷在线挂机经验支持
    • 22. 修正模拟在线观看直播接口


    v5.6版本:

    • 01. 修正监控站点无法访问问题.
    • 02. 增加连续抽奖频度控制.


    v5.5版本:

    • 01. 增加数十款新礼物的支持.
    • 02. 加大连续抽奖间隔.
    • 03. 调整抽奖公告提示.
    • 04. 调整软件版权校验接口.


    v5.4版本:

    • 01. 修正无法监听直播室通知异常.


    v5.3版本:

    • 01. 修正挂机列表中若存在被封禁账号会导致所有账号无法抽节奏风暴问题.


    v5.2版本:

    • 01. 取消未实名账号抽奖限制
    • 02. 修正B站升级后自动扭蛋失败问题
    • 03. 支持新增的礼物combo连击消息解析
    • 04. 支持新增的小时榜消息解析
    • 05. 修正B站升级后无法抽节奏风暴问题
    • 06. 支持魔天大楼全平台监听


    v5.1版本:

    • 01. 增加试用版
    • 02. 限制未实名账号连续抽奖
    • 03. 限制未实名账号参与抽奖的概率最高不超过80%


    v5.0版本:

    • 01. 植入自动升级接口
    • 02. 修正小电视/摩天大楼漏抽奖异常


    v4.2版本:

    • 01. 增加抽奖的反应设置
    • 02. 取消连续抽奖限制, 默认抽奖概率恢复为100%
    • 03. 修正活跃值跨月后不清零异常
    • 04. 修正软件授权计时算法
    • 05. 限制一台PC只能启动一次程序
    • 06. 升级节奏风暴抽奖逻辑
    • 07. 新增新礼物列表
    • 08. 取消活动心跳礼物领取
    • 09. 修正小学数学宝箱最后一轮的最后一个宝箱没有领取异常
    • 10. 新增摩天大楼礼物抽奖
    • 11. 修正系统托盘图标
    • 12. 调整节奏风暴策略
    • 13. 自动领取总督亲密度奖励
    • 14. 增加一键补领总督奖励功能
    • 15. 对应B站升级小电视/摩天大楼抽奖
    • 16. 限制普通用户更改抽奖参数的权限


    v4.1版本:

    • 01. 新增答谢姬和晚安姬编辑器
    • 02. 答谢姬根据发言长度自动填充形容词
    • 03. 更新闪耀之星活动礼物
    • 04. 恢复自动完成小学数学任务


    v4.0版本:

    • 01. 修正投喂礼物时, 对于未登记的陆吾会出现除零的异常
    • 02. 修正高能礼物抽奖协议
    • 03. 暂时关闭私信通知亲密度
    • 04. 增加全局抽奖总开关
    • 05. 修正发送弹幕可能锁屏问题
    • 06. 小call机修正为从所有账号中随机抽取若干个打call(取消单号自动发送)
    • 07. 除节奏风暴外, 增加连续抽奖限制, 降低被封禁抽奖的几率
    • 08. 增加抽奖随机概率设置(默认50%, 降低被封禁抽奖的几率)


    v3.9版本:

    • 01. 修正发送弹幕失败问题 (B站升级导致)
    • 02. 开放节奏风暴扫描策略 (用于错峰扫描)
    • 03. 新增弹幕颜色:桃花粉 (并新增悬浮说明)
    • 04. 开放收藏直播间功能
    • 05. 日常任务优化: 减少多号挂机的请求次数
    • 06. 小号管理优化: 自动记录每个账号的自动投喂状态, 显示悬浮账号ID


    v3.8版本:

    • 01. 支持自动领取情人节活动在线时长礼物(需绑定手机号)
    • 02. 放宽小号个数限制(普通用户版:8 主播版:15)
    • 03. 实名账号强制不自动扭蛋/投喂永久礼物,仅绑定手机账号增加保护开关控制


    v3.7版本:

    • 01. 自动投喂添加保护机制:对于已绑定手机或实名的账号不投喂永久性礼物和未过期B克拉
    • 02. 自动投喂策略变更1:未拥有房间勋章时,若有未保护B克拉则只投喂1个B克拉;否则投喂所有未保护礼物
    • 03. 自动投喂策略变更2:对于今天内到期的礼物,无视所有保护和亲密度进行投喂
    • 04. 零点错峰执行事件,避免产生大量请求
    • 05. 根据时段适当调整节奏风暴扫描间隔, 避免产生大量无效请求


    v3.6版本:

    • 01. 对应B站升级版本,调整小学数学任务接口
    • 02. 对应B站升级版本,调整节奏风暴接口


    v3.5版本:

    • 01. 取消2018春节活动红包兑换姬入口
    • 02. 自动领取日常/周常/勋章/友爱社礼包
    • 03. B站小学数学版本升级,兼容处理验证码图片格式随机变换问题
    • 04. 提高小学数学验证码辨识率
    • 05. 修正小学数学任务跨天后没有及时自动执行异常
    • 06. 支持小号差异化投喂房间
    • 07. 当启用自动投喂后,会根据所投喂房间的勋章亲密度投喂,避免溢出(若无该房间勋章则全部投喂)
    • 08. 当小号开启自动投喂时,同时触发自动扭蛋(满100抽一次)
    • 09. 自动识别实名账号(未实名账号不参与节奏风暴抽奖)
    • 10. 登陆有效期到期前48小时开始警告, 到期前1小时自动退出登陆(主号则退出程序)
    • 11. 增加cookies备份/导入功能(用于升级时迁移登陆账号信息)
    • 12. 弹幕发送失败时提示原因


    v3.4版本:

    • 01. 修正多条弹幕消息切割错误问题
    • 02. 自动领取成就奖励
    • 03. 自动领取上上签奖励
    • 04. 支持小号兑换小红包(与主号共用兑换策略)
    • 05. 修正停止程序后启动进程没有终止异常


    v3.3版本:

    • 01. 调整节奏风暴扫描频率,降低封IP几率
    • 02. 优化日常任务和抽奖策略(未绑定手机的账号不重复尝试相关禁止行为)
    • 03. 修正接收弹幕\投喂消息遗留问题
    • 04. 修正部分活跃值没记录的问题
    • 05. 根据登陆用户权限动态调整自动弹幕的内容长度
    • 06. 优化身份识别系统
    • 07. 优化私聊信息系统
    • 08. 自动模拟PC端在线观看直播(用于完成友爱社任务)
          手机端模拟暂未生效(两端cookie不互通)
    • 09. 增加执法机器人:
         【#禁言+用户名关键字】则关小黑屋1小时(仅限房管或主播使用)
         【#举报+用户名关键字】超过3人联名则关小黑屋1小时(所有用户可用)


    v3.2版本:

    • 01. 修正跨天后大号没有签到异常
    • 02. 外移cookies缓存文件夹, 便于升级后迁移登陆记录


    v3.1版本:

    • 01. 紧急修复B站小学数学任务图片格式变化导致程序卡死问题


    v3.0版本:

    • 01. 环境包变更为JDK1.7 x64 (应该支持win10)
    • 02. 软件瘦身(大小为原来的一半)
    • 03. 新增随缘点歌姬
    • 04. 优化登陆系统, 提高登陆效率
    • 05. 增加小号批量挂机功能(普通用户上限为3,主播用户上限为8)
    • 06. 小号支持自动投喂功能
    • 07. 调整节奏风暴扫描算法, 修正节奏风暴误判抽奖成功问题
    • 08. 对于因房间信号调整造成的短时间内重复开播, 不再重复发送开播通知
    • 09. 调整发送私信提示个人活跃值的基点为10W
    • 10. 调整活跃值与软件授权天数的兑换比例为20W:1


    v2.3版本:

    • 01. 提供selenium-phantomjs抽奖支持的最后一个版本
    • 02. 支持活跃度导出


    v2.2版本:

    • 01. 支持B站2018版的弹幕消息格式
    • 02. 修正节奏风暴监听某些直播间错误问题
    • 03. 临时增加小红包兑奖姬(随活动下线而下线)
         注:
          ○ 使用前请校准本地时间为帝都时间
          ○ 兑奖姬在打开后, 自动在每小时的55分~02分之间执行高频兑奖, 因此存在封号风险
          ○ 兑换规则:当同时选中了多种兑换品时, 会优先尽可能多地兑换花费较高的奖品, 再兑换花费较低的奖品


    v2.1版本:

    • 01. 对所有用户开放TOP50热门房间的节奏风暴自动抽奖(时也命也,佛系看天)
         注: 节奏风暴存在封号风险,尽量使用马甲号扫描(收益自动归大号),否则被封号概不负责
    • 02. 对所有用户开放小call姬(为小乔打call)
    • 03. 限制定时公告与自动打call频率:同一用户同屏最多出现1条
    • 04. 稍微放大登陆验证码
    • 05. 更新对春节活动礼物的活跃度计算支持
    • 06. 正式上线活跃度续期系统:
         ○ 对于2.0(不包括)之前的哔哩哔哩插件,在年前(2月中旬)会全部自动失效
         ○ 对于2.0(包括)之后的哔哩哔哩插件,暂时授权到 2018-03-01
         ○ 授权时间在插件窗口顶部可见
         续期规则(暂定):
          在【指定直播间】所有用户(不使用本插件的用户也会计算在内)的活跃度每累计达到10W,则续期1天
          (从2月1日之前试运行,2月1日后可能会调整,届时每周会公布一次活跃值)
         增加活跃度方式(限定直播间开放):
          ○ 发言一次: 活跃度+1
          ○ 投喂礼物: 活跃度+等值瓜子
          ○ 上船: 活跃度+等值瓜子


    v2.0版本:

    • 01. 增加全平台节奏风暴扫描抽奖(主播版限定)
    • 02. 增加友爱社自动签到(需绑定手机并自行在双端观看规定时长直播)
    • 03. 登陆成功后界面显示当前登陆用户
    • 04. 允许在登陆状态清除登陆信息
    • 05. 增加关播通知
    • 06. 增设直播间的活跃度系统
         注: 活跃度以后会用于福利用途(具体方案以后公布, 目前先记录)


    v1.9版本:

    • 01. 紧急修复【嗨翻全场】抽奖导致的刷屏问题


    v1.8版本:

    • 01. 新增帐密登陆模式
    • 02. 增加清除登陆信息功能
    • 03. 对普通用户开放直播间内节奏风暴抽奖
    • 04. 增加嗨翻全场抽奖
    • 05. 删除重复抽奖失败的提示
    • 06. 优化界面缓存, 避免长时间运行后可能诱发的卡顿问题
    • 07. 新增公告姬
    • 08. 增加打call姬和公告姬的在线编辑功能


    v1.7版本:

    • 01. 登陆有效时间上调为1个月
    • 02. 增加因登陆超时导致抽奖失败的提示
    • 03. 调整开播打卡提示
    • 04. 跨天后自动重做签到和每日小学数学任务(需本地时间与北京时间校准)


    v1.6版本:

    • 01. 开播新增蜂鸣提示音
    • 02. 提高因系统繁忙导致小电视抽奖失败的成功率


    v1.5版本:

    • 01. 增加默认房间号设置(限主播版,避免你们花心)
    • 02. 调整:登陆后会自动连接到直播间
    • 03. 最小化时可选择最小化到托盘
    • 04. 增加右下角弹框提示开播通知


    v1.4版本:

    • 01. 增加每日自动签到功能
    • 02. 增加每日小学数学自动完成功能
    • 03. 增加弹幕颜色、模式切换提示
    • 04. 调整默认抽奖模式为服务器注入模式
    • 05. 提高连续抽奖时的成功率
    • 06. 增加节奏风暴自动抽奖(限定版实装)


    v1.3版本:

    • 01. 新增弹幕颜色
    • 02. 丰富打call词库
    • 03. 新增全平台自动抽奖模式:
         【浏览器仿真模式】 默认模式, 模拟人工操作执行抽奖, 效率较低, 但适用于所有抽奖
         【注入服务器模式】 大幅优化抽奖效率, 但仅适用于小电视, 或当季度的高能抽奖


    v1.2版本:

    • 01. 新增在线发言功能
    • 02. 召唤答谢姬
    • 03. 召唤晚安姬
    • 04. 召唤小call机
    • 04. 优化登陆提示
    • 05. 优化网络断开后的重连逻辑

    v1.1版本:

    • 01. 优化登陆与抽奖监控逻辑
    • 02. 修正自动抽奖时总是触发超时问题
    • 03. 修复内存泄漏问题
    • 04. 屏蔽B站首次登入时的升级教程(妨碍抽奖)

    版权声明

    Copyright (C) 2016-2018 By EXP License: GPL v3


    展开全文
  • 4月22日, B站部分后台源代码因为某愤怒的员工, 被上传至Github. 本文我们不讨论安全, 法律, 去恶意攻击或者获利是违法的! 我们工作时也要注意代码安全), 我仅从开发者的角度谈谈, 这份代码我们能学到什么? B站Golang...

    4月22日, B站部分后台源代码因为某愤怒的员工, 被上传至Github. 本文我们不讨论安全, 法律, 去恶意攻击或者获利是违法的! 我们工作时也要注意代码安全), 我仅从开发者的角度谈谈, 这份代码我们能学到什么? B站Golang生态建设, 代码规范, 工具建设, 技术栈选择, 对于Go在部门或公司的推广又有哪些值得借鉴?

    首先必须得说, B站这份代码整体还是不错的, 不是说组件或者基础库多么的厉害, 而是从整体目录分布, 业务代码分布, API易用性, 业务代码风格, 工具的统一, 上手难度上来评价.

    这里是一个小小的总结.

    1. 约329个Go服务, 历史约170人左右贡献过Go代码.
    2. 代码和目录规范性比较好, 代码生成工具建设比较好, 大家可以借鉴一下.
    3. 对于一个Golang开发者来说, 入职B站, 我觉得大概2-3天就可以copy&&paste开始贡献业务代码了. 其他语言开发者, 3-4天吧, 因为学习Golang花一天.
    4. B站Go不依赖CGO, 业务代码可以在windows编译通过! 启动!
    5. 组件基本是基于开源组件封装.
    6. RPC基于grpc封装, 协议编码为proto, 没有我们通常那样的包头.
    7. 服务注册与发现已经包装在RPC中. 注册使用自研的discovery, 基于类似url的方式去注册和寻址.
    8. 数据存储多使用memcache, redis和DB.
    9. hbase也使用比较多. 用于鉴权, 用户数据存储. 对于一些kv数据, 外部没有支持冷热分离的kv存储, hbase是一个非常好的选择: 基于HDFS, 热数据加载到内存, 列式存储, 强一致, 可配置副本数.
    10. 消息队列为使用基于kakfa, 实现了redis协议的databus.
    11. 小文件存储: B站自己实现的bfs
    12. 监控上报使用的是prometheus, 对于中小公司, 没法建设自己的监控组件, prometheus是很不错的选择.
    13. 简单浏览了下, 这份代码在SQL上没有注入风险. 生产环境的配置并没有在这份代码中. 一个合格的开发者, 即使所有源码流出去, 也不会对系统造成任何危害.
    14. 不过B站的代码似乎打点监控做的不是很多(可能没有太多的去强调?)

    可以看出B站有一定的技术建设能力, 能够基于开源技术栈做封装和改进, 所选技术栈适合中小型公司业务. 技术总监毛剑水平的确挺不错, 下面会给出两篇B站在Gopher China上的分享.

    详细请看下文

    PS: 学习完代码已删除, 不要问我要代码哈.

    [TOC]

    哔哩哔哩的Go微服务实战

    文章上: https://mp.weixin.qq.com/s/bPFUGQDZCnt2aeIf7JI2cQ (主要讲B站从PHP, Java转为Go微服务之路)

    文章下: https://mp.weixin.qq.com/s/4uA6iE7HC_SAfdIATAdrrA (主要讲B站中间件建设情况)

    视频: https://www.bilibili.com/video/av29079011

    以上两篇(上面后两篇)是B站公开分享的Go微服务实战, 上文讲B站的微服务演进, 下文讲B站的中间件建设.

    本文中很多情况的确和本文中一致. 详细可参考这两篇文章.

    目录结构及整体情况

    通过main.go启动文件统计, 整体约329个Go服务. 有170人左右贡献过Go代码.

    整体目录结构

    admin是管理后台的服务, service是提供RPC内部服务, job是处理消息队列的服务, interface目录是对外http的服务.

    其中admin目录下54个, infra目录下5个基础组件服务, interface下77个, job目录下80个, service目录下113个.

    一探B站后台架构, 他山之石, 何以攻玉? -- 仅从一个一线Golang开发者的角度谈B站4.22代码

    整理目录结构

    可以看出来B站Go后台代码管理使用的是一个大仓库的方式(从源码目录整齐度以及大仓库的README来看, 应该是这样的, 当然还有个东西叫git. 这种方式有好处也有坏处.

    1. 上手很快, 所有的库, 依赖, 业务都在一个仓库中, 下载了就有提示, 马上开始撸代码.
    2. 后期版本管理变得很混乱. 分支开发也很重.

    我在前公司也有这种情况, 前人把大概某20个服务放在一个仓库中, 后续的git log简直没法看. 幸好后面大家没这么做了.

    服务目录结构

    一探B站后台架构, 他山之石, 何以攻玉? -- 仅从一个一线Golang开发者的角度谈B站4.22代码

    服务目录结构

    cmd: 放main.go和配置文件, 作为启动入口
    conf: 放配置文件对应的golang struct, 使用的是toml
    model: 放结构体, 比如Http参数转换用的struct, DB存储对应的struct, 各层之间传递用的struct
    dao: data access object, 数据库访问方法, redis, memcache访问方法, 还有一些RPC调用也放在这里面
    http: 提供http服务, 主要是提供协议转换, 聚合. 逻辑还是再service层做.
    service: 对于后端服务来说, 该目录提供服务的实现, 对于http服务, 该目录提供http服务的实现.
    

    目录规范性

    所有的服务均遵守该目录结构. model层放VO, DO等, dao层用于数据层封装, 隔离本服务的领域逻辑与外部数据. http层提供协议转换. service实现具体逻辑.

    比较像Java开发的模式, 可能在公司很多人不是很喜欢这样复杂的目录, 喜欢什么都放在一个目录下.

    不过这样的分目录是一种比较好的实践. 各层分的清清楚楚, 一个服务从1个接口到10个接口, 都比较清晰. 对于服务改动来说,也比较好聚焦于某一层.

    生成工具的重要性

    目录做到规范性, 服务维护, 其他人接手也容易多了. 然而大家都是有各自习惯, 每个人都喜欢偷懒, 靠规范, 靠说教来使得程序员保持目录规范, 实践证明是不可能的. 所以得靠生成工具.你给程序员生成好的代码目录和模式, 99%的人是不会去改的…能把业务逻辑实现了, 还管其他的干啥?

    此份代码的300多个服务, 目录都是一致的, 不管是http服务, 还是接收消息队列的服务, 还是后台service. 同时service包下, http包下的代码流程都基本一致, rpc调用方式一致, 都是靠生成工具来实现.

    B站Golang技术栈分析

    技术栈技术选型参考链接
    RPC基于grpc封装的warden框架, 已开源https://github.com/bilibili/kratos
    HTTP框架基于gin封装的blade master框架, 已开源同上
    服务注册与发现初期为zk, 后面逐步改为参考Spring Cloud体系Eureka自研的discovery已开源 https://github.com/bilibili/discovery
    存储DB, redis, memcache, hbase存储一些用户kv信息和历史流水, 已封装好库 library/database/client库已开源 https://github.com/bilibili/kratos
    搜索B站视频, 用户, 历史记录等使用es搜索, 客户端已封装在基础库中 library/database/elastic
    小文件存储毛剑个人研发的bfs, 已开源.https://www.toutiao.com/i6272104949560115714/ https://github.com/Terry-Mao/bfs
    消息队列基于kafka封装的databus
    log基于uber的zap封装的日志框架
    配置及配置中心支持从环境变量读取配置, 从toml中解析配置, 支持远程配置中心(自研, mysql存储, 本地落地,http协议, long poll, 客户端有更新事件, 类似于携程开源的Apollo)
    监控使用开源的prometheus, 框架和库(sql, redis, hbase等)中已预埋计数点和时间统计点, 同时也可以在业务逻辑中打点. library/stat/stat.go
    tracetrace似乎是基于agent的方式, 使用unix domain socket进行传送, 框架和库已预埋点. library/net/trace.go
    研发流程管理TAPD, 哈哈, 有相关的tapd struct信息

    其中RPC, HTTP框架, 数据访问的一些库封装, 包括生成工具, 均以kratos项目在github开源了( https://github.com/bilibili/kratos Kratos是bilibili开源的一套Go微服务框架,包含大量微服务相关框架及工具)

    B站目前使用及封装的中间件的详细介绍在Gopher China 2017 B站的分享有提到原理和使用情况.

    https://mp.weixin.qq.com/s/4uA6iE7HC_SAfdIATAdrrA

    bfs介绍

    https://www.jianshu.com/p/923917220d23

    B站运维体系发展

    https://myslide.cn/slides/3840

    总结

    简单分析了下B站的代码风格和后台架构, 目录规范性, 工具建设均做的不错, 其中代码生成工具做的很好, http服务, 后台grpc服务,均可通过proto生成(目前now也是这样做的), 也有使用go ast进行生成的工具(大家可以参考一下).

    中间件方面, 技术选型大部分为一些目前业界比较实用和流行的开源组件, 进行了一些封装, 比较适合员工上手. 同时像配置中心, 小文件存储, 为自研. 全套解决方案比较关键路径均开源.

    可以看出B站有一定的技术建设能力. 技术选型比较符合中小型公司的实际情况.

    对于我们而言, 可以借鉴一下, 完善生成工具, 提高API的易用性, 降低入门门槛, 根据业务选用适合组件.

    展开全文
  • 昨天bilibili又上热搜了,被某人在github上开了个账号,传了份整个后端代码到github,这是被人扒光了衣服看个精光啊。 这件事情,作为程序员的我们除了调侃和fork的同时,想一想,造成这个...」,获取全套源码
  • 一款仿哔哩哔哩的播放器带弹幕接口做视频cms的这你肯定少不了的播放器,本源码文件无加密 无授权 可放心使用配合bilibili的模板使用效果更佳一、播放器搭建PHP版本随意进网站目录解压压缩包你的域名/?url= 后面是...
  • │ │ 王者荣耀故事小程序带Vue后台.zip │ │ 疯狂吃月饼(node+mysql).zip │ │ 谁是杀手小程序游戏.zip │ │ 飞机大战.zip │ │ │ ├─影音娱乐(8个) │ │ 个人音乐台.zip │ │ 仿哔哩哔哩....
  • 史上最小游戏分类,需要的自行下载: 下载链接在最后面! o2o行业 | - 盒马鲜生 | - 轻客洗衣 互联网行业 | - 云文档 | - 仿ofo共享单车 | - 仿美团外卖 | - 仿饿了么 | - 灵犀外卖 交友互动 | - 小契约(交友...
  • 前面我都是按部就班的准备,后面B站一面过了准备二面的时候,我特意告诉HR我要准备一个星期后再二面,这一个星期我的节奏是,早上起来在地铁上找一篇系统的知识点视频看。 比如redis,到公司后正常上班,下班后地铁...
  • 以下分享的视频教程 99% 来源于B站哔哩哔哩),其余来自于慕课网,有的视频得反反复复来回看,希望这些视频能帮助你系统全面地自学 Java 语言。 一、Java基础 尚硅谷宋红康(强力推荐) ...动力节点Java零基础教程...
  • 计算机基础课:数据结构、操作系统、计算机网络,计算机组成原理(目前面试考察的地方少了,可以不作为主要内容),这几门课B站上有很多不错的教程资源,比如王道考研的操作系统/计算机网络、韩顺平老师的Java数据...
  • 前言 原本是计划刷题继续提升自己的,奈何看了一个b站up主的关于搭建个人博客的视频,其中有提到对于计算机的我们来说,有一个属于自己的博客是挺重要的,不仅能作为自己的记录,而且还能写进自己简历,丰富大学...
  • android安卓源码海量项目合集打包-1

    万次阅读 多人点赞 2019-06-11 16:16:24
    最后更新共计113个分类5177套源码29.2 GB。 卷 新加卷 的文件夹 PATH 列表 卷序列号为 00000200 5E7A:7F30 F:. ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签的灵活运用.rar │ │ ...
  • 史上最小微信小程序分类,需要的自行下载: 下载链接在最后面! o2o行业 | - 盒马鲜生 | - 轻客洗衣互联网行业 | - 云文档 | - 仿ofo共享单车 | - 仿美团外卖 | - 仿饿了么 | - 灵犀外卖交友互动 | - 小契约...
  • 通过爬取b站案例带领你快速掌握爬虫,掌握学习技巧~带你揭开编程最神秘的面纱,解决学习路上的迷惑·~对于初学者在学习python过程中有不懂的或是缺少这方面学习教程的可以加一下我建的python技术的学习裙;...
  • 点击上方蓝色“五分钟学Java”,选择“设为星标”回复“666”获取独家整理的学习资料!以下分享的视频教程 99% 来源于B站哔哩哔哩),其余来自于慕课网,有的视频得反反复复来回看,希...
  • 上海哔哩哔哩B站) 第一个去的是我一直心心念念的B站,可以第二轮就挂掉了… B站一面 1.自我介绍 2.treemap、红黑树、完全平衡二叉树 3.快速排序和插入排序 4.个大致有序的数组如何排序,最快时间复杂度 5.如何...
  • IJKPlayer播放器(https://github.com/Bilibili/ijkplayer)是一款格式播放器,支持(rtsp/rtmp/hls...下面就给视频播放器添加截屏功能,来熟悉IJKPlayer播放器的源码结构。 IJKPlayer播放器底层依赖于ffmpeg,
  • 牛逼!Java 从入门到精通,超汇总版

    万次阅读 多人点赞 2021-05-06 19:40:33
    书一般是能够静下心来的人看的,一般初学者最大的问题就是很难静下心来编程,如果你觉得难以看得下去书的话,你可以看看这篇回答,里面的视频可以说很了 有哪些优秀的c语言课程视频? 初学 C 语言周期大概是3 - 6...
  • 笔记来源视频:【小迪安全】web安全|渗透测试|网络安全(6个月线上培训全套)_哔哩哔哩_bilibili 基础入门-web源码拓展​ 前言:web源码在安全测试中是非常重要的信息来源,可以用来代码审计漏洞也可以用来做...
  • 》 《开源囧事(二)终于,我还是被他们搞崩溃了》 《开源囧事(三)开源项目在闲鱼、b 上被倒卖?这是什么骚操作?》 《开源囧事(四)你们这些卖代码的能不能留自己的QQ号?留我QQ号干嘛?》 在第四篇的开头我还特意加...
  • 写在开头 大家好,这里是lionLoveVue,基础知识...另外,也可以关注微信公众号:小狮子前端Vue,源码以及资料今后都会放在里面。 一直想着成为一个up主,正值时间挺多的,4月份左右面试的面经我会制作视频去分...
  • 招聘求职学习

    2018-07-13 09:52:22
    转自:https://blog.csdn.net/leonardc/article/details/79074208本篇主要分享如下几方面:招聘职位需求套路、招聘面试的套路、简历撰写套路、简历投递套路、找工作经历、自己面试面经、实习感悟、书籍推荐、优秀...
  • 近期微信小程序demo源码下载汇总,乃居家旅行学习分析必备良品!点击标题可直接跳转至下载。帖子最下方可点击收藏 排序 demo源码(点击标题进入帖子下载) 描述 1 微信小程序-金盆洗脚城...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 142
精华内容 56
关键字:

b站哔哩哔哩全站后台源码