Code Monkey home page Code Monkey logo

sshwifty's Introduction

sshwifty's People

Contributors

cjendantix avatar nirui avatar ryanfortner avatar tweak4141 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

sshwifty's Issues

0.2.11 前端密码一直提示密码错误

nirui您好!

刚刚更新了0.2.11,使用的配置文件和0.2.10版本均相同,但是升级之后进入前端界面时一直提示密码错误,后端错误日志如下:

| [WRN] Fri, 30 Apr 2021 11:07:43 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35918): Request ended with error: /sshwifty/assets/7ff39440b9174e0f8716023d858943b7.svg: HTTP Error (404): Page not found
4|sshwifty | [WRN] Fri, 30 Apr 2021 11:07:43 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35916): Request ended with error: /sshwifty/socket/verify: HTTP Error (403): To use Websocket interface, a valid Auth Key must be provided
4|sshwifty | [WRN] Fri, 30 Apr 2021 11:08:10 CST Sshwifty > Server (127.0.0.1:9858) > Client (127.0.0.1:35978): Request ended with error: /sshwifty/socket/verify: HTTP Error (403): Authentication has failed with provided Auth Key

websocket错误 1006

http error 403:to use a websocket interface ,a valid auth key must be provided.

用了https之后断开连接无法使用,请问怎么解决呢,谢谢

Cannot be used with Microsoft Edge

My BBS buddies tried sshwifty and found this.
He did not use GitHub, so I issued an issue on my behalf.

When you select Telnet or SSH from sshwifty in Microsoft Edge,
the following screen appears and you cannot use it:
スクリーンショット 2020-01-29 10 40 54

サイトからのメッセージ = Message from site

In addition, when using Internet Explorer, it stops at the boot screen,
but I think that this need not be considered.
But Edge support will need to be considered for Windows users.

[Docker Build] Unable to connect to the Sshwifty backend server:

Hi,

Thank you so much for this beautiful implementation.. Great Work.

After trying the Heroku URL, i wanted to build this project on my system and hence I cloned the project and used the available Dockerfile (No changes to any files) and issued docker build -t ssh . at the root of the project.

The build seemed to be successful, however launching the container using

docker run --detach \
  --restart=always \
  --publish 8182:8182 \
  --name sshwifty \
  ssh

aa9d179b9a95180d4c9d4822b7b7e4ef8b01eb50e75c2a3e3427fd4e27504d6e

When I browse to IP:8182 , i could see the FrontEnd page available, however when I navigate to + > SSH (or) Telnet, i receive a browser pop up as indicated below

Unable to connect to the Sshwifty backend server: TypeError: Cannot read property 'importKey' of undefined

You see any wrong doing on my actions? Kindly advise if this can fixed/corrected.

Unable to verify when using nginx reverse proxy

Hi, nirui, I updated sshwifty few days ago,
but after that, I found that it alaways says that "Authentication has failed with provided Auth Key",
even though the password is correct.

ScreenCapture2
ScreenCapture3

this is my sshwifty config:
ScreenCapture1

and this is my nginx config:
`
server
{
listen 80;
listen 443 ssl http2;
underscores_in_headers on;
index index.php index.html index.htm;
root /www/wwwroot/XZB;

if ($server_port !~ 443){
  rewrite ^(/.*)$ https://$host$1 permanent;
}
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate    /www/server/fullchain.pem;
ssl_certificate_key    /www/server/privkey.pem;
error_page 497  https://$host$request_uri;

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
  expires      30d;
  error_log off;
}

location ~ .*\.(js|css)?$
{
  expires      12h;
  error_log off;
}

location ^~ /
{
  proxy_pass http://127.0.0.1:8080/;
  proxy_http_version 1.1;
  proxy_set_header Connection "upgrade";
  proxy_set_header Upgrade $http_upgrade;
}

access_log /dev/null; 
error_log  /dev/null;

}
`

Add support for multiple timezones

If I have a deployment that I expect people from the Pacific coast to access a server on the eastern coast, the readme states that it'll fail.

