Giter Club home page Giter Club logo

node-tap's People

Contributors

rc452860 avatar srar 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  avatar  avatar  avatar  avatar

node-tap's Issues

win10下使用手机USB共享网络导致的报错

发现错误后,开始挺奇怪的,以为是系统的关系(因为之前成功运行过),排除很多项后,考虑到会不会是因为用手机USB共享网络链接的关系,尝试电脑直接链接校园WiFi后发现没有问题(排除校园WiFi的问题).后用手机移动网络开热点也没有发现问题,基本判断为手机USB共享网络给电脑导致的问题(问题较为小众)。
报错信息如下

Route deletion failed. Code: 1168. Route: 10.198.75.255/255.255.255.255
IPv6 has been disabled.
netsh interface ipv4 set interface 22 metric=1 
netsh interface ipv6 set interface 22 metric=1 
netsh interface ipv4 set dnsservers 22 static 8.8.8.8 primary 
netsh interface ip set address name=22 static 10.198.75.60 255.255.255.0 10.198.75.61 
route delete 0.0.0.0 10.198.75.61 
route delete 8.8.8.8 
route add ********* mask 255.255.255.255 192.168.42.129 metric 1 
route add ********* mask 255.255.255.255 192.168.42.129 metric 1 
netsh int ipv6 delete route ::/0 interface=22 nexthop=fd05:5dd5:b158:0b23:0000:0000:0000:0004 
netsh int ipv6 delete address interface=22 address=fd05:5dd5:b158:0b23:0000:0000:0000:0005 
XTUdp: 20
Default ip of adapter: 192.168.42.227
Default gateway of adapter: 192.168.42.129
Unhandled Rejection at: Promise Promise {
<rejected> TypeError: device must be a string
at registerXTUdp (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
at Object.<anonymous> (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10)
at Module.load (module.js:552:32)
at tryModuleLoad (module.js:495:12)
at Function.Module._load (module.js:487:3)
at Module.require (module.js:577:17)
at Module.require (pkg/prelude/bootstrap.js:1153:31)
at require (internal/module.js:11:18) } reason: TypeError: device must be a string
at registerXTUdp (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
at Object.<anonymous> (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10)
at Module.load (module.js:552:32)
at tryModuleLoad (module.js:495:12)
at Function.Module._load (module.js:487:3)
at Module.require (module.js:577:17)
at Module.require (pkg/prelude/bootstrap.js:1153:31)
at require (internal/module.js:11:18)

IPV6

更新的话可否支持ipv6地址
现在v6地址不能用

编译错误

之前用node.js 8是可以编译成功的。
但是今天我换了nodejs 10,当我安装依赖 执行“npm install --unsafe”,
raw-sockt有错误生成。不知是何原因?

capture

关于nat

在开启代理后,使用NatTypeTester检测的结果是FullCone,但是在gtaol检测到的是Symmetric

NatTypeTester测试工具是https://github.com/HMBSbige/NatTypeTester
使用Wireshark抓包:
1
但是理论上如果nat类型是FullCone则应该会收到111.206.174.2的响应

关于路由设置

参数中的routes指定的是转发路由,是否可以提供支持来不转发指定的ip?

关于读取和写入raw数据的问题

这是test.ts 文件中 281行的代码:

sse
这几个data变量我有些不理解。

  1. 第一个是从虚拟网卡中读取的Raw数据,

  2. 第二个也是?

  3. 第三个写进虚拟网卡的data是请求返回来的,经过解密的数据吗?

Unhandled Rejection at: Promise Promise

今天有空试了下您的node-sstap,出现了如下的错误:
Unhandled Rejection at: Promise Promise {
Error: The specified module could not be found.
\?\F:_git\NodeTapGui\NodeTapGui\bin\x64\Debug\node_modules\cap\build\Release\cap.node
at Object.Module._extensions..node (module.js:662:18)
at Module.load (module.js:552:32)
at tryModuleLoad (module.js:495:12)
at Function.Module._load (module.js:487:3)
at Module.require (module.js:577:17)
at Module.require (pkg/prelude/bootstrap.js:1153:31)
at require (internal/module.js:11:18)
at Object. (C:\snapshot\node-tap\node_modules\cap\lib\Cap.js:3:13)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10) } reason: Error: The specified module could not be found.
\?\F:_git\NodeTapGui\NodeTapGui\bin\x64\Debug\node_modules\cap\build\Release\cap.node
at Object.Module._extensions..node (module.js:662:18)
at Module.load (module.js:552:32)
at tryModuleLoad (module.js:495:12)
at Function.Module._load (module.js:487:3)
at Module.require (module.js:577:17)
at Module.require (pkg/prelude/bootstrap.js:1153:31)
at require (internal/module.js:11:18)
at Object. (C:\snapshot\node-tap\node_modules\cap\lib\Cap.js:3:13)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10)

