Giter Site home page Giter Site logo

cnk3x / xunlei Goto Github PK

View Code? Open in Web Editor NEW
1.3K 11.0 159.0 3.5 MB

提取自群晖平台的迅雷下载套件,用在其他Linux机器上的迅雷远程下载服务

License: MIT License

Go 89.93% Shell 4.54% Dockerfile 3.69% Makefile 1.42% PowerShell 0.42%
docker xunlei xlp thunder

xunlei's Introduction

迅雷远程下载服务(非官方)

GitHub Stars Docker Pulls Docker Version

从迅雷群晖套件中提取出来用于其他设备的迅雷远程下载服务程序。仅供研究学习测试。
本程序仅提供 Linux 模拟和容器化运行环境,未对原版迅雷程序进行任何修改。

使用

Docker

镜像

cnk3x/xunlei:latest
registry.cn-shenzhen.aliyuncs.com/cnk3x/xunlei:latest
ghcr.io/cnk3x/xunlei:latest

常规的容器,还是要在特权模式下运行。

如果 docker 的存储驱动如果是 btrfs 或者 overlayfs,可以支持的非特权运行。

环境变量参数

XL_DASHBOARD_PORT      #网页访问的端口,默认 2345
XL_DASHBOARD_IP        #网页访问的端口,默认 0.0.0.0(代表所有IP)
XL_DASHBOARD_USERNAME  #网页访问的用户名
XL_DASHBOARD_PASSWORD  #网页访问的密码
XL_DIR_DOWNLOAD        #下载保存默认文件夹,默认 /xunlei/downloads,多个文件夹用冒号:分隔
XL_DIR_DATA            #程序数据保存文件夹,默认 /xunlei/data
XL_UID                 #运行迅雷的用户ID
XL_GID                 #运行迅雷的用户组ID
XL_PREVENT_UPDATE      #是否阻止更新,默认 true, 可选值 true/false, 1/0
XL_CHROOT              #隔离运行主目录, 指定该值且不为`/`则以隔离模式运行, 用于在容器内隔离环境,容器内默认为 /xunlei,隔离模式运行需要特权模式(--privileged),可以将该值设置为`/`来以非特权模式运行。非特权模式运行有条件,可以尝试失败后使用特权模式重新运行。
XL_DEBUG               #调试模式, 可选值 true/false, 1/0

在容器中运行

# docker run -d \
#   -v <数据目录>:/xunlei/data \
#   -v <默认下载保存目录>:/xunlei/downloads \
#   -p <访问端口>:2345 \
#   --privileged \
#   cnk3x/xunlei

# example
docker run --privileged -v /mnt/sdb1/configs/xunlei:/xunlei/data -v /mnt/sdb1/downloads:/xunlei/downloads -p 2345:2345 cnk3x/xunlei

# 如果你的docker存储驱动是 overlayfs 或者 btrfs等, 可以不用特权运行
docker run -e XL_CHROOT=/ -v /mnt/sdb1/configs/xunlei:/xunlei/data -v /mnt/sdb1/downloads:/xunlei/downloads -p 2345:2345 cnk3x/xunlei

也可以直接运行

$ bin/xlp-amd64 --help

Flags:
  -p, --dashboard_port      网页访问的端口 (env: XL_DASHBOARD_PORT) (default 2345)
  -i, --dashboard_ip        网页访问绑定IP,默认绑定所有IP (env: XL_DASHBOARD_IP)
  -u, --dashboard_username  网页访问的用户名 (env: XL_DASHBOARD_USERNAME)
  -k, --dashboard_password  网页访问的密码 (env: XL_DASHBOARD_PASSWORD)
      --dir_download        下载保存文件夹,可多次指定,需确保有权限访问 (env: XL_DIR_DOWNLOAD) (default [/xunlei/downloads])
      --dir_data            程序数据保存文件夹,其下'.drive'文件夹中,存储了登录的账号,下载进度等信息 (env: XL_DIR_DATA) (default "/xunlei/data")
      --uid                 运行迅雷的用户ID (env: XL_UID, UID)
      --gid                 运行迅雷的用户组ID (env: XL_GID, GID)
      --prevent_update      阻止更新 (env: XL_PREVENT_UPDATE) (default true)
  -r, --chroot              CHROOT主目录, 指定该值且不为/则以chroot模式运行, 用于在容器内隔离环境 (env: XL_CHROOT) (default "/")
      --debug               是否开启调试日志 (env: XL_DEBUG)
  -v, --version             显示版本信息

