GithubHelp home page GithubHelp logo

emptysuns / hi_hysteria Goto Github PK

View Code? Open in Web Editor NEW
3.1K 27.0 618.0 316.49 MB

Hello World!非钟国优化线路使用不佳?不想中转?hysteria一键搞定。

License: GNU General Public License v3.0

Shell 96.55% Python 3.45%
hysteria gfw quic proxy

hi_hysteria's Introduction

Hi Hysteria

(2023/09/02) 0.4.9
1. 修复发布v2后hysteria v1 版本号识别bug

Q: 什么时候兼容hysteria v2?
A: 因为hysteria v2刚发布正式版没有几个小时,只有sing-box beta版本支持它,且v1和v2互不兼容
客户端没有很好的适配,0.4.9先不准备,等下个版本0.5.0会同时兼容v1和v2两个版本(尽快更新)
v1和v2改动挺大的,如果想要尝鲜可以先手动配置

Hysteria V2 protocol support

历史改进

一·简介

Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi、在**连接国外服务器等。 基于修改版的 QUIC 协议。

Hysteria这是一款由go编写的非常优秀的“轻量”代理程序,它很好的解决了在搭建富强魔法服务器时最大的痛点——线路拉跨

在魔法咏唱时最难的不是搭建维护,而是在晚高峰时期的交付质量。当三大运营商晚高变成了:奠信、连不通、移不动时,你我都有感触。 虽然是走的udp但是提供obfs,暂时不会被运营商针对性的QoS(不开obfs也不会被QoS)。

1、原项目提供的bench:

image

2、50mbps北方电信,北京出口 直连落地vir San Jose机房163线路,22-23点测试YT 1080p60直播流:

image

190 dropped of 131329

3、无对钟国大陆线路优化,洛杉矶shockhosting机房,1c128m ovznat 4k@p60: image

139783 Kbps

该项目仅作学习用途,请查看的访客在5s之内立即删除并停止使用。

由它所引起的任何问题,作者并不承担风险和任何法律责任。

因为脚本现处于0.x的测试版本,可能会有一些bug,如果遇到请发issue,欢迎star,您的⭐是我维护的动力。

适配ubuntu/debian, centos/rhel操作系统,misple/arm/x86/s390x架构。

二·使用

第一次使用?

拉取安装

su - root #switch to root user.
bash <(curl -fsSL https://git.io/hysteria.sh)

配置过程

首次安装后: hihy命令调出菜单,如更新了hihy脚本,请执行选项 9或者 12,获得最新的配置

 -------------------------------------------
|**********      Hi Hysteria       **********|
|**********    Author: emptysuns   **********|
|**********     Version: 0.4.6     **********|
 -------------------------------------------
Tips:hihy 命令再次运行本脚本.
............................................. 
############################### 

..................... 
1)  安装 hysteria 
2)  卸载 
..................... 
3)  启动 
4)  暂停 
5)  重新启动 
6)  运行状态 
..................... 
7)  更新Core 
8)  查看当前配置 
9)  重新配置 
10) 切换ipv4/ipv6优先级 
11) 更新hihy 
12) 完全重置所有配置 
13) 修改当前协议类型
14) 查看实时日志

############################### 


0)退出 
............................................. 
请选择:

脚本每次更新都可能会发生改变,请一定要展开并仔细参考演示过程,避免发生不必要的错误!

演示较长,点我查看
 
开始配置:
请选择证书申请方式:

1、使用ACME申请(推荐,需打开tcp 80/443) 2、使用本地证书文件 3、自签证书

输入序号: 3 请输入自签证书的域名(默认:wechat.com): 注意:自签证书近一段时间来遭到大量随机阻断,请谨慎使用(这条提示不消失说明阻断还在继续) 如果一定要使用自签证书,请在下方配置选择使用obfs混淆验证,保证安全性 fuck.qq.com 判断自签证书,客户端连接所使用的地址是否正确?公网ip:1.2.3.4 请选择:

