cdnjs рдордзреАрд▓ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдЬреНрдпрд╛рдиреЗ Cloudflare рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА

рдХреНрд▓рд╛рдЙрдбрдлреНрд▓реЗрдЕрд░рдЪреНрдпрд╛ cdnjs рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рдг рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдПрдХ рдЧрдВрднреАрд░ рднреЗрджреНрдпрддрд╛ рдУрд│рдЦрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдЬреА JavaScript рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреНрдпрд╛ рд╡рд┐рддрд░рдгрд╛рд╕ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ, рдЬреНрдпрд╛рдореБрд│реЗ CDN рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдК рд╢рдХрддреЗ. рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рд╕рд░реНрд╡ рд╕рд╛рдЗрдЯреНрд╕рдкреИрдХреА 12.7% JavaScript рд▓рд╛рдпрдмреНрд░рд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрд╡рд╛ рд╡рд╛рдкрд░рддрд╛рдд рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╢реА рддрдбрдЬреЛрдб рдХреЗрд▓реНрдпрд╛рдореБрд│реЗ рдпрд╛рдкреИрдХреА рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд╛рдЗрдЯрджреНрд╡рд╛рд░реЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдмрджрд▓рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдореБрд│реЗ рд╕рдорд╕реНрдпреЗрдЪрд╛ рдзреЛрдХрд╛ рд╡рд╛рдврд▓рд╛ рдЖрд╣реЗ.

cdnjs рд╕реЗрд╡рд╛ Git рдХрд┐рдВрд╡рд╛ NPM рд░реЗрдкреЙрдЬрд┐рдЯрд░реА рд╡рд░реВрди рдкреЕрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ, рддреНрдпрд╛рдирдВрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕рд╛рдЗрдЯрд▓рд╛ JavaScript рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреНрдпрд╛ рд▓реЛрдбрд┐рдВрдЧрд▓рд╛ рдЧрддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА Cloudflare рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рдг рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. GitHub рд╡рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ cdnjs рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдХреЛрдбрдЪрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддрд╛рдирд╛, рд╣реЗ рдЙрдШрдб рдЭрд╛рд▓реЗ рдХреА tgz рд╕рдВрдЧреНрд░рд╣рдгрд╛рдВрдордзреНрдпреЗ NPM рдкреЕрдХреЗрдЬреЗрд╕ рдЕрдирдкреЕрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, Go рднрд╛рд╖реЗрддреАрд▓ рдорд╛рдирдХ рд╕рдВрдЧреНрд░рд╣рдг/рдЯрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдорд╛рд░реНрдЧ рд╕рд╛рдорд╛рдиреНрдп рди рдХрд░рддрд╛, рдлрд╛рдЗрд▓реНрд╕рдЪреА рд╕реВрдЪреА рддрдпрд╛рд░ рдХрд░рддреЗ. . рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╕реВрдЪреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд╛рдордЧреНрд░реА рдЕрдирдкреЕрдХ рдХрд░рддреЗрд╡реЗрд│реА, тАЬ../../../../../../../tmp/testтАЭ рд╕рд╛рд░рдЦреНрдпрд╛ рдлрд╛рдпрд▓реАрдВрдЪреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣рдгрд╛рддреАрд▓ рдЙрдкрд╕реНрдерд┐рддреА рдЕрд╕реВ рд╢рдХрддреЗ. рдкреНрд░рд╡реЗрд╢ рдЕрдзрд┐рдХрд╛рд░ рдкрд░рд╡рд╛рдирдЧреА рдореНрд╣рдгреВрди, рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдлрд╛рдЗрд▓реНрд╕ рдУрд╡реНрд╣рд░рд░рд╛рдИрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдиреЗрддреГрддреНрд╡ рдХрд░рддрд╛рдд.

рдЕрд╕реЗ рд╕реБрдЪрд╡рдгреНрдпрд╛рдд рдЖрд▓реЗ рд╣реЛрддреЗ рдХреА рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ рддреНрдпрд╛рдЪреА рд▓рд╛рдпрдмреНрд░рд░реА cdnjs рдордзреНрдпреЗ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдЕрд░реНрдЬ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ NPM рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдЪреНрдпрд╛ рдорд╛рд░реНрдЧрд╛рдд тАЬ../тАЭ рд╡рд░реНрдг рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реА рдЕрд╕рд▓реЗрд▓реЗ рд╡рд┐рд╢реЗрд╖ рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рд╕рдВрдЧреНрд░рд╣рдг рдЕрдкрд▓реЛрдб рдХрд░реВ рд╢рдХрддреЛ. cdnjs рд╕рд░реНрд╡реНрд╣рд░рд╡рд░, "рдСрдЯреЛрдЕрдкрдбреЗрдЯ" рдСрдкрд░реЗрд╢рди рд╡реЗрд│реЛрд╡реЗрд│реА рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛ рджрд░рдореНрдпрд╛рди рд╣рдБрдбрд▓рд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЛ рдЖрдгрд┐ рд╕рд╛рдордЧреНрд░реА рдЕрдирдкреЕрдХ рдХрд░рддреЛ. тАЬ../тАЭ рдкрде рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реАрдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╕рд╣ рдлрд╛рдпрд▓реА рдУрд╡реНрд╣рд░рд░рд╛рдЗрдЯ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪрд╛ рдХреЛрдб рдЬреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЕрдирдкреЕрдХрд┐рдВрдЧ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рддреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░реВ рд╢рдХрддреЛ.

