mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 02:05:10 +00:00
- Updated version to 2.3.3, endpoints 46→49, providers 12→14 - Added Direct Embed Providers section to README (megavid, anixo) - Updated streaming status table with embed alternative - Updated mermaid architecture diagram with embed flow - Updated health/stats sample responses with new fields - Added embed endpoint docs to docs/endpoints.md - Added Direct Embed section to docs/streaming.md - Updated CONTRIBUTING.md with embed provider notes - Added FAQ about direct embed providers - Updated roadmap with completed items
4.0 KiB
4.0 KiB
Contributing to MiruroAPI
Thank you for your interest in contributing! Here's how you can help.
Getting Started
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/MiruroAPI.git - Create a branch:
git checkout -b feature/amazing-feature - Make your changes
- Commit:
git commit -m 'feat: add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
Development Setup
# Install dependencies
npm install
# Start development server
npm run dev
# Server runs on http://localhost:3000
Project Structure
MiruroAPI/
├── server.js # Express entry point
├── src/
│ ├── helpers/ # AniList, pipe + embed providers, cache integrations
│ └── routes/ # Express routes
├── public/ # Static files (landing page, Swagger UI)
└── docs/ # API documentation
Adding a New Endpoint
- Create helper in
src/helpers/yourHelper.jsif needed - Add route in
src/routes/apiRoutes.js - Update
docs/endpoints.mdwith documentation - Test with
curl http://localhost:3000/api/your-endpoint
For streaming endpoints, consider adding direct embed providers (megavid, anixo) in
src/helpers/pipe.js— these bypass Cloudflare and work from any environment.
Code Style
- Use CommonJS (
require/module.exports) - Add JSDoc comments for new functions
- Follow existing patterns in the codebase
- Keep helpers focused on one task
File Headers
/*
* ======= • ======= • ======= • ======= • =======• =======
* MiruroAPI — filename.js
* Repository: https://github.com/Shineii86/MiruroAPI
*
* @description
* What this module does.
*
* @author Shinei Nouzen
* @license MIT
* ======= • ======= • ======= • ======= • =======• =======
*/
Section Markers
// ══════════════════════════════════════════════════════════════
// SECTION NAME
// ══════════════════════════════════════════════════════════════
Feature Markers
// ---- FEATURE: Name ----
Commit Messages
Use Conventional Commits:
feat:new featurefix:bug fixdocs:documentation changesrefactor:code refactoringtest:adding testschore:maintenance
Pull Request Guidelines
- Keep PRs focused on one feature or fix
- Update CHANGELOG.md with your changes
- Test your changes locally before submitting
- Follow existing code style
Reporting Issues
- Use GitHub Issues for bug reports
- Include steps to reproduce
- Include expected vs actual behavior
- Include your Node.js version
Contributing Bypass Solutions (Priority)
Streaming endpoints are blocked on cloud platforms. This is the most impactful contribution you can make.
What to Build
Add a new fallback method in src/helpers/pipe.js. The file already has 3 methods (direct, ScraperAPI, FlareSolverr) — add yours as a 4th.
Free/Open Source Options
| Tool | Language | Install |
|---|---|---|
| nodriver | Python | pip install nodriver |
| Camoufox | Python | pip install camoufox |
| curl_cffi | Python | pip install curl_cffi |
| patchright | Python | pip install patchright |
| Scrape.do | HTTP API | 1K free credits/mo |
Steps
- Fork and clone
- Add your method in
src/helpers/pipe.js - Add your API key/URL to
.env.example - Test:
curl http://localhost:3000/api/episodes/20 - Submit PR
License
By contributing, you agree that your contributions will be licensed under the MIT License.