hap-wi / roxy-wi Goto Github PK
View Code? Open in Web Editor NEWWeb interface for managing Haproxy, Nginx, Apache and Keepalived servers
Home Page: https://roxy-wi.org
License: Apache License 2.0
Web interface for managing Haproxy, Nginx, Apache and Keepalived servers
Home Page: https://roxy-wi.org
License: Apache License 2.0
I just installed the current version (10:00 am 7/25/2018) and every time I add a user and credential it disappears when I refresh the page.
This is preventing me from being able to add a server (can't add tie to a credential, they disappear).
tail config_edit-20180725.log
Jul 25 14:31:05 from 10.51.52.19 user: admin users.py#ssh upload new ssh cert /var/www/haproxy-wi/keys/root.pem for: local
Jul 25 14:33:33 from 10.51.52.19 user: admin users.py#ssh upload new ssh cert /var/www/haproxy-wi/keys/root-ssh.pem for: local
I have made a commitment to the Patreon page as well, this is an awesome project.
i am getting an error while application trying to connect server or localhost via ssh
error:060800A3:digital envelope routines:EVP_DigestInit_ex:disabled for fips
here is the output of paramiko. Probably caused of the cryptolibs. how can i verify it ?
import paramiko
print paramiko.version
2.4.2
Hello,
keepalivedconfig.py page doesn't show my server on "choose server" combo. I installed the keepalived and is running on server. No logs on error file.
Any idea?
We try to use thi interface and the upload config seems to not working correctly
The config file haproxy-webintarface.config
should be renamed haproxy-webinterface.config
.
Mon Apr 23 15:20:21.586394 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: Traceback (most recent call last):, referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586492 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: File "/var/www/haproxy-wi/cgi-bin/login.py", line 49, in , referer: overview.py
[Mon Apr 23 15:20:21.586502 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: login_page("n"), referer: cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586525 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: File "/var/www/haproxy-wi/cgi-bin/login.py", line 24, in login_page, referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586538 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: if create_db.create_table():, referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586563 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: File "/var/www/haproxy-wi/cgi-bin/create_db.py", line 28, in create_table, referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586572 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: con, cur = get_cur(), referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586595 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: File "/var/www/haproxy-wi/cgi-bin/create_db.py", line 23, in get_cur, referer: cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586612 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: con = sqlite.connect(db, isolation_level=None), referer: /cgi-bin/login.py?ref=/cgi-bin/overview.py
[Mon Apr 23 15:20:21.586631 2018] [cgi:error] [pid 1396] [client 172.16.10.20:54446] AH01215: sqlite3.OperationalError: unable to open database file, referer:
I'm getting this error at the end of the install.sh script, which appears to be breaking the installation process:
Traceback (most recent call last):
File "./update_db.py", line 3, in
import create_db
File "/var/www/var/www/haproxy-wi/app/create_db.py", line 19, in
db = funct.get_app_dir()+"/haproxy-wi.db"
AttributeError: 'module' object has no attribute 'get_app_dir'
It looks like your funct.py file is indeed missing a definition for "get_app_dir". If I add a definition for it to the file and just have it return the path string everything appears to run.
I think the install HAProxy script should check for the operating system running on the remote server and stop if the system is not supported?
Hello,
When i install your script using the autoinstall method i get the following when visiting the site
#!/usr/bin/env python3
import html
import cgi
import funct
import ovw
funct.head("Overview")
funct.check_config()
funct.check_login()
funct.get_auto_refresh("Overview")
print("<script>if (cur_url[0] == 'overview.py') { $('#secIntervals').css('display', 'none');}</script>")
print('<script> window.onload = showOverview()</script>
funct.footer()
You can see by going to the following link http://92.63.142.243:8080/app/overview.py
This was a fresh install of Centos 7.
I tried looking for a settings to change the default sshd port from 22 to something else with no luck, where can this be changed?
Hi ,
I get "Authentication failed, please verify your credentials" when run compare configs
I am use mysql to be DB , and have checked there have correct user information in there .
I can get device config by "Show config" , but can compare configs .
Thanks
Can't add new server, having the error of all fields must be completed.
Which package are you using for waf features ?
Hallo!
Just Installed and get type error
[cgi:error] [pid 14009:tid 140102521034496] [client 10.10.10.10:60684] AH01215: Traceback (most recent call last):: /var/www/haproxy-wi/app/login.py, referer: http://haproxyserver:8080/app/login.py?ref=/app/overview.py
[cgi:error] [pid 14009:tid 140102521034496] [client 10.10.10.10:60684] AH01215: File "/var/www/haproxy-wi/app/login.py", line 68, in <module>: /var/www/haproxy-wi/app/login.py, referer: http://haproxyserver:8080/app/login.py?ref=/app/overview.py
[cgi:error] [pid 14009:tid 140102521034496] [client 10.10.10.10:60684] AH01215: if login in users[1] and password == users[3]:: /var/www/haproxy-wi/app/login.py, referer: http://haproxyserver:8080/app/login.py?ref=/app/overview.py
[Fri Aug 31 17:03:02.544562 2018] [cgi:error] [pid 14009:tid 140102521034496] [client 10.10.10.10:60684] AH01215: TypeError: a bytes-like object is required, not 'str': /var/www/haproxy-wi/app/login.py, referer: http://haproxyserver:8080/app/login.py?ref=/app/overview.py
[cgi:error] [pid 14009:tid 140102521034496] [client 10.10.10.10:60684] End of script output before headers: login.py, referer: http://haproxyserver:8080/app/login.py?ref=/app/overview.py
I've tested the docker image you provide, but I'm getting a 500 error when I try to access to the dashboard. Logs show me this error:
[Thu Oct 04 13:06:16.844449 2018] [cgi:error] [pid 8] [client 172.21.0.1:49426] AH01215: Traceback (most recent call last):
[Thu Oct 04 13:06:16.844577 2018] [cgi:error] [pid 8] [client 172.21.0.1:49426] AH01215: File "/var/www/haproxy-wi/app/overview.py", line 5, in <module>
[Thu Oct 04 13:06:16.844616 2018] [cgi:error] [pid 8] [client 172.21.0.1:49426] AH01215: from jinja2 import Environment, FileSystemLoader
[Thu Oct 04 13:06:16.844644 2018] [cgi:error] [pid 8] [client 172.21.0.1:49426] AH01215: ImportError: No module named 'jinja2'
[Thu Oct 04 13:06:16.854635 2018] [cgi:error] [pid 8] [client 172.21.0.1:49426] End of script output before headers: overview.py
[Thu Oct 04 13:06:19.183105 2018] [cgi:error] [pid 11] [client 172.21.0.1:49444] AH01215: Traceback (most recent call last):
[Thu Oct 04 13:06:19.183207 2018] [cgi:error] [pid 11] [client 172.21.0.1:49444] AH01215: File "/var/www/haproxy-wi/app/overview.py", line 5, in <module>
[Thu Oct 04 13:06:19.183245 2018] [cgi:error] [pid 11] [client 172.21.0.1:49444] AH01215: from jinja2 import Environment, FileSystemLoader
[Thu Oct 04 13:06:19.183274 2018] [cgi:error] [pid 11] [client 172.21.0.1:49444] AH01215: ImportError: No module named 'jinja2'
[Thu Oct 04 13:06:19.192467 2018] [cgi:error] [pid 11] [client 172.21.0.1:49444] End of script output before headers: overview.py
[Thu Oct 04 13:10:35.927703 2018] [cgi:error] [pid 9] [client 172.21.0.1:50475] AH01215: Traceback (most recent call last):
[Thu Oct 04 13:10:35.927809 2018] [cgi:error] [pid 9] [client 172.21.0.1:50475] AH01215: File "/var/www/haproxy-wi/app/overview.py", line 5, in <module>
[Thu Oct 04 13:10:35.927847 2018] [cgi:error] [pid 9] [client 172.21.0.1:50475] AH01215: from jinja2 import Environment, FileSystemLoader
[Thu Oct 04 13:10:35.927875 2018] [cgi:error] [pid 9] [client 172.21.0.1:50475] AH01215: ImportError: No module named 'jinja2'
[Thu Oct 04 13:10:35.936754 2018] [cgi:error] [pid 9] [client 172.21.0.1:50475] End of script output before headers: overview.py
¿Maybe you forgot to add jinja2 library tothe docker image?
Thanks!
hello,
show configs throws can't read import config file error below.
/var/www/haproxy-wi/configs/hap_config/10.0.20.200-2018-09-27.14:52:15.cfg
Can't read import config file
error log details.
[Thu Sep 27 14:52:15.971112 2018] [cgi:error] [pid 12322] [client 10.0.xxxx.100:53166] AH01215: Traceback (most recent call last):, referer: http://xxxxxxx:8080/app/configshow.py
[Thu Sep 27 14:52:15.971363 2018] [cgi:error] [pid 12322] [client 10.0.xxxx.100:53166] AH01215: File "/var/www/haproxy-wi/app/options.py", line 335, in , referer: http://xxxx:8080/app/configshow.py
[Thu Sep 27 14:52:15.971705 2018] [cgi:error] [pid 12322] [client 10.0.xxx.100:53166] AH01215: template = template.render(conf=conf, view=form.getvalue('view'), serv=serv, configver=form.getvalue('configver'))\t\t\t\t\t\t\t\t\t\t\t, referer: http://xxxxxx:8080/app/configshow.py
[Thu Sep 27 14:52:15.971811 2018] [cgi:error] [pid 12322] [client 10.0.xxx.100:53166] AH01215: NameError: name 'conf' is not defined, referer: http://xxxxxxx:8080/app/configshow.py
I am having issues on Ubuntu 16.04
There were a few missing modules, an when trying to run it, with the python debugger, I had:
python -m pdb login.py
root@par01-man01:/var/www/haproxy/app# python -m pdb login.py
> /var/www/haproxy/app/login.py(2)<module>()
-> import cgi
(Pdb) cont
Traceback (most recent call last):
File "/usr/lib/python2.7/pdb.py", line 1314, in main
pdb._runscript(mainpyfile)
File "/usr/lib/python2.7/pdb.py", line 1233, in _runscript
self.run(statement)
File "/usr/lib/python2.7/bdb.py", line 400, in run
exec cmd in globals, locals
File "<string>", line 1, in <module>
File "login.py", line 2, in <module>
import cgi
File "funct.py", line 5, in <module>
import http.cookies
ImportError: No module named cookies
Uncaught exception. Entering post mortem debugging
Running 'cont' or 'step' will restart the program
> /var/www/haproxy/app/funct.py(5)<module>()
-> import http.cookies
(Pdb)
root@par01-man01:/var/www/haproxy/app# python --version
Python 2.7.12
root@par01-man01:/var/www/haproxy/app#
Can you help ?
Hello Aidaho,
at first I like to say you did a really good job here. Move on. 👍
I think some documentation is deprecated or missing
INSTALL last line $ sudo ./install
doesn't work for me instead: $ sudo ./install.sh
MANUAL INSTALL $ chown -R apache:apache haproxy-wi/
A moore general setup may be www-data:www-data My apache work with this too....
A short information of how to 'swarm' for docker may be come in handy for new users. (In reference to my comment here #24 I installed it 3 times for testing)
A command to transmute a generated id_rsa to pem openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa.pem
and or a ssh-copy-id suggestion
Sorry, I hitted Enter after writing the Title....
[Wed Sep 26 14:34:48.017386 2018] [cgi:error] [pid 20289] [client 10.0.100.100:50479] AH01215: Traceback (most recent call last):, referer: http://10.0.20.200:8080/app/configshow.py
[Wed Sep 26 14:34:48.017607 2018] [cgi:error] [pid 20289] [client 10.0.100.100:50479] AH01215: File "/var/www/haproxy-wi/app/options.py", line 335, in , referer: http://10.0.20.200:8080/app/configshow.py
[Wed Sep 26 14:34:48.017942 2018] [cgi:error] [pid 20289] [client 10.0.100.100:50479] AH01215: template = template.render(conf=conf, view=form.getvalue('view'), serv=serv, configver=form.getvalue('configver'))\t\t\t\t\t\t\t\t\t\t\t, referer: http://10.0.20.200:8080/app/configshow.py
[Wed Sep 26 14:34:48.018047 2018] [cgi:error] [pid 20289] [client 10.0.100.100:50479] AH01215: NameError: name 'conf' is not defined, referer: http://10.0.20.200:8080/app/configshow.py
Hello, I want to to ask if you can provide us with login details. After running install.sh, i select SQLite option, but after then, I cannot login using 'admin' username and 'admin' password.
Thanks
This interface looks great. However, I am concerned about security, using either SSH root password or private key for root through web interface seems a risk. Where is the key stored then, can it be password protected with some timeout? I would like to use sudo, with limited rights. Is it possible? What would you recommend? Thanks!
Hi,
Metrics are not working on server. Error log contains following lines:
[Thu Aug 16 08:33:32.390263 2018] [cgi:error] [pid 32405] [client 10.68.31.6:60348] AH01215: Traceback (most recent call last):, referer: http://10.165.244.40:8080/app/metrics.py
[Thu Aug 16 08:33:32.390300 2018] [cgi:error] [pid 32405] [client 10.68.31.6:60348] AH01215: File "/var/www/haproxy-wi/app/options.py", line 435, in , referer: http://10.165.244.40:8080/app/metrics.py
[Thu Aug 16 08:33:32.390316 2018] [cgi:error] [pid 32405] [client 10.68.31.6:60348] AH01215: title=metric[0][0],, referer: http://10.165.244.40:8080/app/metrics.py
[Thu Aug 16 08:33:32.390325 2018] [cgi:error] [pid 32405] [client 10.68.31.6:60348] AH01215: IndexError: list index out of range, referer: http://10.165.244.40:8080/app/metrics.py
Got an error during installation, could not not upgrade DB to version 3.
Solution - changed the field size from 64 to 100, installation upgraded db to version 3.
Hello,
I gave this nice GUI a try, but I couldn't run it on Ubuntu server 16.x. The directories are different, and I had to install and use yum tools instead of apt-get.
As a suggestion; can you please create an installer for Ubuntu server?
Thanks
Mohamed
Hello, After successful setup and run on Centos7, and added the SSH keys from centos to haproxy server (without passcode), and tested SSH connection successfully, I cannot see any server and when I add servers to the list I get (13, 'Permission denied') error. What I'm missing?!!!
Hello, does it support configuration using rest api ?
If yes .....any example ?
Thanks
Ignazio
Hi
we can suggest new features for cookie persistence
One usefully method for cookie is dynamic with dynamic-cookie-key
i will show an example
frontend ExampleFront443
bind xxx.xxx.xxx.xxx:443 ssl crt /etc/haproxy/certificato-apache.pem
maxconn 100000
mode http
option forwardfor
acl host-mysite hdr(Host) -i www.example.com
block if !host-mysite
http-request set-header X-Client-IP %[src]
default_backend ExampleDMZ443
backend ExampleDMZ443
mode http
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
http-request set-header Host www.example.com
option httpchk HEAD / HTTP/1.1\r\nHost:localhost
dynamic-cookie-key your-custom-key-string
cookie SERVERID insert indirect nocache dynamic
server leportalfe01 xxx.xxx.xxx.xxx:443 check ssl verify none
server leportalfe02 xxx.xxx.xxx.xxx:443 check ssl verify none
OS: Ubuntu 16.04
Python: 3.5.2
Webserver: Apache2
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at [no address given] to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
I have been hunting to find where the issue lay, authentication is working (it is very insecure). However once logged in I get Internal Server error when going to the redirected url: "/login.py?login=admin&pass=admin"
Apache2 logs have no records for this at all.
If I run this from python and set the username and password in the code, I get the following:
/var/www/haproxy-wi/app$ python3 login.py
Set-Cookie: uuid=e3d0c66c-2571-479f-aaf4-64e1b850f097; expires=Tue, 14 Aug 2018 14:05:34 GMT; Path=/app/
Content-type: text/html
ok
Bit stumped as to where to go next
Hi,
I am Chinese user. I am a pythoner and I searching for haproxy web manager platform.I already download your project.But,how can I start the project?Other question,I run the command "python create_db.py" return is
"DB already exists, try update
An error occurred: no such table: servers
An error occurred: no such table: servers".How can I do for this?
Thanks for you.
bytes/string conversion issue. seams to be Py3k compatibility issue.
Downloading/unpacking dump==0.0.3 (from -r /var/www/haproxy-wi/requirements.txt (line 7))
Downloading dump-0.0.3.tar.gz
Running setup.py (path:/tmp/pip-build-uasclc1x/dump/setup.py) egg_info for package dump
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/tmp/pip-build-uasclc1x/dump/setup.py", line 13, in <module>
version = re.search("^__version__\s*=\s*[\'\"]([^\'\"]+)", f.read(), flags=re.I | re.M).group(1)
File "/usr/lib/python3.4/re.py", line 166, in search
return _compile(pattern, flags).search(string)
TypeError: can't use a string pattern on a bytes-like object
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/tmp/pip-build-uasclc1x/dump/setup.py", line 13, in <module>
version = re.search("^__version__\s*=\s*[\'\"]([^\'\"]+)", f.read(), flags=re.I | re.M).group(1)
File "/usr/lib/python3.4/re.py", line 166, in search
return _compile(pattern, flags).search(string)
TypeError: can't use a string pattern on a bytes-like object
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /tmp/pip-build-uasclc1x/dump
Storing debug log for failure in /root/.pip/pip.log
Unable to install Required Packages, Please check Pip error log and Fix the errors and Rerun the script
Currently there is no way to debug if the connection to a server doesn't work. I'm currently testing this with an haproxy server running in a docker container and I think the problem is that haproxy-wi can't connect to the server for some reason. But I'm not sure and there is no way to check.
The only error message I get is when trying to edit the config for the server, then I get the message "'str' object has no attribute 'open_sftp' Can't read import config file".
It would be nice if there was a "test connection" button or something that shows error messages if the connection to the server doesn't work.
The second level of the left navigation isn't working on tabbed pages, like "Admin Area" or "Servers".
It works the first time, to switch to that page and the correct tab, but if you try to change the tab while staying on the same page nothing happens.
i am getting an error when i click show button on the map menu.
here is the detail:
mv: cannot stat 'map.png': No such file or directory
Node 'frontend main *:5000\n' has no position.
Hi. The prerequisite packages install in the install.sh script is stalling under Ubuntu 18.04 (but I imagine it would on other versions and possibly Debian variants).
I think the correct package name is g++ here - making this change to the script allows the install to proceed.
I am able to add a server but am not able to see it , when i go to installations tab i don't see it. I have created a new group and also tried with ALL as groups.
Originally posted by @abhishekranjanyml in #46 (comment)
On a fresh install of CentOS 7 and the auto install of HAWI, I am getting the following error when trying to create a server. I did check the html, and that is the entire error, so unfortunately it doesn't mention what is missing.
(2, 'No such file or directory')
Second, please convert the login from get to post, HUGE security issue right there.
hello
how can install this GUI on centos 6?!!
Any assistance to build a docker image for haproxy-wi?
First attempt with this plain Dockerfile:
FROM centos:7
RUN yum install -y git
RUN git clone https://github.com/Aidaho12/haproxy-wi.git /var/www/haproxy-wi \
&& cd /var/www/haproxy-wi \
&& chmod +x install.sh \
&& ./install.sh
Resulted these several errors or warns (couldn't decide):
################################
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Syntax OK
################################
################################
mkdir: cannot create directory '/var/www/haproxy-wi': File exists
fatal: destination path '/var/www/haproxy-wi' already exists and is not an empty directory.
################################
################################
./install.sh: line 246: ./update_db.py: Permission denied
################################
################################
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service, pointing to /usr/lib/systemd/system/httpd.service.
Failed to get D-Bus connection: Operation not permitted
################################
Edit firewalld
./install.sh: line 292: firewall-cmd: command not found
./install.sh: line 293: firewall-cmd: command not found
./install.sh: line 300: setenforce: command not found
sed: can't read /etc/selinux/config: No such file or directory
Having followed the install instructions, (they should state that Python3 is required, or install it).
At the end of the installation the following error is received:
Traceback (most recent call last):
File "./update_db.py", line 3, in <module>
import create_db
File "/var/www/haproxy-wi/app/create_db.py", line 6, in <module>
import funct
File "/var/www/haproxy-wi/app/funct.py", line 4, in <module>
import paramiko
File "/var/www/haproxy-wi/app/paramiko/__init__.py", line 22, in <module>
from paramiko.transport import SecurityOptions, Transport
File "/var/www/haproxy-wi/app/paramiko/transport.py", line 57, in <module>
from paramiko.ed25519key import Ed25519Key
File "/var/www/haproxy-wi/app/paramiko/ed25519key.py", line 17, in <module>
import bcrypt
File "/var/www/haproxy-wi/app/bcrypt/__init__.py", line 25, in <module>
from bcrypt import _bcrypt
ImportError: /var/www/haproxy-wi/app/bcrypt/_bcrypt.so: undefined symbol: PyInt_FromLong
OS: Ubuntu 16.04
Python Version: Python 3.5.2
Web Server: Apache2
Database selected: SQLite or MySQL
I constantly get the below error message
What the fuck?! U r hacker Oo?!
Any ideas what can cause this?
Write here or open new issue
This appear when I try to add a new private key.
Logs:
[Wed Sep 12 18:25:40.717959 2018] [cgi:error] [pid 273:tid 140137182713600] [client 192.168.2.223:33421] AH01215: Traceback (most recent call last):: /var/www/haproxy-wi/app/options.py, referer: http://192.168.3.225:8080/app/servers.py
[Wed Sep 12 18:25:40.718067 2018] [cgi:error] [pid 273:tid 140137182713600] [client 192.168.2.223:33421] AH01215: File "/var/www/haproxy-wi/app/options.py", line 53, in <module>: /var/www/haproxy-wi/app/options.py, referer: http://192.168.3.225:8080/app/servers.py
[Wed Sep 12 18:25:40.718120 2018] [cgi:error] [pid 273:tid 140137182713600] [client 192.168.2.223:33421] AH01215: ssh_keys = os.path.dirname(os.getcwd())+'/keys/'+name+'.pem': /var/www/haproxy-wi/app/options.py, referer: http://192.168.3.225:8080/app/servers.py
[Wed Sep 12 18:25:40.718170 2018] [cgi:error] [pid 273:tid 140137182713600] [client 192.168.2.223:33421] AH01215: TypeError: Can't convert 'NoneType' object to str implicitly: /var/www/haproxy-wi/app/options.py, referer: http://192.168.3.225:8080/app/servers.py
Debian 9.5
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.