{"id":35676,"date":"2019-10-31T22:05:42","date_gmt":"2019-10-31T19:05:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vypusk-paketnogo-filtra-nftables-0-9-1\/"},"modified":"2019-10-31T22:05:42","modified_gmt":"2019-10-31T19:05:42","slug":"vypusk-paketnogo-filtra-nftables-0-9-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","title":{"rendered":"Lan\u00e7imi i filtrit t\u00eb paketave nftables 0.9.1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pas nj\u00eb viti zhvillimi <noindex><a rel=\"nofollow\" href=\"https:\/\/marc.info\/?l=netfilter&#038;m=156139496810281\">u paraqit<\/a><\/noindex> l\u00ebshimi i filtrit t\u00eb paketave <noindex><a rel=\"nofollow\" href=\"https:\/\/netfilter.org\/projects\/nftables\/\">nftables 0.9.1<\/a><\/noindex>, q\u00eb po zhvillohet si nj\u00eb z\u00ebvend\u00ebsim p\u00ebr iptables, ip6tables, arptables dhe ebtables p\u00ebrmes unifikimit t\u00eb nd\u00ebrfaqeve t\u00eb filtrimit t\u00eb paketave p\u00ebr IPv4, IPv6, ARP dhe urat rrjet. Paketimi nftables p\u00ebrfshin komponent\u00eb t\u00eb filtrimit t\u00eb paketave q\u00eb funksionojn\u00eb n\u00eb hap\u00ebsir\u00ebn e p\u00ebrdoruesit, nd\u00ebrsa n\u00eb nivelin e kernelit punon n\u00ebn-sistemi nf_tables, i cili \u00ebsht\u00eb pjes\u00eb e kernelit Linux q\u00eb nga l\u00ebshimi 3.13. <\/p>\n<p>N\u00eb nivelin e kernelit ofrohet vet\u00ebm nj\u00eb nd\u00ebrfaqe e p\u00ebrgjithshme, e cila nuk varet nga protokolli specifik dhe siguron funksione baz\u00eb p\u00ebr nxjerrjen e t\u00eb dh\u00ebnave nga paketat, kryerjen e operacioneve me t\u00eb dh\u00ebna dhe menaxhimin e fluksit.<br \/>\nLogjika e filtrimit n\u00eb m\u00ebnyr\u00eb direkte dhe trajtuesit specifik\u00eb p\u00ebr protokollin kompilehen n\u00eb bytecode n\u00eb hap\u00ebsir\u00ebn e p\u00ebrdoruesit, pas s\u00eb cil\u00ebs ky bytecode ngarkohet n\u00eb kernel p\u00ebrmes nd\u00ebrfaqes Netlink dhe ekzekutohet n\u00eb nj\u00eb makin\u00eb virtuale t\u00eb ve\u00e7ant\u00eb, e cila i ngjan BPF (Berkeley Packet Filters). Ky qasje lejon nj\u00eb reduktim t\u00eb konsideruesh\u00ebm t\u00eb madh\u00ebsis\u00eb s\u00eb kodit t\u00eb filtrimit q\u00eb funksionon n\u00eb nivelin e kernelit dhe t\u00eb nxjerr\u00eb t\u00eb gjitha funksionet e analiz\u00ebs s\u00eb rregullave dhe logjik\u00ebn e pun\u00ebs me protokollet n\u00eb hap\u00ebsir\u00ebn e p\u00ebrdoruesit.<\/p>\n<p>Novitetet kryesore:<\/p>\n<ul>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr IPsec, e cila lejon lidhjen e adresave t\u00eb tunelit n\u00eb lidhje me pakot, identifikuesin e k\u00ebrkes\u00ebs IPsec dhe etiket\u00ebn SPI (Security Parameter Index). P\u00ebr shembull,\n<p>      ... ipsec n\u00eb ip saddr 192.168.1.0\/24<br \/>\n      ... ipsec n\u00eb spi 1-65536<\/p>\n<p>Po ashtu, \u00ebsht\u00eb e mundur t\u00eb verifikohet kalimi i rrug\u00ebs p\u00ebrmes tunelit IPsec. P\u00ebr shembull, p\u00ebr t\u00eb bllokuar trafikun q\u00eb nuk kalon p\u00ebrmes IPSec: <\/p>\n<p>      ... filtri i daljes rt ipsec q\u00eb mungon drop<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr protokollin IGMP (Internet Group Management Protocol). P\u00ebr shembull, p\u00ebr t\u00eb hedhur posht\u00eb k\u00ebrkesat IGMP p\u00ebr p\u00ebrkat\u00ebsi n\u00eb grup, mund t\u00eb p\u00ebrdoret rregulli\n<p>      nft add rule netdev foo bar igmp type membership-query counter drop<\/p>\n<li class=\"l\"> Mund\u00ebsi p\u00ebr t\u00eb p\u00ebrdorur variabla p\u00ebr t\u00eb p\u00ebrcaktuar zinxhir\u00ebt e kalimit (jump \/ goto). P\u00ebr shembull:\n<p>      define dest = ber<br \/>\n      add rule ip foo bar jump $dest<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr maska p\u00ebr identifikimin e sistemeve operative (OS Fingerprint) bazuar n\u00eb vlerat TTL n\u00eb kok\u00ebn e paket\u00ebs. P\u00ebr shembull, p\u00ebr t\u00eb etiketuar paketat n\u00eb var\u00ebsi t\u00eb sistemit operativ t\u00eb d\u00ebrguesit, mund t\u00eb p\u00ebrdoret komand\u00eb:\n<p>    ... meta mark set osf ttl skip name map { \u00abLinux\u00bb : 0x1,<br \/>\n                                              \u00abWindows\u00bb : 0x2,<br \/>\n                                              \u00abMacOS\u00bb : 0x3,<br \/>\n                                              \u00abunknown\u00bb : 0x0 }<br \/>\n    ... osf ttl skip version \u00abLinux:4.20\u00bb<\/p>\n<li class=\"l\"> Mund\u00ebsi p\u00ebr t\u00eb p\u00ebrputhur adres\u00ebn ARP t\u00eb d\u00ebrguesit dhe adres\u00ebn IPv4 t\u00eb sistemit q\u00eb \u00ebsht\u00eb n\u00eb q\u00ebllim. P\u00ebr shembull, p\u00ebr t\u00eb rritur num\u00ebrimin e paketave ARP t\u00eb d\u00ebrguara nga adresa 192.168.2.1, mund t\u00eb p\u00ebrdoret rregulli:\n<p>        table arp x {<br \/>\n                zinxhir y {<br \/>\n                        type filter hook input priority filter; policy accept;<br \/>\n                        arp saddr ip 192.168.2.1 counter packets 1 bytes 46<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr kalimin transparent t\u00eb k\u00ebrkesave p\u00ebrmes proxies (tproxy). P\u00ebr shembull, p\u00ebr t\u00eb ridrejtuar k\u00ebrkesat n\u00eb portin 80 n\u00eb portin e proxy 8080:\n<p>        tabela ip x {<br \/>\n                zinxhir y {<br \/>\n                        type filter hook prerouting priority -150; policy accept;<br \/>\n                        tcp dport 80 tproxy to :8080<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr sh\u00ebnimin e socket-eve me mund\u00ebsin\u00eb e marrjes s\u00eb etiket\u00ebs s\u00eb vendosur p\u00ebrmes setsockopt() n\u00eb modin SO_MARK. P\u00ebr shembull:\n<p>        table inet x {<br \/>\n                zinxhir y {<br \/>\n                        type filter hook prerouting priority -150; policy accept;<br \/>\n                        tcp dport 8080 mark set socket mark<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr specifikimin e emrave tekstual\u00eb t\u00eb prioriteteve p\u00ebr zinxhir\u00ebt. P\u00ebr shembull:\n<p>        nft add chain ip x raw { type filter hook prerouting priority raw; }<br \/>\n        nft add chain ip x filter { type filter hook prerouting priority filter; }<br \/>\n        nft add chain ip x filter_later { type filter hook prerouting priority filter + 10; }<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr etiketat SELinux (Secmark). P\u00ebr shembull, p\u00ebr p\u00ebrcaktimin e etiket\u00ebs \u00absshtag\u00bb n\u00eb lidhje me kontekstin SELinux mund t\u00eb ekzekutoni:\n<p>         nft add secmark inet filter sshtag \u00absystem_u:object_r:ssh_server_packet_t:s0\u00bb<\/p>\n<p>Dhe m\u00eb pas t\u00eb p\u00ebrdoret kjo etiket\u00eb n\u00eb rregulla:<\/p>\n<p>        nft add rule inet filter input tcp dport 22 meta secmark set \u00absshtag\u00bb<\/p>\n<p>        nft add map inet filter secmapping { type inet_service : secmark; }<br \/>\n        nft add element inet filter secmapping { 22 : \u00absshtag\u00bb }<br \/>\n        nft add rule inet filter input meta secmark set tcp dport map @secmapping<\/p>\n<li class=\"l\"> Mund\u00ebsia p\u00ebr t\u00eb specifikuar portet t\u00eb lidhura me protokollet n\u00eb form\u00eb tekstuale, ashtu si\u00e7 jan\u00eb p\u00ebrcaktuar n\u00eb skedarin \/etc\/services. P\u00ebr shembull:\n<p>        nft add rule x y tcp dport \u00abssh\u00bb<br \/>\n        nft list ruleset -l<br \/>\n        tabela x {<br \/>\n                zinxhir y {<br \/>\n                        \u2026<br \/>\n                        tcp dport \u00abssh\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mund\u00ebsia p\u00ebr t\u00eb verifikuar llojin e nd\u00ebrfaqes rrjet\u00eb. P\u00ebr shembull:\n<p>        add rule inet raw prerouting meta iifkind \u00abvrf\u00bb accept<\/p>\n<li class=\"l\"> P\u00ebrmir\u00ebsuar mb\u00ebshtetje p\u00ebr p\u00ebrdit\u00ebsimin dinamik t\u00eb p\u00ebrmbajtjes s\u00eb grupeve (sets) p\u00ebrmes p\u00ebrcaktimit t\u00eb shenj\u00ebs \u00abdynamic\u00bb. P\u00ebr shembull, p\u00ebr p\u00ebrdit\u00ebsimin e grupit \u00abs\u00bb duke shtuar adres\u00ebn burimore dhe p\u00ebr t\u00eb rivendosur regjistrin n\u00eb rast se paketa nuk arrihet p\u00ebr 30 sekonda:\n<p>        add table x<br \/>\n        add set x s { type ipv4_addr; size 128; timeout 30s; flags dynamic; }<br \/>\n        add chain x y { type filter hook input priority 0; }<br \/>\n        add rule x y update @s { ip saddr }<\/p>\n<li class=\"l\"> Mund\u00ebsia p\u00ebr t\u00eb caktuar nj\u00eb kusht t\u00eb ve\u00e7ant\u00eb p\u00ebr ndodhin e kalimit n\u00eb timeout. P\u00ebr shembull, p\u00ebr t\u00eb tejkaluar timeoutin e paracaktuar p\u00ebr paketat q\u00eb vijn\u00eb n\u00eb portin 8888 mund t\u00eb caktosh:\n<p>        table ip filter {<br \/>\n                ct timeout agressive-tcp {<br \/>\n                        protocol tcp;<br \/>\n                        l3proto ip;<br \/>\n                        policy = {established: 100, close_wait: 4, close: 4}<br \/>\n                }<br \/>\n                chain output {<br \/>\n                        \u2026<br \/>\n                        tcp dport 8888 ct timeout set \u00abagressive-tcp\u00bb<br \/>\n                }<br \/>\n        }<\/p>\n<li class=\"l\"> Mb\u00ebshtetje p\u00ebr NAT p\u00ebr familjen inet:\n<p>        table inet nat {<br \/>\n                \u2026<br \/>\n                ip6 daddr dead::2::1 dnat to dead:2::99<br \/>\n        }<\/p>\n<li class=\"l\"> Mjetet p\u00ebrmir\u00ebsuese p\u00ebr nxjerrjen e informacionit t\u00eb gabimeve p\u00ebr shkak t\u00eb gabimeve t\u00eb shtypjes:\n<p>        nft add chain filtre test<\/p>\n<p>        Gabim: Nuk ka asnj\u00eb skedar ose direktori; a do t\u00eb thoshit tabel\u00ebn \u00abfilter\u00bb n\u00eb familjen ip?<br \/>\n        add chain filtre test<br \/>\n                  ^^^^^^<\/p>\n<li class=\"l\"> Mund\u00ebsia p\u00ebr t\u00eb specifikuar emrat e nd\u00ebrfaqeve n\u00eb grupe (sets):\n<p>        set sc {<br \/>\n               type inet_service . ifname<br \/>\n               elements = { \u00abssh\u00bb . \u00abeth0\u00bb }<br \/>\n        }<\/p>\n<li class=\"l\"> Sintaksa e rregullave flowtable \u00ebsht\u00eb p\u00ebrmir\u00ebsuar:\n<p>        nft add table x<br \/>\n        nft add flowtable x ft { hook ingress priority 0; devices = { eth0, wlan0 }; }<br \/>\n        \u2026<br \/>\n        nft add rule x forward ip protocol { tcp, udp } flow add @ft<\/p>\n<li class=\"l\"> P\u00ebrmir\u00ebsuar mb\u00ebshtetja p\u00ebr JSON.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Burimi: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50952\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.1, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043c\u0435\u043d\u044b iptables, ip6table, arptables \u0438 ebtables \u0437\u0430 \u0441\u0447\u0451\u0442 \u0443\u043d\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f IPv4, IPv6, ARP \u0438 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043c\u043e\u0441\u0442\u043e\u0432. \u0412 \u043f\u0430\u043a\u0435\u0442 nftables \u0432\u0445\u043e\u0434\u044f\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0432 \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u044f\u0434\u0440\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 nf_tables, \u0432\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-35676","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:05:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:05:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47L\u00ebshimi i filtrit p\u00ebr paketat nftables 0.9.1 | ProHoster","description":"Pas nj\u00eb viti zhvillimi, u paraqit publikimi i filtrit p\u00ebr paketat.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430 nftables 0.9.1 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u0444\u0438\u043b\u044c\u0442\u0440\u0430","og:url":"https:\/\/prohoster.info\/sq\/blog\/news\/vypusk-paketnogo-filtra-nftables-0-9-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:05:42+00:00","article:modified_time":"2019-10-31T19:05:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35676","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 00:20:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:58:28","updated":"2026-01-22 00:20:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/35676","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=35676"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/35676\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=35676"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=35676"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=35676"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}