测试平台:
Window 10 x64 16299
nmap-7.70
tap-windows-9.21.2

命令格式:
.\sstap.exe --host ***. --port 10086 --passwd ***** --xtudp 20 --method aes-256-gcm --tcphost ***. --tcpport 10086 --tcppasswd ***** --tcpmethod aes-256-gcm

另外小生顺便写了个GUI小程序,用来调用您的Node SSTap
image

如何使用

請問怎麼使用?
已經下載已經打包完的版本。

已經安裝安裝Npcap(Windows10),並勾上Install Npcap in WinPcap API-compatible Mode。

但是使用管理員權限CMD命令運行節點sstap。

我卡在命令說
沒有.\sstap.exe
這種文件

請問我該怎麼解決

长时间大流量下载会崩溃

虽然不知道什么原因,我下载一个25G大小的文件,速度大概10MB/s,但是下载几分钟程序就自己退出了。有什么办法找到原因?

关于test.ts中路由配置的问题

在test.ts中的注释中写道:
1.设置路由表,
2.添加自定义路由表,

我不明白,为啥已经设置路由表了,为何还要添加自定义路由表,

这个自定义路由表有何作用?

报错

ʕ •ᴥ•ʔ Welcome to use node sstap.
$ .\sstap.exe --host xxxxx --port 8989 --passwd xxxxxx --xtudp 20 --method aes-256-cfb --tcphost xxxxxxx --tcpport 8989 --tcppasswd xxxxxxx --tcpmethod aes-256-cfb
Route deletion failed. Code: 1168. Route: 10.198.75.255/255.255.255.255
IPv6 has been disabled.
netsh interface ipv4 set interface 3 metric=1
netsh interface ipv6 set interface 3 metric=1
netsh interface ipv4 set dnsservers 3 static 8.8.8.8 primary
netsh interface ip set address name=3 static 10.198.75.60 255.255.255.0 10.198.75.61
route delete 0.0.0.0 10.198.75.61
route delete 8.8.8.8
route add xxxxxxxx mask 255.255.255.255 192.168.1.1 metric 1
route add xxxxxxxxx mask 255.255.255.255 192.168.1.1 metric 1
netsh int ipv6 delete route ::/0 interface=3 nexthop=fd05:5dd5:b158:0b23:0000:0000:0000:0004
netsh int ipv6 delete address interface=3 address=fd05:5dd5:b158:0b23:0000:0000:0000:0005
XTUdp: 20
Default ip of adapter: 0.0.0.0
Default gateway of adapter: 192.168.1.1
Unhandled Rejection at: Promise Promise { 71817629 } reason: 71817629

虚拟网卡

TA-windows Adapter这个虚拟网卡,是自动截取physical网卡的数据吗?

是不是网络数据先经过虚拟网卡再经过physical网卡,如下:

data -> virutal adapter -> physical adapter

如何调试运行这个项目

各位大神,请问如何调试运行这个项目?我想深入解刨一下。
我有vs2017,也安装了TypeScript

想弄懂你的代码

本人平时只用java,python,js,请问只学TypeScript能弄懂这些代码吗,有点摸不着头脑,我看有很多cpp文件啊,那个要管吗

关于raw-socket 跟cap 库的问题

node_modules里面有两个库一个cap,一个raw-socket,

请问这两个库分别起到了什么作用?

我在查看源代码时在filters/TimesUDP.ts中看到了,但是没看懂是什么意思

校园网冲突问题

这个会把与校园网通信的流量也转发了,然后校园网断网。。 希望能改进一下

运行报错,启动没有效果

node 版本
v8.9.4

执行命令

sstap.exe --host xxx --port xxx --passwd xxx --xtudp 20 --method aes-256-cfb --tcphost xxx --tcpport xxx --tcppasswd xxxx --tcpmethod aes-256-cfb

运行结果