Is there any way to fix this? I'm honestly getting sick of using Guacamole.

passphrase怎么添加

很好的项目,赞一个。
我在用的时候,使用私钥加密的ssh登陆方式时,没有找到关于passphrase的选项,就是指定私钥文件以后还需要一个密码,也就导致登陆失败了,请问这是功能上没有添加还是我没有发现呢?
还请指导,很想使用并学习这个项目,谢谢了

Can't build or run successful

Hi, it's great!
When i run npm run build or npm run dev, there is a error - go: github.com/gorilla/[email protected]: Get "https://proxy.golang.org/github.com/gorilla/websocket/@v/v1.4.2.mod" : connect: timeout or network is unreachble.
Because of GFW in China, i use proxychain. But yet to OK.
Thank you for your replay.

Docker compose

Hi!

I have some trouble with the transfer of the configuration file to the container, container can't find my config, I'am doing something wrong in the path I think. Not sure, but I also has trying with envars, and after deploy, I can't login with my preset sharedkey. Could you point out a mistake?

Here is my stack:

version: '2.1'
services:

  sshwifty:
    image: niruix/sshwifty:latest
    container_name: sshwifty
    hostname: sshwifty
    environment:
      - TZ=Europe/Kiev
      - SSHWIFTY_CONFIG=/etc/sshwifty/sshwifty.conf.json
    volumes:
      - /mnt/docker_storage/sshwifty/sshwifty.conf.json:/etc/sshwifty/sshwifty.conf.json
    ports:
      - 8182:8182
    restart: unless-stopped

Cannot push to heroku

I have already compile the source code on my local computer, but failed on npm run build

1

It when well when running command npm run generate.

Then i push to heroku using git push heroku master, i got this error

cannot load github.com/niruix/sshwifty/application/controller/static_pages: cannot find module providing package github.com/niruix/sshwifty/application/controller/static_pages

2

Can you give me the heads up on how to deploy on heroku.com?

Default font size?

I love this project! Is there any way to change the default font size? I find it to be too big. Thanks!

DockerHub上的镜像是否还有更新计划呢?

尊敬的nirui您好,

之前使用docker部署的sshwifty,nginx反代能够隐藏端口正常访问,版本是0.2.8-beta-release,后来使用二进制部署出现了 #40 的问题

目前docker镜像已经3个月没有更新,是否还有docker更新计划呢?还是说放弃docker了呢?

[建议]私钥存入localStorage

私钥信息在第一次读取之后,询问用户是否保存,若保存则存入localStorage,这样可以不用每次都在文件列表里找私钥了..请问能否实现呢?

是否可以在配置文件中添加一个新选项【"baseURL"】,用于控制访问的URL?

是否可以在配置文件中添加一个新选项【"baseURL"】,用于控制访问的URL?
如果不是很明白我说的意思,FileBrowser的项目中有此配置项。
例如:当【"baseURL": "/ssh"】时,可以通过“http://www.example.com/ssh/...”访问 SshWifty ;
这会很有用,比如当使用NGINX作反向代理时;

另外有一些美化建议;
1、增加一个选项,用于决定是否显示警告信息;
2、当“"OnlyAllowPresetRemotes": true”时,隐藏“New remote”页面;
3、“Known remotes”页面中移除“CONNECTED BEFORE”,预设连接“PRESETS”的状态以更简洁方式显示;
比如说,在预设框下增加状态栏,“CONNECTED”绿色:表示已连接过并连接成功,直接“CONNECTED”点击即可重新连接;“UNREACHABLE”红色:表示曾经尝试连接但连接失败,这个情况可以重新点击预设选项尝试重新连接。如果从未进行过连接,则无色;如果希望显示更多信息则增加信息栏,比如用户与IP/域名,或最后连接日期;
4、“CONNECTED BEFORE”页面应该以一个单独的页面显示;并且这个页面应该依据“OnlyAllowPresetRemotes”的设定来决定是否显示;

