An enhanced version of TrollStore with advanced iOS system integration and security bypass capabilities.
- Custom build tools in
bins/
directory - Optimized compilation process
- Improved dependency management
- Streamlined build workflow
- Additional extensions in
extensions/
directory - Improved app management
- Enhanced persistence methods
- Advanced configuration options
- Separate installation guides for different scenarios
- Clear step-by-step instructions
- Device-specific documentation
- Troubleshooting guides
- Enhanced App List
- Shows all installed apps with new detailed info
- Display app version, bundle ID, and environment status
- New quick action buttons for each app
Location: App Details > Environment Variables
- Tap any app in the list
- Select "Edit Environment"
- Add/Edit variables:
DYLD_INSERT_LIBRARIES=/path/to/tweak.dylib TROLLSTORE_ENTITLEMENTS=1
- Tap "Save" to store changes
- NEW: Tap "Reinstall" button that appears after saving
- This reregisters the app with new environment
- Preserves app data while applying changes
Location: Settings Tab > Advanced Controls
-
Process Manager
- View running processes
- Force stop apps
- Clear app cache
- Reset app environment
-
Security Controls
- Manage entitlements
- Toggle security features
- Certificate management
Location: Main Tab > "+" Button
-
Multi-Source Install
- Local IPA files
- Direct URL install
- NEW: Bulk installation support
-
Installation Options
- Custom app name
- Bundle ID modification
- Environment preset selection
Location: Settings > Advanced
-
Persistence Helper
- Enhanced persistence options
- Auto-respring settings
- Update survival configuration
-
Root Helper
- Root access management
- System modification tools
- FileSystem access controls
Usage: From Any App
trollstore://install?url=<IPA_URL>
trollstore://settings/environment?bundle=<BUNDLE_ID>
-
Top Bar:
- "+" button for new installations
- Search bar for filtering apps
- Sort options (Name, Date, Size)
-
App Cards:
- Shows app icon and name
- Bundle ID and version
- Environment status indicator
- Quick action buttons:
- Edit Environment
- Reinstall
- Delete
- Share
-
Access:
- Tap any app in the list
- Select "Edit Environment"
-
Available Options:
# Common Environment Variables DYLD_INSERT_LIBRARIES=/path/to/tweak.dylib TROLLSTORE_ENTITLEMENTS=1 TROLLSTORE_PERSIST=1
-
Using the Editor:
- Add/Remove variables with +/- buttons
- Use presets from dropdown menu
- Import/Export configurations
-
Saving Changes:
- Tap "Save" to store configuration
- Important: Tap "Reinstall" in the popup
- Wait for app reregistration
-
Process Manager:
- List of running processes
- Memory usage indicators
- Force stop option
- Cache clearing
-
Security Settings:
- Entitlement toggles
- Root access controls
- System integration options
- Tap "+" on main screen
- Choose "Select IPA File"
- Browse to your IPA
- Configure options:
- Custom name
- Environment variables
- Persistence settings
- Tap "Install"
- Tap "+" on main screen
- Choose "Install from URL"
- Enter or paste IPA URL
- Configure same options
- Tap "Install"
- Tap "+" on main screen
- Choose "Bulk Install"
- Select multiple IPAs or URLs
- Apply batch settings
- Start installation
- Save Button: Always visible after changes
- Reinstall Button: Appears after saving
- Persistence: Enable in advanced settings
- Backup: Export configurations regularly
-
App Won't Launch After Environment Change:
- Go back to Environment Editor
- Verify variables are correct
- Try removing one variable at a time
- Always use "Reinstall" after changes
-
Environment Not Applying:
- Check if "Save" was tapped
- Ensure "Reinstall" was done
- Verify app is properly registered
-
Installation Fails:
- Check URL/file validity
- Verify enough storage
- Try clearing TrollStore cache
- Use "Advanced Install" option
- AMFI Bypass System
- Custom signature validation hooking
- Dynamic code signing verification bypass
- Runtime entitlement injection
- Kernel memory patch persistence
- Enhanced Process Control
- Custom process spawning mechanism
- Elevated privilege management
- System service integration
- Background task handling
- Protected Storage Access
- Custom container creation
- System path manipulation
- Secure file operations
- Persistent data storage
- Dynamic Certificate Handling
- Runtime certificate generation
- Trust chain modification
- Certificate validation bypass
- Signature requirement nullification
- Advanced Entitlement Control
- Dynamic entitlement injection
- System capability expansion
- Permission elevation
- Security policy modification
- Container Isolation Control
- Sandbox boundary modification
- Inter-process communication enhancement
- File system access expansion
- Network restriction bypass
- Advanced Installation Engine
- Custom IPA processing
- Binary modification engine
- Resource repackaging
- Installation validation
- System Integration Layer
- Boot persistence handling
- System service integration
- Update survival system
- Recovery mechanism
- Dynamic Code Execution
- Runtime library injection
- Method swizzling engine
- Hook management system
- Dynamic patching
TrollStore Enhanced
├── Core System
│ ├── AMFI Bypass Engine
│ ├── Process Manager
│ └── FileSystem Controller
├── Security Layer
│ ├── Certificate Handler
│ ├── Entitlement Manager
│ └── Sandbox Controller
└── Enhancement Modules
├── Installation Engine
├── Persistence Manager
└── Injection System
User Input → Installation Request
↓
Installation Engine
├── IPA Processing
├── Binary Modification
└── Resource Repackaging
↓
Security Layer
├── Certificate Generation
├── Entitlement Injection
└── Sandbox Modification
↓
Core System
├── AMFI Bypass
├── Process Spawning
└── FileSystem Integration
↓
iOS System Integration
.
├── .github/
│ └── workflows/ # GitHub Actions workflows
│ └── app_builder.yml # Main build workflow
│
├── Apps/ # Individual apps
│ ├── lightnovelpub/ # LightNovel Pub app
│ │ ├── build.yml # App-specific workflow
│ │ ├── scripts/ # Build scripts
│ │ └── src/ # Source code
│ │
│ └── trollstore/ # TrollStore app and utilities
│ └── ...
│
└── tools/ # Shared build tools
├── bin/ # Binary executables
├── scripts/ # Shared build scripts
└── config/ # Tool configurations
- Device Architecture: arm64/arm64e
- iOS Version Support: iOS 14.0-16.x
- Minimum Storage: 50MB
- RAM Usage: ~100MB during operation
-
Certificate Handling:
- Custom CA certificate generation
- Trust chain manipulation
- Signature validation bypass
-
Entitlement Management:
- Dynamic entitlement injection
- System capability expansion
- Permission elevation
-
Sandbox Control:
- Container isolation modification
- IPC enhancement
- FileSystem access control
-
Memory Management:
- Dynamic memory allocation
- Resource usage optimization
- Cache management system
-
Process Handling:
- Efficient process spawning
- Background task optimization
- System service integration
# Core Build Settings
THEOS=/opt/theos # Theos installation path
THEOS_DEVICE_IP=127.0.0.1 # Device IP for remote installation
THEOS_DEVICE_PORT=22 # SSH port for device connection
THEOS_PACKAGE_SCHEME=rootless # Package scheme (rootless/rooted)
# Build Type Options
FINALPACKAGE=1 # Enable release mode optimizations
DEBUG=0 # Disable debug symbols (set 1 for debugging)
STRIP=1 # Strip binary (reduces size)
# Custom Paths
TROLLSTORE_APP_PATH=/var/containers/Bundle/Application/AppUUID
TROLLSTORE_APP_GROUP=group.com.example.app
make package DEBUG=1 FINALPACKAGE=0
- Includes debug symbols
- Enables verbose logging
- Disables optimizations
- Useful for development
make package FINALPACKAGE=1 STRIP=1
- Optimized for size and performance
- Strips debug symbols
- Enables all optimizations
- Ready for distribution
Our GitHub Actions workflow provides:
- Automatic builds on push/PR
- Code analysis and testing
- Build artifact generation
- Automated releases
- Compiled .deb packages
- SHA256 checksums
- Version information
- Build date stamps
- Xcode analysis
- Code signing verification
- Dependency validation
- Build environment checks
For better organization and clarity, installation instructions are split into separate files based on your device and iOS version:
- SSH Ramdisk Installation - For checkm8/arm64 devices
- TrollHelper Installation - For jailbroken devices
- TrollHelperOTA arm64e Installation - For A12-A15 devices
- TrollHelperOTA iOS 15 Installation - For iOS 15 devices
- Technical Process:
- Binary injection into helper app
- System service registration
- Persistence setup
- Certificate installation
- Technical Implementation:
- Custom ramdisk creation
- System mount modification
- Binary deployment
- Boot process integration
- System Integration:
- URL scheme registration
- Installation validation
- System service setup
- Persistence mechanism
// Example of custom binary installation
TSInstallationManager *manager = [TSInstallationManager sharedInstance];
[manager installBinaryWithPath:@"/path/to/binary"
permissions:0755
persistent:YES
completion:^(BOOL success, NSError *error) {
if (success) {
// Binary installed successfully
}
}];
// Example of entitlement injection
TSEntitlementManager *entManager = [TSEntitlementManager sharedInstance];
[entManager injectEntitlements:@{
@"com.apple.private.security.no-sandbox": @YES,
@"platform-application": @YES
} forBinaryAtPath:@"/path/to/binary"];
# Install dependencies
brew install ldid make theos dpkg xz
# Clone repository with submodules
git clone --recursive https://github.com/Alot1z/TrollStore_Enhanced.git
cd TrollStore_Enhanced
# Initialize build environment
./bins/build.sh init
- Create a new branch
- Make your changes
- Test locally
- Create pull request
- Run local tests:
make test
- Check code style:
make lint
- Verify build:
make package DEBUG=1
When building TrollStore Enhanced, new features are compiled and integrated:
- Core Integration
make package FINALPACKAGE=1
- Compiles new UI components
- Builds enhanced features
- Integrates with main TrollStore app
- Extension Building
cd extensions
make package
- Creates feature modules
- Builds new functionality
- Prepares for integration
- Final Integration
- All components are packaged into main .deb
- Features automatically integrate on installation
- No manual setup required
Safe to modify, intended for general use:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_PERSIST |
Keep app installed after reboot | 0 | ✓ |
TROLLSTORE_ENTITLEMENTS |
Enable all entitlements | 0 | ✓ |
TROLLSTORE_LOG_LEVEL |
Logging detail (0-4) | 1 | - |
TROLLSTORE_CONTAINER |
Custom container path | Default | - |
TROLLSTORE_BACKUP |
Enable automatic backups | 0 | ✓ |
TROLLSTORE_UPDATE_CHECK |
Auto-check for updates | 1 | ✓ |
TROLLSTORE_CACHE_DIR |
Custom cache directory | Default | - |
TROLLSTORE_TEMP_DIR |
Temporary file location | Default | - |
TROLLSTORE_NO_SANDBOX |
Disable app sandboxing | 0 | ✓ |
TROLLSTORE_DEBUG |
Enable debug logging | 0 | ✓ |
Core system variables - modify with caution:
Variable | Description | Default | Toggle |
---|---|---|---|
DYLD_INSERT_LIBRARIES |
Load custom dylibs | Empty | ✓ |
TROLLSTORE_ROOT_PATH |
TrollStore installation path | System | - |
TROLLSTORE_APP_DATA |
App data storage location | System | - |
TROLLSTORE_ORIG_PATH |
Original binary path | System | - |
TROLLSTORE_HOOKS |
Custom hook libraries | Empty | ✓ |
TROLLSTORE_DAEMON |
Daemon configuration | Default | - |
TROLLSTORE_SIGNATURES |
Signature verification | 1 | ✓ |
TROLLSTORE_ENTITLEMENTS_ALL |
Grant all entitlements | 0 | ✓ |
Control app security and permissions:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_SECURITY_LEVEL |
Security enforcement level (0-3) | 2 | - |
TROLLSTORE_ALLOW_UNSIGNED |
Allow unsigned code execution | 0 | ✓ |
TROLLSTORE_SANDBOX_LEVEL |
Sandbox restriction level (0-3) | 2 | - |
TROLLSTORE_ENTITLEMENT_MASK |
Custom entitlement restrictions | Full | - |
TROLLSTORE_SECURE_STORAGE |
Enable encrypted storage | 1 | ✓ |
TROLLSTORE_KEYCHAIN_ACCESS |
Allow keychain access | 0 | ✓ |
TROLLSTORE_SECURE_BOOT |
Verify boot chain | 1 | ✓ |
TROLLSTORE_JIT_ALLOW |
Allow JIT compilation | 0 | ✓ |
For developers and debugging:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_DEV_MODE |
Enable developer features | 0 | ✓ |
TROLLSTORE_TRACE |
Enable function tracing | 0 | ✓ |
TROLLSTORE_HEAP_LOGGING |
Log heap allocations | 0 | ✓ |
TROLLSTORE_CRASH_REPORT |
Generate crash reports | 1 | ✓ |
TROLLSTORE_PERF_STATS |
Collect performance stats | 0 | ✓ |
TROLLSTORE_NET_DEBUG |
Network debugging | 0 | ✓ |
TROLLSTORE_IPC_LOG |
Log IPC communications | 0 | ✓ |
TROLLSTORE_UI_DEBUG |
Debug UI elements | 0 | ✓ |
Control network behavior and connectivity:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_PROXY_ENABLED |
Use custom proxy | 0 | ✓ |
TROLLSTORE_PROXY_HOST |
Proxy server address | Empty | - |
TROLLSTORE_PROXY_PORT |
Proxy server port | 0 | - |
TROLLSTORE_VPN_BYPASS |
Bypass VPN restrictions | 0 | ✓ |
TROLLSTORE_NET_RESTRICT |
Network restrictions | 0 | ✓ |
TROLLSTORE_DNS_SERVERS |
Custom DNS servers | System | - |
TROLLSTORE_NET_PRIORITY |
Network priority (0-3) | 1 | - |
Optimize app performance and resource usage:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_CPU_LIMIT |
CPU usage limit (%) | 100 | - |
TROLLSTORE_MEM_LIMIT |
Memory limit (MB) | System | - |
TROLLSTORE_DISK_QUOTA |
Storage quota (MB) | Unlimited | - |
TROLLSTORE_POWER_MODE |
Power optimization | Auto | ✓ |
TROLLSTORE_THREAD_LIMIT |
Max thread count | Auto | - |
TROLLSTORE_IO_PRIORITY |
I/O priority (0-3) | 1 | - |
TROLLSTORE_GPU_FORCE |
Force GPU rendering | 0 | ✓ |
System integration settings:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_URL_SCHEME |
Custom URL scheme | Default | - |
TROLLSTORE_SHARE_EXT |
Enable share extension | 0 | ✓ |
TROLLSTORE_SIRI_ALLOW |
Allow Siri integration | 0 | ✓ |
TROLLSTORE_NOTIFICATIONS |
Enable notifications | 1 | ✓ |
TROLLSTORE_BACKGROUND |
Background refresh | 0 | ✓ |
TROLLSTORE_LOCATION |
Location services | 0 | ✓ |
TROLLSTORE_CONTACTS |
Contacts access | 0 | ✓ |
For troubleshooting and recovery:
Variable | Description | Default | Toggle |
---|---|---|---|
TROLLSTORE_RECOVERY_MODE |
Enable recovery mode | 0 | ✓ |
TROLLSTORE_BACKUP_FREQ |
Backup frequency (hours) | 24 | - |
TROLLSTORE_RESTORE_POINT |
Custom restore point | Latest | - |
TROLLSTORE_SAFE_MODE |
Run in safe mode | 0 | ✓ |
TROLLSTORE_AUTO_FIX |
Auto-fix common issues | 1 | ✓ |
TROLLSTORE_ROLLBACK |
Allow version rollback | 0 | ✓ |
TROLLSTORE_HEALTH_CHECK |
System health monitoring | 1 | ✓ |
Variables can inherit from multiple categories:
Base Variable
├── Public Interface
│ └── User Configurable
├── Private Implementation
│ └── System Critical
├── Security Level
│ ├── Basic
│ └── Enhanced
└── Function Type
├── Feature Control
└── System Integration
Some variables can change behavior based on context:
- Context-Aware Variables:
TROLLSTORE_POWER_MODE=auto # Adjusts based on battery
TROLLSTORE_SECURITY=adaptive # Changes with threat level
TROLLSTORE_PERFORMANCE=dynamic # Scales with system load
- Composite Variables:
TROLLSTORE_PROTECTION={
security_level: high,
sandbox: enabled,
encryption: required
}
Variables can have multiple states:
State Diagram:
INACTIVE -> PENDING -> ACTIVE -> UPDATING
^ |
|_____________________________|
- Dependency Chain:
TROLLSTORE_JIT_ALLOW=1
└── Requires: TROLLSTORE_SECURITY_LEVEL≤1
└── Requires: TROLLSTORE_DEV_MODE=1
- Mutual Exclusion:
TROLLSTORE_SAFE_MODE=1
⊕ TROLLSTORE_DEV_MODE=1 # Cannot both be active
- Complementary Variables:
TROLLSTORE_DEBUG=1
+ TROLLSTORE_LOG_LEVEL=4 # Better together
- Original TrollStore by @opa334
- Enhanced functionality by Alot1z
- Version 1.0.3: Advanced system integration
This document provides a comprehensive guide to all environment variables available in TrollStore Enhanced. Variables are organized by category and include detailed descriptions of their purpose, behavior, and usage.
Environment variables are grouped into the following categories:
- Public Variables - User-configurable settings safe for modification
- Private/System Variables - Core functionality settings requiring caution
- Security Variables - Control app security and permissions
- Development Variables - Tools for debugging and development
- Network Variables - Control network behavior
- Performance Variables - Optimize app performance
- Integration Variables - Settings for system integration
- Recovery Variables - Tools for troubleshooting and recovery
These variables are safe for users to modify and control basic app behavior:
TROLLSTORE_PERSIST
- Description: Keep app installed after reboot
- Default: "0"
- Type: Toggle
- Example: Set to "1" to persist after reboot
Control app security and permission levels:
TROLLSTORE_SECURITY_LEVEL
- Description: Security enforcement level
- Default: "2"
- Values: 0 (None) to 3 (Maximum)
- Warning: Lower values reduce security
Tools for developers and debugging:
TROLLSTORE_DEV_MODE
- Description: Enable developer features
- Default: "0"
- Type: Toggle
- Note: Enables logging and debug tools
Control network behavior and connectivity:
TROLLSTORE_PROXY_ENABLED
- Description: Use custom proxy
- Default: "0"
- Type: Toggle
- Related: TROLLSTORE_PROXY_URL
Optimize app performance and resource usage:
TROLLSTORE_CPU_LIMIT
- Description: CPU usage limit
- Default: "100"
- Range: 0-100
- Unit: Percentage
Control system integration features:
TROLLSTORE_URL_SCHEME
- Description: Custom URL scheme
- Default: "trollstore"
- Format: [a-z0-9]+
Tools for troubleshooting and recovery:
TROLLSTORE_RECOVERY_MODE
- Description: Enable recovery mode
- Default: "0"
- Type: Toggle
- Warning: May affect stability
Variables can inherit properties and behaviors:
-
Category Inheritance
- Variables inherit default behaviors from their category
- Category-specific validation rules apply
-
Value Inheritance
- Some variables inherit values from system settings
- Changes to parent values affect child variables
Variables that can change based on context:
-
System State
- Battery level triggers
- Network connectivity changes
- Storage space thresholds
-
User Activity
- Usage patterns
- Time-based changes
- Location-based adjustments
Variables can exist in multiple states:
-
TSVariableStateInactive
- Variable is defined but not in use
- Default values apply
-
TSVariableStatePending
- Change requested but not applied
- Waiting for conditions or approval
-
TSVariableStateActive
- Variable is in use and affecting system
- Current value is being applied
-
TSVariableStateUpdating
- Value is being changed
- Temporary state during transitions
Guidelines for variable interactions:
-
Dependencies
- Some variables require others to be active
- Check dependency chain before changes
-
Conflicts
- Some variables cannot be active together
- System prevents conflicting states
-
Validation
- Type-specific validation rules
- Range and format checking
- Security validation for sensitive variables
Important security guidelines:
-
Private Variables
- Modification requires elevated privileges
- Changes are logged and monitored
-
Security Variables
- Cannot be modified while app is running
- Require app restart to take effect
-
Recovery Variables
- May bypass normal security checks
- Use with caution
Recommendations for variable management:
-
Documentation
- Document all custom values
- Keep track of changes
-
Testing
- Test changes in safe environment
- Verify behavior before production
-
Monitoring
- Monitor variable states
- Track performance impact
-
Recovery
- Keep backup of working configuration
- Know how to reset to defaults
Common usage examples:
# Enable developer mode
TROLLSTORE_DEV_MODE=1
# Set maximum security
TROLLSTORE_SECURITY_LEVEL=3
# Custom URL scheme
TROLLSTORE_URL_SCHEME=myapp
For help with environment variables:
- Check documentation first
- Use recovery mode if needed
- Contact support for assistance
Remember to always back up your configuration before making changes to environment variables.