You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/tools/n2n-dev/android/Hin2n/README_zh.md

4.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

n2n_vLTS

README | 中文文档

n2n是一个支持内网穿透p2p的VPN项目最初由ntop.org大神Luca Deri deri@ntop.org, Richard Andrews andrews@ntop.org开发并开源的项目,后由meyerd大神 https://github.com/meyerd继续做优化工作。我们的目的是在几位大神的基础上做持续优化并提供手机版本的支持。

Hin2n

原版的n2n支持很多平台包括windowslinuxosxbsdopenwrtraspberry pie等唯独缺少对手机(非root)的支持。因此我们开发了Hin2n项目。

Hin2n是什么

  • Hin2n是支持n2n协议的手机VPN软件
  • 该APP不需要root手机
  • 该APP暂时只支持安卓手机后续会发开IPhone版本
  • 该项目现处于持续开发阶段,仅支持基本的配置连接功能,后续会提供更完善的功能
  • 该项目现只支持n2n_v2s协议其他版本的n2n协议正在开发中

Hin2n最新版本 CHANGELOG

Hin2n最新版本可在release地址查看下载。

Hin2n开发计划

详细开发计划请见Projects。 大家如果有新需求和想法,任何意见建议均可提交在issues中,我们将会酌情安排开发计划。您的关注就是我们的动力。

技术原理

  • VPNService

Hin2n基于安卓原生提供的VPNService通过VPNService建立tun虚拟网卡与supernode和edge通讯。

  • tun2tap

安卓上层仅支持建立tun虚拟网卡仅是TCP/IP网络层而n2n协议依赖tap虚拟网卡需要对数据链路层的支持因此我们模拟了数据链路层并实现了ARP协议。

  • n2n protocol

Hin2n对n2n协议的支持是采用jni的方式native方法可以尽量复用原n2n项目的代码。

n2n协议版本

n2n项目现有三个主流版本

关于v2s版本

v2s版本是N2N交流QQ群(256572040)中对meyerd大神维护的v2版本(又称v2.1)的命名即v2升级版该版本与ntop.org大神们维护的v2版本并不互通为避免混淆群友们对该项目另行命名。

项目开发/编译说明

Hin2n

  • git clone https://github.com/switch-iot/n2n_vLTS.git --recurse-submodules
  • windows环境下需要在项目文件夹下执行link.bat用于替换linux下的符号链接
  • Hin2n_android目录即是Hin2n项目安卓源码目录
  • Hin2n_android目录下执行gradlew assemble编译
  • Hin2n_android项目的gradle是2.14.1版本如需4.4版本的gradle请将分支dev_android_gradle4.4下的文件拷贝至分支marster/dev_android下,覆盖相应的文件

关于开源协议

该项目以GPLv3协议进行开源与n2n原有开源协议保持一致也希望大家支持并遵守本项目的开源协议。

为Hin2n做贡献

Hin2n是一个免费且开源的n2n项目我们欢迎任何人为其开发和进步贡献力量。

  • 在使用过程中出现任何问题,可以通过issues 来反馈
  • Bug的修复可以直接提交Pull Requestandroid_dev分支
  • 如果是增加新的功能特性,请先创建一个issues并做简单描述以及大致的实现方法,提议被采纳后,就可以创建一个实现新特性的 Pull Request
  • 欢迎对说明文档做出改善,帮助更多的人使用Hin2n,特别是英文文档
  • 如果您觉得Hin2n对您有帮助欢迎您关注该项目并给项目点个Star

贡献者

  • lucktu是Hin2n项目的发起人对该项目起到至关重要的作用感谢lucktu对该项目的组织、推广、测试等工作
  • zhangbz主要负责Android层面的开发在项目最困难的时候给予了强有力的支持zhangbz的参与,使得该项目得以继续
  • 同时也感谢广大群友对我们的支持

交流群

  • Hin2n交流群 769731491(QQ群号)
  • N2N交流群 256572040(QQ群号)