其它:
在连接成功后,点击SSH的连接栏,会显示一些快捷键,这些快捷键会遮挡SSH的页面;可能的话,如果这些快捷键可以通过配置文件来自定义一些命令,那样会更实用更。

另外,问一下,直接暴露于公网使用的话,使用密码认证后,安全性如何?

上面大部分的内容都是多余的,我比较关注的是,是否可以通过增加额外的配置项,来控制访问的URL;找了很多个WEBSHH,作者这个是我最喜欢的了,希望能做得更好~~

bind: cannot assign requested address

作者您好!127.0.0.1:8182可以正常使用sshwifty,但我修改/etc/sshwifty.conf.json中的ListenInterface为我的ip地址就会报错,我想实现ip:端口访问是不是这样操作不对呀?
配置文件:

报错信息:

Heroku restarts

What if heroku cycling occurs when I use the app?. By the way I ping the app every 5 minutes to prevent dyno sleeping.

谢谢作者

很棒的程序,好用还好看。
是否考虑加上简单的文件管理,毕竟图形编辑界面还是比较命令行方便太多了。这样真就做到一站式管理了。
是否考虑自动自签名的ssh,我用来cloudflare中转ipv6的。源站是否s无所谓的。但是程序必须配置证书后才会启动https,如果能够自签名,我想直接cloudflare就能绕开importKey那个错误
当然这俩都无关紧要,上来写这个就是感谢一下

预设的 Private Key 应该怎么填

docker 加载配置文件 Private Key 我直接复制粘贴报以下错误

 Copyright (C) Rui NI <[email protected]>
 https://github.com/niruix/sshwifty

