# neurobin/shc

Shell script compiler

Repository: https://github.com/neurobin/shc
Canonical: https://ross.abutalabs.com/products/shc
Homepage: https://neurobin.org/projects/softwares/unix/shc/
Language: C
License: GPL-3.0
License Family: copyleft
Topics: shc, shell, shell-script, shellscript, shell-scripts, bash, sh, zsh, csh, ksh, ash, tcsh, tsh, rsh, bsh, rc, perl, compile, converter, binary
Last push: 2024-08-19T15:46:48+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4173, "days_push": 744, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2246, forks 373 (observed 2026-08-28T04:06:30.154929+00:00)

## What it is
shc is a generic shell script compiler that converts shell scripts (bash, sh, zsh, ksh, etc.) into C source code, which is then compiled into a stripped binary executable. It encrypts and encodes the script with optional expiration and anti-tracing capabilities, though the resulting binary still depends on the shell specified in the shebang.

## Use cases
- compile a bash script into a binary executable
- hide or obfuscate shell script source code from users
- add an expiration date to a distributed shell script
- prevent strace/ptrace debugging of a shell script
- distribute shell scripts without revealing the code
- convert a shell script into a standalone-looking executable

## When to choose
- you need to distribute shell scripts without exposing their source
- you want to add expiration or anti-tracing protections to shell scripts
- you need a lightweight C-based tool that works with many shell dialects

## When to avoid
- you need truly independent binaries not dependent on the target system's shell
- you require strong security - the encryption is obfuscation, not real protection
- your script is very long, exceeding the _SC_ARG_MAX limit
- you need the experimental -H hardening flag with positional parameters

## Facets
- artifact type: cli-tool
- maturity: stable
- function: compiler, security, cli, developer-tools
- domain: developer-tools, security
- platform: bsd, cli, cross-platform
- tags: shell-script-compiler, script-encryption, bash, binary-conversion, obfuscation, command-line, automation, linux, macos

## Member repositories
- neurobin/shc (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:30.154929+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:43:58.711371+00:00, confidence not recorded.
  - readme: https://github.com/neurobin/shc (fetched 2026-08-28T04:06:30.154929+00:00, sha de88648a4f2e)
- Data as of 2026-08-30T08:39:29.467469+00:00.
