{"id":104906,"date":"2022-08-21T15:36:41","date_gmt":"2022-08-21T13:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov"},"modified":"2022-08-21T15:36:41","modified_gmt":"2022-08-21T13:36:41","slug":"vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","title":{"rendered":"Release of the standard C library Cosmopolitan 2.0, developed for portable executable files.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>The release of the Cosmopolitan 2.0 project has been published, which develops the standard C library and a universal executable file format that can be used to distribute software for different operating systems without the need for interpreters or virtual machines. The output generated through compilation in GCC and Clang is linked into a statically bindable universal executable file, which is suitable for running on any distribution of Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, and can even be invoked from BIOS. The project's code is distributed under the ISC license (a simplified version of MIT\/BSD).         <\/p>\n<p>The container for creating universal executable files is based on a combination of segments and headers specific to different operating systems (PE, ELF, MACHO, OPENBSD) in a single file, merging multiple formats used in Unix, Windows, and macOS. To ensure that a single executable file runs in both Windows and Unix systems, a trick is applied by encoding Windows PE files as a shell script, taking advantage of the fact that the Thompson Shell does not use the script marker '#!'. For creating programs that include multiple files (combining all resources into one file), support is provided for generating an executable file in the form of a specially formatted ZIP archive. The scheme of the proposed format (example application hello.com):        <\/p>\n<p>     MZqFpD=\u2019     BIOS BOOT SECTOR\u2019     exec 7 $(command -v $0)     printf \u2018ELF\u2026LINKER-ENCODED-FREEBSD-HEADER\u2019 &gt; &amp;7     exec \u2018$0\u2019 \u2018$@\u2019     exec qemu-x86_64 \u2018$0\u2019 \u2018$@\u2019     exit 1     REAL MODE\u2026     ELF SEGMENTS\u2026     OPENBSD NOTE\u2026     MACHO HEADERS\u2026     CODE AND DATA\u2026     ZIP DIRECTORY\u2026      <\/p>\n<p>At the beginning of the file, the marker \u2018MZqFpD\u2019 is specified, which is recognized as the header of the Windows PE format. This sequence is also decoded into the instruction \u2018pop %r10 ; jno 0x4a ; jo 0x4a\u2019, and the string \u2018ELF\u2019 into the instruction \u2018jg 0x47\u2019, which are used to transfer control to the entry point. In Unix systems, shell code is executed, where the exec command is used to pass the executable code through an unnamed pipe. A limitation of the proposed method is that it can only be launched in Unix-like OS with shells that support compatibility mode with the Thompson Shell.       <\/p>\n<p>The qemu-x86_64 call is intended for additional portability and allows execution of code compiled for the x86_64 architecture on platforms other than x86, such as Raspberry Pi boards and Apple devices equipped with ARM processors. The project can also be used to create standalone applications that run without an operating system (bare metal). In such applications, a bootloader is attached to the executable file, and the program acts as the bootable operating system.         <\/p>\n<p>The standard C library libc proposed in the developing project includes 2024 functions (in the first release there were about 1400 functions). In terms of performance, Cosmopolitan matches glibc speed and significantly outperforms Musl and Newlib, while being an order of magnitude smaller in code size compared to glibc and roughly comparable to Musl and Newlib. To optimize frequently called functions like memcpy and strlen, an additional technique called \u2018trickle-down performance\u2019 is used, where a macro wrapper is applied for the function call, informing the compiler about the CPU registers involved during code execution, which helps save resources by preserving only the modified registers.    <\/p>\n<p>Among the changes in the new release:  <\/p>\n<ul>\n<li class=\"l\"> The scheme for accessing internal resources within zip files has been changed (when opening files, regular paths \/zip\/... are now used instead of accessing via the zip:.. prefix). Similarly, for accessing disks in Windows, the option to use paths like  instead of  has been provided.\n<li class=\"l\"> A new loader, APE (Actually Portable Executable), has been proposed, defining a format for universal executable files. The new loader uses mmap to map the program into memory and no longer modifies contents on the fly. If necessary, the universal executable can be converted into standard executables bound to specific platforms.\n<li class=\"l\"> On the Linux platform, the ability to use the binfmt_misc kernel module to run APE programs has been implemented. It is noted that using binfmt_misc is the fastest method for starting.\n<li class=\"l\"> For Linux, an implementation of the pledge() and unveil() system call functionalities has been proposed, developed by the OpenBSD project. An API is provided for utilizing these calls in programs written in C, C++, Python, and Redbean, as well as a pledge.com utility for isolating arbitrary processes.\n<li class=\"l\"> The Landlock Make utility is used for the build \u2014 a GNU Make edition with stricter dependency checks and the use of the Landlock system call to isolate the program from the rest of the system and improve caching efficiency. The ability to build with the regular GNU Make is retained as an option.\n<li class=\"l\"> Functions for multithreading have been implemented \u2014 _spawn() and _join(), which are universal wrappers over API specific to different operating systems. Work is also underway to implement support for POSIX Threads.\n<li class=\"l\"> The ability to use the _Thread_local keyword has been introduced for using separate thread-local storage (TLS, Thread-Local Storage) for each thread. By default, the C runtime initializes TLS for the main thread, leading to an increase in the minimum executable file size from 12 to 16 KB.\n<li class=\"l\"> Executable files have been updated to support the parameters  and  to output information about all function calls and system calls to stderr.\n<li class=\"l\"> Support for the closefrom() system call has been added, which is supported in Linux 5.9+, FreeBSD 8+, and OpenBSD.\n<li class=\"l\"> On the Linux platform, the performance of clock_gettime and gettimeofday calls has been increased up to 10 times due to the use of the vDSO (virtual dynamic shared object) mechanism, which allows transferring the system call handler to user space and avoiding context switches.\n<li class=\"l\"> Mathematical functions for working with complex numbers have been moved from the Musl library. The performance of many mathematical functions has been accelerated.\n<li class=\"l\"> A nointernet() function has been proposed to disable network capabilities.\n<li class=\"l\"> New functions for efficient string appending have been added: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf, and vappendf.\n<li class=\"l\"> A secure variant of the kprintf() function family has been added, designed for use under elevated privileges.\n<li class=\"l\"> The performance of implementations has been significantly increased <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/en\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2309\">SSL<\/a>, SHA, curve25519, and RSA.      <\/ul>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57663\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0432 GCC \u0438 Clang \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0433\u043e\u0434\u0435\u043d \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Linux, macOS, Windows, [&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-104906","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=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\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\/en\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\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 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov\" \/>\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=\"2022-08-21T13:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-08-21T13:36:41+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\udd47Release of the Cosmopolitan 2.0 standard C library, developed for portable executable files | ProHoster","description":"The release of the Cosmopolitan 2.0 project has been published, which develops the standard C library and a universal executable file format that can be used for distributing programs across different operating systems.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","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 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u044b\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Cosmopolitan 2.0, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0421\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/vypusk-standartnoj-si-biblioteki-cosmopolitan-2-0-razvivaemoj-dlya-perenosimyh-ispolnyaemyh-fajlov","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":"2022-08-21T13:36:41+00:00","article:modified_time":"2022-08-21T13:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"104906","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":"default","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-08-21 13:37:50","updated":"2026-02-09 17:29:04","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/104906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=104906"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/104906\/revisions"}],"predecessor-version":[{"id":159554,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/104906\/revisions\/159554"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=104906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=104906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=104906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}