[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Initializing
[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty > Configuration > Redundant: Loading configuration from: /sshwifty.conf.json
[WRN] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty > Configuration > Redundant: Unable to load configuration from "File": invalid character '\n' in string literal
[ERR] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: "Redundant" loader cannot load configuration: All existing redundant loader has failed
[ERR] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Unable to start due to error: All existing redundant loader has failed
[INF] Wed, 19 Feb 2020 17:59:10 UTC Sshwifty: Closed

我把 key 的换行全部删掉倒是能启动成功了,但是连接的时候找不到 key 。

Connection failed
ssh: handshake failed: ssh: no key found

Passphrase instead of passpharse?

Hello,

Great project, thanks a lot for sharing!
Is there a typo in the word "passphrase"? Is it called "passpharse" on purpose?

Thanks,
Loric

Len is sloppy

You are using a lot of
len(x) <= 0

but why are you not using

len(x) == 0 ?

[PowerLine Fonts Support] Oh-My-Zsh and Agnoster

Hi Rui,

I am curious if its possible to define Font details like "Size", "Name" and "Color" and background color in an environment variable of sort to enable loading PowerLine/Nerd Fonts to support the fancy glyphs..

It would be awesome to change/define these elements as we please.. possible?

Permission Denied when trying to load config file using Docker mode

Hi, I dont know if Im doing this the right way. I want to use custom config file using docker, but getting permission denied loading the config file. Here is the detail:

$ docker run --detach
--restart always
--publish 8182:8182
--name sshwifty
--env SSHWIFTY_CONFIG=/root/sshwifty.conf.json
niruix/sshwifty:latest

$ docker logs sshwifty
Sshwifty Web SSH Client

Copyright (C) Rui NI [email protected]
https://github.com/nirui/sshwifty

[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Initializing
[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty > Configuration > Redundant: Loading configuration from: /root/sshwifty.conf.json
[WRN] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty > Configuration > Redundant: Unable to load configuration from "File": open /root/sshwifty.conf.json: permission denied
[ERR] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: "Redundant" loader cannot load configuration: All existing redundant loader has failed
[ERR] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Unable to start due to error: All existing redundant loader has failed
[INF] Mon, 22 Mar 2021 23:16:45 UTC Sshwifty: Closed

$ cat /root/sshwifty.conf.json

{
"HostName": "Sshwifty",
"SharedKey": "MyPASSWORD",
"DialTimeout": 5,
"Socks5": "",
"Socks5User": "",
"Socks5Password": "",
"Servers": [
{
"ListenInterface": "0.0.0.0",
"ListenPort": 8182,
"InitialTimeout": 3,
"ReadTimeout": 60,
"WriteTimeout": 60,
"HeartbeatTimeout": 20,
"ReadDelay": 10,
"WriteDelay": 10,
"TLSCertificateFile": "",
"TLSCertificateKeyFile": ""
}
],
"Presets": [
{
"Title": "Host 1",
"Type": "SSH",
"Host": "10.0.1.1",
"Meta": {
"User": "root",
"Encoding": "utf-8",
"Private Key": "file:///root/.ssh/id_rsa",
"Authentication": "Private Key",
"Fingerprint": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKkpxaqwcXw03ELQ5Pg4Sa0uBiqwefEJEKmh1XNhQT8UQW9Xn5+mplPpTlsJGQ+zLni+r8+FMN4FOrtW0D9ryBFw="
}
}
],
"OnlyAllowPresetRemotes": false
}

What am I doing wrong?

Remember Private Key

Is there a way to have sshwifty remember the private key for a SSH connection?

Currently, it appears I need to re-enter my Private RSA Key every single time I want to connect to a specific host. Kind of a pain.

Thanks.

Add a Autoconnect Feature

Would it be possible to ask for an auto connect feature, such that if you connect on the web side of things it will automatically open a ssh or telnet preset?

There are 2 ways I can see this working.

  1. Either a config option in the preset like: "Autoconnect": True
    and/or
  2. If you only have only 1 preset and you have "OnlyAllowPresetRemotes": True then automatically connect to that preset.

Thank you

Nginx域名反代隐藏端口不加端口就无法连接的解决办法 The correct configuration of Nginx reverse proxy with your own domain

注意!问题已解决,Nginx正确配置请参考:#40 (comment)

Attention! The problem has been solved. Please refer to the correct Nginx configuration #40 (comment)

Env:Ubuntu 20.04 + Nginx

When try to use reverse proxy to hide the port, all settings can ensure normal operation, but the premise is that you need to access https://domain name:port,

Loading Sshwifty will be displayed when port is deleted in the url

反向代理域名+端口时,所有设置能保证正常运行,但前提是需要访问 https://域名:端口

删除端口访问时将显示 Loading Sshwifty

image

此错误很奇怪,按理说平常nginx反代完域名+端口之后直接访问域名就可以,但实际上直接访问域名sshwifty连日志都不会输出。

Nginx 反代配置如下:

问题已解决,错误配置隐藏 Problem resolved, error configuration hidden
location / {
     proxy_pass http://域名:端口;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto https;
}

location /sshwifty/socket {
     proxy_pass http://域名:端口;
     proxy_http_version 1.1;
     proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header X-Forwarded-Proto https;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection $connection_upgrade;
}

Conf中设定HostName为空,TLS证书指定位置正确。

就是去掉端口就无法访问,请帮忙看一下到底是哪里有错误呢?非常感谢了!

[Reverse Proxy with Path] Nginx Proxy at path /xxx - Results "Loading Sshwifty"

Hello There,

I would like to seek your advise on how to setup sshwifty behind a Reverse Proxy.. I am using Ngnix as a proxy and when i try to proxy the sshwifty app at location / - everything works.

location / {
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }
    }

But when I move the config to be served under path /sshclient, then loading of manifest.json and css files seem to be broken

location /sshclient/ {
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }
    }

Attempting to access the url/sshclient results in "× Server was unable to complete the request"

Modifying the config to

    location /sshclient/ {
                rewrite ^/sshclient(.*) $1 break;
                proxy_ignore_client_abort on;
		proxy_pass http://172.17.0.3:8182;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_set_header X-NginX-Proxy true;
        }

with above change and i browse to http://uri/sshclient i see following

Loading Sshwifty
Client is currently being loaded. Should only take a few seconds, please wait

Copyright © 2019 Rui NI <[email protected]>

Source code Readme License

When i attempted to debug using chrome developer tools, i notice the following

GET http://localhost/manifest.json 404 (Not Found)
GET http://localhost/6218340eaf037830067c.css net::ERR_ABORTED 404 (Not Found)

While i am not an expert at web developer or belong to a developer profile, i suspect that this is an issue with static files that are failing to be served..

Any advise?

Unable to connect to preset Telnet

I have added the following to sshwifty.conf.json, These are Japanese Telnet / ssh BBS:

  :

  "Presets": [
    {
      "Title": "Fusen no heya (balloon.tel)",
      "Type": "Telnet",
      "Host": "balloon.tel:55123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Fusen no heya (fusen.ddns.net)",
      "Type": "Telnet",
      "Host": "fusen.ddns.net:55123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Seiwa net",
      "Type": "Telnet",
      "Host": "jp3tlc.no-ip.biz",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Virus net",
      "Type": "Telnet",
      "Host": "211.133.151.119",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "WhiteWing",
      "Type": "Telnet",
      "Host": "bbs.whitewing.gr.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Communitex",
      "Type": "Telnet",
      "Host": "www.maruo.co.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Hanzou BBS (Telnet)",
      "Type": "Telnet",
      "Host": "ktbbs.hanzou.jp:11123",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Hanzou BBS (ssh)",
      "Type": "Telnet",
      "Host": "ktbbs.hanzou.jp:11111",
      "Meta": {
        "Encoding": "shift-jis",
        "User": "bbs",
        "Authentication": "bbs"
      }
    },
    {
      "Title": "FENIX (shift-jis)",
      "Type": "Telnet",
      "Host": "akari.fenix.ne.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Wappy nets (wapiko.ddo.jp)",
      "Type": "Telnet",
      "Host": "wapiko.ddo.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    },
    {
      "Title": "Wappy nets (wapiko.jp)",
      "Type": "Telnet",
      "Host": "wapiko.jp",
      "Meta": {
        "Encoding": "shift-jis"
      }
    }
  ],
  "OnlyAllowPresetRemotes": true

As a result, I can only connect my own BBS (Fusen no heya, balloon.tel = fusen.ddns.net),
which seems to connect only locally.

复制与粘贴快捷键

复制与粘贴能不能再绑定 Ctrl Insert 复制,Shift Insert 粘贴,这个快捷键比较通用。

现在复制可以使用,但是粘贴不起作用。
我在 chrome 86 上测试,使用 Ctrl Shift V 粘贴,它只是回显了命令,但是不能执行。

预设能否一键连接

现在预设好了还是要点四步才能连接,能否跟最近连接一样点击即连接?

还有配置文件的私钥能不能使用文件路径配置,如

"Private Key": "/id_rsa_nopass"

十几个服务器配置文件拉的老长,全都是私钥内容。

或者使用环境变量预先配置,如

-e PrivateKey1="-----BEGIN RSA PRIV...\nMIIE...\n-----END RSA PRI...\n"

然后配置文件直接

"Private Key": "PrivateKey1"

私钥其实没几个,大多服务器都是用的同一个私钥,现在配置文件大多都是重复内容。

Non-standard Host Address?

Love the app - is there a way to remove the hostname validation?

I proxy some of my ssh traffic and require a hostname of user@targethost@proxyhost - how can I disable hostname checking?

Thanks!

Request: Connection destination specification or connection list

This is fantastic! I was looking for this!! 😄
Japanese Telnet BBS (using Shift_JIS) can be connected using sshwifty:
Connect with Cloudready

But sshwifty can now freely select the connection destination. This can be abused.
I want to limit the connections or show the list. (For example, I want to display Japanese Telnet BBS list)
Or want to restrict to one connection destination.
Can you add it to sshwifty?

Cannot decode Private Key

Hi,

When I'm going to use a ed25519/ecdsa style private key, sshwifty says "cannot decode private key". isn't their style unsupported?

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.