Used By

kubespider

xunlei's People

Contributors

cnk3x avatar dragonflylee avatar

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

xunlei's Issues

重启系统后docker容器启动失败

日志显示 2022/06/25 12:53:05 错误: [daemon] 设置下载目录失败: file exists

docker日志:

2022/06/25 12:53:05 [syno] 开始构建运行环境
2022/06/25 12:53:05 [syno] 复制必要文件
2022/06/25 12:53:05 [syno] 复制文件 "/etc/resolv.conf" 到 "/xunlei/etc/resolv.conf": 成功
2022/06/25 12:53:05 [syno] 复制文件 "/etc/hosts" 到 "/xunlei/etc/hosts": 成功
2022/06/25 12:53:05 [syno] 复制文件 "/etc/localtime" 到 "/xunlei/etc/localtime": 成功
2022/06/25 12:53:05 [syno] 复制文件 "/etc/timezone" 到 "/xunlei/etc/timezone": 成功
2022/06/25 12:53:05 [syno] 复制文件 "/etc/ssl/certs/ca-certificates.crt" 到 "/xunlei/etc/ssl/certs/ca-certificates.crt": 成功
2022/06/25 12:53:05 [syno] 绑定必须目录
2022/06/25 12:53:05 [syno] 绑定目录 "/dev" -> "/xunlei/dev": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/sys" -> "/xunlei/sys": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/var/packages/pan-xunlei-com/target" -> "/xunlei/var/packages/pan-xunlei-com/target": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/data" -> "/xunlei/data": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/downloads" -> "/xunlei/downloads": 成功
2022/06/25 12:53:05 [syno] 绑定可选目录
2022/06/25 12:53:05 [syno] 绑定目录 "/run" -> "/xunlei/run": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/lib" -> "/xunlei/lib": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/lib64" -> "/xunlei/lib64": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/lib32" -> "/xunlei/lib32": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/libx32" -> "/xunlei/libx32": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/usr" -> "/xunlei/usr": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/bin" -> "/xunlei/bin": 成功
2022/06/25 12:53:05 [syno] 绑定目录 "/mnt" -> "/xunlei/mnt": 成功
2022/06/25 12:53:05 [syno] 运行环境处理完成
2022/06/25 12:53:05 [syno] 开始运行: /xunlei/xlp daemon
2022/06/25 12:53:05 [daemon] 切换主目录: /xunlei
2022/06/25 12:53:05 [daemon] 切换数据目录: /xunlei
2022/06/25 12:53:05 错误: [daemon] 设置下载目录失败: file exists
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/run" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/lib" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/lib64" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/lib32" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/libx32" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/usr" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/bin" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/mnt" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/dev" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/sys" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/var/packages/pan-xunlei-com/target" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/data" 成功
2022/06/25 12:53:05 [syno] 卸载目录 "/xunlei/downloads" 成功
2022/06/25 12:53:05 错误: [syno] down: exit status 1

20220903-0444前端报错无法使用

前端JS
/webman/3rdparty/pan-xunlei-com/index.cgi/assets/index.5c5a16a4.js
index.5c5a16a4.js:54:23114
Raven.config("http://[email protected]/11").install()
这个 http://[email protected]/11 地址访问不到了
现象是无法出现下载界面和登录页面
一直在 “为什么会出现未找到远程下载设备?” 这个页面无法使用
接口
/webman/3rdparty/pan-xunlei-com/index.cgi/assets/static/background 402 (Payment Required)
这个没有原始数据不知道是什么,在这次报 402

请求更新

大佬 3.13出来啦 能否辛苦更新一下呀?感激不尽!

podman报错

使用podman容器,然后创建迅雷容器后,就会报错。日志显示 错误: [syno] 只能在 docker 中运行。所以只能使用docker容器技术才可以吗?

PVE lxc 虚拟机添加 privileged: true 无法启动

PVE lxc 虚拟机docker-compose.yml 添加 privileged: true 无法启动

image

Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: unable to apply caps: operation not permitted: unknown

在 Centos 8下无法启动

