mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-28 17:22:51 +08:00
💋 Sync 2026-10-04 04:16:09
This commit is contained in:
1 parent
f6b2df73ec
commit
f62992fd80
745 files changed
+212416
-1173
No files matched your search
@@ -0,0 +1,44 @@
|
||||
'use strict';
|
||||
|
||||
function get_request_env(http, name) {
|
||||
let value = '';
|
||||
|
||||
if (http)
|
||||
value = http.getenv(name) || '';
|
||||
|
||||
if (!value)
|
||||
value = getenv(name) || '';
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
function append_addr(list, value) {
|
||||
if (value)
|
||||
push(list, value);
|
||||
}
|
||||
|
||||
function remote_addr(env) {
|
||||
let http = env && env.http;
|
||||
let addr = '';
|
||||
let values = [];
|
||||
let forwarded_for = get_request_env(http, 'HTTP_X_FORWARDED_FOR');
|
||||
|
||||
if (forwarded_for) {
|
||||
append_addr(values, forwarded_for);
|
||||
append_addr(values, get_request_env(http, 'HTTP_X_REAL_IP'));
|
||||
append_addr(values, get_request_env(http, 'HTTP_CF_CONNECTING_IP'));
|
||||
append_addr(values, get_request_env(http, 'HTTP_TRUE_CLIENT_IP'));
|
||||
append_addr(values, get_request_env(http, 'HTTP_FORWARDED'));
|
||||
} else {
|
||||
append_addr(values, get_request_env(http, 'REMOTE_ADDR'));
|
||||
}
|
||||
|
||||
for (let value in values)
|
||||
addr += value + '\n';
|
||||
|
||||
print(addr);
|
||||
}
|
||||
|
||||
return {
|
||||
remote_addr
|
||||
};
|
||||
Reference in new issue
Block a user