GithubHelp home page GithubHelp logo

x-falcon / virtual-hosts Goto Github PK

View Code? Open in Web Editor NEW
1.2K 24.0 218.0 1.96 MB

hosts for android,implement by vpn mode,supports wildcard DNS records

License: GNU General Public License v3.0

Java 99.53% Python 0.47%
hosts vpn android java virtual dns

virtual-hosts's Introduction

Virtual Hosts

hosts for android,implement by vpn mode,supports wildcard DNS records

Get it on F-Droid

Video Demo: https://www.youtube.com/watch?v=pHnsboAnm-A

Virtual Hosts app helping developers customized hosts(/system/etc/hosts) File on android devices(no root).

support wildcard DNS records.For example:

127.0.0.1 a.com     |
127.0.0.1 m.a.com   |  => 127.0.0.1 .a.com
127.0.0.1 w.m.a.com |

OPEN SOURCE LICENSES

LICENSE

Copyright (C) 2017 xfalcon

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

virtual-hosts's People

Contributors

fazlerabbi37 avatar x-falcon 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

virtual-hosts's Issues

FDroid?

Can you release this on FDroid?

I had different ISP

Hi. First of all, thank you for your great work. Works like a charm when Im using my number 1 ISP provider. However when I changed my SIM card and tried with another ISP some traffic came thru even I have same settings. It was Google related. I wonder why? It was a wierd experiment. I don't have any documents how it happened but just letting you know if you notice some problems in the future.

internet lockdown after being continuously enabled for a few days

I have been experiencing this issue, that after being enabled for a few days continuously , there is no internet at all.. no apps can access internet.
If i do ping google.com from within adb shell, there is no response:
shell@douglas:/ $ ping google.com ping: unknown host google.com
But things are back to normal, when i disable-reenable the vpn hosts.

I am on amazon fire HD 2017 tablet with Fire OS 5.4.0.0 (Based on Android 5.1.1)

Not saying, there is a bug in the app itself as amazon could be the culprit, as its heavily modified Fire OS from the stock Android.

I am attaching logcats from two sessions, when i start facing the issue. Please look, if something is wrong at the vpn hosts side.

Thank you for this app!
FireTabVpnHost-EnabledNoInternet
FireTabVpnHost-EnabledNoInternet2

Comments do not seem to work

I've encountered this weird issue days ago, demonstrated as follows:

Initially, I wrote the following lines in hosts file:

[Correct IP]    accounts.pixiv.net
#127.0.0.1      accounts.pixiv.net