● xunlei-from-syno.service - 迅雷群晖提取版
Loaded: loaded (/etc/systemd/system/xunlei-from-syno.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2021-12-31 16:58:02 CST; 1s ago
Process: 131839 ExecStart=/var/packages/pan-xunlei-com/xunlei-from-syno run --port 2345 --download-dir=/data2/Downloads (code=exited, status=1/FAILURE)
Main PID: 131839 (code=exited, status=1/FAILURE)

12月 31 16:58:01 localhost.localdomain systemd[1]: Started 迅雷群晖提取版.
12月 31 16:58:02 localhost.localdomain xunlei-from-syno[131839]: 2021/12/31 16:58:02 设备名称(不一定有用): U-NAS-迅雷
12月 31 16:58:02 localhost.localdomain xunlei-from-syno[131839]: 2021/12/31 16:58:02 面板端口: 2345
12月 31 16:58:02 localhost.localdomain xunlei-from-syno[131839]: 2021/12/31 16:58:02 下载目录: /data2/Downloads
12月 31 16:58:02 localhost.localdomain xunlei-from-syno[131839]: 2021/12/31 16:58:02 [启动自检]
12月 31 16:58:02 localhost.localdomain xunlei-from-syno[131839]: 2021/12/31 16:58:02 [启动自检] symlink /var/packages/pan-xunlei-com/host/usr/syno/synoman/webman/modules/authe>
12月 31 16:58:02 localhost.localdomain systemd[1]: xunlei-from-syno.service: Main process exited, code=exited, status=1/FAILURE
12月 31 16:58:02 localhost.localdomain systemd[1]: xunlei-from-syno.service: Failed with result 'exit-code'.

插件能不能解决

在用lede的自编译固件上可以使用,测速插件可以用,网心云插件无法启动,但就是为了用网心云插件

OpenWrt编译安装

OpenWrt x64系统,无docker,编译安装无法启动,linux机器上可以。

install: copy_file_range: no space left on device

在威联通上安装遇到如下错误:

[安装] 释放文件
[安装]   [Extract] /var/packages/pan-xunlei-com/target
[安装]   [Extract] /var/packages/pan-xunlei-com/target/version
[安装]   [Extract] /var/packages/pan-xunlei-com/target/xunlei-pan-cli-launcher
[安装]   [Extract] /var/packages/pan-xunlei-com/target/xunlei-pan-cli-web
[安装]   [Extract] /var/packages/pan-xunlei-com/target/xunlei-pan-cli.2.6.1.amd64
[安装]   [Extract] /var/packages/pan-xunlei-com/xunlei
[安装]   不成功: write /var/packages/pan-xunlei-com/xunlei: copy_file_range: no space left on device

设备的剩余空间肯定是够的,麻烦帮忙看看

Bridge模式502错误

环境:X86平台 MacOS Docker
Mac Docker只能使用Bridge模式,实测无法打开网页,报502错误。

X86的Openwrt的docker容器跑xunlei如何设置下载目录为挂载的硬盘?

想把迅雷的下载目录设置为Openwrt挂载的硬盘的目录/mnt/sda1/xunlei,请问该如何设置呢?
该docker的目录是在Openwrt的/opt/docker/
我尝试了:
-v=/mnt/sda1/xunlei/:/downloads
然后下载的时候弹出来的对话框还是该容器默认的/downloads,这个目录才10m的容量,能否修改到挂载的硬盘呢?

新版访问web 显示502

老版本一只使用正常,可以升级.
今天新装一台机器,centos7 x64 root关闭防火墙按说明下载脚本执行,启动服务也正常但是web页面访问不了HTTP ERROR 502
检测服务和端口都正常

x86 linux版权限矛盾

如果用root身份运行,那么运行迅雷和插件网心云是没问题的,但是迅雷下载的文件也是属于root,无法在smb情况下删除管理,
如果用nobody或其他非root身份运行,那么迅雷是没问题的,下载文件的smb管理也没问题.但迅雷所带的插件全都不能正常运行,
不知道应该用什么权限运行合适,即能方便管理迅雷下载的文件,也能正常使用迅雷带的插件

2.2.3 发布了

有几个问题:

  1. 二进制里增加了登录验证,需要 mock 一个 authenticate.cgi
  2. 会频繁提示【该设备不支持迅雷下载,请联系设备厂商进行确认。】,刷新可解但是很烦

另外我基于你的代码搞了个 docker,发现了几件事:

  1. 迅雷官方似乎也要搞 docker 版本:NAS迅雷Docker-常见问题解决
  2. 二进制能够检测到当前处在 docker 里,但是貌似工作就不正常了,创建任务之后就空白了,看错误是 permission_deny,下载目录里有相关的文件;同步盘也用不了;所以目前基本不可用,如果老哥有兴趣可以 debug 下玩玩 Dockerfile

今天突然无法正常下载了

可能跟V2.11版本有关,今天尝试无法正常下载

日志如下:

2022-07-09T12:35:13.136579224Z INFO viputils/accelerate_token.go:300 [device_space=][getAccelerateTokenParams][token=eyJhbGciOiJSUzI1NiIsImtpZCI6ImYxMjYxZDk5LWNiOTctNDZlNS05NDgxLTk5YTg4Nzg3ZDZhZCJ9.eyJpc3MiOiJodHRwczovL3hsdXNlci1zc2wueHVubGVpLmNvbSIsInN1YiI6IjE0NDA5MzcyOSIsImF1ZCI6Ilg5aWJJU3dwSXA4alE0WWEiLCJleHAiOjE2NTczNzY3NjksImlhdCI6MTY1NzM2OTU2OSwiYXRfaGFzaCI6InIuUWkzYnRxMWNUaXlrN0dybU5QTjBiUSIsInNjb3BlIjoicGFuIHVzZXIgcHJvZmlsZSBzc28gb2ZmbGluZSBwYW4veHVubGVpL3NoYXJlL2NyZWF0ZSIsInByb2plY3RfaWQiOiIycnZrNGUzZ2tkbmw3dTFrbDBrIn0.k7jfCTggPwQw-0YQN4CIM6VNfuY6yWrnX6oqWb6j3N4efl2OoqHI27Kjj_J3DU59FrRaRu7qzIOfmdSRUJq2xN0WYMO4eZ6gBm_FVq6rrbI2o4A1AK7eTrZUx12gezPq8MsKZr_W13fL36rMklYC0F73-jLKNwDdDaAQTZj64Zb0uJNhr1aotHCq1DBEv8PzmRKX_GDWT__WZvVJEPFIyNXay8ISdHWsWG8GFh95SdD4bB8c3KdqGrduN5RTd8wUTpeqmzgUztMtrF9b8OaY049mutK47YT_TwU-aahKzc9ilN0ZjbkmQqcuw7C8RR45__SkqNg316W0YYAM5Oj2OA][client_name=xl_xdas][speedupinfo=&{Team:0xc0038f1500 TryQuery:{Result:49 Message:[0749] 已达试用次数限制 TrialKey:5850C4458C9257991C2FAD7D2BC51C9E TrialType:0 SpeedType:1 TrialUsedTimes:0 TrialLeftTimes:0 TaskProgress:0} TryCommit:{Result:0 Message: Gcid: TrialVerifyInfo: TrialLeftTimes:0 ClientSequence:0 TrialUsedTimes:0 TryCommitSuc:false TrySuperSpeedSucc:true} FailedCount:0 Count:1 TokenInfo:map[dcdnhub_level:19 exp:1.657373712e+09 jti:XDAS peer_id:3C7C3F0CFB91004V phub_level:9 product_type:602 product_version:2148205323 res_type:gcid res_value:5B1A01C75681348C3F0B77AC25CC4643095661A7 strong_connection:0 trial_type:0 user_id:144093729 verify_type:0 version:3.0.0 vip_type:2]}][acreq=&{PeerID:3C7C3F0CFB91004V Infohash: BtTitle: TaskInfos:[0xc004ff0070]}]
2022-07-09T12:35:13.136590378Z INFO viputils/accelerate_token.go:301 [device_space=][getAccelerateTokenBuild][gcidOrInfoHash=5B1A01C75681348C3F0B77AC25CC4643095661A7][resurl=ed2k://|file|Hotel.Transylvania.4.Transformania.2022.HD1080P.X264.AAC.English.CHS-ENG.BDYS.mp4|4431986450|00409d432b55e6bbc24ac98baed8a98d|/][btFlag=0][cid=A4EA006B56DFF46E9994B7866AAA8F4CF25CA630][filename=Hotel.Transylvania.4.Transformania.2022.HD1080P.X264.AAC.English.CHS-ENG.BDYS(1).mp4]
2022-07-09T12:35:13.371771785Z INFO viputils/accelerate_token.go:276 申请到的加速token:eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdHJvbmdfY29ubmVjdGlvbiI6MCwicGVlcl9pZCI6IjNDN0MzRjBDRkI5MTAwNFYiLCJ0cmlhbF90eXBlIjowLCJwaHViX2xldmVsIjo5LCJyZXNfdHlwZSI6ImdjaWQiLCJ1c2VyX2lkIjoiMTQ0MDkzNzI5IiwidmVyc2lvbiI6IjMuMC4wIiwicHJvZHVjdF90eXBlIjoiNjAyIiwicmVzX3ZhbHVlIjoiNUIxQTAxQzc1NjgxMzQ4QzNGMEI3N0FDMjVDQzQ2NDMwOTU2NjFBNyIsInZlcmlmeV90eXBlIjowLCJleHAiOjE2NTczNzM3MTMsImRjZG5odWJfbGV2ZWwiOjE5LCJqdGkiOiJYREFTIiwicHJvZHVjdF92ZXJzaW9uIjoiMjE0ODIwNTMyMyIsInZpcF90eXBlIjoyfQ.SsuRdyk9YAV-H1wxVs_zhrra5bJxLD9Bsv0kvuke8GoMTLQxdgzVWpkrUIPyHC2vSe-nUYK_l13DdO5bL4q-1-ZwH83iRjBNytLt24h-OpK7QIf8AGEzB4ZMbvLOmmpRRIUEHM6dX5vzKvN3LiA2_lFVKKy-BLeWA_1D2LFh_Q4
2022-07-09T12:35:13.37183724Z INFO viputils/accelerate_token.go:282 [device_space=]speedup map[isgroup:[1] isvip:[1]] &{0 0 [080] 正常 0 0 0 1800 [0xc004e743c0]} &{0xc0038f1500 {49 [0749] 已达试用次数限制 5850C4458C9257991C2FAD7D2BC51C9E 0 1 0 0 0} {0 0 0 0 false true} 0 1 map[dcdnhub_level:19 exp:1.657373713e+09 jti:XDAS peer_id:3C7C3F0CFB91004V phub_level:9 product_type:602 product_version:2148205323 res_type:gcid res_value:5B1A01C75681348C3F0B77AC25CC4643095661A7 strong_connection:0 trial_type:0 user_id:144093729 verify_type:0 version:3.0.0 vip_type:2]}

有时间兼容一下docker吗?

在容器内运行/var/packages/pan-xunlei-com/xunlei run,出现如下错误:

2022-03-27T15:07:41.3371922Z INFO create client unix:///var/packages/pan-xunlei-com/target/var/pan-xunlei-com.sock
2022-03-27T15:07:41.3377137Z INFO watch new version continue in 30s now delay 5s
2022-03-27T15:07:46.3392486Z INFO watch new version continue in 25s now delay 5s
2022-03-27T15:07:51.068984Z INFO restarting continue in 10s now delay 10s
2022-03-27T15:07:51.3431971Z INFO watch new version continue in 20s now delay 5s
2022-03-27T15:07:52.7231147Z INFO start detect platform
2022-03-27T15:07:52.7249566Z INFO detect lexar error:env ea94acab567b9cc724e943be3e4ac5c5 not exist
2022-03-27T15:07:52.7253064Z INFO detect platform: docker X9ibISwpIp8jQ4Ya nasid: labels: [withQrcodeLogin withPreviewPrivilege withPlugin withoutShareCodeButton]
2022/03/27 15:07:52 Failed to dial: dial unix /var/packages/pan-xunlei-com/target/var/pan-xunlei-com.sock: connect: no such file or directory
2022/03/27 15:07:52 http: proxy error: dial unix /var/packages/pan-xunlei-com/target/var/pan-xunlei-com.sock: connect: no such file or directory
2022-03-27T15:07:56.3037879Z INFO watch new version continue in 15s now delay 5s
2022-03-27T15:08:01.0334121Z INFO start new version %s2.4.5
2022-03-27T15:08:01.0335563Z WARNING kill process error:open /var/packages/pan-xunlei-com/target/pan-cli.pid: no such file or directory
2022-03-27T15:08:01.0336357Z INFO run 2.4.5 /var/packages/pan-xunlei-com/shares/.drive/bin/xunlei-pan-cli.2.4.5.amd64
/var/packages/pan-xunlei-com/shares/.drive/bin/xunlei-pan-cli.2.4.5.amd64: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /var/packages/pan-xunlei-com/shares/.drive/bin/xunlei-pan-cli.2.4.5.amd64)
2022-03-27T15:08:01.0365562Z ERROR runner /var/packages/pan-xunlei-com/shares/.drive/bin/xunlei-pan-cli.2.4.5.amd64 error exit status 1

访问web出现502

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.