Coder Social home page Coder Social logo

cloud189's People

Contributors

aruelius avatar cxyzzz avatar ionling avatar kasuganosoras avatar morxi avatar qip avatar rachpt avatar telnetning avatar umumd 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloud189's Issues

.config 文件问题

登入自动退出,然后就再也不能运行了。

而且上个版本上传下载每次都报错,能上传就没管。
(py38) root@localhost:~/cloud189# python main.py Traceback (most recent call last): File "main.py", line 9, in <module> commander.login(("--auto", )) File "/root/cloud189/cloud189/cli/cli.py", line 98, in login self.refresh(config.work_id) File "/root/cloud189/cloud189/cli/config.py", line 221, in work_id return self._work_id AttributeError: 'Config' object has no attribute '_work_id'

Need some help

服务器linux挂载了一块同一公司的网络硬盘(上传的文件都在这硬盘上)。服务器本身速度渣,大约U AND D都是5M/S左右。

今天第一次使用贵工具上传一个文件夹,里面包含一个22G的大文件,upload之后,下行激增到50M/s,上行500kb/s左右,感觉很奇怪,jobs -f查看,running,进度始终为0,CT云上已经显示几KB的文件已完成。大约过了5-10分钟左右,发现finished,进度依然为0,CT云上显示22G的文件居然已经上传成功!!!!!!Suprised(甚至准备直接续费了~~~手动滑稽)!因为服务器上传速度一直显示400-500kb/s,而下行持续50M/s。无法理解~

前面跟帖咨询过后,再次上传一个类似大小22G的文件,服务器速度与前面类似,即下行短暂5-10分钟持续50M/S速度之后下降至100kb/s,上行一直400-500kb/s,但反复刷新CT云,发现并没有像第一次那样成功上传,进入jobs,发现进度很缓慢,进度条0.1%的非常缓慢递增....

Q1:第一次如此快的速度完成上传如何解释?
Q2:为什么会出现短暂5-10分钟持续50M/S下行速度而上行一直无速度?从文件大小、下行速度推算,下载(上传)完一个约22G文件就是只需要5-10分钟。挂载硬盘直连CT云了?但理论解释不通
Q3:根据以上推论,我第二次开始我的账号就被国区限速了?

PS:目前上传进度非常缓慢。。。。。上下行一直100-200!

运行出错,下的python3.8 pip是3.5

ubuntu@ubuntu:~/github/cloud189$ python3.8 main.py
Traceback (most recent call last):
File "main.py", line 4, in
from cloud189.cli.cli import Commander
File "/home/ubuntu/github/cloud189/cloud189/cli/cli.py", line 8, in
from cloud189.api import Cloud189
File "/home/ubuntu/github/cloud189/cloud189/api/init.py", line 1, in
from cloud189.api.core import Cloud189
File "/home/ubuntu/github/cloud189/cloud189/api/core.py", line 12, in
from requests_toolbelt import MultipartEncoder, MultipartEncoderMonitor
ModuleNotFoundError: No module named 'requests_toolbelt'

Pillow 安装失败

ERROR: Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ft66xc2b/pillow/setup.py'"'"'; file='"'"'/tmp/pip-install-ft66xc2b/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-3f_n35ve/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.8/Pillow Check the logs for full command output.

安装到最后一步提示这个,无法安装完成,求指教,设备是N1装了OPENWRT

cli/cli.py 242行 SyntaxError: invalid syntax

if not flag_arg_l:
if file := self._file_list.find_by_name(fname):
if file.isFolder:
fid = file.id
else:
error(f"{fname} 非文件夹,显示当前目录文件")
else:
error(f"{fname} 不存在,显示当前目录文件")

不知道哪里拼写异常。可是就是报错,pylint也显示这个。

Checkin 失败

httplib_response = conn.getresponse()