Normally accounts.pixiv.net should be accessible, as the second line has been commented out (#). However, in my case I couldn't visit accounts.pixiv.net, and using ping in Termux returned 127.0.0.1, which meant the comment failed to work.

Then I removed the second line from hosts file, and immediately accounts.pixiv.net was accessible.

I'm not sure whether this problem is specific to my environment, or only occurs with this particular website. But I genuinely hope that you could look into this strange issue.

accessing /system/etc/hosts

Can't access / from this program to start it up. I can browse / with other file mgrs. Maybe I'm supposed to make up a new hosts file in an accessible dir?
'
Not really sure what I'm supposed to do with this program. I'm a linux admin with 20+ yrs experience so I do know how /etc/hosts works. I use other vpn based tools (pkt sniffer, dns changer, pkt filter etc.. Would be nice to see a program utilizing all these vpn hacks in one app but thats a different subject :)

But I'm stumped. What file am I supposed to be opening just to start this program, and how?

Virtual Host system file browser not found

I have been using a Kodi Add on that requires me to use Virtual Host. I have it all working fine on one android product but not the new one. When I go to Virtual Hosts to select the root file it says "System File Browser not found." I was using ES File explorer but uninstalled that, also uninstalled Virtual Hosts. Have Root Explorer Installed and reinstalled Virtual Hosts through that, but still get the same error. I am sure it is something small I am missing but any help would be appreciated.

Last release lacks signatures

Getting the error

ERROR: Found no signing certificates on app-Github-release.apk

Checking the file, indeed the META-INF folder is missing in the .apk. Could you please upload a fixed version? Thanks!

Does not block http traffic

Virtual Host Git hub source file:
https://github.com/x-falcon/Virtual-Hosts/releases

Tested on Samsung Galaxy S4 Android 5.0.1
Tested on Oppo R11 Android 7.1.1

Created hosts file on the device using text editor.
Testing blocking URL apple.com
17.172.224.47 apple.com
17.178.96.59 apple.com
17.142.160.59 apple.com

Still able to access apple.com website for every browser on each device.

The link on your site to the sample host file is broken

I may have set up my hosts file incorrectly

Please advise

Handling device reboots.

Please re-enable vpn hosts on boot, if the it was enabled when device rebooted, for set-once-and-forget usecase.
Thanks.

自定义hosts

你好,我的hosts文件内容:
123.125.115.110 www.test.cn

设置好hosts后,通过手机浏览器访问www.test.cn无法跳转到123.125.115.110?显示无法访问

VPN Hosts Not Working Properly, Not Blocking Game And Browser Traffic!

I Dont Know Why This Is Happening But Somehow VPN Hosts Doesnt Work Nice For ME!!
The Problem Is That Even After Setting Hosts Go To Work, It Doesnt Block Game Traffic, Tho WHen I Try To Open Website In Browser It Works(in google chrome), But In Mi Browser, The Site Still Opens!

This Is Annoying Bug I Think! NEEd TO BE FIXED ASAP
Regards,
~Agent_Orange

VPN is bypassed on Android Pie

On my Pixel with v9.0 the VPN seems to be ignored entirely. I have a hosts file with 67k entries that have no effect. Any ideas?

can't use threema web

I think it's something related to webrtc, but I'm not sure. Threema web doesn't work, even if my hosts file is empty, so I'm not really blocking it, it's something else. Can you check on that please? Or maybe add an option to exclude apps from connecting through local vpn

Firestick 4k storage permission denied

unable to set permission for storage on firestick 4k. Navigate to applications/manage applications/Virtual Hosts/Permissions. I then have to permissions to set, location and Storage. Location works fine, I can allow or deny by pressing the "select" button. Storage won't toggle between Deny and Allow, it justs makes a beep sound. Once inside the app I am unable to navigate to any file to select as hosts proxy.

No AndroidTV remote support on Android Oreo

I'm using this app (v2.0.2.1) on AndroidTV (Oreo) on Nvidia Shield and when I select "Reselect host file", I can't navigate any of the menus with the remote. It use to work with Android N. Any chance of getting this supported? Although the shield allows the game controller to show a mouse pointer, it doesn't work as soon as the nav menu appears.

Thanks!

Use Virtual Hosts with Tasker

Nice app, works like a charm. Therefore I donated for it.
Is it possible to use Use Virtual Hosts with Tasker?
I want to activate Use Virtual Hosts when connected to home wifi and deactivate when not.
My phone is not rooted.
Any help would be welcome.

HTTP to HTTPS proxy

Is it possible to add a feature that proxies HTTP to a HTTPS server?

Since this tool is oftenly used for development purposes, self-signed webites are quite commonplace. But mobile browsers in their infinite stupidity, downright block connections to self-signed websites. No way to "continue anyway" or similar, like usually possible on desktop browsers.

So the proxying feature would also have to ignore any certificate problems, which poses a security risk, but if it only works for the hosts in the hostsfile, I think it's totally okay.

How can I handle the tcp packet?

First, good job. Smart and Clear.

I had debug this code about UDP packet

Now, I need handle the tcp packet but no handle in the TCPOutPut.java

did deviceToNetworkUDPQueue had throw pass the VPN?

Plz give me one point to handle it.

Unable to browse local

When selecting a host file I can select the 3 lines in the upper left, a window slides out from the side but I cannot move the highlighted item to the internal drive. When I move up or down the unfocused window scrolls through files on the external drive that for some reason the directory is pointed to. I'm trying to switch the directory and browse to the internal drive of an Nvidia Shield TV. I have a host file on the root of the internal drive and want to point to this file.

Re-select hosts file issue

Hi!

Thanks for the great app!
It works well and very light on battery!

Anyway, I just have an issue regarding the Re-select hosts file button.

  • Turning on the vpn switch, the Re-select hosts file is grayed but can still be clicked.
  • From Local and From Internet seems to be redundant because I tried importing from a url using the From Local and it still works well.
  • Also, I think, it should be moved to the top instead at the bottom of the switch as it is not the main switch for turning on and off (for easier off-on).

Thanks!

Importing project gives an error

I tried to import the project on Android Studio. It gives me this error. Am I missing something?

Error:C:\Users\daniel.gradle\wrapper\dists\gradle-4.0.2-all\680wmhe205zg4atnbsmvvt28p\gradle-4.0.2-all.zip (The system cannot find the file specified).

stuck on browsing

the app installs but whatever internet request (lets say google search for example) wont process.
Am not sure why it is so

Not supported on Android TVs

There are a bunch of us over on Reddit trying to get this app to function on Android TVs. We can sideload the APK but get a "You don't have an app that can do this" message when we try to select a hosts file.

error in gradle

Failed to create parent directory 'C:\Users\Mr Rashid Minhas\Desktop\Virtual-Hosts.gradle' when creating directory 'C:\Users\Mr Rashid Minhas\Desktop\Virtual-Hosts.gradle\5.0-milestone-1\fileHashes'

vivo R11 浏览器不生效

配置hosts后,无论是R11自带的浏览器,还是安装的QQ浏览器都不生效。
adb shell ping确实是生效的

另外,参考【UC浏览器并不起作用】贴中的描述,关闭了QQ浏览器的云加速功能,依然不能生效。
似乎除了浏览器都生效了,请问这是为啥呢?

Get EPIPE (Broken pipe) and ECONNRESET (Connection reset by peer) errors

First of all, thanks Falcon for all your work!
I ported your project into my project, paying special attention to the imports. The VPN starts succesfully, but after I want to browse, after a few seconds I get EPIPE (Broken pipe) and ECONNRESET (Connection reset by peer) errors, and then the phone has all the internet blocked(browser and apps).

E/TCPInput: Network read error: 156.154.202.36:443:37675
java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)
at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:588)
at libcore.io.IoBridge.recvfrom(IoBridge.java:564)
at java.nio.SocketChannelImpl.readImpl(SocketChannelImpl.java:342)
at java.nio.SocketChannelImpl.read(SocketChannelImpl.java:304)
at ar.com.tag_argentina.hashomer.services.hosts.TCPInput.processInput(TCPInput.java:136)
at ar.com.tag_argentina.hashomer.services.hosts.TCPInput.run(TCPInput.java:74)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.ErrnoException: recvfrom failed: ECONNRESET (Connection reset by peer)
at libcore.io.Posix.recvfromBytes(Native Method)
at libcore.io.Posix.recvfrom(Posix.java:179)
at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:245)
at libcore.io.IoBridge.recvfrom(IoBridge.java:561)
at java.nio.SocketChannelImpl.readImpl(SocketChannelImpl.java:342) 
at java.nio.SocketChannelImpl.read(SocketChannelImpl.java:304) 
at ar.com.tag_argentina.hashomer.services.hosts.TCPInput.processInput(TCPInput.java:136) 
at ar.com.tag_argentina.hashomer.services.hosts.TCPInput.run(TCPInput.java:74) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
at java.lang.Thread.run(Thread.java:818) 