1、正确(默认) 2、不正确,手动输入ip

输入序号: 1

->您已选择自签fuck.qq.com证书加密.公网ip:1.2.3.4

选择协议类型:

1、udp(QUIC,可启动端口跳跃) 2、faketcp 3、wechat-video(默认)

输入序号: 3

->传输协议:wechat-video

请输入你想要开启的端口,此端口是server端口,建议10000-65535.(默认随机)

->使用随机端口:udp/14274

请输入您到此服务器的平均延迟,关系到转发速度(默认200,单位:ms): 180

->延迟:180 ms

期望速度,这是客户端的峰值速度,服务端默认不受限。Tips:脚本会自动*1.10做冗余,您期望过低或者过高会影响转发效率,请如实填写! 请输入客户端期望的下行速度:(默认50,单位:mbps): 180

->客户端下行速度:180 mbps

请输入客户端期望的上行速度(默认10,单位:mbps): 30

->客户端上行速度:30 mbps

请输入认证口令(默认随机生成,建议20位以上强密码):

->认证口令:Wvb9NlmWt0BxkJXoLnYKvM0NoOUz6sIgdaWHDr1gMzQGtE8lIs

Tips: 如果使用obfs混淆加密,抗封锁能力更强,能被识别为未知udp流量,但是会增加cpu负载导致峰值速度下降,如果您追求性能且未被针对封锁建议不使用 选择验证方式:

1、auth_str(默认) 2、obfs

输入序号: 2

->您选择的验证方式为:obfs

请输入客户端名称备注(默认使用域名/IP区分,例如输入test,则名称为Hys-test): demo

配置录入完成!

执行配置... SIGN...

Signature ok subject=C = CN, ST = GuangDong, L = ShenZhen, O = PonyMa, OU = Tecent, emailAddress = [email protected], CN = Tencent Root CA Getting CA Private Key rm: cannot remove '/etc/hihy/cert/fuck.qq.com.ca.srl': No such file or directory SUCCESS.

net.core.rmem_max = 8000000

Test config...

IPTABLES OPEN: udp/14274 Test success! Generating config... 安装成功,请查看下方配置详细信息 docker.sh: line 877: 27670 Killed /etc/hihy/bin/appS -c /etc/hihy/conf/hihyServer.json server > /tmp/hihy_debug.info 2>&1

1* [v2rayN/nekoray] 使用hysteria core直接运行: 客户端配置文件输出至: /root/Hys-demo(v2rayN).json ( 直接下载生成的配置文件[推荐] / 自行复制粘贴下方配置到本地 ) Tips:客户端默认只开启http(8888)、socks5(8889)代理!其他方式请参照hysteria文档自行修改客户端config.json ↓↓↓↓copy↓↓↓*******************************↓ { "server": "1.2.3.4:14274", "protocol": "wechat-video", "up_mbps": 33, "down_mbps": 198, "http": { "listen": "127.0.0.1:10809", "timeout" : 300, "disable_udp": false }, "socks5": { "listen": "127.0.0.1:10808", "timeout": 300, "disable_udp": false }, "obfs": "Wvb9NlmWt0BxkJXoLnYKvM0NoOUz6sIgdaWHDr1gMzQGtE8lIs", "auth_str": "", "alpn": "h3", "acl": "acl/routes.acl", "mmdb": "acl/Country.mmdb", "server_name": "fuck.qq.com", "insecure": true, "recv_window_conn": 18612224, "recv_window": 74448896, "disable_mtu_discovery": true, "resolver": "https://223.5.5.5/dns-query", "retry": 3, "retry_interval": 3, "quit_on_disconnect": false, "handshake_timeout": 15, "idle_timeout": 30, "fast_open": true, "hop_interval": 120 } ↑↑↑↑copy↑↑↑*******************************↑

