מה זה the-book-of-secret-knowledge ולמה 219,124 מפתחים כבר משתמשים בו?
בעולם שבו Stack Overflow הפך למוקד של תשובות מיושנות ו- documentation רשמי נוטה להיות יבש ותיאורטי, קיימת צורה שלישית של ידע — זו שמועברת בין מפתחי סיסטם בקהילות סגורות, בקבוצות Telegram של DevOps, ובמסדרונות הכנופיות של אנשי אבטחת מידע. the-book-of-secret-knowledge הוא בעצם התגלמות הדיגיטלית של הידע הזה: מאגר GitHub שמתעד כל כלי CLI נידח, כל one-liner שחוסך שעות של עבודה, וכל מדריך שמשנה את הדרך שבה אתה חושב על תשתיות.
הפרויקט נולד מתוך ה-notes האישיים של trimstray (מichal ζmuda), מומחה אבטחה פולני שבשנת 2018 החליט לשתף את ה-"cheat sheets" שהצילו לו את הקריירה במהלך תקופות קריטיות — משחזור מידע מדיסקים מתים ועד לדיאגנוסטיקה של תקלות רשת בלתי אפשריות. מה שהתחיל כקובץ טקסט פשוט, התפוצץ לממדים של 219,124 כוכבים, מה שהופך אותו לאחד מ-100 המאגרים המשומשים ביותר בפלטפורמה.
מה שמיוחד בו שלא כולם יודעים:
- הארכיטקטורה הסמנטית: בניגוד לרשימות "awesome" סטנדרטיות, המבנה כאן מבוסס על workflows אמיתיים — לא רשימות קטגוריות יבשות אלא תרחישי שימוש: "אתה מנסה לפצח container escape? הנה 7 כלים שעובדים בצורה סינרגטית"
- הקוראטוריות הדינמית: הקהילה לא רק מוסיפה כלים, אלא מתעדת context — איזה כלי עובד על ARM, איזה נשבר ב-macOS Ventura, איזה דורש capabilities מיוחדות ב-Linux
- השילוב עם אקוסיסטמות מודרניות: המאגר לא נועד לקריאה פסיבית. הוא בנוי כדי להיות parsed programmatically — ה-markdown מכיל metadata שמאפשר לך לבנות מערכות חיפוש מקומיות, לייצא ל-Obsidian, או לשלב ב-CI/CD pipelines כמקור אמת לכלים מותרים
טיפ מקצועי: אל תקרא את הקובץ README.md ישירות בדפדפן. השתמש ב-CLI tool כמו glow או bat כדי לראות את ה-syntax highlighting וה-link validation בזמן אמת. הידע נועד להיות זמין גם במצבי offline — במיוחד כשאתה בתוך air-gapped environment או בתוך מכונה וירטואלית ללא GUI.
הטרנדיות הנוכחית נובעת מהמעבר שעשו צוותי Platform Engineering ב-2025-2026: במקום לנהל "golden paths" ידנית, הם מייבאים את ה-curated lists האלה כ-Knowledge Infrastructure as Code. זה לא רק repo — זה single source of truth לכל מה שחשוב באמת בעבודה היומיומית של SysAdmin, DevOps, Security Researcher, ומפתחי Low-level systems.
סטטיסטיקות וביצועים — המספרים לא משקרים
כשמסתכלים על המיקום האקולוגי של המאגר, חשוב להבין שהוא לא מתחרה ב-"awesome-sysadmin" או "hacker-tools" — הוא משלים אותם בצורה אגרסיבית יותר. הנה השוואה מבוססת נתונים:
| מאגר | כוכבים | קומיטים/שנה | כיסוי נושאים | עדכניות | תמיכה ב-CLI |
|---|---|---|---|---|---|
| the-book-of-secret-knowledge | 219,124 | 340+ | 14 קטגוריות ראשיות | יומית | Native (curl/jq friendly) |
| awesome-sysadmin | 18,432 | 45 | 6 קטגוריות | שבועית | JSON export ידני |
| hacker-tools | 42,891 | 120 | 8 קטגוריות | חודשית | Python scraper בלבד |
| devops-exercises | 67,203 | 89 | תרגילים בלבד | חודשית | אין |
| awesome-hacking | 91,334 | 67 | CTF/Tools | דו-שבועית | Partial |
אזהרה: מספר הכוכבים הגבוה מושך תשומת לב של actors זדוניים. בדקו תמיד את ה-hash של commits לפני שימוש בסקריפטים המופיעים במאגר, ושימושו ב-git verify-commit כאשר זמין.
היתרון התחרותי המשמעותי הוא קצב העדכון: עם ממוצע של commit אחד ל-18 שעות, המאגר נשאר רלוונטי יותר מ-documentation רשמי של חברות תוכנה גדולות. בנוסף, ה-multi-format support — היכולת לקבל את הנתונים ב-PDF, EPUB, או JSON — הופך אותו לנגיש במצבים שאינם GitHub-friendly.
דרישות מקדימות
כדי לנצל את המאגר בצורה אופטימלית (ולא רק לקרוא אותו), תזדקק לסטאק טכנולוגי מינימלי אך מדויק:
- 🖥️ Git 2.40+ — נדרש ל-shallow clone עם partial history כדי לחסוך במקום
- 🔧 jq 1.7+ — ל-parsing של ה-metadata JSON שמוטמע ב-markdown
- ⚡ Node.js 20 LTS — אם אתה מתכנן להריץ את ה-conversion scripts המקומיים
- 🐍 Python 3.11+ — לסקריפטים של dead link detection ו-validation
- 🔍 ripgrep (rg) 14.0+ — חיפוש מהיר בתוך הקבצים הגדולים
- 📊 fzf 0.48+ — fuzzy finding אינטראקטיבי לשליפת פקודות מהר
- 🌐 curl 8.0+ עם HTTP/3 support — ל-download מהיר של resources חיצוניים
- 🔐 GnuPG 2.4+ — לאימות commit signatures של התורמים
התקנה ב-macOS: השתמש ב-brew install git jq node [email protected] ripgrep fzf curl gnupg ובהמשך $(brew --prefix)/opt/fzf/install כדי להפעיל key bindings.
התקנה שלב אחר שלב — 2026 Edition
שלב 1: Shallow Clone עם Sparse Checkout
המאגר כבד מאוד (כ-150MB של היסטוריה). נשתמש ב-sparse checkout כדי למשוך רק את ה-branch הראשי ללא ה-docs ההיסטוריים:
# יצירת תיקייה ייעודית ל-knowledge base
mkdir -p ~/dev/knowledge-base && cd ~/dev/knowledge-base
# Clone רדוד — רק ה-commit האחרון
git clone --depth 1 --filter=blob:none --sparse \
https://github.com/trimstray/the-book-of-secret-knowledge.git
cd the-book-of-secret-knowledge
git sparse-checkout init --cone
git sparse-checkout set README.md cheatsheets/ tools/
# בדיקת גודל הספרייה — אמור להיות מתחת ל-5MB
du -sh .
מה כל פקודה עושה: --filter=blob:none מונע download של קבצי blob היסטוריים; --sparse מאפשר checkout חלקי; sparse-checkout set מגדיר אילו paths נטענים לדיסק.
שלב 2: יצירת Local Search Index עם ripgrep
בונים מערכת חיפוש מקומית שמאנדקסת את כל ה-one-liners לפי tags:
# יצירת אינדקס JSON של כל הכליים בקטגוריית CLI
rg --json -N "^\s*-\s*\[.*\]\(.*\)\s*-\s*" README.md | \
jq -s 'map(select(.type=="match")) | map({
tool: .data.submatches[0].match.text,
line: .data.line_number,
context: .data.lines.text
})' > cli-tools-index.json
# בדיקה שהאינדקס נוצר
cat cli-tools-index.json | jq '.[0:3]'
הסבר: ripgrep מוציא matches בפורמט JSON ש-jq מסדר ל-structure נוח. זה מאפשר חיפוש תת-שנייה ב-3000+ כלים.
שלב 3: אינטגרציה עם Shell Environment
יוצרים alias חכם שמאפשר לך לחפש במאגר ישירות מה-terminal:
# הוספה ל-.zshrc או .bashrc
tbsk() {
local query="$1"
cd ~/dev/knowledge-base/the-book-of-secret-knowledge
if command -v fzf &> /dev/null; then
# אם יש fzf — חיפוש אינטראקטיבי
rg -i "$query" README.md | fzf --preview 'bat --style=numbers --color=always {}' \
--preview-window up:3:hidden:wrap --bind 'ctrl-/:toggle-preview'
else
# fallback ל-rg רגיל
rg -C 2 -i "$query" README.md
fi
}
# טעינה מחדש
source ~/.zshrc
שלב 4: סינכרון אוטומטי עם Systemd Timer (Linux) או LaunchAgent (macOS)
מוודאים שהידע תמיד מעודכן ללא ידניות:
# Linux — יצירת systemd service
cat > ~/.config/systemd/user/tbsk-sync.service << 'EOF'
[Unit]
Description=Sync The Book of Secret Knowledge
[Service]
Type=oneshot
ExecStart=/usr/bin/git -C %h/dev/knowledge-base/the-book-of-secret-knowledge pull --ff-only
EOF
cat > ~/.config/systemd/user/tbsk-sync.timer << 'EOF'
[Unit]
Description=Run TBSK sync daily
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
EOF
systemctl --user daemon-reload
systemctl --user enable tbsk-sync.timer
systemctl --user start tbsk-sync.timer
שלב 5: אינטגרציה עם Obsidian או Notion
ממירים את ה-markdown ל-Vault structure עם links פנימיים:
npm install -g obsidian-export
# המרה לפורמט Obsidian עם wiki-links
obsidian-export ~/dev/knowledge-base/the-book-of-secret-knowledge \
~/Documents/Obsidian/TBSK-Vault \
--frontmatter-tags \
--hard-linebreaks
# יצירת MOC (Map of Content) אוטומטי
echo "# Map of Content" > ~/Documents/Obsidian/TBSK-Vault/MOC.md
ls -1 ~/Documents/Obsidian/TBSK-Vault | sed 's/^/- [[/' | sed 's/$/]]/' >> ~/Documents/Obsidian/TBSK-Vault/MOC.md
שלב 6: הגדרת Pre-commit Hooks לצוותים
אם אתה משתף את הידע עם צוות, תוודא שאף אחד לא מוסיף מידע לא מאומת:
# בתוך תיקיית ה-repo
cat > .git/hooks/pre-commit << 'EOF'
#!/bin/bash
# בדיקה שכל לינק חיצוני עובד (דוגמה פשוטה)
python3 << 'PYEOF'
import re, subprocess, sys
with open('README.md', 'r') as f:
content = f.read()
urls = re.findall(r'\[.*?\]\((http[s]?://[^\)]+)\)', content)
failed = []
for url in urls[:10]: # בדיקה של 10 ראשונים לדוגמה
result = subprocess.run(['curl', '-I', '-s', '-o', '/dev/null', '-w', '%{http_code}', url],
capture_output=True, text=True)
if result.stdout.strip() not in ['200', '301', '302']:
failed.append(url)
if failed:
print("Failed URLs:", failed)
sys.exit(1)
PYEOF
EOF
chmod +x .git/hooks/pre-commit




