Web安全相关(二):跨站请求伪造(CSRF/XSRF)葡京在线开户

 

 

 

   葡京在线开户 1

or-tools 是 Google 的优化搜索工具。Google优化工具包括:约束编程解决方案;为线性规划和交集整数规划解决方案提供简单统一的接口,包括
CBC, CLP, GLOP, GLPK, Gurobi, SCIP, 和 Sulum;背包算法;图算法
(最短路径,线性和分红,最小费用流,最大流)(详情:https://github.com/google/or-tools

场景

Spark 是谷歌公司推出的一款基于 Chrome 浏览器的开发条件。提供一组可采纳的
UI 组件。采取 Dart
开发。(安装模式:https://github.com/dart-lang/spark/tree/master/ide

  葡京在线开户 2

43、JavaScript 库 Closure Library   ★Star 2257

   伪造请求源码:

葡京在线开户 3

防止CSRF

  CSRF能学有所成是因为同一个浏览器会共享库克(Cook)ies,也就是说,通过权限认证和验证是力不从心防护CSRF的。那么应该怎么防范CSRF呢?其实制止CSRF的措施很简短,只要确保请求是祥和的站点发出的就足以了。这怎么确保请求是发泄于自己的站点呢?ASP.NET以Token的情势来判定请求。

  我们需要在大家的页面生成一个Token,发请求的时候把Token带上。处理请求的时候需要验证库克ies+Token。

  葡京在线开户 4

  葡京在线开户 5

  此时冒充请求的结果是如此的(为了演示效果,去掉了藏匿):

  葡京在线开户 6

Guetzli,是一个针对性数码图像和网页图像的 JPEG 编码器,可以通过发出更小的
JPEG 文件来达成更快的在线体验,并且同时保持与眼前浏览器,图像处理利用和
JPEG 标准的兼容性。Google 称 Guetzli 创造高质量的 JPEG
图像文件的大大小小比当下的缩减方法要再小 35%。上图为 16×16
像素样本,是挂在蓝天下的一根电话线,传统 JPEG
算法平常会赶上的失真情况。右边是未压缩的原图,中间为较小尺寸的
libjpeg,左侧是失真更少的 Guetzli
。(详情:https://github.com/google/guetzli

$.ajax

  假设自己的请求不是通过Form提交,而是经过Ajax来交给,会咋样呢?结果是印证不通过。

  葡京在线开户 7

  为何会那规范?我们回头看看加了@Html.AntiForgeryToken()后页面和央浼的变化。

  1.
页面多了一个隐藏域,name为__RequestVerificationToken。

  葡京在线开户 8

  2.
呼吁中也多了一个字段__RequestVerificationToken。

  葡京在线开户 9

  原来要加这么个字段,我也加一个不就可以了!

  葡京在线开户 10  

  啊!为何仍旧不行…逼自己放大招,商讨源码去!

  葡京在线开户 11

  噢!原来token要从Form里面取。可是ajax中,Form里面并从未东西。这token肿么办呢?我把token放到碗里,不对,是停放header里。

   js代码:

 1 $(function () {
 2             var token = $('@Html.AntiForgeryToken()').val();
 3 
 4             $('#btnSubmit').click(function () {
 5                 var targetUser = $('#TargetUser').val();
 6                 var amount = $('#Amount').val();
 7                 var data = { 'targetUser': targetUser, 'amount': amount };
 8                 return $.ajax({
 9                     url: '@Url.Action("Transfer2", "Home")',
10                     type: 'POST',
11                     data: JSON.stringify(data),
12                     contentType: 'application/json',
13                     dataType: 'json',
14                     traditional: 'true',
15                     beforeSend: function (xhr) {
16                         xhr.setRequestHeader('__RequestVerificationToken', token);
17                     },
18                     success:function() {
19                         window.location = '@Url.Action("Index", "Home")';
20                     }
21                 });
22             });
23         });

   在服务端,参考ValidateAntiForgeryTokenAttribute,编写一个AjaxValidateAntiForgeryTokenAttribute:

 1 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
 2     public class AjaxValidateAntiForgeryTokenAttribute : FilterAttribute, IAuthorizationFilter
 3     {     
 4         public void OnAuthorization(AuthorizationContext filterContext)
 5         {
 6             if (filterContext == null)
 7             {
 8                 throw new ArgumentNullException("filterContext");
 9             }
10 
11             var request = filterContext.HttpContext.Request;
12 
13             var antiForgeryCookie = request.Cookies[AntiForgeryConfig.CookieName];
14             var cookieValue = antiForgeryCookie != null ? antiForgeryCookie.Value : null;
15             var formToken = request.Headers["__RequestVerificationToken"];
16             AntiForgery.Validate(cookieValue, formToken);
17         }
18     }

   然后调用时把ValidateAntiForgeryToken替换成AjaxValidateAntiForgeryToken。

   葡京在线开户 12

  大功告成,好有成就感!

 

  鱼儿Fish每10秒会给大神God转账100元。

19、代码构建工具Bazel  ★Star 6641

  因为鱼儿Fish没有登陆,所以,伪造请求平素不可能执行,一直跳转回登录页面。

 

   葡京在线开户 13

45、远程现场取证系统 GRR   ★Star 2100

  葡京在线开户 14

 

大局处理

  倘使拥有的操作请求都要加一个ValidateAntiForgeryToken或者AjaxValidateAntiForgeryToken,不是挺劳碌呢?可以在某个地点集合处理吧?答案是足以的。

  ValidateAntiForgeryTokenAttribute继承IAuthorizationFilter,这就在AuthorizeAttribute里做联合处理吧。

  ExtendedAuthorizeAttribute:

 1 public class ExtendedAuthorizeAttribute : AuthorizeAttribute
 2     {
 3         public override void OnAuthorization(AuthorizationContext filterContext)
 4         {
 5             PreventCsrf(filterContext);
 6             base.OnAuthorization(filterContext);
 7             GenerateUserContext(filterContext);
 8         }
 9 
10         /// <summary>
11         /// http://www.asp.net/mvc/overview/security/xsrfcsrf-prevention-in-aspnet-mvc-and-web-pages
12         /// </summary>
13         private static void PreventCsrf(AuthorizationContext filterContext)
14         {
15             var request = filterContext.HttpContext.Request;
16 
17             if (request.HttpMethod.ToUpper() != "POST")
18             {
19                 return;
20             }
21 
22             var allowAnonymous = HasAttribute(filterContext, typeof(AllowAnonymousAttribute));
23 
24             if (allowAnonymous)
25             {
26                 return;
27             }
28 
29             var bypass = HasAttribute(filterContext, typeof(BypassCsrfValidationAttribute));
30 
31             if (bypass)
32             {
33                 return;
34             }
35 
36             if (filterContext.HttpContext.Request.IsAjaxRequest())
37             {
38                 var antiForgeryCookie = request.Cookies[AntiForgeryConfig.CookieName];
39                 var cookieValue = antiForgeryCookie != null ? antiForgeryCookie.Value : null;
40                 var formToken = request.Headers["__RequestVerificationToken"];
41                 AntiForgery.Validate(cookieValue, formToken);
42             }
43             else
44             {
45                 AntiForgery.Validate();
46             }
47         }
48 
49         private static bool HasAttribute(AuthorizationContext filterContext, Type attributeType)
50         {
51             return filterContext.ActionDescriptor.IsDefined(attributeType, true) ||
52                    filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(attributeType, true);
53         }
54 
55         private static void GenerateUserContext(AuthorizationContext filterContext)
56         {
57             var formsIdentity = filterContext.HttpContext.User.Identity as FormsIdentity;
58 
59             if (formsIdentity == null || string.IsNullOrWhiteSpace(formsIdentity.Name))
60             {
61                 UserContext.Current = null;
62                 return;
63             }
64 
65             UserContext.Current = new WebUserContext(formsIdentity.Name);
66         }
67     }

   然后在FilterConfig注册一下。

  葡京在线开户 15  

  FAQ:

  1. BypassCsrfValidationAttribute是什么样鬼?不是有个AllowAnonymousAttribute吗?

  假设稍微操作你不需要做CSRF的处理,比如附件上传,你可以在相应的Controller或Action上添加BypassCsrfValidationAttribute。

  AllowAnonymousAttribute不仅会绕过CSRF的处理,还会绕过证实和验证。BypassCsrfValidationAttribute绕过CSRF但不绕过声明和表明,

也就是BypassCsrfValidationAttribute效能于那多少个登录或授权后的Action。

 

  2.
为何只处理POST请求?

  我付出的时候有一个口径,查询都用GET,操效能POST,而对此查询的哀告没有必要做CSRF的拍卖。我们能够按自己的需要去安排!

  

  3.
我做了大局处理,然后还在Controller或Action上加了ValidateAntiForgeryToken或者AjaxValidateAntiForgeryToken,会争辩呢?

  不会争辩,只是验证会做五回。

49、优化搜索工具or-tools   ★Star 1771

  网站源码:

go-github  是 Google 对 Github 的盛开 API 举办 Go
语言封装的一个连串。(详情:https://github.com/google/go-github

  大神God发现,这一个网站尚未做避免CSRF的点子,而且他自己也有一个有必然访问量的网站,于是,他计划在自己的网站上内嵌一个隐蔽的Iframe伪造请求(每10s发送两遍),来等待鱼儿Fish上钩,给协调转账。

35、Blockly  ★Star 3520

     
某程序员大神God在某在线银行Online Bank给他的情侣Friend转账。

51、Common Lisp Koans   ★Star 1695

   葡京在线开户 16

 

  此时假冒请求的结果是如此的(为了演示效果,去掉了隐藏):

葡京在线开户 17

 1 <html>
 2 <head>
 3     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
 4     <title></title>
 5 </head>
 6 <body>
 7 <div>
 8     我是一个内容丰富的网站,你不会关闭我!
 9 </div>
10 
11 <iframe name="frame" src="invalid.html" sandbox="allow-same-origin allow-scripts allow-forms"  style="display: none; width: 800px; height: 1000px;"> </iframe> 
12 <script type="text/javascript">
13     setTimeout("self.location.reload();", 10000);
14 </script>
15 </body>
16 </html>

Lighthouse 是一个开源的自动化工具,用于改进网络使用的质地。
可以将其看做一个 Chrome 扩大程序运行,或从命令行运行。 当为 Lighthouse
提供一个要查核的网址,它将本着此页面运行一体系的测试,然后生成一个关于页面性能的告知。能够参照战败的测试,看看可以利用哪些方法来革新应用。(详情:https://github.com/GoogleChrome/lighthouse

简介
  CSRF(Cross-site
request forgery跨站请求伪造,也被叫作“One Click Attack”或者Session
Riding,平时缩写为CSRF或者XSRF,是一种对网站的恶意使用。即使听起来像跨站脚本(XSS),但它与XSS相当例外,并且攻击形式几乎相左。XSS利用站点内的亲信用户,而CSRF则通过伪装来自受倚重用户的伸手来使用受倚重的网站。与XSS攻击相比,CSRF攻击往往不大流行(由此对其进展防范的资源也分外罕见)和不便防范,所以被认为比XSS更具危险性。

GXUI 是 Google 出品的一个跨平台 GO 语言的 UI
框架。(详情:https://github.com/google/gxui

  葡京在线开户 18

 

  鱼儿Fish打开了大神God的网站,在地方浏览丰裕多彩的始末。此时假冒请求的结果是这般的(为了演示效果,去掉了藏匿):

34、iOS UI 测试自动化框架 EarlGrey  ★Star 3721

源码下载

  为了方便使用,我从不利用其余数据库,而是用了一个文本来储存数据。代码下载后得以一贯运行,无需配置。

  下载地址:https://github.com/ErikXu/CSRF

 

著作转载自:http://www.cnblogs.com/Erik_Xu/p/5481441.html

Butteraugli
是用来裁判六个图像之间的相似度。通过辨认图像之间有些最受关注的差别点并交付相似度分值。那一个项目标一个关键思想是对出入受体的不同颜色的职务和密度的总计,特别是绿色的低密度锥窝。另一个念头来自于更规范的神经节细胞建模,特别是避免频率空间。近年来该项目只提供了
C++ 接口。(详情:https://github.com/google/butteraugli

   葡京在线开户 19

 

  然后鱼儿Fish想起了要登录在线银行Online
Bank查询内容,于是他登录了Online Bank。

葡京在线开户 20

 1 <html>
 2 <head>
 3     <title></title>
 4 </head>
 5 <body>
 6 <form id="theForm" action="http://localhost:22699/Home/Transfer" method="post">
 7     <input class="form-control" id="TargetUser" name="TargetUser" placeholder="用户名" type="text" value="God" />
 8     <input class="form-control" id="Amount" name="Amount" placeholder="转账金额" type="text" value="100" />
 9 </form>
10 
11 <script type="text/javascript">
12     document.getElementById('theForm').submit();
13 </script>
14 </body>
15 </html>

Advisor 是Google企业用来分析运行中的 Docker
容器的资源占用以及性能特点的工具。cAdvisor
是一个运行中的守护进程用来收集、聚合、处理和导出运行容器相关的音信,每个容器保持单身的参数、历史资源采用状态和完好的资源拔取数据。当前支撑
lmctfy 容器和 Docker
容器。(详情:https://github.com/google/cadvisor

  转账后,出于好奇,大神God查看了网站的源文件,以及捕获到转会的伏乞。

22、软硬件框架AnyPixel.js  ★Star 5906

   葡京在线开户 21

seq2seq 是 Google 开源的一款用于 TensorFlow
的通用编码器&解码器框架(encoder-decoder
framework),可用来机器翻译、文本摘要、会话建模、图像描述等。(详情:https://github.com/google/seq2seq

 

FlatBuffers 是一个 Java
的行列化库,用于游戏和任何内存受限的运用。FlatBuffers
可以让你间接访问体系化后的数额,无需解压并拓展解析的经过。同时提供很强的前进和向后兼容性。FlatBuffers
辅助 C++ 和 Java
语言,无需依靠第三方库补助。(详情:https://github.com/google/flatbuffers

Google Brain团队的一组研讨人士宣布了一个档次Project
Magenta,其根本目标是行使机械学习创作方法和作曲曲子。Project
Magenta使用了
TensorFlow系统,琢磨人口在GitHub上开源了他们的模型和工具。(详情:https://github.com/tensorflow/magenta

 

 

23、物联网工具Physical Web  ★Star 5899

 

Blockly 是一个遵照 Web 的可视化编程工具,只需要拖动多少个图形就可以编程,
完全不需要打字. 按照项目FAQ介绍,
这些新语言的严重性目的是为web应用提供宏(或脚本编 程)的帮忙.
可以把变化的脚本输出成javascript, python
等.已经有多少个使用Blockly的demo.(详情:https://github.com/google/blockly

13、最小系统加载工具 systemjs  ★Star 8356

 

Xi Editor 是 Google 开源的一款用 Rust 语言编写的文本编辑器,最初是为 Mac
OS X 构建的,使用 Cocoa
作为用户界面,已有计划适配其余平台。所有编辑操作都得以在 16ms
之内提交并拍卖。文本绘制使用最好的技艺(如 Mac 上的 Core Text,Windows
上的 DirectWrite 等),并完全援助Unicode。(详情:https://github.com/google/xi-editor

Brotli 是一个通用目标的无损压缩算法,它经过用变种的 LZ77 算法,Huffman
编码和二阶文本建模举办数据压缩,是一种压缩比很高的回落方法。在调减速度上跟
Deflate
差不多,但是提供了更凝聚的缩减。(详情:https://github.com/google/brotli

 

 

AnyPixel.js 是 谷歌开源的一个软件和硬件框架,可以用来构建各个由“像素”构成的来得,每个像素可以是此外一种可互相的实业对象,如
LED
灯、气球等。(详情:https://github.com/googlecreativelab/anypixel

 

 

 

 

5、数据描述语言 protobuf  ★Star 18447

 

30、无损压缩算法Brotli  ★Star 4822

Physical Web 是由 Chrome 团队着力的一个项目, 目的在于用 URL 连接世界,
方便用户接受多少。在Web世界中,各样URL可以说是链接的底子,也是去大旨化的,所以“The
Physical
Web”要做的就是让每个智能装备用URL来标识自己,然后用户遵照自己的急需通过URL和装备开展互动。这样一来,你选拔智能设备的经验就和在网站上使
用各类超链接差不多了。(详情:https://github.com/google/physical-web

 

 

Draco 是一种库,用于压缩和解压缩 3D 几何网格(geometric
mesh)和点云(point cloud)。换句话说,它总而言之收缩了 3D
图形文件的轻重缓急,同时对 3D
图形的观望者来说又历来不严重影响视觉效果。它还目的在于革新 3D
图形的缩减和传导。Draco 是作为 C++ 源代码公布的,能够用来压缩 3D
图形,此外还发表了处理编码数据的 C++ 和 Javascript
解码器。(详情:https://github.com/google/draco

 

55、Google 地球集团版 Earth Enterprise   ★Star 1161

31、负载均衡系统 Seesaw  ★Star 4286

Gumbo 是 Google的一款用C语言实现的HTML5解析库,无需任何外部看重。(详情:https://github.com/google/gumbo-parser

 

37、抓取bug工具 error-prone   ★Star 2708

 

11、自动化网络审批工具 Lighthouse  ★Star 9400

 

 

葡京在线开户 22

9、高质地滑坡图片算法工具Guetzli  ★Star 9959

E2EMail
是一个尝试性质的端到端加密系统。E2EMail由谷歌开发,内置JavaScript内部支出的JavaScript加密库。它提供了一种通过Chrome扩大程序将OpenPGP集成到Gmail中的方法。音信的精通单独保留在客户端上。(详情:https://github.com/e2email-org/e2email

58、钢琴二重奏 AI aiexperiments-ai-duet   ★Star 883

Battery Historian 是一个经过分析安卓 “bugreport”
进程文件来总括电量消费状态。它同意应用程序开发人士在岁月线上可视化系统和使用程序级事件,具有运动和缩放效率,在设备上完全充电后得以轻松查看各类汇总总括音信,并能采用应用程序,检查影响应用程序特定电池的目标。
它还允许多少个错误报告的A /
B相比,非凡显示重要电池相关目的的距离。(详情:https://github.com/google/battery-historian

 

6、Java 常用库 Guava  ★Star 17267

葡京在线开户 23

14、体系化库 FlatBuffers  ★Star 7991

YAPF 是 Google 开发的一个用来格式化 Python
代码的工具。(详情:https://github.com/google/yapf

18、媒体播放器 ExoPlayer  ★Star 7152

16、Grumpy  ★Star 7760

28、Python 代码格式化的工具  ★Star 5197

2、前端开发工具组 MDL  ★Star 27873

 

葡京在线开户 24

 

 

21、自动生成命令行界面的内容库 Python Fire  ★Star 6500

26、IndexedDB 关系查询引擎 lovefield  ★Star 5532

Hover 是一个用以 Android 的漂移操作栏。该菜单栏可以用作一个 service
启动,从而跨进程使用,悬浮在桌面或者另外应用程序的前方,当然,这里需要申请权限。
Hover 仍居于开发阶段,还有不少代码清理工作亟待做,也就是说,Hover
现在唯有处于可用状态。(详情:https://github.com/google/hover

20、创作形式和作曲曲子的机械智能 magenta  ★Star 6563

葡京在线开户 25

文章整理于互联网。
本文收集了 60款 Google 开源的项目,排名顺序按照 Github ★Star 数量排列。

 

严守开源Apache授权的EarlGrey,由Objective-C编写而成。Google也真的用的它来测试自己的iOS
app。EarlGrey可支撑和模拟回溯至iOS
8的配备,有关该工具的事无巨细文档请戳这里。除了EarlGrey,另外iOS
UI测试自动化框架还包括Calabash和Sauce
Labs的Appium。(详情:https://github.com/google/EarlGrey

44、大型微服务系统管理工具 Istio   ★Star 2291

 

OSS-Fuzz
可以针对开源软件进行连发的混淆测试,它的目标是运用改进的模糊测试技术与可进展的分布式执行相结合,提高一般软件基础架构的安全性与安定。OSS-Fuzz
结合了多种模糊测试技术/漏洞捕捉技术(即原来的libfuzzer)与清洗技术(即原来的
AddressSanitizer),并且经过 ClusterFuzz
为周边可分布式执行提供了测试环境。(详情:https://github.com/google/oss-fuzz

Earth Enterprise 是 Google Earth Enterprise
的开源版本,是一个提供构建和托管自定义 3D 地球模型和 2D
地图的地理空间应用,目的在于让社区连续改良和促进该品种。(详情:https://github.com/google/earthenterprise

 

38、ROS 系统协助的 SLAM 库 Cartographer   ★Star 2700

 

 

 

 

Seesaw 是 Google 开源的一个基于 Linux 的负载均衡系统。Seesaw
包含基本的载荷均衡特性,同时帮忙部分高等的效能,诸如:anycast, Direct
Server Return (DSR), 襄助五个 VLANs
和集中式配置。同时其计划的核心是容易维护。(详情:https://github.com/google/seesaw

7、Spark  ★Star 13378

10、k/v数据库 Leveldb  ★Star 9799

57、Go 语言实现的网络协协议栈 Netstack   ★Star 1016

“钢琴二重奏”的 A.I. Duet。该品种会在您弹出了多少个音符之后,通过 AI
自动总括来帮您“补完”旋律的重奏部分。A.I. Duet
运用了人工智能技术,了解音符的“编码规则”。(详情:https://github.com/googlecreativelab/aiexperiments-ai-duet

53、 JavaScript 库 Shaka Player   ★Star 1354

 

 

 

 

 

 

Sonnet
库使用面向对象的章程,允许创立定义一些前向传导总结的模块。模块用有些输入
Tensor 调用,添加操作到图里并回到输出
Tensor。其中一种设计采纳是透过在随着调用相同的模块时自动重用变量来担保变量分享被透明化处理。
该库兼容 Linux/Mac OS X 和 Python 2.7。TensorFlow 的本子必须至少为
1.0.1。Sonnet 援助 TensorFlow 的 virtualenv 安装格局,以及 nativ pip
安装。(详情:https://github.com/deepmind/sonnet

GRR 是 Google 开发的远程现场事件取证系统。GRR
由一个代理(客户端)和劳务器端组成,客户端可以配备在一个职责系统中,服务器可以管理客户端,跟客户端进行交互。(详情:https://github.com/google/grr

MDL (Material Design Lite) 是 Google 推出的网站前端开发工具组。Material
Design Lite (MDL)可以让您添加一个 Material Design
的外观和感到到你的静态内容网站,不借助于于其他的 JavaScript 框架和库。MDL
可以优化跨设备的施用体验,可以在旧版的浏览器举行平整的切换,提供丰盛急忙的拜会体验。(详情:https://github.com/google/material-design-lite

 

Closure Library 是一个强有力的 JavaScript 库,用于复杂的宽泛的 Web
应用。它被不少 Google Web 应用使用,比如 Gmail 和 GoogleDocs。(详情:https://github.com/google/closure-library

Istio 是一个由Google、IBM 与 Lyft
共同开发的开源项目,意在提供一种统一化的微服务连接、安全保持、管理与监控措施。Istio
项目可以为微服务架构提供流量管理机制,同时亦为其它增值功效(包括安全性、监控、路由、连接管理与策略等)创造了根基。这款软件使用久经考验的
Lyft Envoy
代理举办构建,可在无需对应用程序代码作出任何发动的前提下实现可视性与控制能力。(详情:https://github.com/istio/istio

 

0、机器学习体系 TensorFlow  ★Star 62533

47、模块化深度学习系统 Tensor2Tensor   ★Star 2000

TensorFlow
是Google的第二代机器学习系统,遵照Google所说,在一些规则测试中,TensorFlow的变现比第一代的DistBelief快了2倍。TensorFlow
内建纵深学习的壮大补助,任何能够用统计流图形来抒发的揣测,都得以应用TensorFlow。任何依照梯度的机械学习算法都可以收益于TensorFlow的电动分
化(auto-differentiation)。通过灵活的Python接口,要在TensorFlow中表述想法也会很容易。(详情:https://github.com/tensorflow/tensorflow

36、go-github  ★Star 2707

葡京在线开户 26

Leveldb是一个google实现的不行快速的kv数据库,最近的版本1.2可知扶助billion级另外数据量了。
在这一个数据级别下还有所丰硕高的属性,重要归功于它的雅观的规划。特别是LSM算法。(详情:https://github.com/google/leveldb

 

25、C++单元测试工具  ★Star 5755

Traceur 是一个起点 Google 的 Javascript
编译器,通过它可以体会一些很新并且有趣的 Javascript
语言特征,这个大多数是还一向不被当下浏览器实现的 ECMAScript
标准或草案,比如:数组比较、类、模块、迭代器、方法参数默认值、Promise等。(详情:https://github.com/google/traceur-compiler

24、Docker 容器性能分析工具cAdvisorc  ★Star 5853

 

27、 Java 生成器源代码集合 Auto  ★Star 5295

 

葡京在线开户 27

39、安卓电量分析工具 Battery Historian   ★Star 2579

15、Xi 文本编辑器 Xi Editor  ★Star 8000

 

12、Gson  ★Star 9261

 

爱德华(Edward) 是一个用来概率建模、推理和评估的 Python
库。它是一个用以迅速实验和啄磨概率模型的测试平台,其包含的模型范围从在小数码集上的经典层次模型到在大数量集上的纷繁深度概率模型。Edward融合了以下四个世界:贝叶斯总括学和机器学习、深度学习、概率编程。(详情:https://github.com/blei-lab/edward

 

Wycheproof
是Google开源的加密库测试项目,它蕴含一名目繁多安全测试,用来检测加密库(cryptographic
libraries)软件是否存在已知的抨击漏洞。(详情:https://github.com/google/wycheproof

54、TensorFlow 深度学习库 Fold   ★Star 1192

 

error-prone 用来抓取 Java
编译时的错误。日常接纳编译器只好做静态类型的自我批评。但运用此工具,可以举办编译器的类型分析,可以检测并抓取到编译过程中的
Bug,可以大大的节约开发者的光阴。(详情:https://github.com/google/error-prone

葡京在线开户 28

4、容器集群管理系列 Kubernetes  ★Star 24599

 

Google 开源了 Material Design 系统图标包里面的 750
个字形。该体系图标包含常用的图标,如用于媒体播发、通讯、内容编排、连接等等。在
Web 应用,安卓和 iOS
设计均适用。(详情:http://google.github.io/material-design-icons/

Python Fire 是 Google 开源的一个可从其它 Python
代码自动生成命令行接口(CLI)的库。Python Fire 是一种在 Python 中开创
CLI 的简短方法;是开发和调剂 Python 代码的可行工具;能够使 Bash 和
Python
之间的转换更为容易;并且通过选取你需要导入和创建的模块和变量来安装
REPL,使得应用 Python REPL 更便于

该类型是 Google 的一个开源项目,包含众多 Google 主题的 Java
常用库。(详情:https://github.com/google/guava

17、Javascript 编译器 Traceur  ★Star 7300

Angular 是一款分外盛行且好用的 Web 前端框架,如今由 Google维护。官方已将 Angular 2 和前边的本子 Angular.js 分开维护(两者的 GitHub
地址和项目主页皆不同等)。渐进式 Web 应用,借助现代化 Web
平台的能力,交付 app
式体验。高性能、离线化、零安装。(详情:https://github.com/angular/angular

Netstack,使用 Go 语言编写的网络协议栈。通过安装 tun_tcp_echo demo
尝试在 Linux 上使用 。(详情:https://github.com/google/netstack

 

40、通用编码器&解码器框架 seq2seq  ★Star 2433

32、Gumbo  ★Star 4060

59、端到端加密系统 E2EMail   ★Star 704

46、Android 的漂浮操作栏 Hover   ★Star 2053

 

Cartographer,是Google开源的一个ROS系统补助的2D和3D SLAM(simultaneous
localization and mapping)库。SLAM
算法结合来自六个传感器(比如,LIDAR、IMU 和
录像头)的数码,同步总结传感器的职位并绘制传感器周围的条件。在产业界和学术界常见的传感器配置上,Cartographer
能实时建立全局一致的地形图。(详情:https://github.com/googlecartographer/cartographer

 

Google的开源C++单元测试框架Google Test,简称gtest
是一个非凡的不利单元测试框架。援助跨平台以及包括 Windows CE 和 Symbian
在内的有些手机操作系统。(详情:https://github.com/google/googletest

3、Web 前端框架 Angular  ★Star 25524

珍爱就珍藏吧~

 

Kubernetes 是缘于 Google 云平台的开源容器集群管理序列。基于 Docker
构建一个容器的调度服务。该系统能够自行在一个容器集群中甄选一个行事容器供役使。其基本概念是
Container Pod。(详情:https://github.com/kubernetes/kubernetes

1、material-design-icons  ★Star 30315

Common Lisp Koans(lisp-koans)是一个言语学习磨练程序,类似 ruby
koans,python koans 等等。Common Lisp Koans 首假诺支援学习有些 lisp
规范特性和改正,可以学学到大气的 Common Lisp
语言特征。(详情:https://github.com/google/lisp-koans

 

Protocol Buffers (ProtocolBuffer/ protobuf
)是Google公司开发的一种多少描述语言,类似于XML可以将结构化数据连串化,可用以数据存储、通信协议等地点。现阶段支撑C++、JAVA、Python等二种编程语言。同XML相比较,Protocol
buffers在体系化结构化数据方面有那多少个优点(详情:https://github.com/google/protobuf

Grumpy 是一个 Python  to Go 源代码翻译编译器和周转时,目的在于替代 CPython
2.7。 关键的区分是它将 Python 源代码编译为 Go
源代码,然后将其编译为本机代码,而不是字节码。这代表 Grumpy 没有
VM。编译的 Go 源代码是对 Grumpy 运行时的一多元调用,Go 库服务与 Python C
API 类似的目标(即使不直接援助 C
API)。(详情:https://github.com/google/grumpy

葡京在线开户 29

Bazel 是 Google 的一款可再生的代码构建工具。它首如果用以构建 谷歌的软件,处理出现在Google的开发条件的构建问题,比如说:大规模数据构建问题,共享代码库问题,从源代码构建的软件的有关题材。辅助多种语言并且跨平台,还援助自动化测试和布局、具有再次出现性(Reproducibility)和规模化等风味。(详情:https://github.com/bazelbuild/bazel

52、 3D 图形开源压缩库 Draco   ★Star 1600

 

33、GXUI  ★Star 3803

 

(详情:https://github.com/google/python-fire

42、深度概率编程语言 爱德华(Edward)   ★Star 2395

 

lovefield 是确立在 IndexedDB 上的关联查询引擎。它提供了类似 SQL
的语法,并且可以跨浏览器工作(近年来支撑 Chrome 37 及以上版本,Firefox 31
及以上版本,IE 10
及以上版本)。(详情:https://github.com/google/lovefield

8、RPC 框架 GRPC  ★Star 10363

Shaka Player 它实现了 DASH 客户端的效用。它的播音效果基于 HTML5
video、MediaSource Extensions,和 Encrypted Media Extensions 。一般的
DASH
客户端功效很难落实。(详情:https://github.com/google/shaka-player

29、基于 TensorFlow 的神经网络库 Sonnet  ★Star 5000

 

 

TensorFlow Fold 是用于创制使用结构化数据的 TensorFlow
模型库,其中总结图的构造取决于输入数据的构造。 TensorFlow Fold
使得拍卖不同数量尺寸和布局的纵深学习模型更便于实现。(详情:https://github.com/tensorflow/fold

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据里面展开映射的 Java
类库。可以将一个 JSON 字符串转成一个 Java
对象,或者反过来。(详情:https://github.com/google/gson

ExoPlayer 是 Android 上一个应用级的媒体播放器。它为 Android MediaPlayer
的 API 在播报本地或在线的录像与节奏上提供了一个候选。ExoPlayer 协助部分
Android MediaPlayer API 无法提供的特性,包括 DASH 和 SmoothStreaming
自适应重放,持久的高速缓存和自定义渲染器。不像 MediaPlayer
API,EXOPlayer 很容易定制和扩展,而且它可以通过 Play Store
更新提高。(详情:https://github.com/google/ExoPlayer

GRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2
设计。近期提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go.
其中 C 版本襄助 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C#
帮助.GRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP
连接上的多复用请求等特。这一个特征使得其在移动设备上显现更好,更省电和节约空间占据。(详情:https://github.com/grpc/grpc

50、加密库安全测试套件 Wycheproof   ★Star 1722

 

 

Auto 是 Java 生成器源代码集合,Java
有很多机械、重复、未经测试的代码,而且有时会并发局部微妙的 Bug 。Auto
项目是全自动执行这多少个品种的职责的代码生成器的联谊,他们得以无 Bug
成立你要编制的代码。(详情:https://github.com/google/auto

56、图像差距相比较库 Butteraugli   ★Star 1100

systemjs
是一个不大系统加载工具,用来成立插件来拍卖可代表的场合加载过程,包括加载
CSS 场景和图表,紧要运行在浏览器和 NodeJS 中。它是 ES6
浏览器加载程序的的扩大,将动用在地面浏览器中。日常创设的插件名称是模块本身,若是没有特别指定用途,则默认插件名是模块的壮大名称。(详情:https://github.com/systemjs/systemjs

 

 

 

Tensor2Tensor 是一个模块化和可扩充的库和二进制文件,
 能够援助人们为各个机器学习程序创制开始进的模子,可拔取于多少个领域,如翻译、语法分析、图像音信描述等,大大进步了研究和支出的快慢。(详情:https://github.com/tensorflow/tensor2tensor

 

41、Web应用 Tracing Framework   ★Star 2371

Tracing Framework 是一套库、工具,用于跟踪和查证复杂的 Web
应用。它就可以帮你意识代码的性能问题,并且帮你制作分外通畅的 60 FPS Web
应用。它近日只能用来特定的行使场馆,并不是为运用于具有场景而计划,如若您在选拔过程中相见了问题,请呈递你的
Bug。(详情:https://github.com/google/tracing-framework

48、Google 模糊测试服务 OSS-Fuzz   ★Star 1781