leon406 / toolsfx Goto Github PK
View Code? Open in Web Editor NEW基于kotlin+tornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件
Home Page: https://github.com/Leon406/ToolsFx/wiki
License: ISC License
基于kotlin+tornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件
Home Page: https://github.com/Leon406/ToolsFx/wiki
License: ISC License
建议增加数字证书验证功能,通过证书链、CRL、OSCP等方式验证数字证书的有效性
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Windows11x64
Java版本(jdk 1.8.0 x86 oracle/openjdk):
java16
操作步骤(如运行ToolsFx.bat):
双击TOOLSFX.BAT或双击TOOLSFX.EXE,
问题现象(如闪退):
双击或以管理员权限运行TOOLSFX.BAT,CMD窗口一闪而过
双击或以管理员权限运行TOOLSFX.EXE,无任何反应
报错信息:
无
补充信息:
在win7,无java环境,双击TOOSFX.BAT或toolsfx.exe,均可以运行起来
mp4格式的视频,直接拖进去说文件格式不支持,要不就是大于128KB不支持。
师傅是否能增加jwt的加解密功能呢,测试的时候经常会用到
可以参考这个在线工具:https://cloud.codegen.cc/app/v1.5.1/#/board/ext/view?id=JWTEncoder
或者按照https://jwt.io/ 这个站实现功能也可以
真的很需要这个功能,希望师傅可以添加一下
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
windows10
Java版本(jdk 1.8.0 x86 oracle/openjdk):
jdk1.8
操作步骤(如运行ToolsFx.bat):
RSA2048经典大素数为:25195908475657893494027183240048398571429282126204032027777137836043662020707595556264018525880784406918290641249515082189298559149176184502808489120072844992687392807287776735971418347270261896375014971824691165077613379859095700097330459748808428401797429100642458691817195118746121515172654632282216869987549182422433637259085141865462043576798423387184774447920739934236584823824281198163815010674810451660377306056201619676256133844143603833904414952634432190114657544454178424020924616515723350778707749817125772467962926386356373289912154831438167899885040445364023527381951378636564391212010397122822120720357
问题现象(如闪退):
出错如下
如题 使用最新的版本 1.13.0
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Java版本(jdk 1.8.0 x86 oracle/openjdk):
操作步骤(如运行ToolsFx.bat):
问题现象(如闪退):
报错信息:
非对称算法是否考虑增加更多的算法,如SM2、SM9
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Windows10 x64
Java版本(jdk 1.8.0 x86 oracle/openjdk):
jdk 1.8
操作步骤(如运行ToolsFx.bat):
运行ToolsFx
问题现象(如闪退):
进制转换存在问题,如10进制转16进制,10进制转二进制等,大于10进制255的转换的数不对,是目前仅支持255以下的数吗?比如65535转换的二进制数就不对(编码IOS8859-1,其他编码格式也试过),FFFF转换出的数也是两个255,而不是65535
报错信息:
无
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Windows
Java版本(jdk 1.8.0 x86 oracle/openjdk):
jdk 1.8.0
操作步骤(如运行ToolsFx.bat):
运行ToolsFx.bat
问题现象(如闪退):
闪退
报错信息:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application
不仅仅适用于CTF,很多应用场景都能用到,既不用联网,也省去了切换工具的麻烦,大大的赞
PS:希望可以增加ascii码的转换功能,ascii码和10进制、16进制的互转功能,很多工具都不带这个功能,带这个功能的也不怎么好用,例如如下场景:102 108 97 103 123 97 97 97 97 125 这串十进制ascii码,数字和数字中间有一个到多个空格,直接转换会无法识别,只能通过全文替换的方式将空格替换才可以正常进行转换,或者是所有数字隔行显示,如:
102
108
97
103
123
97
97
97
97
125
这类也无法识别,希望可以增加此类功能,谢谢!
另外,内置的浏览器可否做到自适应窗口展示?默认窗口大小会出现叠字情况,最大化窗口底部的有一大块空白地带,无法全部展示
密文 Dncnoqqfliqrpgeklwmppu
密钥 playfair
使用1.14解密结果 Itisontaproblehmavefun
正确结果 Itisnotaproblemhavefun
签名与验签,密钥处无法导入公钥算法为SM2的数字证书,将SM2数字证书拖入没有反映。测试证书如下:
SM2 ceshiyonghu1证书1.zip
是否考虑增加大数计算功能?
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Mac OSX Monterey 12.4
Java版本(jdk 1.8.0 x86 oracle/openjdk):
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.292-b10, mixed mode)
操作步骤(如运行ToolsFx.bat):
chmod +x ./ToolsFx
双击根目录下ToolsFx后闪退
问题现象(如闪退):
闪退
报错信息:
错误: 找不到或无法加载主类 me.leon.MainKt
不知道是哪步操作的不对还是java环境有问题
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Java版本(jdk 1.8.0 x86 oracle/openjdk):
操作步骤(如运行ToolsFx.bat):
问题现象(如闪退):
报错信息:
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Java版本(jdk 1.8.0 x86 oracle/openjdk):
操作步骤(如运行ToolsFx.bat):
问题现象(如闪退):
报错信息:
哈希算法是否可加入salt,并根据情况选择salt在等处理数据的前面或后面
在你的工具中GCM/CCM 加密模式中没有涉及 Associated Data ,这是不对的。
算法的最后还要生成一个Authentication Tag 认证标签。
可以参考RFC8998看看。
关于unicode编解码结果有个疑问
使用其他编码工具unicode 123456 > \u0031\u0032\u0033\u0034\u0035\u0036
//自身工具可解码 123456 √ 网页unicode编码选项可解码为123456 √ ToolsFx可以解码为123456 √
ToolsFx unicode 123456 > \u31\u32\u33\u34\u35\u36
//自身工具可解码 123456 √ 网页unicode编码选项无法解码 x 其他编码工具unicode无法解码 x 提示十六进制位数不足
使用hiencode.com - ASCII编码转换 123456 UTF-16 > \u0031\u0032\u0033\u0034\u0035\u0036(ToolsFx没有这个选项)
Unicode也不相同
如题
16进制的ff转成二进制不对 转成十进制也不对,其他的转换没有试
如输入Hex:e68891e698afe4b8ade59bbde4baba
输出字符串:我是**人
1.返回的结果同时包含unicode和字母,还有链接也多了/这种转义字符。这种必须每次把Unicode手动复制过去再解析吗,可以自动解析吗?
"response": {
"id": 971507,
"shop_id": "1jed4868g2039275b0",
"chapter_id": 267465,
"title": "\u7b2c\u4e00\u6a21\u5757 - \u7ecf\u6d4e\u5b66\u6838\u5fc3\u539f\u7406",
"content": {
"file_id": "5285890807763751977",
"file_name": "\u6a21\u5757\u5b8c\u6574\u7248",
"size": "282.68",
"cover_url": "5285890807763751977",
"patch": "https://duanshu-1253562005.image.myqcloud.com/2020/09/18/19/1jed4868g2039275b0/common/content/1600427476165_727846.png?imageMogr2/auto-orient/cut/1912x1075x0x0",
"is_first_frame": 0,
"duration_seconds": 315,
"video_patch": "https://vod.duanshu.com/e4a62924vodtransgzp1253562005/0e08201d5285890807763751977/v.f230.m3u8?t=6200aa41&us=bqilkravwd&sign=1ae52af7247f4c3ca33e7bf7be574974",
C:\Users\test\Desktop\ToolsFx-1.9.0-jdk8>ToolsFx.bat check plugin: C:\Users\test\Desktop\ToolsFx-1.9.0-jdk8\plugin Exception in Application start method Exception in Application stop method 鍗佹湀 13, 2021 10:08:33 涓婂崍 tornadofx.DefaultErrorHandler uncaughtException 涓ラ噸: Uncaught error java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157) at com.sun.javafx.application.LauncherImpl$$Lambda$1/1078694789.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NoSuchMethodError: java.util.ServiceLoader.findFirst()Ljava/util/Optional; at me.leon.view.Home$root$1.invoke(Home.kt:51) at me.leon.view.Home$root$1.invoke(Home.kt:21) at tornadofx.TabPaneKt.tabpane(TabPane.kt:196) at me.leon.view.Home.<init>(Home.kt:21) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at java.lang.Class.newInstance(Class.java:433) at tornadofx.FXKt.find(FX.kt:434) at tornadofx.FXKt.find$default(FX.kt:423) at tornadofx.App.start(App.kt:83) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$153(LauncherImpl.java:821) at com.sun.javafx.application.LauncherImpl$$Lambda$51/590911094.run(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$166(PlatformImpl.java:323) at com.sun.javafx.application.PlatformImpl$$Lambda$46/151860546.run(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$164(PlatformImpl.java:292) at com.sun.javafx.application.PlatformImpl$$Lambda$48/1232144107.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$165(PlatformImpl.java:291) at com.sun.javafx.application.PlatformImpl$$Lambda$47/745867717.run(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$141(WinApplication.java:102) at com.sun.glass.ui.win.WinApplication$$Lambda$38/1819011905.run(Unknown Source) ... 1 more
我记得JavaFX可以打包成exe、dmg的,为啥不脱离Java环境。
是否考虑增加ASN.1解析模块。如附件
Asn1Editor-v1.4.1.zip
希望补充sha256 hash算法,以及此类sha512等。
密钥现在要求是PKCS格式的,对于采用数字证书验证的场景,从证书中提取时只有公钥,没有算法OID导致验证不通过。建议密钥增加Hex格式输入(如RSA算法,分别输入n,e值),原始内容增加Hex格式输入
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Windows 10
Java版本(jdk 1.8.0 x86 oracle/openjdk):
ToolsFx-1.13.0-withjre-win-x64
操作步骤(如运行ToolsFx.bat):
问题现象(如闪退):
软件界面多处使用图标,尤其是字符处理界面,但无提示文字,新手不友好,建议添加鼠标悬停提示
报错信息:
工具编码转换无法实现Hex转换为字符。无法计算Hex格式的Base64编码
如:
Hex格式:008031323334353637383132333435363738FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E9332C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0723d2b6753940cd6db1957551fcf1f940883d2ecc643c30128b17cbe226a3845dd8c60cd190afd32444579776cae34752f5d05488374ddfdb2f6a461a226b8b4
Base64编码:AIAxMjM0NTY3ODEyMzQ1Njc4/////v////////////////////8AAAAA//////////wo6fqenZ9eNE1ankvPZQmn85eJ9RWrj5LdvL1BTZQOkzLEriwfGYEZX5kERmo5yZSP4wu/8mYL4XFaRYkzTHTHvDc2ovT2d5xZvc7ja2khU9Cph3zGKkdAAt8y5SE58KByPStnU5QM1tsZV1Ufzx+UCIPS7MZDwwEosXy+Imo4Rd2MYM0ZCv0yREV5d2yuNHUvXQVIg3Td/bL2pGGiJri0
由于工具不支持Hex输入,无法计算
是否支持rsa_pss_rsae_sha256签名与验签?
bin底下的两个都试过了,我下载的是withjre版本,系统是win10
MAC计算时输入的消息只支持字符格式的吗?是否考虑支持Hex格式的消息输入?
Add bits selection to Symmetric(Block) AES cipher
密钥:MIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgOUUgj3shRLE/NuOKxtOflYiTk2koYLUaQvuB7033xbigCgYIKoEcz1UBgi2hRANCAAQJ+d8xHlQhoVDdfRYeS8XGchefrRgz/AdrsI/zVvNQIMzqSQziZ3WlLcbqcYzBqmAK7QX7814ISmYy9gctqa0T
密文:04892DED7E6FA7C1C4197C0FA0E6FB24E05BB48BB53574FE9376A96D57606E0A89690176C9486F329464D9697FED6261648732864D41BEAAB6E0C4A73699973544A0F0A9F5E23FA1A8945E26CC21DCA694AEEC4912AE1CC4B2DB08AFF4373D282962B32BC9C29D0DEC4CAF0A964089
我想批量进行hex转base64,一行对应一个
但是事实并非如此,他们会成为一个整体转换了
签名验签(SM2算法)进行公钥验签时,需要输入完整ASN.1结构密钥,建议改为仅输入公钥即可验签。
即公钥采用测试数据中的04dbd51bada38b0877e5bf63ee8c1dbc4bc4938b7bf5709747265eea23aae798cf06165a49bc115bd3166cbcc78d95755a3911a92a6c2fbfb34287aeb8cd71a3e4
测试数据:
原文(Hex):306431356E36654E6963666C664875634F76735461683551354E76674F553554
密钥(Hex):3059301306072a8648ce3d020106082a811ccf5501822d03420004dbd51bada38b0877e5bf63ee8c1dbc4bc4938b7bf5709747265eea23aae798cf06165a49bc115bd3166cbcc78d95755a3911a92a6c2fbfb34287aeb8cd71a3e4
签名值(Hex):304402202F7B7727784BA1AB963985AD577BD712026FA451421B07DFF07EEF11162CC73302201F206F192175577F9CCCCE8377D7233C177B39BCCED3717A1A83F54D677134CB
是没有实现功能吗?
报错信息:
编码错误: kotlin.NotImplementedError: An operation is not implemented.
at me.leon.ctf.OokKt.ookEncrypt(Ook.kt:5)
at me.leon.ext.crypto.ClassicalCryptoType$Ook.encrypt(ClassicalCryptoType.kt:253)
at me.leon.controller.ClassicalController.encrypt(ClassicalController.kt:25)
at me.leon.controller.ClassicalController.access$encrypt(ClassicalController.kt:8)
at me.leon.controller.ClassicalController$encrypt$2.invoke(ClassicalController.kt:18)
at me.leon.controller.ClassicalController$encrypt$2.invoke(ClassicalController.kt:16)
at me.leon.ext.ExceptionKt.catch(Exception.kt:10)
at me.leon.controller.ClassicalController.encrypt(ClassicalController.kt:16)
at me.leon.view.ClassicalView.run(ClassicalView.kt:203)
at me.leon.view.ClassicalView.access$run(ClassicalView.kt:16)
at me.leon.view.ClassicalView$centerNode$1$5$2$1.invoke(ClassicalView.kt:158)
at me.leon.view.ClassicalView$centerNode$1$5$2$1.invoke(ClassicalView.kt:158)
at tornadofx.ControlsKt$action$2.handle(Controls.kt:437)
at tornadofx.ControlsKt$action$2.handle(Controls.kt)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8411)
at javafx.scene.control.Button.fire(Button.java:185)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3760)
at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3488)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1765)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2497)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:432)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:411)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
at com.sun.glass.ui.View.notifyMouse(View.java:937)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:178)
at java.lang.Thread.run(Thread.java:750)
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
windows 10 x64
Java版本(jdk 1.8.0 x86 oracle/openjdk):
jdk 1.8.0 x86
操作步骤(如运行ToolsFx.bat):
ToolsFx.exe
问题现象(如闪退):
ToolFx v1.14.5 beta版本字体过小(v1.14.0无此问题)
报错信息:
无
Windows11
对称加密中以文件模式进行解密后,选择输出内容raw、base64、hex 选择任一项输出内容都是一样的,我想要的是16进制编码,结果输出文件打开是乱码,必须用其它编辑器在二进制下才能看到数据,无法直接获得数据。
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
Java版本(jdk 1.8.0 x86 oracle/openjdk):
1.8
操作步骤(如运行ToolsFx.bat):
命令行解密,怎么运行?
问题现象(如闪退):
命令行解密,怎么运行?
报错信息:
命令行解密,怎么运行?
系统版本及位数(Windows/OSX/ Linux /x86/x64/ arm):
win11 64bit
Java版本(jdk 1.8.0 x86 oracle/openjdk):
jdk 1.8.0
系统版本: Mac Pro macOS Big Sur 11.6
ToolsFx-1.9.0-jdk8-fix 和 ToolsFx-1.9.0-jdk8 lib 目录下的 ToolsFx-1.9.0.jar 都试过
报错:
./ToolsFx-1.9.0.jar中没有主清单属性
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.