File "/usr/lib/python3.6/http/client.py", line 1356, in getresponse
response.begin()
File "/usr/lib/python3.6/http/client.py", line 307, in begin
version, status, reason = self._read_status()
File "/usr/lib/python3.6/http/client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C189Checkin.py", line 132, in
main()
File "C189Checkin.py", line 14, in main
login(username, password)
File "C189Checkin.py", line 127, in login
r = s.get(redirect_url)
File "/home/runner/.local/lib/python3.6/site-packages/requests/sessions.py", line 543, in get
return self.request('GET', url, **kwargs)
File "/home/runner/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
resp = self.send(prep, **send_kwargs)
File "/home/runner/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
r = adapter.send(request, **kwargs)
File "/home/runner/.local/lib/python3.6/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))
##[error]Process completed with exit code 1.

Mac端的下载验证码有问题

Error : [Errno 30] Read-only file system: '/captcha.png'

应该是没有权限向mac系统的/根目录写入图片,建议修改下写入的路径。

老板,直接运行python3.8 main.py会报错

报的是permission denied。你的脚本直接把文件写入到根目录了。普通用户是不行的,加了python3.8 ./main.py 就可以运行了。但是你的readme里面写的样例就是python3.8 main.py。所以我猜你用的是root权限运行的

上传出错

