Git Product home page Git Product logo

simplert's Introduction

SimpleRT

Reverse Tethering utility for Android.

Allows you to share your computer's internet connection with your Android device via a USB cable.

Development is still in progress, bugs and errors can occur.

IMPORTANT!
   If you have any issues with this tool, please, provide some logs:
   - run util in debug mode (-d), connect your device
   - run "ip addr show"
   - run "ip route show"
   - store this output into issue ticket on github
FIRST RUN: check out -h option!
   simple-rt -h
   usage: sudo ./simple-rt [-h] [-i interface] [-n nameserver|"local" ]
   default params: -i eth0 -n 8.8.8.8

No root, no adb required!

Full Linux and macOS support! Windows version is in early researching.

Current version features:

  • Multi-tether. You can connect several android devices into one virtual network!
  • DNS server specifying (custom or system one).

The SimpleRT utility consists of 2 parts:

  • Android part:

    Implemented as standalone service, no gui, no activities. Simplicity!

    Dependencies:

    • Android 4.0 and higher.

    Build system based on gradle + gradle experimental android plugin (supporting ndk). For build you need both sdk & ndk. Create local.properties file in root dir, it should be looking like that:

    ndk.dir=/home/viper/Android/Sdk/ndk-bundle
    sdk.dir=/home/viper/Android/Sdk
    

    build:

    ./gradlew assembleDebug
    

    app/build/outputs/apk/app-debug.apk is your apk.

    Now available in f-droid

    A prebuilt apk can also be found under Downloads at the Github releases tab.

  • Desktop part:

    Dependencies:

    • libusb-1.0
    • libresolv (usually already present in both linux and macos)
    • tuntap kernel module (linux version), utun (macos version, builtin)

    before build (debian-based example):

    sudo apt install build-essential pkg-config libusb-1.0-0-dev
    

    Makefile is universal for all platforms, just type "make && make install" to install it in prefix /usr/local and check /usr/local/sbin is in your PATH-variable.
    If you want to change the prefix path eg. to install it in /usr instead of /usr/local you can type "make prefix=/usr && make prefix=/usr install".
    If you don't want to install but just run it from within build directory you can type "make iface_up_sh_path=.".

Usage:

  • run console util as root (sudo simple-rt). The iface_up.sh file needs to be present in the application folder.
  • connect your android device

First connection requires some trivial steps:

First step

Second step

Third step

Issues: Some apps do not recognize the reverse tethered internet connection due to ConnectivityManager policy. Just leave WiFi or 3g connection active, connection will go through SimpleRT anyway.

Partially uses code from linux-adk, which is licensed under the GNU GPLv2 or later. This project is under the GNU GPLv3 or later, which is compatible with the license of linux-adk.

License: GNU GPL v3
SimpleRT: Reverse tethering utility for Android
Copyright (C) 2016 Konstantin Menyaev

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/>.

simplert's People

Contributors

vvviperrr avatar candysunplus avatar sur3 avatar eugene-sevostianov-sc avatar robinpaulson avatar bromptonista avatar cyphar avatar

Stargazers

 avatar Samuel Wilson avatar

Watchers

 avatar James Cloos avatar  avatar Samuel Wilson avatar

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.