E/TCPOutput: Network write error: 216.58.202.35:443:32946
java.net.SocketException: sendto failed: EPIPE (Broken pipe)
at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
at libcore.io.IoBridge.sendto(IoBridge.java:525)
at java.nio.SocketChannelImpl.writeImpl(SocketChannelImpl.java:403)
at java.nio.SocketChannelImpl.write(SocketChannelImpl.java:361)
at ar.com.tag_argentina.hashomer.services.hosts.TCPOutput.processACK(TCPOutput.java:240)
at ar.com.tag_argentina.hashomer.services.hosts.TCPOutput.run(TCPOutput.java:94)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.ErrnoException: sendto failed: EPIPE (Broken pipe)
at libcore.io.Posix.sendtoBytes(Native Method)
at libcore.io.Posix.sendto(Posix.java:201)
at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:270)
at libcore.io.IoBridge.sendto(IoBridge.java:523)
at java.nio.SocketChannelImpl.writeImpl(SocketChannelImpl.java:403) 
at java.nio.SocketChannelImpl.write(SocketChannelImpl.java:361) 
at ar.com.tag_argentina.hashomer.services.hosts.TCPOutput.processACK(TCPOutput.java:240) 
at ar.com.tag_argentina.hashomer.services.hosts.TCPOutput.run(TCPOutput.java:94) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) 
at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
at java.lang.Thread.run(Thread.java:818) 

Using a DNS server by default

Screenshot_20190325-185750
I just checked that the app is using a DNS server (which should not, by default).
I think it is using Google DNS.

在UC浏览器并不起作用

非常好用的app! 但是我在使用UC 浏览器的时候,virtual hosts 并不能屏蔽host中的网站(其他浏览器正常)。不知道是不是因为UC有预加载的原因?

Toggle from tasker

Is there a way to toggle the state from tasker? Or could this be added?

unable to surf web or access apps

Hi, I've been using Virtual host for quite some time and had no issue on my Samsung note 8, however recently i change to Vivo Nex S and tried to use virtual host, whenever i turn on the VPN i am unable to surf the web or access any apps. It shows site cannot be reach when i tried to open any website and i tried to disable the chrome DNS but it doesn't works.

The app stops working if battery saver mode is on.

People suggested vpn apps should be removed in the battery optimization setting. Is there another way? I still want this app to be optimized even though the battery saver mode is off. Can you change the code to make this app work in battery saver mode? Maybe allow your vpn app to be an always-on-vpn may solve the problem
Thanks.

VPN Is Bypassed On Android Pie

This is to reopen bug #27

My OnePlus6 has been running virtual host for several months now with no issue. So much so, I bought the app within Google Play Store. However, I have recently upgraded my OS to Android Pie and it no longer works. If I, for example, browse to The Register it contains adverts once more. Other sites are the same.

