@sythora/platinum.js
v1.0.2
Published
Creating a proxy has never been easier with Platinum.js
Maintainers
Readme
Platinum.JS
A flexible web proxy framework to make your skid dream a reality.
Features
- Proxy Support: Switch between Ultraviolet and Scramjet through the server file (maybe have a switcher??)
- Multiple Transports: Epoxy and Libcurl transport options
- Easy Configuration: Setup in less than 10 minutes.
- Modular Design: Clean separation of client and server code
Installation
npm install @sythora/platinum.jsQuick Start
Server Setup
import { create_platinum_server } from './server.js'
const { app, server } = create_platinum_server({
staticDir: 'public',
port: 8080,
proxy: 'ultraviolet',
transport: 'epoxy'
})
server.listen(8080, () => {
console.log('Platinum server running on http://localhost:8080')
})Client Setup
import { init_platinum, navigate } from './client.js'
await init_platinum({
searchEngine: 'google',
onReady: () => {
console.log('Platinum is ready!')
}
})
navigate('example.com')
navigate('search query')Configuration
Server Options
| Option | Type | Default | Description |
|------------|--------|----------------|---------------------------------------------|
| staticDir | string | 'public' | Directory for static files |
| port | number | 8080 | Server port |
| proxy | string | 'ultraviolet'| Proxy type: 'ultraviolet' or 'scramjet' |
| transport | string | 'epoxy' | Transport type: 'epoxy' or 'libcurl' |
Client Options
| Option | Type | Default | Description |
|--------------|----------|------------|----------------------------------------------|
| searchEngine | string | 'google' | Search engine: 'google' or 'duckduckgo' |
| onReady | function | null | Callback when initialization completes |
Usage Examples
Navigate to a URL
navigate('google.com')
navigate('https://example.com')Perform a search
navigate('web proxies')Check current config
console.log(window.__PLATINUM_CONFIG__)
// { proxy: "ultraviolet", transport: "epoxy" }Switch proxy types
const { app, server } = create_platinum_server({
proxy: 'scramjet',
transport: 'libcurl'
})Troubleshooting
Config not loading
- Check browser console for
[platinum] config loaded from server - Ensure HTML has
<head>tag for cfg injection
Proxy not working
- Check if service worker registered:
navigator.serviceWorker.controller - Verify proxy files are accessible in Network tab
- Look for errors in console
Transport issues
- Ensure BareMux worker is accessible at
/baremux/worker.js - Check WISP connection in DevTools
- Verify transport files are served
License
agpl