全部文件 > Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/site-packages/requests/adapters.py", line 479, in send
    r = low_conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/site-packages/requests/adapters.py", line 482, in send
    r = low_conn.getresponse()
  File "/usr/local/python3/lib/python3.9/http/client.py", line 1347, in getresponse
    response.begin()
  File "/usr/local/python3/lib/python3.9/http/client.py", line 307, in begin
    version, status, reason = self._read_status()
  File "/usr/local/python3/lib/python3.9/http/client.py", line 276, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/python3/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/root/cloud189/cloud189/cli/downloader.py", line 232, in run
    infos = self._disk.upload_dir(self._up_path, self._folder_id, self._force, self._mkdir,
  File "/root/cloud189/cloud189/api/core.py", line 736, in upload_dir
    up_code = self.upload_file(upload_file[0], upload_file[1], force=force, callback=callback)
  File "/root/cloud189/cloud189/api/core.py", line 674, in upload_file
    return self._upload_file_by_client(up_info)
  File "/root/cloud189/cloud189/api/core.py", line 549, in _upload_file_by_client
    code = self._upload_file_data(file_upload_url, upload_file_id, up_info)
  File "/root/cloud189/cloud189/api/core.py", line 481, in _upload_file_data
    resp = requests.put(url, data=post_data, headers=headers, verify=False, timeout=None)
  File "/usr/local/python3/lib/python3.9/site-packages/requests/api.py", line 134, in put
    return request('put', url, data=data, **kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/python3/lib/python3.9/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: Remote end closed connection without response
全部文件 > jobs

客户端centos7
版本0.0.5
文件大小300m-1G
只有几个文件成功上传
python3.8.2和python3.9.1都有错误
小文件好像可以

release v0.0.5

如果没有问题报告,近期准备 release 新版本,
另外 Wiki 使用说明部分需要完善。

文件上传失败

正在上传: vol3.00000.m2ts 大小: 7.05GB
Traceback (most recent call last):
  File "189.py", line 286, in <module>
    upload(sys.argv[2])
  File "189.py", line 235, in upload
    upload_file()
  File "189.py", line 231, in upload_file
    "Filedata": open(filePath, "rb").read()
MemoryError

登陆报错

Traceback (most recent call last):
File "main.py", line 9, in
commander.login(("--auto", ))
File "/home/maver/cloud189/cloud189/cli/cli.py", line 109, in login
code = self._disk.login(username, password)
File "/home/maver/cloud189/cloud189/api/core.py", line 144, in login
captchaToken, returnUrl, paramId = self._redirect()
File "/home/maver/cloud189/cloud189/api/core.py", line 98, in _redirect
captchaToken = re.findall(r"captchaToken' value='(.+?)'", r.text)[0]
AttributeError: 'NoneType' object has no attribute 'text'
能运行,输完账密报了这个错,然后就崩了
大佬求解

集成到脚本里面抛出异常

#!/bin/bash
# filename: upload.sh
cloud189='/home/path/to/cloud189/main.py'
cd "/mnt/data/movies/"
for i in `ls`;
do
  echo "uplaod $i" >> /mnt/data/up.log
  $cloud189 upload "/mnt/data/movies/$i"
done

nohup ./upload.sh &> /path/to/log &

Exception in thread Thread-4:
Traceback (most recent call last):
  File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/home/path/to/cloud189/cloud189/cli/manager.py", line 16, in foo
    input_with_timeput_ans = input()
OSError: [Errno 9] Bad file des

运行错误哦

ubuntu@127:~/github/cloud189-master$ sudo python main.py
Traceback (most recent call last):
File "main.py", line 4, in
from cloud189.cli.cli import Commander
File "/home/ubuntu/github/cloud189-master/cloud189/cli/cli.py", line 242
if file := self._file_list.find_by_name(fname):
^
SyntaxError: invalid syntax

关于文件夹下载的说明

commit d58200b 添加了基于 zip 批量下载的 文件夹下载方法,因为 headers 中没有 content-length,因此无法显示下载完成进度,只能显示当前下载完成量,同时也不支持 断点续传功能。

另外现在 下载文件会在本地设置 的下载路径中 建立于云端一致的相对路径。

不建议直接下载包含文件数量多文件体积大的文件夹。

运行错误

版本是3.8.1 没错哦
root@link:~/cloud189# python3 main.py
Traceback (most recent call last):
File "main.py", line 4, in
from cloud189.cli.cli import Commander
File "/root/cloud189/cloud189/cli/cli.py", line 13, in
from cloud189.cli.downloader import Downloader, Uploader
File "/root/cloud189/cloud189/cli/downloader.py", line 7, in
from cloud189.cli.utils import why_error
File "/root/cloud189/cloud189/cli/utils.py", line 6, in
import readline
File "/opt/lib/python3.8/site-packages/readline.py", line 6, in
from pyreadline.rlmain import Readline
File "/opt/lib/python3.8/site-packages/pyreadline/init.py", line 12, in
from . import logger, clipboard, lineeditor, modes, console
File "/opt/lib/python3.8/site-packages/pyreadline/clipboard/init.py", line 13, in
from .win32_clipboard import GetClipboardText, SetClipboardText
File "/opt/lib/python3.8/site-packages/pyreadline/clipboard/win32_clipboard.py", line 37, in
import ctypes.wintypes as wintypes
File "/wintypes.py", line 20, in
ValueError: type 'v' not supported

签到报错

直接运行python ./main.py sign --auto 后:
Traceback (most recent call last): File "/Users/Terry/it/source/git/cloud189/main.py", line 9, in <module> commander.login(("--auto", )) File "/Users/Terry/it/source/git/cloud189/cloud189/cli/cli.py", line 99, in login self.refresh(config.work_id) File "/Users/Terry/it/source/git/cloud189/cloud189/cli/cli.py", line 82, in refresh self._file_list, self._path_list = self._disk.get_file_list(dir_id) File "/Users/Terry/it/source/git/cloud189/cloud189/api/core.py", line 338, in get_file_list resp = resp.json()

把resp打印出来看后,看到这个url:https://cloud.189.cn/v2/listFiles.action 的resp是:

`<script>
var redirect_url = 'https://open.e.189.cn/api/account/unifyAccountLogout.do?appId=cloud&version=v1.5&clientType=10010&format=redirect&paras=CD0FACA0DDE015FE627653D28500E5E7D1D04CAE6B98D3C61D827AB5F71F859C17BF5104721155FB9FFDF782CD7C17E20486205229635AA92EE3F6024AAE02CCCCF092102B46447DCB5343FB1D7AE2A08C0E3D92DAF11B85D69251FF&sign=0C7A95FDAF81F219B1E5F437FCA0163C5958CB74';

if(redirect_url == 'null' || redirect_url == ''){
redirect_url = '';
}
parent.window.document.location.href=redirect_url;
</script>

加载中...
`

上传时出现BrokenPipeError

作者你好,
首先感谢你编写的cli,不过我在使用的时候遇到了一个问题。在我开始上传文件一段时间后,他会报出BrokenPipeError的错误:

Traceback (most recent call last):
  File "189.py", line 295, in <module>
    upload(sys.argv[2])
  File "189.py", line 244, in upload
    upload_file()
  File "189.py", line 240, in upload_file
    "Content-Type": multipart_data.content_type
  File "/home/user/.local/lib/python3.6/site-packages/requests/sessions.py", line 578, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/home/user/.local/lib/python3.6/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BrokenPipeError(32, 'Broken pipe'))

我重试了几次都是这样,不如原因为何。
我的环境是:Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-169-generic x86_64) 与 Python 3.6.10
我上传的文件大小为:14.5GB

