Вверх ↑
Ответов: 195
Рейтинг: 7
#1: 2022-05-15 11:34:14 ЛС | профиль | цитата
я столкнулся с похожей проблемой но на форуме не было людей кто такие вещи делала, в общем я сам сделал маленькую утилитку если у вас есть дополнительные идеи по доработки вот
https://disk.yandex.ru/d/9OvYIadFsGRPVw

нужно все из архива извлечь в папку "res" рядом с проектом

Add(MultiElementEx,14027658,245,147)
{
}
BEGIN_SDK
Add(EditMultiEx,15139202,21,21)
{
WorkCount=#36:doOpenPort=Открывает порт через UPnP|
VarCount=#7:LocalIP|12:LocaLIP:Port|13:IP=Внешний IP|24:ExIPport=Внешний IP:port|
DataCount=#33:IPadres=IP адрес в локальной сети|36:Port=Порт который необходимо открыть|
Width=1147
Height=823
link(doOpenPort,3006749:doEvent1,[(42,27)(42,174)])
link(LocalIP,7808600:Var,[(27,796)(83,796)])
link(LocaLIP:Port,14022477:Var,[(34,807)(97,807)])
link(IP,12690098:Var,[(41,821)(111,821)])
link(ExIPport,10668399:Var,[(48,828)(146,828)])
}
Add(Icon,16552321,882,91)
{
@Hint=#5:#main|
Icon=[ZIP9E09000078DA636060044209090620A9C0D0C1C9C020C6C0C0A001C4402106030688381800E584B92118065C5C5C40380088EF03F17F28BE0F1563A0020E4032171D53C30E98BBCF43CD0B80B261FEA0D47C6C6E45F613ADCD1718E4E143EBF825257D2A50105E0E78E2945AF9039BF9D40C3F6CE65333FEFF13E9567C7ECAC6637E3615CCFF4FC3FC418EF9A4C42FB9650AB1E9935A6516ADF2C770AB3F04685C7F08D0A17E1AD6F547E3FFFF0C0C502C01C2F5087EE3F3FF0CC71BFF333C6780E00712EC600C176904E2FF8D0C7023FE494030DC884606006E6F9D7D]
}
Add(WinExec,16082486,280,168)
{
FileName="res\oupt.df"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleTerminate)
link(Params,4727801:FString,[])
link(onConsoleResult,12834392:doAdd,[])
}
Add(RE_Search,14353958,357,273)
{
Expression="Local LAN ip address : [\d\.]+|ExternalIPAddress = [\d\.]+|InternalIP:Port = [\d\.:]+|internal = [\d\.:]+|external [\d\.:]+"
ModifierS=1
link(onMatch,1555130:doEvent1,[])
link(SourceStr,12834392:Text,[])
}
Add(Hub,1555130,413,273)
{
link(onEvent1,15710741:doMultiReplace,[])
link(onEvent2,14353958:doExecNext,[(439,286)(439,274)(345,274)(345,286)])
}
Add(MultiReplace,15710741,469,273)
{
ReplaceList="Local LAN ip address : #LocalIP = ;\r\nExternalIPAddress = #ExternalIP = ;\r\nInternalIPort = #LocalipIPPort = ;\r\nexternal #ExternalIPPort = ;"
Delimiter="#"
link(onResult,7243674:doSplit,[])
}
Add(Hub,3006749,63,168)
{
OutCount=3
link(onEvent1,4727801:doString,[(105,174)(105,111)])
link(onEvent2,1239950:In,[(147,181)(147,167)])
link(onEvent3,16082486:doConsoleExec,[])
}
Add(MultiStrPart,7243674,546,273)
{
Char="="
link(onSplit,855142:doCompare,[])
}
Add(If_else,855142,637,273)
{
Op2=String(ExternalIP )
link(onTrue,1285809:doData,[])
link(onFalse,12915525:In,[])
link(Op1,7243674:Part1,[(643,261)(611,261)(611,317)(552,317)])
}
Add(FormatStr,4727801,287,105)
{
Mask="-a %1 %2 %2 TCP"
Point(FString)
link(Str1,15139202:IPadres,[(293,63)(27,63)])
link(Str2,15139202:Port,[(300,50)(34,50)])
}
Add(LineBreak,14524979,203,224)
{
link(Out,12834392:doClear,[(327,230)(327,195)])
Primary=[1239950,14,-63]
}
Add(If_else,6233141,630,413)
{
Op2=String(LocalIP )
link(onTrue,4698497:doData,[])
link(onFalse,16074539:In,[])
}
Add(If_else,12577997,623,546)
{
Op2=String(InternalIP:Port )
link(onTrue,1669550:doData,[])
link(onFalse,740501:In,[])
}
Add(If_else,7789139,623,707)
{
Op2=String(ExternalIPPort )
link(onTrue,4446381:doData,[])
}
Add(StrList,12834392,357,182)
{
link(onChange,14353958:doExec,[(401,188)(401,230)(345,230)(345,279)])
}
Add(LineBreakEx,10857792,553,343)
{
Caption="ipdate"
Type=3
link(_Data,7243674:Part2,[])
}
Add(LineBreakEx,7016047,721,504)
{
Caption="ipdate"
Type=2
}
Add(LineBreakEx,4156812,721,350)
{
Caption="ipdate"
Type=2
}
Add(LineBreakEx,6518563,700,651)
{
Caption="ipdate"
Type=2
}
Add(LineBreakEx,15244586,721,203)
{
Caption="ipdate"
Type=2
}
Add(DoData,1669550,721,546)
{
link(onEventData,13430840:doValue,[])
link(Data,7016047:getVar,[])
}
Add(Memory,13430840,770,546)
{
}
Add(DoData,4446381,700,707)
{
link(onEventData,12806602:doValue,[])
link(Data,6518563:getVar,[])
}
Add(Memory,12806602,777,707)
{
}
Add(DoData,4698497,721,413)
{
link(onEventData,16245449:doValue,[])
link(Data,4156812:getVar,[])
}
Add(Memory,16245449,770,413)
{
}
Add(DoData,1285809,721,273)
{
link(onEventData,15480270:doValue,[])
link(Data,15244586:getVar,[])
}
Add(Memory,15480270,777,273)
{
}
Add(LineBreak,14791531,560,413)
{
link(Out,6233141:doCompare,[])
Primary=[12915525,119,-133]
}
Add(LineBreak,14279588,560,546)
{
link(Out,12577997:doCompare,[])
Primary=[16074539,119,-126]
}
Add(LineBreak,12625781,560,707)
{
link(Out,7789139:doCompare,[])
Primary=[740501,105,-154]
}
Add(LineBreak,13395983,770,469)
{
Type=1
link(Data,16245449:Value,[])
Primary=[7808600,-693,266]
}
Add(LineBreak,5299879,770,595)
{
Type=1
link(Data,13430840:Value,[])
Primary=[14022477,-679,161]
}
Add(LineBreak,9437567,777,322)
{
Type=1
link(Data,15480270:Value,[])
Primary=[12690098,-672,455]
}
Add(LineBreak,7428399,777,756)
{
Type=1
link(Data,12806602:Value,[])
Primary=[10668399,-637,42]
}
END_SDK

карма: 0

0
Редактировалось 7 раз(а), последний 2022-05-15 11:40:47