/opt/canhelp/node_modules/next/dist/server/app-render
NameSizeModeActions
metadata-insertion/-0755rm
module-loading/-0755rm
rsc/-0755rm
action-async-storage-instance.d.ts1440644editdlrm
action-async-storage-instance.js4460644editdlrm
action-async-storage-instance.js.map5020644editdlrm
action-async-storage.external.d.ts3590644editdlrm
action-async-storage.external.js3990644editdlrm
action-async-storage.external.js.map7040644editdlrm
action-handler.d.ts18070644editdlrm
action-handler.js486910644editdlrm
action-handler.js.map683500644editdlrm
action-utils.d.ts5180644editdlrm
action-utils.js38670644editdlrm
action-utils.js.map54880644editdlrm
after-task-async-storage-instance.d.ts1570644editdlrm
after-task-async-storage-instance.js4590644editdlrm
after-task-async-storage-instance.js.map5220644editdlrm
after-task-async-storage.external.d.ts6490644editdlrm
after-task-async-storage.external.js4190644editdlrm
after-task-async-storage.external.js.map9710644editdlrm
app-render-prerender-utils.d.ts18890644editdlrm
app-render-prerender-utils.js72520644editdlrm
app-render-prerender-utils.js.map108830644editdlrm
app-render-render-utils.d.ts3350644editdlrm
app-render-render-utils.js11520644editdlrm
app-render-render-utils.js.map16080644editdlrm
app-render.d.ts41060644editdlrm
app-render.js1659650644editdlrm
app-render.js.map2406730644editdlrm
async-local-storage.d.ts3160644editdlrm
async-local-storage.js20710644editdlrm
async-local-storage.js.map27990644editdlrm
cache-signal.d.ts12790644editdlrm
cache-signal.js59840644editdlrm
cache-signal.js.map81410644editdlrm
collect-segment-data.d.ts11250644editdlrm
collect-segment-data.js133860644editdlrm
collect-segment-data.js.map223820644editdlrm
create-component-styles-and-scripts.d.ts4100644editdlrm
create-component-styles-and-scripts.js16890644editdlrm
create-component-styles-and-scripts.js.map24200644editdlrm
create-component-tree.d.ts10300644editdlrm
create-component-tree.js417000644editdlrm
create-component-tree.js.map593530644editdlrm
create-error-handler.d.ts13900644editdlrm
create-error-handler.js103860644editdlrm
create-error-handler.js.map140970644editdlrm
create-flight-router-state-from-loader-tree.d.ts5000644editdlrm
create-flight-router-state-from-loader-tree.js38210644editdlrm
create-flight-router-state-from-loader-tree.js.map57150644editdlrm
csrf-protection.d.ts1040644editdlrm
csrf-protection.js30210644editdlrm
csrf-protection.js.map39370644editdlrm
dynamic-access-async-storage-instance.d.ts1630644editdlrm
dynamic-access-async-storage-instance.js4750644editdlrm
dynamic-access-async-storage-instance.js.map5360644editdlrm
dynamic-access-async-storage.external.d.ts3930644editdlrm
dynamic-access-async-storage.external.js4430644editdlrm
dynamic-access-async-storage.external.js.map7620644editdlrm
dynamic-rendering.d.ts61740644editdlrm
dynamic-rendering.js331170644editdlrm
dynamic-rendering.js.map458310644editdlrm
encryption-utils-server.d.ts1410644editdlrm
encryption-utils-server.js48230644editdlrm
encryption-utils-server.js.map71530644editdlrm
encryption-utils.d.ts14430644editdlrm
encryption-utils.js78490644editdlrm
encryption-utils.js.map112570644editdlrm
encryption.d.ts2410644editdlrm
encryption.js118560644editdlrm
encryption.js.map166820644editdlrm
entry-base.d.ts21990644editdlrm
entry-base.js84670644editdlrm
entry-base.js.map62570644editdlrm
flight-render-result.d.ts3530644editdlrm
flight-render-result.js7940644editdlrm
flight-render-result.js.map9670644editdlrm
get-asset-query-string.d.ts1530644editdlrm
get-asset-query-string.js9990644editdlrm
get-asset-query-string.js.map15910644editdlrm
get-css-inlined-link-tags.d.ts5240644editdlrm
get-css-inlined-link-tags.js15490644editdlrm
get-css-inlined-link-tags.js.map25760644editdlrm
get-layer-assets.d.ts5990644editdlrm
get-layer-assets.js33290644editdlrm
get-layer-assets.js.map55030644editdlrm
get-preloadable-fonts.d.ts7090644editdlrm
get-preloadable-fonts.js11600644editdlrm
get-preloadable-fonts.js.map23860644editdlrm
get-script-nonce-from-header.d.ts940644editdlrm
get-script-nonce-from-header.js20170644editdlrm
get-script-nonce-from-header.js.map27850644editdlrm
get-segment-param.d.ts2280644editdlrm
get-segment-param.js15240644editdlrm
get-segment-param.js.map23400644editdlrm
get-short-dynamic-param-type.d.ts3620644editdlrm
get-short-dynamic-param-type.js10690644editdlrm
get-short-dynamic-param-type.js.map11990644editdlrm
has-loading-component-in-tree.d.ts1350644editdlrm
has-loading-component-in-tree.js5440644editdlrm
has-loading-component-in-tree.js.map8130644editdlrm
interop-default.d.ts1210644editdlrm
interop-default.js3910644editdlrm
interop-default.js.map4090644editdlrm
make-get-server-inserted-html.d.ts5000644editdlrm
make-get-server-inserted-html.js46410644editdlrm
make-get-server-inserted-html.js.map65180644editdlrm
parse-and-validate-flight-router-state.d.ts3880644editdlrm
parse-and-validate-flight-router-state.js18350644editdlrm
parse-and-validate-flight-router-state.js.map24290644editdlrm
parse-loader-tree.d.ts4300644editdlrm
parse-loader-tree.js10090644editdlrm
parse-loader-tree.js.map14260644editdlrm
postponed-state.d.ts21530644editdlrm
postponed-state.js64250644editdlrm
postponed-state.js.map92110644editdlrm
prospective-render-utils.d.ts1150644editdlrm
prospective-render-utils.js25870644editdlrm
prospective-render-utils.js.map34120644editdlrm
react-large-shell-error.d.ts1070644editdlrm
react-large-shell-error.js5960644editdlrm
react-large-shell-error.js.map7890644editdlrm
react-server.node.d.ts1520644editdlrm
react-server.node.js11110644editdlrm
react-server.node.js.map7140644editdlrm
render-css-resource.d.ts6120644editdlrm
render-css-resource.js24600644editdlrm
render-css-resource.js.map39470644editdlrm
required-scripts.d.ts4440644editdlrm
required-scripts.js28550644editdlrm
required-scripts.js.map42910644editdlrm
segment-explorer-path.d.ts9560644editdlrm
segment-explorer-path.js38540644editdlrm
segment-explorer-path.js.map52930644editdlrm
server-inserted-html.d.ts2930644editdlrm
server-inserted-html.js15030644editdlrm
server-inserted-html.js.map17710644editdlrm
strip-flight-headers.d.ts2450644editdlrm
strip-flight-headers.js4940644editdlrm
strip-flight-headers.js.map7250644editdlrm
types.d.ts101850644editdlrm
types.js29230644editdlrm
types.js.map132650644editdlrm
use-flight-response.d.ts11360644editdlrm
use-flight-response.js68440644editdlrm
use-flight-response.js.map111740644editdlrm
walk-tree-with-flight-router-state.d.ts13940644editdlrm
walk-tree-with-flight-router-state.js111740644editdlrm
walk-tree-with-flight-router-state.js.map173160644editdlrm
work-async-storage-instance.d.ts1360644editdlrm
work-async-storage-instance.js4380644editdlrm
work-async-storage-instance.js.map4900644editdlrm
work-async-storage.external.d.ts37450644editdlrm
work-async-storage.external.js3870644editdlrm
work-async-storage.external.js.map42140644editdlrm
work-unit-async-storage-instance.d.ts1530644editdlrm
work-unit-async-storage-instance.js4550644editdlrm
work-unit-async-storage-instance.js.map5160644editdlrm
work-unit-async-storage.external.d.ts123010644editdlrm
work-unit-async-storage.external.js78220644editdlrm
work-unit-async-storage.external.js.map210370644editdlrm
Edit: /opt/canhelp/node_modules/next/dist/server/app-render/encryption-utils-server.js (4823B)
// This file should never be bundled into application's runtime code and should // stay in the Next.js server. "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "generateEncryptionKeyBase64", { enumerable: true, get: function() { return generateEncryptionKeyBase64; } }); const _path = /*#__PURE__*/ _interop_require_default(require("path")); const _fs = /*#__PURE__*/ _interop_require_default(require("fs")); const _cachedir = require("../cache-dir"); const _encryptionutils = require("./encryption-utils"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Keep the key in memory as it should never change during the lifetime of the server in // both development and production. let __next_encryption_key_generation_promise = null; const CONFIG_FILE = '.rscinfo'; const ENCRYPTION_KEY = 'encryption.key'; const ENCRYPTION_EXPIRE_AT = 'encryption.expire_at'; const EXPIRATION = 1000 * 60 * 60 * 24 * 14 // 14 days ; async function writeCache(distDir, configValue) { const cacheBaseDir = (0, _cachedir.getStorageDirectory)(distDir); if (!cacheBaseDir) return; const configPath = _path.default.join(cacheBaseDir, CONFIG_FILE); if (!_fs.default.existsSync(cacheBaseDir)) { await _fs.default.promises.mkdir(cacheBaseDir, { recursive: true }); } await _fs.default.promises.writeFile(configPath, JSON.stringify({ [ENCRYPTION_KEY]: configValue, [ENCRYPTION_EXPIRE_AT]: Date.now() + EXPIRATION })); } // This utility is used to get a key for the cache directory. If the // key is not present, it will generate a new one and store it in the // cache directory inside dist. // The key will also expire after a certain amount of time. Once it // expires, a new one will be generated. // During the lifetime of the server, it will be reused and never refreshed. async function loadOrGenerateKey(distDir, isBuild, generateKey) { const cacheBaseDir = (0, _cachedir.getStorageDirectory)(distDir); if (!cacheBaseDir) { // There's no persistent storage available. We generate a new key. // This also covers development time. return await generateKey(); } const configPath = _path.default.join(cacheBaseDir, CONFIG_FILE); async function hasCachedKey() { if (!_fs.default.existsSync(configPath)) return false; try { const config = JSON.parse(await _fs.default.promises.readFile(configPath, 'utf8')); if (!config) return false; if (typeof config[ENCRYPTION_KEY] !== 'string' || typeof config[ENCRYPTION_EXPIRE_AT] !== 'number') { return false; } // For build time, we need to rotate the key if it's expired. Otherwise // (next start) we have to keep the key as it is so the runtime key matches // the build time key. if (isBuild && config[ENCRYPTION_EXPIRE_AT] < Date.now()) { return false; } const cachedKey = config[ENCRYPTION_KEY]; // If encryption key is provided via env, and it's not same as valid cache, // we should not use the cached key and respect the env key. if (cachedKey && process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY && cachedKey !== process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY) { return false; } return cachedKey; } catch { // Broken config file. We should generate a new key and overwrite it. return false; } } const maybeValidKey = await hasCachedKey(); if (typeof maybeValidKey === 'string') { return maybeValidKey; } const key = await generateKey(); await writeCache(distDir, key); return key; } async function generateEncryptionKeyBase64({ isBuild, distDir }) { // This avoids it being generated multiple times in parallel. if (!__next_encryption_key_generation_promise) { __next_encryption_key_generation_promise = loadOrGenerateKey(distDir, isBuild, async ()=>{ const providedKey = process.env.NEXT_SERVER_ACTIONS_ENCRYPTION_KEY; if (providedKey) { return providedKey; } const key = await crypto.subtle.generateKey({ name: 'AES-GCM', length: 256 }, true, [ 'encrypt', 'decrypt' ]); const exported = await crypto.subtle.exportKey('raw', key); return btoa((0, _encryptionutils.arrayBufferToString)(exported)); }); } return __next_encryption_key_generation_promise; } //# sourceMappingURL=encryption-utils-server.js.map