Closed lostsoul6 closed 1 month ago
سلام برای اعمال free بایند ؛ تغییر خیلی جزیی لازمه که روی نود های Tcp connector و Tcp listnener اعمال شده ؛ درسته برای مثال از Tls تانل استفاده شده ولی تغییرات روی همین دوتا نود انجام شده فقط ؛ شما کانفیگ مد نظرتونو که قصد دارید استفاده کنید رو اول به صورت ساده ستاپ کنید ؛ بعدش همین تغییرات رو براش انجام بدید ؛ کل تغییراتش در حد ۲ خط هست که توی نود connector اومدیدم ادرس ایپی رو با رنجش قرار دادیم و توی نود listener هم ادرس رو برابر :: قرار دادیم ؛ یه کامند هم روی سرور خارج اجرا کردیم و تمام.
بازم اگه دیدید مبهم هست بگید قرار میدم داخل همون مثال ولی من نظرم فعلا اینه که شلوغ میشه
درود مهندس @radkesvat
من کانفیگ reality با mux و halfduplex رو خواستم با free bind ترکیب کنم نتونستم . خیلی مبهم شد . اگر امکانش هست همون کانفیگی که توی wiki هست رو با free bind ترکیب کنید و اینجا ایران و خارجش رو بفرستید اگر نمیخواید wiki شلوغ بشه . تشکر
سرور ایران:
{
"name": "iran",
"nodes": [
{
"name": "input",
"type": "TcpListener",
"settings": {
"address": "0.0.0.0",
"port": [23,65535],
"nodelay": true
},
"next": "port_header"
},
{
"name": "port_header",
"type": "HeaderClient",
"settings": {
"data": "src_context->port"
},
"next": "pbclient"
},
{
"name": "pbclient",
"type": "ProtoBufClient",
"settings": {},
"next": "h2client"
},
{
"name": "h2client",
"type": "Http2Client",
"settings": {
"host": "mysni.com",
"port": 443,
"path": "/",
"content-type": "application/grpc",
"concurrency": 64
},
"next": "halfc"
},
{
"name": "halfc",
"type": "HalfDuplexClient",
"settings": {},
"next": "reality_client"
},
{
"name": "reality_client",
"type": "RealityClient",
"settings": {
"sni": "mysni.com",
"password": "passwd"
},
"next": "outbound_to_kharej"
},
{
"name": "outbound_to_kharej",
"type": "TcpConnector",
"settings": {
"nodelay": true,
"address": "2a01:4f8:1c1b:276c::1/64",
"port": 443
}
}
]
}
سرور خارج
{
"name": "kharej",
"nodes": [
{
"name": "input",
"type": "TcpListener",
"settings": {
"address": "::",
"port": 443,
"nodelay": true
},
"next": "reality_server"
},
{
"name": "reality_server",
"type": "RealityServer",
"settings": {
"destination": "reality_dest",
"password": "passwd"
},
"next": "halfs"
},
{
"name": "halfs",
"type": "HalfDuplexServer",
"settings": {},
"next": "h2server"
},
{
"name": "h2server",
"type": "Http2Server",
"settings": {},
"next": "pbserver"
},
{
"name": "pbserver",
"type": "ProtoBufServer",
"settings": {},
"next": "port_header"
},
{
"name": "port_header",
"type": "HeaderServer",
"settings": {
"override": "dest_context->port"
},
"next": "output"
},
{
"name": "output",
"type": "TcpConnector",
"settings": {
"nodelay": true,
"address": "127.0.0.1",
"port": "dest_context->port"
}
}
]
}
مهندس جان ممنون بابت پاسخ @radkesvat
کانفیگ ایران مشکلی نداشت اما خارج مشکل داره به نظر و سرویس waterwall اجرا نمیشه
ارور Fatal هم داره :
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "output"
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "port_header"
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "pbserver"
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "h2server"
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "halfs"
2024-07-13 14:19:26.983 DEBUG NodeManager: starting node "reality_server"
2024-07-13 14:19:26.983 FATAL RealityServer: destination node not found
امکانش هست کانفیگ خارج رو اصلاح کنید برامون ؟ تشکر
بله میفرستم حتما
سرور خارج:
{
"name": "kharej",
"nodes": [
{
"name": "input",
"type": "TcpListener",
"settings": {
"address": "::",
"port": 443,
"nodelay": true
},
"next": "reality_server"
},
{
"name": "reality_server",
"type": "RealityServer",
"settings": {
"destination": "reality_dest",
"password": "passwd"
},
"next": "halfs"
},
{
"name": "halfs",
"type": "HalfDuplexServer",
"settings": {},
"next": "h2server"
},
{
"name": "h2server",
"type": "Http2Server",
"settings": {},
"next": "pbserver"
},
{
"name": "pbserver",
"type": "ProtoBufServer",
"settings": {},
"next": "port_header"
},
{
"name": "port_header",
"type": "HeaderServer",
"settings": {
"override": "dest_context->port"
},
"next": "output"
},
{
"name": "output",
"type": "TcpConnector",
"settings": {
"nodelay": true,
"address": "127.0.0.1",
"port": "dest_context->port"
}
},
{
"name": "reality_dest",
"type": "TcpConnector",
"settings": {
"nodelay": true,
"address": "mysni.com",
"port": 443
}
}
]
}
درود وقت بخیر @radkesvat
داخل روش Free Bind مثالی که زدید تانل tls تک پورت هست . این تانل رو قبلا دیدم افرادی گفتن که هر دو روز دامنه رو میزنن و فیلتر میشه . لطفا اینو با یک روش دیگه که فکر میکنید بهتر هست و مسدودی نداره ترکیب کنید و example بزارید داخل داکیومنت که استفاده کنیم . اگر میشه با mux و halfduplex هم ترکیبش کرد ، لطفا داخل مثال بزارید . تشکر