Git рд╡рд░реВрди рдЕрджреНрдпрддрдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рдЕрд╕реЗ рдЖрдврд│реВрди рдЖрд▓реЗ рдХреА рдЕрджреНрдпрддрдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╣рдБрдбрд▓рд░рдиреЗ Git рд╡рд░реВрди рдлрд╛рдпрд▓реА рдХреЙрдкреА рдХрд░рддрд╛рдирд╛ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рджреБрд╡реЗ рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрддрд▓реЗ рдирд╛рд╣реАрдд. рдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдореБрд│реЗ Git рд▓рд╛ рдкреНрд░рддрд┐рдХрд╛рддреНрдордХ рджреБрд╡реЗ рдЬреЛрдбреВрди рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдлрд╛рдпрд▓реАрдВрдЪреЗ рд╡рд╛рдЪрди рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ.

рдлрд╛рдИрд▓ рд╡рд╛рдЪрдирд╛рдмрд╛рдмрддрдЪреНрдпрд╛ рдЧреГрд╣реАрддрдХрд╛рдЪреА рдЪрд╛рдЪрдгреА рдХрд░реВрди рд╣реЕрдХрд░рд╡рдирдордзреНрдпреЗ рдмрдХреНрд╖реАрд╕ рдорд┐рд│рд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕реАрдбреАрдПрдирдЬреЗ рд╣реЕрдХрд┐рдВрдЧрдЪреНрдпрд╛ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХрд╛рд╕рд╣ рдкреНрд░рдпреЛрдЧ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреЗ рдард░рд╡рд┐рдгреНрдпрд╛рдд рдЖрд▓реЗ. /proc/self/maps рдлрд╛рдЗрд▓рдХрдбреЗ рдирд┐рд░реНрджреЗрд╢ рдХрд░реВрди, CDN рджреНрд╡рд╛рд░реЗ рд╕рд░реНрд╡реНрд╣ рдХреЗрд▓реЗрд▓реНрдпрд╛ JavaScript рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ Git рднрд╛рдВрдбрд╛рд░рд╛рдд test.js рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдЬреЛрдбрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдирд╡реАрди рдЖрд╡реГрддреНрддреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдЕрдкрдбреЗрдЯ рд╣рдБрдбрд▓рд░рдиреЗ рдпрд╛ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЖрдгрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╛рдЗрд▓ cdnjs рдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реА (test.js рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рджреБрд╡рд╛ рдореНрд╣рдгреВрди рддрдпрд╛рд░ рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА рдЖрдгрд┐ рдЬреЗрд╡реНрд╣рд╛ рдпрд╛ рдлрд╛рдЗрд▓рдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЧреЗрд▓реА рддреЗрд╡реНрд╣рд╛, /proc/self/maps рдЪреА рд╕рд╛рдордЧреНрд░реА рдкрд░рдд рдХреЗрд▓реА рдЧреЗрд▓реА. ).

рдлрд╛рдЗрд▓ /proc/self/environ рд▓рд╛ рдкреНрд░рддрд┐рдХрд╛рддреНрдордХ рджреБрд╡рд╛ рдмрджрд▓реВрди, рдЕрднреНрдпрд╛рд╕рд╛рдЪреНрдпрд╛ рд▓реЗрдЦрдХрд╛рдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдХреА рджрд┐рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ GITHUB_REPO_API_KEY рдЖрдгрд┐ WORKERS_KV_API_TOKEN рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдЪреА рдореВрд▓реНрдпреЗ рдЖрд╣реЗрдд. GitHub рд╡рд░ robocdnjs рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдордзреНрдпреЗ рд▓реЗрдЦрди рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рдкреНрд░рдердо рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдиреЗ API рдХреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА. рджреБрд╕рд▒реНрдпрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдиреЗ рдЯреЛрдХрди рдХреЗрд╡реНрд╣реА рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ cdnjs рдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реЗ. рдкреНрд░рд╛рдкреНрдд рдорд╛рд╣рд┐рддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди, рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛ cdnjs рдордзреНрдпреЗ рдмрджрд▓ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╢реА рдкреВрд░реНрдгрдкрдгреЗ рддрдбрдЬреЛрдб рдХрд░реВ рд╢рдХрддреЛ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