HiAsm - Конструктор программ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Upnp

Сообщений 1 страница 3 из 3

1

Хочу поделиться небольшой наработкой
Была когда-то давно необходимость пробрасывать порты не мог найти долго решение в общем скачать можно
тут

Код:

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


Отредактировано hin4 (2022-02-14 22:53:16)

0

2

hin4 Мы всегда ищем решение либо отправную  точку, так что если помогло тебе значит может помочь и другим.

0

3

Наверное если вместе подумаем то возможно получится это все собрать а одну кучу, за основу был взят готовый проект

Упс :)

отредактировал ссылку выше заметил что не прикрепил файл
все файлы нужно извлечь рядом с вашим проектом

0



Рейтинг форумов | Создать форум бесплатно