summaryrefslogtreecommitdiffstats
path: root/applications/luci-app-tor/htdocs/luci-static/resources/view/tor/tor.js
blob: 61407d7587bb74cd53440a916e1c41cb5cc77d64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';
'require view';
'require form';
'require uci';


return view.extend({
	render: function () {
		let m, s, o;

		m = new form.Map('tor', _('Tor onion router'),
			_('For further information <a %s>check the documentation</a>')
				.format('href="https://openwrt.org/docs/guide-user/services/tor/client" target="_blank" rel="noreferrer"')
		);

		s = m.section(form.NamedSection, 'conf', 'tor');

		o = s.option(form.DynamicList, 'tail_include', _('Include configs'));
		o.datatype = 'list(string)';

		o = s.option(form.FileUpload, '_custom_config', _('Custom config'));
		o.default = '/etc/tor/torrc_custom';
		o.root_directory = '/etc/tor/';
		o.optional = true;
		o.write = function(section_id, formvalue) {
			let tail_include = uci.get('tor', section_id, 'tail_include');
			if (!tail_include.includes(formvalue)) {
				tail_include.push(formvalue);
				return uci.set('tor', section_id, 'tail_include', tail_include);
			}
		};


		return m.render();
	},
});