{"id":1651,"date":"2019-03-11T11:27:49","date_gmt":"2019-03-11T10:27:49","guid":{"rendered":"http:\/\/tech4.pl\/SQ9MDD\/?p=1651"},"modified":"2019-03-11T11:27:49","modified_gmt":"2019-03-11T10:27:49","slug":"proxy-kiss-tcp-w-pythonie","status":"publish","type":"post","link":"https:\/\/sq9mdd.hamspirit.pl\/?p=1651","title":{"rendered":"Proxy KISS TCP w PYTHONIE"},"content":{"rendered":"<p>Uruchamiaj\u0105c stacj\u0119 domow\u0105 na DIREWOLF i APRX, zauwa\u017cymy pewn\u0105 niedogodno\u015b\u0107 podczas pod\u0142\u0105czenia do tego uk\u0142adu aplikacji APRSIS32. W aplikacji APRSIS32 nie wida\u0107 ramek wys\u0142anych lub powt\u00f3rzonych przez APRX-a. Dzi\u0119ki skryptowi\u00a0 napisanemu przez Tomka SQ5T mo\u017cna ten problem omin\u0105\u0107.<\/p>\n<p><!--more--><\/p>\n<p>Uruchomienie stacji domowej opisa\u0142em w <a href=\"http:\/\/10.9.48.151\/?p=626\">jednym z poprzednich artyku\u0142\u00f3w<\/a>. Zasadniczo wszystko tam dzia\u0142a poprawnie, jednak\u017ce w aplikacji APRSIS32 nie wida\u0107 ramek kt\u00f3re wysy\u0142a APRX.\u00a0 By zrozumie\u0107 w czym problem pomo\u017ce poni\u017cszy diagram:<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1653\" rel=\"attachment wp-att-1653\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1653\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/rys1-300x172.jpg\" alt=\"rys1\" width=\"300\" height=\"172\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys1-300x172.jpg 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys1-768x440.jpg 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys1.jpg 843w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Wida\u0107 na tym rysunku \u017ce dane przep\u0142ywaj\u0105 od i do direwolfa w kierunku APRX-a i APRSIS32 za pomoc\u0105 protoko\u0142u TCP.\u00a0 Zatem by rozwi\u0105za\u0107 nasz problem potrzebne jest co\u015b w rodzaju proxy kt\u00f3re prze\u015ble dane pomi\u0119dzy wszystkimi pod\u0142\u0105czonymi do niego aplikacjami.<\/p>\n<p><a href=\"http:\/\/10.9.48.151\/?attachment_id=1655\" rel=\"attachment wp-att-1655\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1655\" src=\"http:\/\/10.9.48.151\/wp-content\/uploads\/2019\/03\/rys2-300x170.jpg\" alt=\"rys2\" width=\"300\" height=\"170\" srcset=\"https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys2-300x170.jpg 300w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys2-768x435.jpg 768w, https:\/\/sq9mdd.hamspirit.pl\/wp-content\/uploads\/2019\/03\/rys2.jpg 783w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Skrypt PROXY nawi\u0105zuje po\u0142\u0105czenie z direwolfem i na innym zadanym porcie oczekuje na po\u0142\u0105czenia od APRX-a oraz APRSIS32. Podczas pracy ka\u017cda z ramek pojawiaj\u0105ca si\u0119 na kt\u00f3rymkolwiek interfejsie jest rozsy\u0142ana do wszystkich pod\u0142\u0105czonych klient\u00f3w.<\/p>\n<p>Konfiguracja skryptu sprowadza si\u0119 do edycji pliku PROXY.py, gdzie konfigurujemy po\u0142\u0105czenie wychodz\u0105ce do direwolfa. Nast\u0119pnie w liniach 14 i 15 ustawiamy adres i port do kt\u00f3rego b\u0119d\u0105 si\u0119 \u0142\u0105czy\u0142y APRX i APRSIS32.<\/p>\n<pre>listen_address = \"\" # listen IP, \"\" == listen all\nlisten_port = 8002 # listen port\n\ndestination_address = \"127.0.0.1\" # connect to IP\ndestination_port = 8001 # connect to port\n<\/pre>\n<p>Ca\u0142y skrypt jest dost\u0119pny do pobrania z serwisu <a href=\"https:\/\/github.com\/sq5t\">GITHUB na profilu Tomka<\/a>.<br \/>\nZach\u0119cam do korzystania.<\/p>\n<p>R.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uruchamiaj\u0105c stacj\u0119 domow\u0105 na DIREWOLF i APRX, zauwa\u017cymy pewn\u0105 niedogodno\u015b\u0107 podczas pod\u0142\u0105czenia do tego uk\u0142adu aplikacji APRSIS32. W aplikacji APRSIS32 nie wida\u0107 ramek wys\u0142anych lub powt\u00f3rzonych przez APRX-a. Dzi\u0119ki skryptowi\u00a0 napisanemu przez Tomka SQ5T mo\u017cna ten problem omin\u0105\u0107.<\/p>\n","protected":false},"author":2,"featured_media":1650,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,16,22],"tags":[],"class_list":["post-1651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprs","category-informacje","category-software"],"_links":{"self":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/1651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1651"}],"version-history":[{"count":0,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/1651\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/media\/1650"}],"wp:attachment":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}