2* [Shadowrocket/Sagernet/Passwall] 一键链接: hysteria://1.2.3.4:14274?protocol=wechat-video&auth=&obfsParam=Wvb9NlmWt0BxkJXoLnYKvM0NoOUz6sIgdaWHDr1gMzQGtE8lIs&peer=fuck.qq.com&insecure=1&upmbps=33&downmbps=198&alpn=h3#Hys-demo

3* [Clash.Meta] 配置文件已在/root/Hys-demo(clashMeta).yaml输出,请下载至客户端使用(beta)

</blockcode></pre>

三·选读

四·Todo

如果您有好的功能建议,请不要忘记开个issue提出来欧~~~欢迎PR来完成Todo或者给我纠正我的渣代码

我的爱好是写bug ( ̄▽ ̄)~

  • 检测端口是否被占用
  • 利用xray s5 inbound来支持按域名分流(warp)
  • 生成分享链接
  • hihy替换掉hysteria
  • 规范化脚本代码
  • 提供docker和systemd(已完成)两种运行方式
  • 利用base64加密替换原来的auth_str
  • 兼容v2rayN,放弃cmd的更新
  • 支持clash.meta核心
  • 优化clash配置选项
  • 支持sing-box作为core运行方式
  • 提供查看实时log选项
  • 生成clash配置时,提供一个远程链接来代替本地导入(咕~)
  • 完善对portHopping功能的支持

五·结语

魔改UDP的QUIC协议,加了tls和混淆的话,个人跑了一段时间大流量,未被运营商QoS,落地ip并没有被墙,也不知道什么时候被针对,大家且用且珍惜吧。

六·鸣谢

@apernet/hysteria

@Loyalsoldier/geoip

@mack-a/v2ray-agent

@2dust/v2rayN

@Loyalsoldier/clash-rules

@zzzgydi/clash-verge

@MetaCubeX/Clash.Meta

七·捐赠

如果您有能力,请捐赠hysteria开发项目组去支持它们无私的工作,谢谢:

此捐助对象不是hihy,只是单纯帮它们宣传...

https://hysteria.network/docs/donations/

Crypto donation button by NOWPayments

hi_hysteria's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hi_hysteria's Issues

"7) 查看当前配置",无法打印config.json

脚本默认读取在本文件夹下的config.json,当本文件夹下没有时会报错
这个逻辑太蠢了,当时没注意到,应该是直接CV过去的,下个版本修复,呜呜呜呜~~~

这个脚本能支持几个配置?

这个脚本能支持几个配置?
因为公司和家里的带宽不一样,我配置了两个端口,是都可以使用吗?但是查看配置好像只能看到最新配置的那个

新的断流报错问题

测试了下,确实比kcptun在同等带宽下速度快一些,但断流后就连不上了
image

在脚本中增加一个手动输入证书地址的功能

使用Nat机或者ipv6 only的机器会遇到无法自动申请证书的情况,这个时候只能通过手动用acme的DNS验证方式申请证书,然而这个脚本只要申请失败直接把配置文件都删了,想在配置文件里改证书地址都做不到,所以希望可以在申请的时候提供类似以下的选项:

1.自动申请证书(需要80/443开放)
2.自定义已存在的其他路径的证书

选2后:

请输入证书cert文件路径(需使用fullchain.cer):
请输入证书key文件路径:
请输入证书域名:

passwall Hysteria

配置完服务端后怎么搞passwall都不通,不知道那里出错

使用过程中出现断流现象,间歇性出现无法连接的问题

在两台vps上(一台racknerd,一台couldcone)安装了可以正常使用,但是会间歇性出现无法连接的问题。比如油管看评论时,下滑着突然刷不出剩余评论。此时检查连接,客户端显示无法连接,此时测试这台vps上其他协议的节点正常。间隔大概是十几分钟到几十分钟,大概一分钟左右恢复正常。
使用的udp模式,测速能达到100-200mbps,ping延迟200ms左右。在路由器passwall和安卓客户端Sager Net均出现此问题。
请问这是正常的吗,有什么办法优化下吗?速度确实提升明显,但遇到这个问题还是挺影响使用的。

