11个稳定版本
使用旧Rust 2015
1.2.3 | 2023年9月5日 |
---|---|
1.2.2 | 2022年7月7日 |
1.2.1 | 2022年1月31日 |
1.2.0 | 2021年5月18日 |
0.0.1 |
|
#1 in #sales
每月25次下载
185KB
4K SLoC
包含(WOFF字体,17KB)open_sans_bold.woff,(WOFF字体,13KB)open_sans_bold.woff2,(WOFF字体,16KB)open_sans_light.woff,(WOFF字体,13KB)open_sans_light.woff2,(WOFF字体,16KB)open_sans_regular.woff,(WOFF字体,13KB)open_sans_regular.woff2 和更多。
Raider
联盟仪表板。供联盟使用,用于生成跟踪代码和查看其余额。
Raider易于集成到现有系统中。您还可以使用模板和样式自定义仪表板的外观和感觉。它可以作为一个自助联盟系统使用,让您的联盟用户管理他们的账户,创建跟踪URL,查看他们的余额并请求提款。
在Rust版本:rustc 1.51.0-nightly (c8915eebe 2021-01-07)
上测试
🇭🇺 在匈牙利布达佩斯制作。
谁在使用它?
Crisp |
👋 您使用Raider并希望被列在那里? 联系我。
功能
- 自助联盟仪表板
- 用户可以生成联盟跟踪代码
- 用户可以看到他们的联盟统计数据(例如,他们赚了多少钱)
- 用户可以请求提款(您将收到一封通知电子邮件)
- 您的后端将推荐客户付款报告给Raider
它是如何工作的?
Raider提供了一个自助联盟仪表板,用户可以在其中注册,登录并管理他们的账户(例如,创建跟踪代码,请求提款等)。您的后端可以将推荐客户付款报告给Raider,这样联盟就可以提取他们的佣金并在任何时候请求提款。
Raider提供两项服务
- 自助仪表板:供您的联盟用户使用
- 支付报告API:每次付款时由您的后端调用(即,将应计佣金金额记入联盟账户)
如何使用它?
安装
从发行版安装
安装 Raider 的最佳方式是从 Raider 发行版页面 拉取最新版本。
请确保选择正确的服务器架构(例如,Intel 32 位)。
👉 每个发行版二进制文件都附带一个 .asc
签名文件,可以使用 @valeriansaliou GPG 公钥进行验证:🔑valeriansaliou.gpg.pub.asc。
从软件包安装
Raider 为基于 Debian 的系统(Debian、Ubuntu 等)提供预构建的软件包。
重要提示:Raider 目前只为 Debian 12 提供针对 64 位的软件包(代号:bookworm
)。您可能仍然可以在其他 Debian 版本以及 Ubuntu 上使用它们(尽管它们依赖于特定版本的 glibc
,这可能在较旧或较新的系统上不可用)。
首先,添加 Raider APT 仓库(例如,对于 Debian bookworm
)
echo "deb [signed-by=/usr/share/keyrings/valeriansaliou_raider.gpg] https://packagecloud.io/valeriansaliou/raider/debian/ bookworm main" > /etc/apt/sources.list.d/valeriansaliou_raider.list
curl -fsSL https://packagecloud.io/valeriansaliou/raider/gpgkey | gpg --dearmor -o /usr/share/keyrings/valeriansaliou_raider.gpg
apt-get update
然后,安装 Raider 软件包
apt-get install raider
然后,编辑预填充的 Raider 配置文件
nano /etc/raider.cfg
最后,重新启动 Raider
service raider restart
从 Cargo 安装
如果您更喜欢通过 Rust 的 Cargo 管理 raider
,可以直接使用 cargo install
安装它
cargo install raider-server
请确保您的 $PATH
已正确配置,以便从中获取 Crates 二进制文件,然后使用 raider
命令运行 Raider。
从源代码安装
最后一个选项是从 Git 拉取源代码,并通过 cargo
编译 Raider。
cargo build --release
您可以在 ./target/release
目录中找到构建的二进制文件。
在编译 Raider 之前,请安装 libssl-dev
(即 OpenSSL 头文件)和 libmysqlclient-dev
(即 MySQL 客户端头文件)。SSL 依赖项对于电子邮件通知是必需的,而 MySQL 依赖项对于连接到您的数据库是必需的。
从 Docker Hub 安装
您可能会发现通过 Docker 运行 Raider 很方便。您可以在 Docker Hub 上找到预构建的 Raider 镜像,地址为 valeriansaliou/raider。
首先,拉取 valeriansaliou/raider
镜像
docker pull valeriansaliou/raider:v1.2.3
然后,创建配置文件并运行它(将 /path/to/your/raider/config.cfg
替换为您配置文件的路径)
docker run -p 8080:8080 -v /path/to/your/raider/config.cfg:/etc/raider.cfg valeriansaliou/raider:v1.2.3
在配置文件中,请确保
server.inet
设置为0.0.0.0:8080
(这允许从容器外部访问 Raider)assets.path
设置为./res/assets/
(这指的是容器内部路径,因为资产包含在那里)
Raider 可在 https://127.0.0.1:8080
上访问。
数据库
Raider 需要您的宿主机上运行 MySQL(遗憾的是,目前它不兼容 PostgreSQL 和其他数据库)。
应在您创建的 Raider 数据库中导入 Raider SQL 架构,您可以在 raider.sql 中找到。
配置
请使用示例 config.cfg 配置文件,并根据您的环境进行调整。
⚠️ 重要:请确保更改默认的 server.secret_key
、server.track_token
和 server.management_token
配置值,使用您生成的密钥。另外,为 database.password_salt
生成一个任意长度的随机字符串。如果您不更改这些值中的任何一个,您的 Raider 实例将不安全。您可以通过运行 openssl rand -base64 32
来轻松创建这些令牌。
以下列出可用的配置选项及其允许的值
[server]
log_level
(类型:字符串,允许:debug
、info
、warn
、error
,默认:error
)— 日志的详细程度,在生产环境中设置为error
inet
(类型:字符串,允许:IPv4 / IPv6 + 端口,默认:[::1]:8080
)— Raider 服务应监听的宿主机和 TCP 端口workers
(类型:整数,允许:任何数字,默认:4
)— Raider 服务运行的进程数track_token
(类型:字符串,允许:秘密令牌,默认:无默认值)— Track API 的秘密令牌(即秘密密码)management_token
(类型:字符串,允许:秘密令牌,默认:无默认值)— 管理API的秘密令牌(即秘密密码)secret_key
(类型:字符串,允许:192位base64编码的秘密密钥,默认:无默认值)— 用于cookie加密的秘密密钥(有关详细信息,请参阅 Rocket 文档)
[database]
url
(类型:字符串,允许:MySQL URL,无默认值)— 要连接的MySQL数据库的URLpool_size
(类型:整数,允许:任何数字,默认:4
)— 维护到MySQL的连接数idle_timeout
(类型:整数,允许:秒,默认:300
)— 到MySQL的空闲超时时间(秒)connection_timeout
(类型:整数,允许:秒,默认:10
)— 到MySQL的连接超时时间(秒)password_salt
(类型:字符串,允许:任何字符串,无默认值)— 密码盐(最好是强大且长的;账户创建后不要更改此值,因为它将使它们不可用)account_create_allow
(类型:布尔值,允许:true
、false
,默认:true
)— 是否允许创建账户
[exchange]
endpoint
(类型:字符串,允许:任何字符串,默认:https://api.apilayer.com/fixer
)— Fixer API端点(在APILayer上)api_key
(类型:字符串,允许:任何字符串,无默认值)— APILayer API密钥(用于Fixer)
[email]
from
(类型:字符串,允许:电子邮件地址,无默认值)— 用于发送电子邮件的电子邮件地址smtp_host
(类型:字符串,允许:主机名,IPv4,IPv6,默认:localhost
)— 要连接的SMTP主机smtp_port
(类型:整数,允许:TCP端口,默认:587
)—— 连接到的SMTP TCP端口smtp_username
(类型:字符串,允许:任何字符串,无默认值)—— 用于身份验证的SMTP用户名(如果有)smtp_password
(类型:字符串,允许:任何字符串,无默认值)—— 用于身份验证的SMTP密码(如果有)smtp_encrypt
(类型:布尔值,允许:true
,false
,默认:true
)—— 是否使用STARTTLS
加密SMTP连接
[资产]
path
(类型:字符串,允许:UNIX路径,默认:./res/assets/
)—— Raider资产目录的路径
[品牌]
page_title
(类型:字符串,允许:任何字符串,默认:Affiliates
)—— 代理系统标题page_url
(类型:字符串,允许:URL,无默认值)—— 代理系统URLhelp_url
(类型:字符串,允许:URL,无默认值)—— 用于仪表板的帮助URL(例如用户可以搜索帮助的知识库)support_url
(类型:字符串,允许:URL,无默认值)—— 用于仪表板的客户支持URL(例如用户在有问题时可以联系您的位置)icon_color
(类型:字符串,允许:十六进制颜色代码,无默认值)—— 图标颜色(例如您的图标背景颜色)icon_url
(类型:字符串,允许:URL,无默认值)—— 图标URL,图标应该是您的方形标志,用作favicon(推荐PNG格式)logo_white_url
(类型:字符串,允许:URL,无默认值)—— 标志URL,标志应该是您的全宽度标志,用于登录、注册和账户恢复表单的标志(更白的标志,推荐SVG格式)logo_dark_url
(类型:字符串,允许:URL,无默认值)—— 标志URL,标志应该是您的全宽度标志,用作仪表板页眉标志(更暗的标志,推荐SVG格式)custom_html
(类型:字符串,允许:HTML,默认:空)—— 包括在代理系统head
中的自定义HTML(可选)
[跟踪器]
track_url
(类型:字符串,允许:跟踪器URL,无默认值)—— 跟踪器URL,跟踪器链接将指向该URLtrack_parameter
(类型:字符串,允许:跟踪器查询参数,默认:0.00
—— URL中使用的跟踪器查询参数(例如?t=xDJSas10
)commission_default
(类型:浮点数,允许:从0.00
到1.00
的百分比,默认:0.20
—— 默认佣金百分比(用于新账户)
banner_url
(类型:字符串,允许:图片URL,无默认值)—— 横幅图片的URLsize_width
(类型:整数,允许:像素大小,无默认值)—— 横幅的宽度(以像素为单位)size_height
(类型:整数,允许:像素大小,无默认值)—— 横幅的高度(以像素为单位)
[支付]
currency
(类型:字符串,允许:货币代码,默认:EUR
)—— 用于支付(以及一般余额)的货币amount_minimum
(类型:float,允许:任何数字,默认:100.00
)— 提现请求的最小金额administrator_email
(类型:string,允许:电子邮件地址,无默认值) — 分销系统管理员的电子邮件地址(提现请求的电子邮件将发送到这里)
运行Raider
可以这样运行Raider
./raider -c/path/to/config.cfg
如何在我的代码中集成Raider报告?
当您的平台上发生一笔您有tracking_id
的支付(即由分销商推荐的客户进行的支付)时;您的后端需要将这笔支付提交给Raider跟踪API。需要提交全额支付金额,因为佣金百分比由Raider本身应用。
Raider报告库
- Python:py-raider-reporter
👉 找不到您编程语言的库?自己构建一个并在此处引用!(联系我)
如何使用Raider HTTP API?
1️⃣ 跟踪API
支付跟踪
如果您需要手动将跟踪的支付报告给Raider端点,请使用以下HTTP配置(根据您的需要进行调整)
端点URL
HTTP POSThttps://affiliates.example.com/track/payment/<tracking_id>/
其中
tracking_id
:与付款客户关联的跟踪标识符
请求头
- 添加一个包含
Basic
认证的Authorization
头,密码是您配置的server.track_token
。
请求数据
调整请求数据以符合您的支付上下文,并以HTTP POST
的形式发送
{
"amount": 95.00,
"currency": "EUR",
"trace": "Plan: Unlimited; Customer: [email protected]; Website: crisp.chat"
}
其中
amount
:支付的全额(Raider会自行处理佣金金额,例如,如果您发送20%的佣金,金额为100.00
,Raider会将其处理为20.00
)currency
:支付货币代码(如果货币与使用payout.currency
配置的默认货币不同,则使用当日市场汇率进行转换)trace
:一个可选的跟踪值,它将记录在数据库中(可用于您的记录;这永远不会对您的分销用户可见)
注册跟踪
如果您需要手动将跟踪的注册报告给Raider端点,请使用以下HTTP配置(根据您的需要进行调整)
端点URL
HTTP POSThttps://affiliates.example.com/track/signup/<tracking_id>/
其中
tracking_id
:与注册客户关联的跟踪标识符
请求头
- 添加一个包含
Basic
认证的Authorization
头,密码是您配置的server.track_token
。
2️⃣ 管理API
账户创建
如果您需要从您的基础设施中的第三方系统(例如,如果禁用了常规注册)在Raider数据库中创建账户,您可以通过Raider端点创建新账户,使用以下HTTP配置(根据您的需要进行调整)
端点URL
HTTP POSThttps://affiliates.example.com/management/account/
请求头
- 添加一个包含
Basic
认证的Authorization
头,密码是您配置的server.management_token
。
请求数据
调整请求数据以符合您的支付上下文,并以HTTP POST
的形式发送
{
"email": "[email protected]",
"full_name": "John Doe",
"address": "1 Market Street, San Francisco, CA",
"country": "US"
}
其中
email
:新账户的电子邮件地址(将向此电子邮件发送自动生成的密码)full_name
:一个可选的完整名称值,用于预先配置在创建的账户中address
:一个可选的地址值,用于预先配置在创建的账户中country
:一个可选的国家值,用于预先配置在创建的账户中
🔥 报告漏洞
如果您在Raider中发现漏洞,我们非常欢迎您直接通过发送加密邮件到@valeriansaliou(地址:[email protected])来报告。请不要在公共GitHub问题中报告漏洞,因为恶意人员可能会利用这些漏洞攻击正在运行未修补Raider服务器的生产服务器。
⚠️ 您必须使用@valeriansaliou GPG公钥加密您的邮件:[🔑valeriansaliou.gpg.pub.asc](https://valeriansaliou.name/files/keys/valeriansaliou.gpg.pub.asc)。
依赖项
~32–47MB
~849K SLoC