mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 20:44:38 +03:00
fix: v2ray socks server udp mapping
This commit is contained in:
@@ -1 +1 @@
|
|||||||
a35785438ebee68eb9d2544d671769a318182687
|
07a3c272a42ce0fe834a645176d663ce3b193e49
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
core "github.com/v2fly/v2ray-core/v5"
|
||||||
)
|
)
|
||||||
|
|
||||||
type server struct {
|
type server struct {
|
||||||
@@ -212,12 +213,10 @@ func (s *server) Test(ctx context.Context, in *gen.TestReq) (out *gen.TestResp,
|
|||||||
result := make(chan string, 0)
|
result := make(chan string, 0)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
stunServer := "206.53.159.130:3478"
|
pc, err := core.DialUDP(context.TODO(), i.Core)
|
||||||
stunAddr, _ := net.ResolveUDPAddr("udp4", stunServer)
|
|
||||||
pc, err := i.DialUDP(stunAddr)
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
stunClient := stun.NewClientWithConnection(pc)
|
stunClient := stun.NewClientWithConnection(pc)
|
||||||
stunClient.SetServerAddr(stunServer)
|
stunClient.SetServerAddr("stun.ekiga.net:3478")
|
||||||
nat, host, err, fake := stunClient.Discover()
|
nat, host, err, fake := stunClient.Discover()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if host != nil {
|
if host != nil {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
2e5069a2aa17e4aa5cb3ac4d87bc155f0afb2f09
|
82662c5ec8266d42513454965f09516e40e6d495
|
||||||
|
|||||||
@@ -102,6 +102,9 @@ void EditCustom::onStart(QSharedPointer<NekoRay::ProxyEntity> _ent) {
|
|||||||
auto tmpEnt = NekoRay::ProfileManager::NewProxyEntity("custom");
|
auto tmpEnt = NekoRay::ProfileManager::NewProxyEntity("custom");
|
||||||
auto bean = tmpEnt->CustomBean();
|
auto bean = tmpEnt->CustomBean();
|
||||||
SAVE_CUSTOM_BEAN
|
SAVE_CUSTOM_BEAN
|
||||||
|
// 补充
|
||||||
|
bean->serverAddress = get_edit_text_serverAddress();
|
||||||
|
bean->serverPort = get_edit_text_serverPort().toInt();
|
||||||
if (bean->core.isEmpty()) return;
|
if (bean->core.isEmpty()) return;
|
||||||
//
|
//
|
||||||
auto result = NekoRay::BuildConfig(tmpEnt, false, false);
|
auto result = NekoRay::BuildConfig(tmpEnt, false, false);
|
||||||
|
|||||||
Reference in New Issue
Block a user