A lightweight proxy server for DeepL Translator built with Nitro, providing a clean API interface to DeepL's translation services.
- 🚀 Fast and lightweight proxy server
- 🔒 Secure routing through Nitro
- 🌐 Full DeepL API compatibility
- 📦 Easy deployment to various platforms
- ⚡ Built-in caching and optimization
- Framework: Nitro - Universal JavaScript server
- Runtime: Node.js
- Package Manager: pnpm
- TypeScript: Full TypeScript support
- Node.js 18+
- pnpm (recommended) or npm
-
Clone the repository:
git clone https://github.com/xixu-me/XDPL.git cd XDPL
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
The server will start on http://localhost:3000
pnpm dev
- Start development server with hot reloadpnpm build
- Build for productionpnpm preview
- Preview production build locallypnpm prepare
- Prepare Nitro types
The proxy server forwards all requests to DeepL's API. You can use it as a drop-in replacement for direct DeepL API calls:
// Instead of calling https://www2.deepl.com/jsonrpc
// Call your deployed proxy
fetch('https://your-domain.vercel.app/jsonrpc', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
// Your DeepL API request
})
})
Click the "Deploy with Vercel" button above to deploy instantly.
-
Install Vercel CLI:
npm i -g vercel
-
Login to your Vercel account:
vercel login
-
Deploy from your project directory:
vercel
-
For production deployment:
vercel --prod
- Push your code to a Git repository (GitHub, GitLab, or Bitbucket)
- Visit vercel.com and import your repository
- Vercel will automatically detect the Nitro configuration and deploy
The project is pre-configured for Vercel deployment. Nitro automatically generates the necessary Vercel configuration during the build process.
This Nitro application can also be deployed to:
- Netlify:
nitro build --preset netlify
- Cloudflare Workers:
nitro build --preset cloudflare-pages
- AWS Lambda:
nitro build --preset aws-lambda
- DigitalOcean:
nitro build --preset digitalocean
For more deployment options, see the Nitro deployment documentation.
The main configuration is in nitro.config.ts
:
export default defineNitroConfig({
routeRules: {
"/**": {
proxy: "https://www2.deepl.com/**",
},
},
});
- Proxy Operation: XDPL acts as a transparent proxy, forwarding requests directly to DeepL's servers without storing or logging translation content
- No Data Retention: Translation requests and responses pass through the proxy without being cached or stored locally
- Direct Communication: Your data flows directly between your application and DeepL's secure infrastructure
- HTTPS Support: All communications are encrypted in transit when deployed with HTTPS
- No API Key Exposure: Your DeepL API credentials remain between your client and DeepL's servers
- Minimal Attack Surface: Lightweight proxy design reduces potential security vulnerabilities
- Server-Side Processing: Runs on secure server infrastructure (Vercel, Netlify, etc.)
- Use HTTPS: Always deploy with HTTPS enabled for encrypted communication
- Environment Variables: Store sensitive configuration in environment variables, not in code
- Regular Updates: Keep dependencies updated to ensure security patches are applied
- Monitor Usage: Implement proper logging and monitoring for your deployment
- GDPR Friendly: No personal data is stored or processed by the proxy
- Data Sovereignty: Translation data flows directly to DeepL, maintaining your existing compliance posture
- Audit Trail: Server logs can be configured according to your compliance requirements
This project is licensed under the MIT License - see the LICENSE file for details.