@hydren/linkvertise
Version:
Linkvertise or something..
98 lines (67 loc) • 2.53 kB
Markdown
# @hydren/linkvertise
A simple Node.js/Express helper for creating Linkvertise links and executing a callback when users complete the Linkvertise flow. Supports mounting routes as **Router** or directly on the **Express app**.
* Localhost testing may not work properly for some dynamic redirect flows; use a public domain or tunneling service like ngrok.
## Features
* Generate Linkvertise links dynamically.
* Detect current host and port automatically.
* Execute a callback **after the user returns from Linkvertise**.
* Mount routes as **Router** or directly on the **Express app**.
## Installation
```bash
npm install @hydren/linkvertise
```
## Usage
### 1. Configure your Linkvertise User ID
```js
const express = require("express");
const app = express();
const linkvertise = require("@hydren/linkvertise");
linkvertise.config("YOUR_USER_ID");
```
### 2. Using as Router
```js
function openahahha(req) {
console.log("User completed Linkvertise:", req.ip);
// Add logic to credit user, update DB, etc.
}
app.use(linkvertise.create({
type: "router",
path: "/go",
finalPath: "/simple",
onComplete: openahahha
}));
app.listen(3000, () => console.log("Server running on port 3000"));
```
* `/go` → Redirects user to Linkvertise.
* `/simple` → Executes `onComplete` after Linkvertise completion.
---
### 3. Using directly on App
```js
linkvertise.create({
type: "app",
instance: app,
path: "/go2",
finalPath: "/simple2",
onComplete: openahahha
});
```
## Options
| Option | Type | Description |
| ---------- | --------------------- | ---------------------------------------------------- |
| type | `'router'` or `'app'` | Mount type, default is `'router'`. |
| instance | Express app/router | Required if `type` is `'app'`. |
| path | `string` | Initial route to redirect user to Linkvertise. |
| finalPath | `string` | Route where `onComplete` executes after Linkvertise. |
| onComplete | `function(req)` | Callback executed when user returns. |
## Notes
* The module **cannot track Linkvertise server-side completion**, only detects **when the user is redirected back**.
* Dynamic host detection (`req.headers.host`) works on localhost or live servers.
## License
MIT License