Can you release on f-droid?

This was brought up before in #42, but it was closed. I use LineageOS without the Google Play store, so I can't download this app. I only use the F-Droid store to install apps. Can you add this app to F-Droid? The process is very straight forward, here is the guide. You just have to fill out some things about the app (the name, description, etc) and add a link to the github repo of the app. This will make F-Droid automatically build and release the app when new versions are released.

Network unavailable After connect successfully

  1. create empty file
  2. select this file
  3. open vpn
  4. open mobile browser
  5. open www.baidu.com
  6. refresh page.

Network unavailable

01-02 11:20:54.497 2940-3666/com.android.browser W/System.err: java.net.SocketTimeoutException: connect timed out
01-02 11:20:54.499 2940-3666/com.android.browser W/System.err:     at java.net.PlainSocketImpl.socketConnect(Native Method)
01-02 11:20:54.499 2940-3666/com.android.browser W/System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
01-02 11:20:54.499 2940-3666/com.android.browser W/System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
01-02 11:20:54.501 2940-3666/com.android.browser W/System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
01-02 11:20:54.501 2940-3666/com.android.browser W/System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
01-02 11:20:54.501 2940-3666/com.android.browser W/System.err:     at java.net.Socket.connect(Socket.java:586)
01-02 11:20:54.501 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.AndroidPlatform.connectSocket(SourceFile:55)
01-02 11:20:54.501 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.io.RealConnection.connectSocket(SourceFile:185)
01-02 11:20:54.502 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.io.RealConnection.buildConnection(SourceFile:170)
01-02 11:20:54.502 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.io.RealConnection.connect(SourceFile:111)
01-02 11:20:54.502 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.http.StreamAllocation.findConnection(SourceFile:187)
01-02 11:20:54.502 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.http.StreamAllocation.findHealthyConnection(SourceFile:123)
01-02 11:20:54.502 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.http.StreamAllocation.newStream(SourceFile:93)
01-02 11:20:54.503 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.http.HttpEngine.connect(SourceFile:296)
01-02 11:20:54.503 2940-3666/com.android.browser W/System.err:     at okhttp3.internal.http.HttpEngine.sendRequest(SourceFile:248)
01-02 11:20:54.503 2940-3666/com.android.browser W/System.err:     at okhttp3.RealCall.getResponse(SourceFile:243)
01-02 11:20:54.503 2940-3666/com.android.browser W/System.err:     at okhttp3.RealCall$ApplicationInterceptorChain.proceed(SourceFile:201)
01-02 11:20:54.503 2940-3666/com.android.browser W/System.err:     at okhttp3.logging.HttpLoggingInterceptor.intercept(SourceFile:145)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at okhttp3.RealCall$ApplicationInterceptorChain.proceed(SourceFile:190)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at okhttp3.RealCall.getResponseWithInterceptorChain(SourceFile:163)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at okhttp3.RealCall.execute(SourceFile:57)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at retrofit2.OkHttpCall.execute(SourceFile:174)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(SourceFile:89)
01-02 11:20:54.504 2940-3666/com.android.browser W/System.err:     at miui.browser.e.b.a(SourceFile:138)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at miui.browser.e.b.a(SourceFile:124)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at miui.browser.e.a.a(SourceFile:14)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at miui.browser.a.b$4.run(SourceFile:180)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
01-02 11:20:54.505 2940-3666/com.android.browser W/System.err:     at java.lang.Thread.run(Thread.java:760)

Infinite Loop When Trying To Perform A Redirect Dns Poisoning!

So let me get my point clear, I'm trying to poison a game by dns poisoning, so what I'm trying to do is that consider I have three websites, A, X And Y in format like (A.com, etc), now let us assume the site X is of game site, what I'm trying to do is to setup a vpn using virtual hosts and inject the IP of site A (which is attacker's site), so that the game will contact site A as a whole, but then the site A will check what game is requesting, if it is a request to get no of golds and currency of user then the site will smartly inject its own response and send it to client, but if that might not be the case, then the site will simply send a redirect request following to the original site (Site X Or Y)

Y is canonical name of site X, both refer to same place, but they are canonical names, ie let x and y be
X - server.xyzgames.com
Y - gdh22hs32.cloudfront.com

Now here comes the issue, when going to site Y through a redirect done by Site A, the game request backs the site Y again, this in turn once again inject the Y's ip address with Site A's Ip, and hence an infinite Loop is formed, which results in no receiving of data and on server site infinite requests!

Is there any way to fix this problem? Also I have fully imported and using your codes right now, they are amazing!

Firestick will not download V-H apk

When i click on apk, whether in ES or Downloader - file just does not download. Im trying to eliminate the 'doesnt resolve to the lazyman server' message and get Lazyman to work correctly in Kodi 17.6. Can u help?

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.