https://github.com/jsrei/curl-filter
curl过滤
https://github.com/jsrei/curl-filter
Last synced: 10 months ago
JSON representation
curl过滤
- Host: GitHub
- URL: https://github.com/jsrei/curl-filter
- Owner: JSREI
- License: apache-2.0
- Created: 2025-09-05T20:51:35.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-07T07:58:12.000Z (10 months ago)
- Last Synced: 2025-09-07T09:25:55.415Z (10 months ago)
- Language: TypeScript
- Homepage:
- Size: 320 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cURL Filter
[中文文档](README.zh-CN.md) | English
A powerful web-based tool for filtering and editing cURL commands with configurable rules. Perfect for cleaning up cURL commands copied from browser developer tools before importing them into external systems.
## 🚀 Live Demo
Visit: [https://jsrei.github.io/curl-filter/](https://jsrei.github.io/curl-filter/)
## 🎯 Problem Solved
When you copy a request as cURL from Chrome DevTools (or other browsers), it includes many default headers and parameters that you might not need:
- Unnecessary headers like `User-Agent`, `Accept-Language`, `Accept-Encoding`, etc.
- Browser-specific headers like `sec-ch-ua`, `sec-fetch-*` headers
- Authentication cookies that shouldn't be shared
- Redundant query parameters
This tool helps you clean up these cURL commands by applying configurable filtering rules.
## 🔧 Use Cases
- **API Testing Tools**: Clean cURL commands before importing into Postman, Apifox, Insomnia
- **Coze Plugin Development**: Prepare clean API requests for plugin configuration
- **Documentation**: Generate clean cURL examples for API documentation
- **Security**: Remove sensitive headers and cookies from shared cURL commands
- **Automation**: Standardize cURL commands for scripts and CI/CD pipelines
## ✨ Features
- **Smart Filtering**: Remove unwanted headers, query parameters, and form data
- **Configurable Rules**: Create custom filtering rules with regex patterns
- **Real-time Preview**: See filtering results as you type
- **Input Validation**: Smart detection and validation of cURL commands
- **Quick Start**: One-click example to get started immediately
- **Keyboard Shortcuts**: Efficient workflow with keyboard shortcuts
- **History Management**: Keep track of your filtering history
- **Export/Import**: Save and share your filtering rules
- **Rule Templates**: Pre-built templates for common use cases
- **Multi-language Support**: Available in English and Chinese
- **Responsive Design**: Works on desktop and mobile devices
## 🛠️ Installation
### Prerequisites
- Node.js 18+
- npm or yarn
### Local Development
1. Clone the repository:
```bash
git clone https://github.com/JSREI/curl-filter.git
cd curl-filter
```
2. Install dependencies:
```bash
npm install
```
3. Start the development server:
```bash
npm run dev
# or use the provided script
./start.sh
```
4. Open your browser and visit `http://localhost:25519`
### Build for Production
```bash
npm run build
```
The built files will be in the `dist` directory.
## 📖 Usage
### Quick Start
1. **Try the Example**: Click "Use Example" to load a sample cURL command
2. **Configure Rules**: Click "Rule Management" (Ctrl+M) to set up filtering rules
3. **Apply Filters**: Click "Apply Filter Rules" (Ctrl+Enter) to process your cURL command
4. **Copy Result**: Use the copy button to copy the cleaned cURL command
### Detailed Steps
1. **Paste cURL Command**: Copy a cURL command from your browser's developer tools and paste it into the input field. The tool will automatically validate your input.
2. **Configure Rules**: Click "Rule Management" to set up filtering rules:
- Remove specific headers (e.g., `User-Agent`, `Accept-Language`)
- Filter query parameters
- Clean form data
- Remove JSON body fields
- Use pre-built templates for common scenarios
3. **Apply Filters**: Click "Apply Filter Rules" to process your cURL command. You can also use Ctrl+Enter for quick processing.
4. **Copy Result**: Use the copy button to copy the cleaned cURL command.
### Keyboard Shortcuts
- **Ctrl+Enter**: Apply filter rules
- **Ctrl+K**: Clear input
- **Ctrl+M**: Open rule management
### Example
**Before filtering:**
```bash
curl 'https://api.example.com/users?page=1' \
-H 'accept: application/json' \
-H 'accept-language: en-US,en;q=0.9,zh-CN;q=0.8' \
-H 'cache-control: no-cache' \
-H 'sec-ch-ua: "Chrome";v="120"' \
-H 'sec-fetch-dest: empty' \
-H 'user-agent: Mozilla/5.0...'
```
**After filtering:**
```bash
curl 'https://api.example.com/users?page=1' \
-H 'accept: application/json' \
-H 'cache-control: no-cache'
```
## 🔧 Configuration
The tool supports various filtering rules:
- **Header Filters**: Remove or modify HTTP headers
- **Query Parameter Filters**: Clean URL parameters
- **Form Data Filters**: Filter form fields
- **JSON Body Filters**: Remove JSON properties
- **Custom Patterns**: Use regex for advanced filtering
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- Built with React, TypeScript, and Vite
- UI components from Material-UI
- Deployed on GitHub Pages
## 📞 Support
If you have any questions or need help, please:
1. Check the [Issues](https://github.com/JSREI/curl-filter/issues) page
2. Create a new issue if your problem isn't already reported
3. Provide detailed information about your use case