netsh interface ipv4 set interface 13 metric=1
netsh interface ipv6 set interface 13 metric=1
netsh interface ipv4 set dnsservers 13 static 8.8.8.8 primary
netsh interface ip set address name=13 static 10.198.75.60 255.255.255.0 10.198.75.61
route delete 0.0.0.0 10.198.75.61
route delete 8.8.8.8
route add 10.1.1.11 mask 255.255.255.255 192.168.1.1 metric 1
route add 47.75.34.*** mask 255.255.255.255 192.168.1.1 metric 1
route add 47.75.34.*** mask 255.255.255.255 192.168.1.1 metric 1
create ip forward entry result: ERROR code: 5
XTUdp: 20
Default ip of adapter: 192.168.1.10
Default gateway of adapter: 192.168.1.1
Unhandled Rejection at: Promise Promise {
  <rejected> Error: ��һ�ַ���Ȩ�޲�����ķ�ʽ����һ�������׽��ֵij��ԡ�

    at new Socket (C:\snapshot\node-tap\node_modules\raw-socket\index.js:47:14)
    at Object.exports.createSocket (C:\snapshot\node-tap\node_modules\raw-socket\index.js:202:9)
    at registerXTUdp (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
    at Object.<anonymous> (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
    at Module._compile (pkg/prelude/bootstrap.js:1243:22)
    at Object.Module._extensions..js (module.js:644:10)
    at Module.load (module.js:552:32)
    at tryModuleLoad (module.js:495:12)
    at Function.Module._load (module.js:487:3)
    at Module.require (module.js:577:17) } reason: Error: ��һ�ַ���Ȩ�޲�����ķ�ʽ����һ�������׽��ֵij��ԡ�

    at new Socket (C:\snapshot\node-tap\node_modules\raw-socket\index.js:47:14)
    at Object.exports.createSocket (C:\snapshot\node-tap\node_modules\raw-socket\index.js:202:9)
    at registerXTUdp (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
    at Object.<anonymous> (C:\snapshot\node-tap\output\filters\TimesUDP.js:0:0)
    at Module._compile (pkg/prelude/bootstrap.js:1243:22)
    at Object.Module._extensions..js (module.js:644:10)
    at Module.load (module.js:552:32)
    at tryModuleLoad (module.js:495:12)
    at Function.Module._load (module.js:487:3)
    at Module.require (module.js:577:17)

不知道大佬这个是什么原因,我下的 1.1 的版本

怎么搭配“无界”翻墙软件使用?

一直都是配置不成功

.\sstap.exe --host 192.168.199.170 --port 9667
Usage: D:\tool\GWF\node-sstap\node-sstap\sstap.exe C:\snapshot\node-tap\output\test.js --host [shadowsocks host] --port [shadowsocks port] --passwd
[shadowsocks password] --xtudp [x times udp packets]

Options:
  --xtudp      [default: 1]
  --host
  --port
  --passwd
  --method
  --tcphost
  --tcpport
  --tcppasswd
  --tcpmethod
  --udphost
  --udpport
  --udppasswd
  --udpmethod
  --dns        [default: "8.8.8.8"]
  --v6dns      [default: "2001:4860:4860::8888"]
  --skipdns    [default: "false"]
  --disablev6  [default: "true"]
  --routes     [default: "0.0.0.0/0"]

image

win10中可供替代npcap的选择:win10pcap

Win10Pcap是由日本筑波大学计算机科学博士生Daiyuu Nobori编写的个人项目 。Win10Pcap的很多部分都来自 WinPcap。

Win10Pcap具有以下功能:

Win10Pcap在x86和x64上与Windows 10一起稳定运行。
Win10Pcap在NDIS 6.x驱动程序模型中实现。
(最初的WinPcap是在NDIS 5.x驱动程序模型中实现的。)
Win10Pcap还可以在x86和x64上与Windows 8.1,8,7,Server 2016,Server 2012 R2,Server 2012和Server 2008 R2一起使用。
Win10Pcap是GPLv2许可下的 开源软件。
Win10Pcap支持 捕获IEEE802.1Q VLAN标记。
Win10Pcap修复了原始WinPcap上的NIC枚举错误。
WinPcap只能枚举启动时存在的NIC。无法枚举在引导时间之后添加的任何NIC。
Win10Pcap可以正确枚举所有现有NIC,包括在引导时间之后添加的NIC。
Win10Pcap支持最多10,000个八位字节的巨型帧。
Win10Pcap与原始WinPcap DLL具有二进制兼容性。
内核模式Win10Pcap设备驱动程序已于2015年6月8日获得Microsoft的“Windows 10 Compatible”徽标

测试中配合node-tap并无任何问题(这是当然),且安装更为简洁快速.

官网:http://www.win10pcap.org

ipv6地址不能解析

.\sstap.exe --host 2001:da8:8000:1:202:120:2:101 --port 443 --passwd sr011530 --xtudp 20 --method aes-256-cfb --disablev6 false
Unhandled Rejection at: Promise Promise {
{ Error: queryA ENOTFOUND 2001:da8:8000:1:202:120:2:101
at errnoException (dns.js:50:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:238:19)
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'queryA',
hostname: '2001:da8:8000:1:202:120:2:101' } } reason: { Error: queryA ENOTFOUND 2001:da8:8000:1:202:120:2:101
at errnoException (dns.js:50:10)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:238:19)
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'queryA',
hostname: '2001:da8:8000:1:202:120:2:101' }

还是无法使用ipv6吗

关于编译32位的问题

我打算编译32位的库,遇到了一些问题;
环境:
Win7旗舰版32位,
vs2017,
nodejs 32
python 2.5
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
首先我修改了pacage.json,如下图红色圈圈所示:
image

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
但是当我#编译native库 “npm run compile” 时,
出现了一些问题,请问如何修改?
image

不是很理解为什么要重新实现一个ss client

ss client在本地默认应该是有监听一个端口作为socks5代理的, 直接将tun设备接收到的流量按socks5格式encode然后直接导进socks5端口不就ok了?这样还免去了自己实现pac,加密方式等很多事情。

不是很理解,望指正。谢谢。

指定dns

我自己搭建了一个分流的dns,但是指定dns之后无法上网了,(我还加了--skipdns true不知道是否有影响)

无法找到默认网卡

Installing driver...
Install driver successfully.
Unhandled Rejection at: Promise Promise {
Error: 无法找到默认网卡.
at C:\snapshot\node-tap\output\test.js:0:0
at Generator.next ()
at __awaiter (C:\snapshot\node-tap\output\test.js:0:0)
at new Promise ()
at __awaiter (C:\snapshot\node-tap\output\test.js:0:0)
at main (C:\snapshot\node-tap\output\test.js:0:0)
at Object. (C:\snapshot\node-tap\output\test.js:0:0)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10)
at Module.load (module.js:552:32) } reason: Error: 无法找到默认网卡.
at C:\snapshot\node-tap\output\test.js:0:0
at Generator.next ()
at __awaiter (C:\snapshot\node-tap\output\test.js:0:0)
at new Promise ()
at __awaiter (C:\snapshot\node-tap\output\test.js:0:0)
at main (C:\snapshot\node-tap\output\test.js:0:0)
at Object. (C:\snapshot\node-tap\output\test.js:0:0)
at Module._compile (pkg/prelude/bootstrap.js:1243:22)
at Object.Module._extensions..js (module.js:644:10)
at Module.load (module.js:552:32)

WIndows 10 1809
node-tap 1.33
npcap 0.99-r9

我在启动时遇见如上的错误,但是npcap网卡也安装了,电脑里其余的tap网卡也卸载了,还是不行

一个很奇怪的问题。

国际服冒险岛和台服冒险岛,台服冒险岛代理成功,按道理来说国际服应该也能代理。

但是,国际服实际测试,不管怎么配置SSTAP都无法代理成功,同一台服务器上搭建的VPN却能代理成功。

用哪个指令可以关闭连接

我用管理员权限打卡shell,输入指令--host xxx --port xxx --passwd xxx --xtudp x --method xxx --skipdns true,连接成功。
我想知道用哪个指令可以关闭这个连接?

因为我做了一个界面
image

第一个按钮,调用指令进行连接。
第二个指令,断开连接。(不知道要调用哪个指令)

在有控制台的时候,关闭控制台可以断开,但是我隐藏了控制台

关于加密方式的问题

在 TCPClient 中加密方法调用的是encryptData(),
而在 UDPClient 中调用的加密方法是encryptDataWithoutStream(),

这是为啥?

建议ss和node-tap分开,node-tap专注做socks5to全局

建议ss和node-tap分开,不要合在一起。而node-tap专注做socks5to全局。
那样可以
1.让用户灵活搭配:ss/ssr/v2ray都是分出socks5 127.0.0.1:1080给用户接入以使用它们。node-tap支持socks5的话,就可以和其他代理软件任意搭配,让用户有更多的选择。

2.减少开发量:这样做可以把专门的事情交给专门的软件去做,而不用ss更新一次,node-tap又要做一次整合,减少这种无谓的版本更新。

not work

Hello,I got this error message when trying to run sstap
2018-03-31_234458

关于Npcap 驱动的问题

我想把Npcap 各个驱动文件抽离出来,自己写一个Install.bat文件进行安装,

就像tap的driver文件一样。
tap
这个可行吗?
怎么写这个inatall.bat文件?

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.