• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

switch-iot/hin2n: n2n support for mobiles

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

switch-iot/hin2n

开源软件地址(OpenSource Url):

https://github.com/switch-iot/hin2n

开源编程语言(OpenSource Language):

C 96.8%

开源软件介绍(OpenSource Introduction):

Hin2n

README | 中文文档

N2N is a VPN project that supports p2p. It was originally developed and open sourced by Luca Deri [email protected], Richard Andrews [email protected] of ntop.org, and Meyerd https://github.com/meyerd continues to do optimization work. Our goal is to provide mobile version support.

gradle API license GitHub release Github All Releases Travis branch

The original n2n supports many platforms, including windows, linux, osx, bsd, openwrt, raspberry pie, etc., except for mobile phones(non-root). Therefore, we have developed the hin2n project.

What is hin2n

  • Hin2n is a mobile VPN app that supports the n2n protocol
  • Hin2n does not need a rooted phone
  • Hin2n only supports Android phones for now, IPhone version will be developed in the future
  • Hin2n is currently in continuous development and will gradually provide more complete versions
  • Hin2n now supports all v1/v2s/v2/v3 protocols

Hin2n latest version CHANGELOG

The latest version of hin2n is available for download at release link.

Hin2n Development Plan

View the development plan at Projects. If you have new features and ideas, you can submit them in issues, and we will arrange development plans as appropriate. Your concern is our motivation.

Technical principle

  • VPNService

Hin2n is based on Android's native VPNService. It builds a tun virtual network card through VPNService and communicates with supernode and edges.

  • tun2tap

Android only supports tun virtual network card, only support network layer, and n2n requires tap virtual network card, which needs data link layer support. So we simulated the data link layer and ARP protocol.

  • n2n protocol

Hin2n supports the n2n protocol by using the native method of jni to reuse the code of the original n2n project as far as possible.

N2N protocol version

There are four popular versions of the n2n project

About v2s version

The v2s is the renaming of the v2 (also known as v2.1) developed by master Meyerd in the QQ group(5804301), that is, the v2 upgrade version. The v2s version is not compatible with the v2 version developed by the ntop.org masters. To avoid confusion, the QQ group friends named the project separately.

Development and compilation

Project Structure

The n2n source code is linked to the hin2n directory via git submodules, which are located into the bundles directory. hin2n provides the CMakeLists.txt file to build all the supported n2n versions from the corresponding submodule. The submodules actually link a fork of the official n2n source code repositories (e.g. https://github.com/switch-iot/n2n_ntop) in order to guaranteed that the compilation of hin2n always succedes. The ntop v2 fork is a 1:1 copy of the official repository, which will be periodically updated to reflect the upstream changes.

How to compile on linux

Using ubuntu as an example (need java and sdk environment support)

  • cd /opt
  • git clone https://github.com/switch-iot/hin2n.git --recurse-submodules # download source
  • cd hin2n/Hin2n_android # hin2n_android directory is the hin2n project android source directory
  • ./gradlew assemble # compile hin2n (You can compile one of the files: ./gradlew assembleNormalAllarchDebug ). If you are using android studio, use "Import Project", then select the Hin2n_android directory and build the app module. The compiled files are here: hin2n/Hin2n_android/app/build/outputs/apk/
  • When switching branches, you need to execute git submodule update to synchronize the code of the submodules

How to compile on windows

The git compatible symbolic link needs to be set in the windows environment.

  • Launch gpedit.msc, and add the account(s) to Computer Configuration/Windows Setting/Security Settings/Local Policies/User Rights Assignment/Create symbolic links
  • Or run git-cmd as an administrator user, and execute the following command
  • git clone -c core.symlinks=true https://github.com/switch-iot/hin2n.git --recurse-submodules && cd hin2n && link.bat

About open source agreement

The project is open sourced under the GPLv3 agreement, and is consistent with the original open source agreement of n2n. We also hope that everyone will support and comply with the open source agreement of this project.

Contribute to hin2n

Hin2n is a free and open source n2n project, and we welcome anyone to contribute to it.

  • Any problems in use can be fed back through 'issues'
  • Bug fixes can submit Pull Request to android_dev branch
  • If you want to add a new feature, please create an issues first to describe the new feature, as well as the implementation approach. Once a proposal is accepted, create an implementation of the new features and submit it as a pull request.
  • Sorry for my poor english and improvement for this document is welcome even some typo fix.
  • Welcome to pay attention to the project and give the project a Star

Contributors

  • lucktu is the initiator of the hin2n project, and has done some promotion, test work.
  • switch was the project director, and he was the architect. without switch, there's no hin2n.
  • zhangbz is mainly responsible for the development of the Android level, and has given strong support in the most difficult time of the project.
  • emanuele-f provides the latest hin2n source code, and has made a great contribution to the development of ntop's n2n.
  • Thanks to their selfless dedication, But also thanks all the friends for their support.

QQ group

  • Hin2n QQ group: 769731491
  • N2N QQ group: 5804301



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap