75 lines
1.7 KiB
JavaScript
75 lines
1.7 KiB
JavaScript
"use strict";
|
|
"require view";
|
|
"require form";
|
|
"require uci";
|
|
"require tools.widgets as widgets";
|
|
|
|
const conf = "fakehttp";
|
|
const instance = "fakehttp";
|
|
|
|
return view.extend({
|
|
load: function () {
|
|
return Promise.all([uci.load(conf)]);
|
|
},
|
|
render: function (res) {
|
|
let m, s, o;
|
|
|
|
m = new form.Map(
|
|
"fakehttp",
|
|
_("FakeHTTP"),
|
|
_("Obfuscate all your TCP connections into HTTP protocol.")
|
|
);
|
|
|
|
// General Settings
|
|
s = m.section(form.TypedSection, "globals", _("General Settings"));
|
|
s.anonymous = true;
|
|
|
|
o = s.option(form.Flag, "enabled", _("Enable"));
|
|
o.default = 0;
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.Flag, "silent", _("Enable silent mode"));
|
|
o.default = 1;
|
|
o.rmempty = false;
|
|
|
|
o = s.option(
|
|
widgets.DeviceSelect,
|
|
"interface",
|
|
_("Interfaces"),
|
|
_("work on specified network interface")
|
|
);
|
|
o.multiple = true;
|
|
o.nocreate = true;
|
|
o.rmempty = false;
|
|
|
|
// Payload Settings
|
|
s = m.section(form.GridSection, "payload", _("Payload Settings"));
|
|
s.addremove = true;
|
|
s.anonymous = true;
|
|
s.sortable = true;
|
|
s.nodescriptions = true;
|
|
|
|
o = s.option(form.Flag, "enabled", _("Enable"));
|
|
o.default = 0;
|
|
o.editable = true;
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.ListValue, "type", _("Type"));
|
|
o.value("http", "HTTP");
|
|
o.value("https", "HTTPS");
|
|
o.value("binary", "Binary");
|
|
o.editable = true;
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.Value, "payload", _("Payload"));
|
|
o.editable = true;
|
|
o.rmempty = false;
|
|
|
|
o = s.option(form.Value, "comment", _("Comment"));
|
|
o.editable = true;
|
|
o.default = "";
|
|
|
|
return m.render();
|
|
},
|
|
});
|