登陆显示错误

root@sd-128408:~/cloud189-master# python3 main.py
Traceback (most recent call last):
File "main.py", line 4, in
from cloud189.cli.cli import Commander
File "/root/cloud189-master/cloud189/cli/init.py", line 1, in
from cloud189.cli.config import config
File "/root/cloud189-master/cloud189/cli/config.py", line 3, in
from cloud189.api.utils import ROOT_DIR
File "/root/cloud189-master/cloud189/api/init.py", line 1, in
from cloud189.api.core import Cloud189
File "/root/cloud189-master/cloud189/api/core.py", line 8, in
import simplejson
ModuleNotFoundError: No module named 'simplejson'

已知问题

  1. 文件下载断点续传有问题。旧文件被直接追加完全大小的文件;
  2. 连续显示 任务状态 在 windows 上是新行显示,而不是 *nix 上的原行更新显示;
  3. 输入 jobs -f 进入连续显示 任务状态 后,无法退出,直到所有任务完成;
  4. 文件夹过多时,mv 移动文件夹将非常耗时(可以考虑让 mv 直接接受一个目标文件夹 id)。

签到,抽奖接口

直接发curl代码吧

每日签到:
curl -s "http://api.cloud.189.cn//mkt/userSign.action" -H "SessionKey:arg1"

抽奖1:
curl -s -X GET -H "Host:m.cloud.189.cn" -H "User-Agent:xxxxx" -H "X-Requested-With:XMLHttpRequest" -H "Referer:https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=0" -H "Cookie:COOKIE_LOGIN_USER=arg1" "https://m.cloud.189.cn/v2/drawPrizeMarketDetails.action?taskId=TASK_SIGNIN&activityId=ACT_SIGNIN&noCache=0.00729305869354957"

抽奖2:
curl -X GET -H "Host:m.cloud.189.cn" -H "User-Agent:xxxx" -H "X-Requested-With:XMLHttpRequest" -H "Referer:https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1" -H "Cookie:COOKIE_LOGIN_USER=arg1" "https://m.cloud.189.cn/v2/drawPrizeMarketDetails.action?taskId=TASK_SIGNIN_PHOTOS&activityId=ACT_SIGNIN&noCache=0.3608158782387296"

目录上传会概率卡死

复现操作
建立testsync目录,建立a,b,c三个文件
执行python main.py upload testsync 正常上传
执行echo 'test' > /testsync/a
再次执行 python main.py upload testsync 卡死,表现为100%进度但是无回显且远程文件并未改变

希望增加上传后删除本地文件功能

比如A目录下有多个1.txt、2.txt
执行命令:
upload D:\a /我的音乐

进程:
[3] 准备上传: D:/a/1.txt
[3] 检测秒传中, 请稍候...
[3] 秒传成功, 保存到网盘路径: /我的音乐/a/1.txt
[3] 删除D:/a/1.txt成功

作者考虑加入这个小功能吗 很实用,或者能自己修改您的源代码吗

一些新功能计划

