SSTP_Protocol_OpenWRT_LuCI_GUI

On /package/feeds/luci/luci-proto-sstp/htdocs/luci-static/resources/protocol

'use strict';
'require form';
'require network';

network.registerPatternVirtual(/^sstp-.+$/);

return network.registerProtocol('sstp', {
	getI18n: function() {
		return _('SSTP');
	},

	getIfname: function() {
		return this._ubus('l3_device') || 'sstp-%s'.format(this.sid);
	},

	getOpkgPackage: function() {
		return 'sstp-client';
	},

	isFloating: function() {
		return true;
	},

	isVirtual: function() {
		return true;
	},

	getDevices: function() {
		return null;
	},

	containsDevice: function(ifname) {
		return (network.getIfnameOf(ifname) == this.getIfname());
	},

	renderFormOptions: function(s) {
		var dev = this.getL3Device() || this.getDevice(), o;

		// -- general ---------------------------------------------------------------------

		o = s.taboption('general', form.Value, 'server', _('SSTP Server'));
		o.datatype = 'host';

		o = s.taboption('general', form.Value, 'port', _('SSTP Port'));
		o.placeholder = '443';
		o.datatype = 'port';

		o = s.taboption('general', form.Value, 'username', _('PAP/CHAP username'));

		o = s.taboption('general', form.Value, 'password', _('PAP/CHAP password'));
		o.password = true;

		// -- advanced --------------------------------------------------------------------

		o = s.taboption('advanced', form.Flag, 'ppp_ipv6', _('IPv6 support'), _('If checked, adds "+ipv6" to the pppd options'));
		o.ucioption = 'ipv6';

		// --Modified by Pradheesh R J <pradheesh.rj@aheesa.com>
		o = s.taboption('advanced', form.ListValue, 'log_level', _('sstpc Log-level'));
		o.value('0', _('0 - Error'));
		o.value('1', _('1 - Warning'));
		o.value('2', _('2 - Info'));
		o.value('3', _('3 - Debug'));
		o.value('4', _('4 - Verbose Debug'));
		o.default = '0';

		o = s.taboption('advanced', form.Value, 'mtu', _('Override MTU'));
		o.placeholder = dev ? (dev.getMTU() || '1500') : '1500';
		o.datatype    = 'range(576, 9200)';

		o = s.taboption('advanced', form.Value, 'sstp_options', _('Extra sstpc options'), _('e.g: --proxy 10.10.10.10'));

		o = s.taboption('advanced', form.Value, 'pppd_options', _('Extra pppd options'), _('e.g: dump'));
	}
});

Is there a question you'd like to ask?

Hi! I just rewrited the code. I was added some log level information. Are you owner of this code?

Nope. But just presenting something with no further commentary tends to make people ask what the intention is!

If you've enhanced something, you could get on over to GitHub and submit a pull request.

3 Likes

Thanks for your suggestion. I have already raised a request with GitHub.