一键脚本应该检测VPS中是否有lsof命令

运行脚本的时候到了输入端口的那一步提示了一句:/tmp/install.sh: line 241: lsof: command not found
然后果然hysteria启动失败了,我自己用apt install lsof命令安装lsof之后再运行脚本才启动hysteria成功

rn的小鸡不能使用吗

看过程是东西没有下载完全吗,首先是No packages marked for update,然后又是*netfilter-persistent/Error: Nothing to do
请选择:1
Ready to install.

Update.wait...
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile

  • base: sjc.edge.kernel.org
  • extras: mirrors.raystedman.org
  • updates: mirrors.sonic.net
    No packages marked for update

Done.
Install wget curl netfilter-persistent lsof
*wget
Installed.Ignore.
*curl
Installed.Ignore.
*netfilter-persistent
Error: Nothing to do
*lsof
Installed.Ignore.

Done.
The Latest hysteria version:v1.0.3
Download...

Download completed.
开始配置:
请输入您的域名(不输入回车,则默认自签wechat.com证书,不推荐):

【长期】收集限制UDP,导致hysteria无法正常使用的小部分IDC和地市级运营商

你是否碰到过以下这些情况,如何排错都无果:
1、服务端hysteria server正常启动,但是client却连不上,timeout?
2、有时能用,有时不能用的玄学?
3、iperf udp能通,但是一用hysteria就无法使用?

对没错,就是这些开IDC的商家为了能让自己的服务正常稳定使用,而通过专业的安全设备精准的限制QUIC/UDP传输,这样做的基本是很小一部分中小型的厂商,一般小厂和大厂不会这样做,可以开心的使用。
通常这种行为用faketcp模式可解,但是对于无法root的用户,可能有些不便。如果不了解为什么这么做请点我查看

此issue长期收集,限制hysteria的各个服务商,给各位提供一些帮助和排雷。

格式:
IDC: DigitalOcean
本地网络运营商:奠信/联通/移动/长城/广电等等
hysteria模式:udp/wechat-video/faketcp
无法使用的现象:timeoutxxxxxxxxxx/有时能用有时不能用/不知道为啥:)等等

stash客户端连不上

vps网络安全组打开了udp的对应端口(不知是不是这里错了),可确实应该是udp协议啊,
安装时选择的协议类型是:1、udp(QUIC)。
默认的就是IPV4优先,不知为何lsof 显示的TYPE是IPV6
stash 配置如下(auth就是自己的设置的口令字符型吧,Stash官方示例的注释没看明白):

- name: "VPS.XX"
  type: hysteria
  server: xxx.mydomain.com
  port: myport
  up-speed: 100 # 上传带宽(单位:Mbps)
  down-speed: 312 # 下载带宽(单位:Mbps)
  auth: xxxxxxxxxxxx # bytes encoded in base64
  alpn:
    - h3

服务端运行失败