TODO

  1. 多用户切换功能,需要修改当前 .config数据结构,添加新的 命令,比如su、who、logout等,以及一个新的 api 方法 https://cloud.189.cn/v2/getLoginedInfos.action,可能还需要修改 提示符内容;
  2. 退出时记录当前所在工作路径,以及一个新的 pwd命令,打印当前工作路径;
  3. 文件 上传添加一个参数用于控制是否强制上传,默认情况应该是跳过已经存在(上传了)的文件;
  4. 下载命令添加一个控制返回(打印)下载直连的参数,方便调用其他工具(如 支持多线程的 axel)下载,同时 对于是文件夹的 分享链接的提取 可能需要做一个类似与 现在 recovery.py 的处理方案,这样才能单独操作 分享链接中的单个文件;
  5. 一些其他优化,比如可以设置 是否记录 debug,设置 timeout,upload 支持上传到指定文件夹,每日首次打开自动签到等。

显示无效代码

ubuntu@ying:~/github/cloud189$ python ./189.py list
File "./189.py", line 27
def encrypt(password: str) -> str:
^
SyntaxError: invalid syntax
咋整??

卡在秒传检查

Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 467, in send
low_conn.endheaders()
File "/usr/lib/python3.8/http/client.py", line 1235, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.8/http/client.py", line 1006, in send_output
self.send(msg)
File "/usr/lib/python3.8/http/client.py", line 946, in send
self.connect()
File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 352, in connect
self.sock = ssl_wrap_socket(
File "/usr/lib/python3/dist-packages/urllib3/util/ssl
.py", line 383, in ssl_wrap_socket
return context.wrap_socket(sock)
File "/usr/lib/python3.8/ssl.py", line 500, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.8/ssl.py", line 1040, in _create
self.do_handshake()
File "/usr/lib/python3.8/ssl.py", line 1309, in do_handshake
self._sslobj.do_handshake()
ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1108)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/root/kooapk/kooapk-kitchen/tools/cloud189/cloud189/cli/downloader.py", line 232, in run
infos = self._disk.upload_dir(self._up_path, self._folder_id, self._force, self._mkdir,
File "/root/kooapk/kooapk-kitchen/tools/cloud189/cloud189/api/core.py", line 724, in upload_dir
up_code = self.upload_file(upload_file[0], upload_file[1], force=force, callback=callback)
File "/root/kooapk/kooapk-kitchen/tools/cloud189/cloud189/api/core.py", line 662, in upload_file
return self._upload_file_by_client(up_info)
File "/root/kooapk/kooapk-kitchen/tools/cloud189/cloud189/api/core.py", line 537, in _upload_file_by_client
code = self._upload_file_data(file_upload_url, upload_file_id, up_info)
File "/root/kooapk/kooapk-kitchen/tools/cloud189/cloud189/api/core.py", line 469, in _upload_file_data
resp = requests.put(url, data=post_data, headers=headers)
File "/usr/lib/python3/dist-packages/requests/api.py", line 131, in put
return request('put', url, data=data, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
[0] Status: Finished | Process:秒传检查 | Upload: romok/tmp (1/9) -> 全部文件

反秒传防审查建议

建议添加功能,上传前可以在文件末尾追加一个字节,改变哈希值,防审查被他人波及。

echo 'B' >> file

[feature request]可以实现通用格式的导入导出功能么

例如提供export某目录下文件的命令
export -o /local/path/tianyi_links.txt /cloud/path
导出形似tianyi://{filename}|{size}|{md5}|{save_path}的通用格式
再附带提供一个import命令
import -i tianyi_links.txt /cloud/path
可以读取这样一堆链接
利用秒传接口上传到云盘上

想知道签到hmacsha1加密内容

不是很懂py
只是想知道hmac加密的key是怎样获取
明文应该是:SessionKey=6601ff47-760e-4f9b-bca0-1a603399c2f7&Operate=GET&RequestURI=/mkt/userSign.action&Date=Wed, 14 Jul 2021 12:10:38 GMT

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.