n2n是一个支持内网穿透p2p的VPN项目,最初由ntop.org大神Luca Deri deri@ntop.org, Richard Andrews andrews@ntop.org开发并开源的项目,后由meyerd大神 https://github.com/meyerd继续做优化工作。我们的目的是在几位大神的基础上做持续优化并提供手机版本的支持。
Luca Deri
Richard Andrews
meyerd
手机版本
原版的n2n支持很多平台,包括windows,linux,osx,bsd,openwrt,raspberry pie等,唯独缺少对手机(非root)的支持。因此,我们开发了Hin2n项目。
Hin2n是支持n2n协议的手机VPN软件
该APP不需要root手机
该APP暂时只支持安卓手机,后续会发开IPhone版本
该项目现处于持续开发阶段,仅支持基本的配置连接功能,后续会提供更完善的功能
该项目现只支持n2n_v2s协议,其他版本的n2n协议正在开发中
CHANGELOG
Hin2n最新版本可在release地址查看下载。
详细开发计划请见Projects。 大家如果有新需求和想法,任何意见建议均可提交在issues中,我们将会酌情安排开发计划。您的关注就是我们的动力。
Projects
issues
Hin2n基于安卓原生提供的VPNService,通过VPNService建立tun虚拟网卡,与supernode和edge通讯。
安卓上层仅支持建立tun虚拟网卡,仅是TCP/IP网络层,而n2n协议依赖tap虚拟网卡,需要对数据链路层的支持,因此我们模拟了数据链路层,并实现了ARP协议。
Hin2n对n2n协议的支持是采用jni的方式,native方法可以尽量复用原n2n项目的代码。
n2n项目现有三个主流版本
ntop.org大神们维护的v1版本,项目地址:https://github.com/meyerd/n2n.git(n2n_v1)
ntop.org大神们维护的v2版本,项目地址:https://github.com/ntop/n2n.git
meyerd大神维护的v2s版本,项目地址:https://github.com/meyerd/n2n.git(n2n_v2)
v2s版本是N2N交流QQ群(256572040)中对meyerd大神维护的v2版本(又称v2.1)的命名,即v2升级版,该版本与ntop.org大神们维护的v2版本并不互通,为避免混淆,群友们对该项目另行命名。
git clone https://github.com/switch-iot/n2n_vLTS.git --recurse-submodules
--recurse-submodules
windows环境下需要在项目文件夹下执行link.bat,用于替换linux下的符号链接
link.bat
An2n目录即是Hin2n项目安卓源码目录(由于历史原因,原来该项目名为an2n)
An2n目录下执行gradlew assemble编译
gradlew assemble
An2n项目的gradle是2.14.1版本,如需4.4版本的gradle,请将分支dev_android_gradle4.4下的文件拷贝至分支dev_android下,覆盖相应的文件
dev_android_gradle4.4
dev_android
该项目以GPLv3协议进行开源,与n2n原有开源协议保持一致,也希望大家支持并遵守本项目的开源协议。
GPLv3
Hin2n是一个免费且开源的n2n项目,我们欢迎任何人为其开发和进步贡献力量。
在使用过程中出现任何问题,可以通过issues 来反馈
Bug的修复可以直接提交Pull Request到android_dev分支
Pull Request
android_dev
如果是增加新的功能特性,请先创建一个issues并做简单描述以及大致的实现方法,提议被采纳后,就可以创建一个实现新特性的 Pull Request
欢迎对说明文档做出改善,帮助更多的人使用Hin2n,特别是英文文档
Hin2n
如果您觉得Hin2n对您有帮助,欢迎您关注该项目,并给项目点个Star
Star
lucktu是Hin2n项目的发起人,对该项目起到至关重要的作用,感谢lucktu对该项目的组织、推广、测试等工作
lucktu
zhangbz主要负责Android层面的开发,在项目最困难的时候,给予了强有力的支持,zhangbz的参与,使得该项目得以继续
zhangbz
同时也感谢广大群友对我们的支持