Description
CrossPost Studio
CrossPost Studio is a self-hosted social media cross-posting application that allows you to draft and schedule posts across multiple platforms without relying on external APIs. Unlike traditional solutions, this application operates without requiring social media API access tokens or OAuth connections, making it ideal for shared hosting environments.
Features
- Self-Hosted: Runs entirely on your own server with no external dependencies
- No Social Media APIs: No need for API keys, OAuth tokens, or app approvals
- Multi-Platform Support: Draft and format content for X (Twitter), LinkedIn, Facebook, and Instagram
- Post Scheduling: Schedule posts to be published at specific times
- Media Upload: Upload images to accompany your posts (supports up to 4 images per post)
- Platform Formatting: Automatic formatting adjustments for different platform requirements (character limits, spacing, etc.)
- Manual Publishing: Content is copied to clipboard and manually posted via native platform interfaces
- Responsive Design: Works well on both desktop and mobile devices
- User Experience: AJAX-powered form submissions with proper feedback
- Secure Authentication: Email/password login with secure password hashing
- Branded Interface: Custom logo and favicon support for enhanced branding
- User Profile Management: Change email and password from within the application
- Enhanced Social Posting: One-click posting to social platforms with content auto-filled in native interfaces
- Modern Platform Guidelines: Card-based platform-specific guidelines with character counters and best practices
- Expanded Platform Support: Added support for Bluesky, Telegram, and Threads with platform-specific formatting
- Smart Hashtag Suggestions: Automatic hashtag suggestions based on content keywords with one-click application
- Post Templates: Create and reuse content templates for common post types
- Hashtag Management: Organize hashtags into customizable sets and apply them to posts
- Media Optimization: Automatic image compression and resizing for faster loading and reduced storage
- Video Support: Upload and share short videos up to 50MB across supported platforms
- Bug Fixes: Resolved JavaScript errors and form submission issues for stable operation
- Improved CSS Architecture: Removed all inline styles for better maintainability and fixed modal centering issues
- Enhanced Mobile Experience: Updated navigation and layout for better mobile responsiveness
- Improved User Interface: Fixed modal display issues and JavaScript functionality for better user experience
- Modern Compact Design: Complete UI redesign with contemporary styling, improved spacing, and enhanced user experience
- Enhanced Posting Workflow: Open Facebook and Instagram in new windows with content copied to clipboard automatically
Requirements
- Web Server: Apache or Nginx
- PHP: Version 7.4 or higher
- Database: MySQL 5.7 or higher (with JSON support)
- File Permissions: Writable uploads directory
- Shared Hosting Compatible: Designed to run on cheap shared hosting plans
Installation
Option 1: Manual Installation
- Upload all files to your web directory
- Create the required directories and make them writable:
- Create an empty directory called
uploadsand make it writable (chmod 755 or 777 depending on your server setup) - Create an empty directory called
configand make it writable (chmod 755 or 777 depending on your server setup)
- Create an empty directory called
- Navigate to
install.phpin your browser - Enter your database connection details
- After successful installation, the installer will create a
config/db_config.phpfile - You can now delete
install.phpfor security - Log in with the default credentials:
[email protected]/admin123
Option 2: Database Setup
If you prefer to manually set up the database:
- Create a database on your server
- Import the
schema.sqlfile into your database - Copy
includes/db.phptoconfig/db_config.php - Update the database connection parameters in
config/db_config.php - Set appropriate file permissions (see below)
File Permissions
For proper operation, ensure these permissions are set:
/uploadsdirectory: writable (typically chmod 755 or 777)/configdirectory: writable for installer (remove write permissions after installation for security)
Usage
Creating Posts
- Log in to the dashboard
- Click “Compose” to create a new post
- Write your content in the main text area
- Add images using the file upload field (up to 4 images)
- Select whether to save as a draft or schedule for later
- If scheduling, select a date and time
- The platform previews will show how your content will appear on each network
Publishing Posts
Since this application doesn’t connect directly to social media APIs:
- Click the “Copy Content” button next to your post
- This copies the properly formatted text to your clipboard
- Open a new tab and navigate to the social platform you want to post to
- Paste the content into the native posting interface
- Add your images if needed
- Publish the post through the platform’s native interface
Managing Scheduled Posts
Scheduled posts will appear in your dashboard. Posts that are due to be published will show a reminder notification when you load the dashboard page. The system checks for posts due in the last 10 minutes.
Troubleshooting
Database Connection Issues
If you encounter “Access denied” errors during login or installation:
- Check your MySQL credentials: Make sure the username and password for your MySQL server are correct.
- Default MySQL setup: If using XAMPP/WAMP, the default username is often
rootwith an empty password. - Docker/Custom setups: If you’re using a Docker container or custom MySQL setup, the credentials may differ (default might be username
mysqlwith passwordmysql). - Create the database: Ensure the specified database name exists in MySQL.
- Configuration priority: The application first looks for
config/db_config.php(created by installer), then falls back to defaults inincludes/db.php.
Common MySQL Connection Solutions:
- For XAMPP/WAMP: Use username
rootwith empty password - For MAMP: Use username
rootwith passwordroot(default) - For Docker environments: Check your container documentation for credentials
Security
- Passwords are securely hashed using PHP’s password_hash() function
- Session management follows secure practices
- Proper logout functionality with server-side session destruction
- Input validation and sanitization applied where appropriate
- File upload validation restricts to image formats only
- SQL queries use prepared statements to prevent injection attacks
Architecture
CrossPost Studio follows a simple MVC-like structure:
- Root Files: Entry points for the application (index.php, dashboard.php, etc.)
- API Directory: Handles backend requests (authentication, posts, media)
- Includes Directory: Core functionality and database connections
- Assets Directory: Client-side resources (CSS, JavaScript)
- Uploads Directory: Stores user-uploaded images
Maintenance
- Regularly backup your database
- Monitor the uploads directory for storage usage
- Update passwords regularly
- Keep your server’s PHP and MySQL updated
Customization
The application can be customized by:
- Modifying CSS in
assets/css/style.css - Adding new platform formatting rules in
includes/functions.php - Extending the UI in the dashboard and compose pages
- Changing the default content formatting rules
- Adding custom logo and favicon by placing files in
assets/images/and updating the HTML references - Managing user profile (email/password) through the Profile page after login
License
This software is proprietary and protected by copyright law. All rights are reserved by the author.
You are granted a limited license to use this software for your personal or internal business purposes only. You may not distribute, sublicense, or sell copies of this software. You may not modify, reverse engineer, or attempt to extract the source code of this software.
For licensing inquiries, please contact the author.




Reviews
There are no reviews yet.