Швидкий старт AfterPack: обфускуйте збірку за кілька хвилин

Оберіть фреймворк, встановіть одну dev-залежність, зберіть проєкт і відкрийте Protection Map.

Почніть з агентомВставте в Claude Code, Codex, Cursor або Copilot

Оберіть фреймворк

Що збірка робить за замовчуванням

  • Пресет light: складність 5. Рядкові літерали закодовано, ідентифікатори перейменовано, а синтаксис переписано, без додаткових структурних шарів. Підвищуйте пресет, коли проєкту потрібно більше; див. Пресети.
  • Новий випадковий сід на кожну збірку, тож дві збірки одного й того самого вихідного коду виходять структурно різними. Зберіть один раз і просувайте ті самі байти; закріплюйте seed: "git" лише тоді, коли потрібен відтворюваний результат.
  • Dev-збірки не зачіпаються. Плагін обробляє лише продакшн-збірку.
  • Збірка зупиняється з помилкою (fail closed). Файл, який рушій не може обфускувати, завершує збірку помилкою і називає цей файл. Див. Коди виходу.

Щоб залишити плагін встановленим, але пропустити рушій на один запуск, установіть build.autorun у false.

Перевірте результат

Protection Map показує ваш оригінальний вихідний код, розфарбований за тим, скільки трансформацій зазнав кожен токен. Звіт записується у .afterpack/protectionMap.html, коли бандлер видав source map і збірка працює поза CI; кожен посібник для фреймворку показує, як увімкнути source map. Звіт містить увесь ваш вихідний код. Ніколи не комітьте його і не роздавайте з сервера. .afterpack/ має власний .gitignore, тож git його ігнорує.

entitlements.jslight · complexity 5Open full size
entitlements.js, 54 lines, built at the light preset with a directive around the signature check. Click any token to see what was applied to it.

Відкрийте живий демозвіт, щоб побачити приклад ще до першої збірки.

Захистіть окремий код сильніше

Глобальна обфускація покриває весь бандл. Щоб посилити захист однієї ділянки або, навпаки, не чіпати її, позначте її директивою:

/* @afterpack preset=hard */
function checkLicense(token: string) {
  return verify(token);
}
/* @afterpack end */

const apiKey = /* @afterpack preset=extreme */ "YOUR_SECRET";

Директиви діють у збірках Pro; сторінка Директиви описує граматику та кожен ключ, який можна задати.

Далі