● hysteria.service - hysteria:Hello World!
Loaded: loaded (/etc/systemd/system/hysteria.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2022-03-18 06:29:19 UTC; 8s ago
Process: 12586 ExecStart=/etc/hysteria/hysteria --log-level warn -c /etc/hysteria/config.json server (code=exited, status=1/FAILURE)
Main PID: 12586 (code=exited, status=1/FAILURE)

看之前是说证书问题,我把原来的xray搭建脚本生成的证书填到config.json里,重启hysteria了也不行。
"cert": "/root/.acme.sh/XXXX.tk_ecc/XXXX.tk.cer",
"key": "/root/.acme.sh/XXXX.tk_ecc/XXXX.key"

客户端启动出现错误

Succees!Input 'Enter' to stop me.
2021-11-06T10:43:00+08:00 [INFO] [config:{Server:XXX.XXX.XXX.XXX:1500 UpMbps:100 DownMbps:100 SOCKS5:{Listen: Timeout:0 DisableUDP:false User: Password:} HTTP:{Listen:127.0.0.1:8887 Timeout:300 User: Password: Cert: Key:} TUN:{Name: Timeout:0 Address: Gateway: Mask: DNS:[] Persist:false} TCPRelay:{Listen: Remote: Timeout:0} UDPRelay:{Listen: Remote: Timeout:0} TCPTProxy:{Listen: Timeout:0} UDPTProxy:{Listen: Timeout:0} ACL:acl/routes.acl Obfs:Aalz2000 Auth:[] AuthString:pekopeko ServerName:pan.baidu.com Insecure:true CustomCA: ReceiveWindowConn:33554432 ReceiveWindow:134217728 DisableMTUDiscovery:false}] Client configuration loaded
2021-11-06T10:43:05+08:00 [FATA] [error:timeout: no recent network activity] Failed to initialize client

可否增加hysteria出口流量到warp官方客户端的功能?

2022年3月3日晚,cloudflare开始对warp第三方客户端进行限制,只有官方客户端可以幸存,但是官方客户端只有sock5入口。设想的逻辑:询问是否指定服务器流量出口:是,输入指定端口;否,继续安装。

youtube可以访问,视频播放不了

服务器搭建了,客户端用的passwall,可以连上,顺利上了youtube,网页可以打开,视频播放不了,进去就黑屏
这是什么原因?而且访问google也有时访问不了,像p站这样的视频网站却完全没问题

socks5默认建议不要有账号密码

我服务端器生成的conf的socks5居然配置了认证账号和密码,虽然我很快发现了这个问题,但是对许多人来说很可能会摸不着头脑。

今天手贱更新失败

Wait,test config...

kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
未知错误:请手动运行:/etc/hihy/bin/appS -c /etc/hihy/conf/hihyServer.json server
查看错误日志,反馈到issue!


之前用的好好的,我今天手贱重新升级.结果用不了

对ipv6的支援存在问题

这是系统生成的配置:
{
"server": "[2a01:4f8:242:4986:face:face:c73:1]:16159",
"protocol": "wechat-video",
"up_mbps": 12,
"down_mbps": 62,
"http": {
"listen": "127.0.0.1:8888",
"timeout" : 300,
"disable_udp": false
},
"socks5": {
"listen": "127.0.0.1:8889",
"timeout": 300,
"disable_udp": false,
"user": "pekora",
"password": "pekopeko"
},
"alpn": "h3",
"acl": "acl/routes.acl",
"mmdb": "acl/Country.mmdb",
"auth_str": "fengguo",
"server_name": "wechat.com",
"insecure": true,
"recv_window_conn": 12320768,
"recv_window": 49283072,
"disable_mtu_discovery": false,
"resolver": "119.29.29.29:53",
"retry": 5,
"retry_interval": 3
}

PASSWALL里显示超时

换了一台机可以正常了,先配置了UDP协议的一个给小火箭,可以正常使用,然后在PASSWALL里面添加完了,显示超时。
又配置了一个FAKETCP,PASSWALL还是不能用。
不管是UDP模式还是FAKETCP都是超时。

怎么修改配置?

修改/etc/hihys/config.json之后,然后hihys 选择5,似乎没有重新加载?

请问recv_window的计算公式

recv_window_conn 和 recv_window (服务器端是 recv_window_client) 以确保它们至少不低于带宽-延迟的乘积。 比如如果想在一条 RTT 200ms 的线路上达到 500 MB/s 的速度,receive window 至少需要 100 MB (500*0.2)

看了一下你的脚本,官方的说明,没有搞明白。

为什么recv_window=200ms x 2(往反) x 100MB/s(我客户端下行最大带宽) / 1000(请问这除1000是什么原因) x 1024 x 1024

recv_window_conn为什么是 除 4了?

这个和kcptun在同线路下的速度区别大么?有测试嘛

大佬,比较好的一个项目,可以省去使用第三方客户端组合的繁琐
有几个问题“
quic暴力发包,感觉和kcptun的udp发包差不多,区别在于协议不同,kcptun如果合理设置带宽,在没有运营商干扰的情况下,可以有效利用本地带宽的60%——70%,Hysteria的带宽利用率大概是多少,不知道作者有测试过么
另外,youtube测试图的drop不一定准确,因为如果本地显卡和CPU烂的话,跑4K的frame会drop掉很多

甲骨文最近疯狂丢包……

Hysteria对丢包线路是否也无能为力啊……
这个甲骨文韩国线路延迟波动很大,低得时候50左右,高得时候200左右,再高就是丢包了。
这个延迟设置得越大是流量消耗越大吗?对于性能有没有什么影响。

hax 纯Ipv6 部署不成功

协议类型: udp
其余设置默认

root@16328hax:~# systemctl status hihy
● hihy.service - hysteria:Hello World!
Loaded: loaded (/etc/systemd/system/hihy.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2022-04-03 20:04:15 CEST; 1min 49s ago
Process: 17751 ExecStart=/etc/hihy/bin/appS --log-level warn -c /etc/hihy/conf/hihyServer.js>
Main PID: 17751 (code=exited, status=1/FAILURE)

Apr 03 20:04:14 16328hax.localdomain systemd[1]: Started hysteria:Hello World!.
Apr 03 20:04:15 16328hax.localdomain appS[17751]: 2022-04-03T20:04:15+02:00 [FATA] [error:h>
Apr 03 20:04:15 16328hax.localdomain systemd[1]: hihy.service: Main process exited, code=ex>
Apr 03 20:04:15 16328hax.localdomain systemd[1]: hihy.service: Failed with result 'exit-cod>

1

2

hysteria 是否像kcptun一样, 靠流量换速度?

emptysuns, 您好.
如题, 想向您请教一下, hysteria 是否像kcptun一样, 靠流量换速度? 我的意思是, 我用过kcptun, 它就是靠大量地发包, 用vps很多流量来换取速度, 那hysteria是不是也用流量换速度?

这个问题???

\033[32m下载完成!\033[0m
\033[42;37m开始配置: \033[0m
\033[32m请输入您的域名(不输入回车,则默认自签pan.baidu.com证书,不推荐):\033[0m
grpc..**
\033[32m请输入你想要开启的端口(此端口是server端口,请提前放行防火墙,建议10000-65535,回车随机):\033[0m
2087
\033[32m请输入您到此服务器的平均延迟,关系到转发速度(回车默认200ms):\033[0m

\n期望速度,请如实填写,这是客户端的峰值速度,服务端默认不受限。\033[31m期望过低或者过高会影响转发速度!\033[0m
\033[32m请输入客户端期望的下行速度:\033[0m

\033[32m请输入客户端期望的上行速度:\033[0m

\033[32m请输入混淆口令(相当于连接密钥):\033[0m
potter-grpc
\033[32m配置录入完成!\033[0m
\033[42;37m执行配置...\033[0m
/dev/fd/63: line 62: 200 * 2 * / 1000 * 1024 * 1024: syntax error: operand expected (error token is "/ 1000 * 1024 * 1024")

大佬为啥 提示申请证书失败

按照步骤我输入域名后,没有出现提示域名绑定IP的提示,直接到端口设置了,输入完配置最后提示申请证书失败。端口还有IP解析都是没有问题的,我之前安装xui申请证书都是可以成功的,这次换的别的二级域名就出现了这种情况。

linux客户端运行报错

[FATA] [file:acl/routes.acl] [error:invalid condition type country] Failed to parse ACL

要怎么修改呀

Hysteria是不能用了吗?

我试过官网的配置和你的脚本,客户端的反馈都是一样的,究竟是哪里出了问题?
image
服务器状态
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.