commit bbe061c
default
·
2024-11-12 04:47:11 +0000 UTC
parent af92863
make_url() now accepts generating proxied urls by token.
1 files changed,
+11,
-1
M
data.c
M
data.c
+11,
-1
1@@ -3676,7 +3676,17 @@ xs_str *make_url(const char *href, const char *proxy, int by_token)
2 xs_str *url = NULL;
3
4 if (proxy && !xs_startswith(href, srv_baseurl)) {
5- xs *p = xs_str_cat(xs_dup(proxy), "/x/");
6+ xs *p = NULL;
7+
8+ if (by_token) {
9+ xs *tks = xs_fmt("%s:%s", xs_dict_get(srv_config, "proxy_token_seed"), proxy);
10+ xs *tk = xs_md5_hex(tks, strlen(tks));
11+
12+ p = xs_fmt("y/%s/", tk);
13+ }
14+ else
15+ p = xs_str_cat(xs_dup(proxy), "/x/");
16+
17 url = xs_replace(href, "https:/" "/", p);
18 }
19 else