mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	New interface for Glorytun TCP VPN
This commit is contained in:
		
							parent
							
								
									4a825c5650
								
							
						
					
					
						commit
						9ceaa526a5
					
				
					 23 changed files with 125 additions and 1071 deletions
				
			
		|  | @ -10,4 +10,5 @@ config glorytun 'vpn' | |||
| 	option mtuauto '1' | ||||
| 	option localip '10.255.255.2' | ||||
| 	option remoteip '10.255.255.1' | ||||
| 	option multiqueue '1' | ||||
| 	option multiqueue '1' | ||||
| 	option label 'Default VPN' | ||||
|  | @ -22,17 +22,18 @@ validate_section() { | |||
| 	uci_validate_section glorytun glorytun "${1}" \ | ||||
| 		'enable:bool:0'      \ | ||||
| 		'mptcp:bool:0'       \ | ||||
| 		'listener:bool:0'    \ | ||||
| 		'mode:string'    \ | ||||
| 		'key:string'         \ | ||||
| 		'host:host'          \ | ||||
| 		'port:port'          \ | ||||
| 		'dev:string'         \ | ||||
| 		'timeout:uinteger:10000'         \ | ||||
| 		'chacha20:bool:0'    \ | ||||
| 		'proto:string' | ||||
| } | ||||
| 
 | ||||
| start_instance() { | ||||
| 	local enable key host port dev listener mptcp proto chacha20 | ||||
| 	local enable key host port dev mptcp proto chacha20 mode multiqueue timeout | ||||
| 
 | ||||
| 	validate_section "${1}" || { | ||||
| 		_err "validation failed" | ||||
|  | @ -71,14 +72,14 @@ start_instance() { | |||
| 		${host:+host "$host"} \ | ||||
| 		${dev:+dev "$dev"}  | ||||
| 
 | ||||
| 	[ "${listener}" = "1" ] && procd_append_param command listener | ||||
| 	[ "${mode}" = "listener" ] && procd_append_param command listener | ||||
| 	[ "${mptcp}" = "1" ] && procd_append_param command mptcp | ||||
| 	[ "${chacha20}" = "1" ] && procd_append_param command chacha20 | ||||
| 	[ "${multiqueue}" = "1" ] && procd_append_param command multiqueue | ||||
| 
 | ||||
| 	procd_append_param command \ | ||||
| 		retry count -1 const 500000 \ | ||||
| 		timeout 10000 \ | ||||
| 		timeout ${timeout} \ | ||||
| 		keepalive count 5 idle 20 interval 2 \ | ||||
| 		buffer-size 32768 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										16
									
								
								luci-app-glorytun-tcp/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								luci-app-glorytun-tcp/Makefile
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,16 @@ | |||
| #
 | ||||
| # Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
 | ||||
| #
 | ||||
| #
 | ||||
| 
 | ||||
| include $(TOPDIR)/rules.mk | ||||
| 
 | ||||
| LUCI_TITLE:=LuCI Interface to Glorytun TCP | ||||
| LUCI_DEPENDS:=+glorytun | ||||
| 
 | ||||
| PKG_LICENSE:=GPLv3 | ||||
| 
 | ||||
| #include ../luci/luci.mk
 | ||||
| include $(TOPDIR)/feeds/luci/luci.mk | ||||
| 
 | ||||
| # call BuildPackage - OpenWrt buildroot signature
 | ||||
|  | @ -0,0 +1,87 @@ | |||
| 'use strict'; | ||||
| 'require rpc'; | ||||
| 'require form'; | ||||
| 'require fs'; | ||||
| 'require uci'; | ||||
| 'require tools.widgets as widgets'; | ||||
| 
 | ||||
| var callHostHints; | ||||
| 
 | ||||
| return L.view.extend({ | ||||
| 	callHostHints: rpc.declare({ | ||||
| 		object: 'luci-rpc', | ||||
| 		method: 'getHostHints', | ||||
| 		expect: { '': {} } | ||||
| 	}), | ||||
| 
 | ||||
| 	load: function() { | ||||
| 		return  this.callHostHints(); | ||||
| 	}, | ||||
| 
 | ||||
| 	render: function(hosts) { | ||||
| 		var m, s, o; | ||||
| 
 | ||||
| 		m = new form.Map('glorytun', _('Glorytun TCP')); | ||||
| 
 | ||||
| 		s = m.section(form.GridSection, 'glorytun', _('Instances')); | ||||
| 		s.addremove = true; | ||||
| 		s.anonymous = true; | ||||
| 		s.nodescriptions = true; | ||||
| 
 | ||||
| 		s.tab('general', _('General Settings')); | ||||
| 		s.tab('advanced', _('Advanced Settings')); | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Flag, 'enable', _('Enabled')); | ||||
| 		o.default = o.enabled; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.ListValue, 'mode', _('Mode')); | ||||
| 		o.value('',_('Client')); | ||||
| 		o.value('listener',_('Server')); | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'host', _('Host')); | ||||
| 		o.rmempty = false; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'port', _('Port')); | ||||
| 		o.rmempty = false; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'key', _('Key')); | ||||
| 		o.rmempty = false; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'dev', _('Interface name')); | ||||
| 		o.rmempty = false; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'localip', _('Local IP')); | ||||
| 		o.datatype = 'or(ip4addr,ip6addr)'; | ||||
| 		o.rmempty = false; | ||||
| 
 | ||||
| 		o = s.taboption('general', form.Value, 'remoteip', _('Remote IP')); | ||||
| 		o.datatype = 'or(ip4addr,ip6addr)'; | ||||
| 		o.rmempty = false; | ||||
| 
 | ||||
| 		o = s.taboption('advanced', form.Flag, 'mptcp', _('MPTCP')); | ||||
| 		o.default = o.enabled; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('advanced', form.Flag, 'chacha20', _('chacha'), _('Force fallback cipher')); | ||||
| 		o.default = o.enabled; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('advanced', form.Value, 'timeout', _('Timeout')); | ||||
| 		o.default = '10000'; | ||||
| 		o.rmempty = false; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('advanced', form.Flag, 'multiqueue', _('Multiqueue')); | ||||
| 		o.default = o.enabled; | ||||
| 		o.rmempty = false; | ||||
| 		o.modalonly = true; | ||||
| 
 | ||||
| 		o = s.taboption('general',form.Value, 'label', _('Label')); | ||||
| 		o.rmempty = true; | ||||
| 
 | ||||
| 		return m.render(); | ||||
| 	} | ||||
| }); | ||||
|  | @ -0,0 +1,13 @@ | |||
| { | ||||
| 	"admin/vpn/glorytun-tcp": { | ||||
| 		"title": "Glorytun TCP", | ||||
| 		"order": 60, | ||||
| 		"action": { | ||||
| 			"type": "view", | ||||
| 			"path": "services/glorytun-tcp" | ||||
| 		}, | ||||
| 		"depends": { | ||||
| 			"acl": [ "luci-app-glorytun-tcp" ] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | @ -1,6 +1,6 @@ | |||
| { | ||||
|     "luci-app-glorytun": { | ||||
| 	"description": "Grant UCI access for luci-app-glorytun", | ||||
|     "luci-app-glorytun-tcp": { | ||||
| 	"description": "Grant access to glorytun TCP", | ||||
| 	"read": { | ||||
| 	    "uci": [ "glorytun" ] | ||||
| 	}, | ||||
|  | @ -1,21 +0,0 @@ | |||
| #
 | ||||
| # Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org>
 | ||||
| # Copyright (C) 2017-2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
 | ||||
| #
 | ||||
| # This is based on OpenVPN LuCI Support.
 | ||||
| # This is free software, licensed under the Apache License, Version 2.0 .
 | ||||
| #
 | ||||
| 
 | ||||
| include $(TOPDIR)/rules.mk | ||||
| 
 | ||||
| LUCI_TITLE:=LuCI Support for Glorytun | ||||
| LUCI_DEPENDS:=+glorytun +glorytun-udp | ||||
| LUCI_PKGARCH:=all | ||||
| PKG_LICENSE:=GPLv2 | ||||
| 
 | ||||
| PKG_MAINTAINER:=Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| 
 | ||||
| #include ../luci/luci.mk
 | ||||
| include $(TOPDIR)/feeds/luci/luci.mk | ||||
| 
 | ||||
| # call BuildPackage - OpenWrt buildroot signature
 | ||||
|  | @ -1,14 +0,0 @@ | |||
| -- Copyright 2018 - 2019 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| -- Licensed to the public under the Apache License 2.0. | ||||
| 
 | ||||
| module("luci.controller.glorytun", package.seeall) | ||||
| 
 | ||||
| function index() | ||||
| 	if not nixio.fs.access("/etc/config/glorytun") then | ||||
| 		return | ||||
| 	end | ||||
| 	--entry({"admin", "services", "glorytun"}, cbi("glorytun"), _("Glorytun") ) | ||||
| 	--entry({"admin", "services", "glorytun", "settings"}, cbi("glorytun-settings"), nil ).leaf = true | ||||
| 	entry({"admin", "vpn", "glorytun"}, cbi("glorytun"), _("Glorytun") ) | ||||
| 	entry({"admin", "vpn", "glorytun", "settings"}, cbi("glorytun-settings"), nil ).leaf = true | ||||
| end | ||||
|  | @ -1,83 +0,0 @@ | |||
| -- Copyright 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| -- Copyright 2008 Steven Barth <steven@midlink.org> | ||||
| -- Licensed to the public under the Apache License 2.0. | ||||
| 
 | ||||
| require("luci.ip") | ||||
| require("luci.model.uci") | ||||
| 
 | ||||
| 
 | ||||
| local basicParams = { | ||||
| 	-- | ||||
| 	-- Widget, Name, Default(s), Description | ||||
| 	-- | ||||
| 
 | ||||
| 	{ Flag,"enable",0, translate("Enable") }, | ||||
| 	{ Value,"port",65001, translate("TCP port # for both local and remote") }, | ||||
| 	{ Value,"dev","tun0", translate("Interface name") }, | ||||
| 	{ Value,"host","vpnserver.example.org", translate("Remote host name or ip address") }, | ||||
| 	{ Value,"localip","192.168.99.2", translate("Local tunnel ip address") }, | ||||
| 	{ Value,"remoteip","192.168.99.1", translate("Remote tunnel ip address") }, | ||||
| 	{ Value,"key","secretkey", translate("The secret key") }, | ||||
| 	{ ListValue,"proto",{ "tcp", "udp" }, translate("Protocol") }, | ||||
| 	{ Flag,"listener",0, translate("Server mode") }, | ||||
| 
 | ||||
| 	{ Value,"bind","", translate("Bind address") }, | ||||
| 	--{ Value,"bind-backup","", translate("Bind backup") }, | ||||
| 	{ Value,"bindport",65002, translate("Bind port") }, | ||||
| 	{ Value,"mtu",1500, translate("MTU") }, | ||||
| 	{ Flag,"mtuauto",0, translate("MTU auto") }, | ||||
| 
 | ||||
| 	{ Flag,"mptcp",0, translate("MPTCP") }, | ||||
| 	{ Flag,"chacha20",0, translate("Use ChaCha20 stream cipher") } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| local m = Map("glorytun") | ||||
| local p = m:section( SimpleSection ) | ||||
| 
 | ||||
| p.template = "glorytun/pageswitch" | ||||
| p.mode     = "settings" | ||||
| p.instance = arg[1] | ||||
| 
 | ||||
| 
 | ||||
| local s = m:section( NamedSection, arg[1], "glorytun" ) | ||||
| 
 | ||||
| for _, option in ipairs(basicParams) do | ||||
| 	local o = s:option( | ||||
| 		option[1], option[2], | ||||
| 		option[2], option[4] | ||||
| 	) | ||||
| 	 | ||||
| 	o.optional = true | ||||
| 
 | ||||
| 	if option[1] == DummyValue then | ||||
| 		o.value = option[3] | ||||
| 	else | ||||
| 		if option[1] == DynamicList then | ||||
| 			function o.cfgvalue(...) | ||||
| 				local val = AbstractValue.cfgvalue(...) | ||||
| 				return ( val and type(val) ~= "table" ) and { val } or val | ||||
| 			end | ||||
| 		end | ||||
| 
 | ||||
| 		if type(option[3]) == "table" then | ||||
| 			if o.optional then o:value("", "-- remove --") end | ||||
| 			for _, v in ipairs(option[3]) do | ||||
| 				v = tostring(v) | ||||
| 				o:value(v) | ||||
| 			end | ||||
| 			o.default = tostring(option[3][1]) | ||||
| 		else | ||||
| 			o.default = tostring(option[3]) | ||||
| 		end | ||||
| 	end | ||||
| 
 | ||||
| 	for i=5,#option do | ||||
| 		if type(option[i]) == "table" then | ||||
| 			o:depends(option[i]) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| return m | ||||
| 
 | ||||
|  | @ -1,147 +0,0 @@ | |||
| -- Copyright 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
| -- Copyright 2008 Steven Barth <steven@midlink.org> | ||||
| -- Licensed to the public under the Apache License 2.0. | ||||
| 
 | ||||
| local fs  = require "nixio.fs" | ||||
| local sys = require "luci.sys" | ||||
| local uci = require "luci.model.uci".cursor() | ||||
| local testfullps = luci.sys.exec("ps --help 2>&1 | grep BusyBox") --check which ps do we have | ||||
| local psstring = (string.len(testfullps)>0) and  "ps w" or  "ps axfw" --set command we use to get pid | ||||
| 
 | ||||
| local m = Map("glorytun", translate("Glorytun")) | ||||
| local s = m:section( TypedSection, "glorytun", translate("Glorytun instances"), translate("Below is a list of configured Glorytun instances and their current state") ) | ||||
| s.template = "cbi/tblsection" | ||||
| s.template_addremove = "glorytun/cbi-select-input-add" | ||||
| s.addremove = true | ||||
| s.add_select_options = { } | ||||
| s.add_select_options[''] = '' | ||||
| s.extedit = luci.dispatcher.build_url( | ||||
| 	"admin", "vpn", "glorytun", "settings", "%s" | ||||
| ) | ||||
| 
 | ||||
| uci:load("glorytun_recipes") | ||||
| uci:foreach( "glorytun_recipes", "glorytun_recipe", | ||||
| 	function(section) | ||||
| 		s.add_select_options[section['.name']] = | ||||
| 			section['_description'] or section['.name'] | ||||
| 	end | ||||
| ) | ||||
| 
 | ||||
| function s.getPID(section) -- Universal function which returns valid pid # or nil | ||||
| 	local pid = sys.exec("%s | grep -w %s | grep glorytun | grep -v grep | awk '{print $1}'" % { psstring,section} ) | ||||
| 	if pid and #pid > 0 and tonumber(pid) ~= nil then | ||||
| 		return tonumber(pid) | ||||
| 	else | ||||
| 		return nil | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| function s.parse(self, section) | ||||
| 	local recipe = luci.http.formvalue( | ||||
| 		luci.cbi.CREATE_PREFIX .. self.config .. "." .. | ||||
| 		self.sectiontype .. ".select" | ||||
| 	) | ||||
| 
 | ||||
| 	if recipe and not s.add_select_options[recipe] then | ||||
| 		self.invalid_cts = true | ||||
| 	else | ||||
| 		TypedSection.parse( self, section ) | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| function s.create(self, name) | ||||
| 	local recipe = luci.http.formvalue( | ||||
| 		luci.cbi.CREATE_PREFIX .. self.config .. "." .. | ||||
| 		self.sectiontype .. ".select" | ||||
| 	) | ||||
| 	name = luci.http.formvalue( | ||||
| 		luci.cbi.CREATE_PREFIX .. self.config .. "." .. | ||||
| 		self.sectiontype .. ".text" | ||||
| 	) | ||||
| 	if #name > 3 and not name:match("[^a-zA-Z0-9_]") then | ||||
| 		--uci:section( | ||||
| 		--	"glorytun", "glorytun", name, | ||||
| 		--	uci:get_all( "glorytun_recipes", recipe ) | ||||
| 		--) | ||||
| 		local recipe_data = uci:get_all( "glorytun_recipes", recipe ) | ||||
| 		uci:set("glorytun", name,"glorytun") | ||||
| 		local k, v | ||||
| 		for k, v in pairs(recipe_data) do | ||||
| 			uci:set("glorytun", name, k,v) | ||||
| 		end | ||||
| 
 | ||||
| 		uci:delete("glorytun", name, "_role") | ||||
| 		uci:delete("glorytun", name, "_description") | ||||
| 		uci:commit("glorytun") | ||||
| 		uci:save("glorytun") | ||||
| 
 | ||||
| 		luci.http.redirect( self.extedit:format(name) ) | ||||
| 	elseif #name > 0 then | ||||
| 		self.invalid_cts = true | ||||
| 	end | ||||
| 
 | ||||
| 	return 0 | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| s:option( Flag, "enable", translate("Enabled") ) | ||||
| 
 | ||||
| local active = s:option( DummyValue, "_active", translate("Started") ) | ||||
| function active.cfgvalue(self, section) | ||||
| 	local pid = s.getPID(section) | ||||
| 	if pid ~= nil then | ||||
| 		return (sys.process.signal(pid, 0)) | ||||
| 			and translatef("yes (%i)", pid) | ||||
| 			or  translate("no") | ||||
| 	end | ||||
| 	return translate("no") | ||||
| end | ||||
| 
 | ||||
| local updown = s:option( Button, "_updown", translate("Start/Stop") ) | ||||
| updown._state = false | ||||
| updown.redirect = luci.dispatcher.build_url( | ||||
| 	"admin", "vpn", "glorytun" | ||||
| ) | ||||
| function updown.cbid(self, section) | ||||
| 	local pid = s.getPID(section) | ||||
| 	self._state = pid ~= nil and sys.process.signal(pid, 0) | ||||
| 	self.option = self._state and "stop" or "start" | ||||
| 	return AbstractValue.cbid(self, section) | ||||
| end | ||||
| function updown.cfgvalue(self, section) | ||||
| 	self.title = self._state and "stop" or "start" | ||||
| 	self.inputstyle = self._state and "reset" or "reload" | ||||
| end | ||||
| 
 | ||||
| local port = s:option( DummyValue, "port", translate("Port") ) | ||||
| function port.cfgvalue(self, section) | ||||
| 	local val = AbstractValue.cfgvalue(self, section) | ||||
| 	return val or "65001" | ||||
| end | ||||
| local dev = s:option( DummyValue, "dev", translate("Interface") ) | ||||
| function dev.cfgvalue(self, section) | ||||
| 	local val = AbstractValue.cfgvalue(self, section) | ||||
| 	return val or "tun" | ||||
| end | ||||
| local proto = s:option( DummyValue, "proto", translate("Protocol") ) | ||||
| function proto.cfgvalue(self, section) | ||||
| 	local val = AbstractValue.cfgvalue(self, section) | ||||
| 	return val or "tcp" | ||||
| end | ||||
| 
 | ||||
| function updown.write(self, section, value) | ||||
| 	if self.option == "stop" then | ||||
| 		local pid = s.getPID(section) | ||||
| 		if pid ~= nil then | ||||
| 			sys.process.signal(pid,15) | ||||
| 		end | ||||
| 	else | ||||
| 		local type = proto.cfgvalue(self,section) | ||||
| 		luci.sys.call("/etc/init.d/glorytun-udp start %s" % section) | ||||
| 		luci.sys.call("/etc/init.d/glorytun start %s" % section) | ||||
| 	end | ||||
| 	luci.http.redirect( self.redirect ) | ||||
| end | ||||
| 
 | ||||
| 
 | ||||
| return m | ||||
|  | @ -1,11 +0,0 @@ | |||
| <div class="cbi-section-create"> | ||||
| 	<% if self.invalid_cts then -%><div class="cbi-section-error"><% end %> | ||||
| 	<input type="text" class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.text" /> | ||||
| 	<select class="cbi-section-create-name" name="cbi.cts.<%=self.config%>.<%=self.sectiontype%>.select"> | ||||
| 	<%- for k, v in luci.util.kspairs(self.add_select_options) do %> | ||||
| 		<option value="<%=k%>"><%=luci.xml.pcdata(v)%></option> | ||||
| 	<% end -%> | ||||
| 	</select> | ||||
| 	<input class="cbi-button cbi-button-add" type="submit" value="<%:Add%>" title="<%:Add%>" /> | ||||
| 	<% if self.invalid_cts then %><br /><%:Invalid%></div><% end %> | ||||
| </div> | ||||
|  | @ -1,13 +0,0 @@ | |||
| <%# | ||||
|  Copyright 2018 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> | ||||
|  Copyright 2008 Steven Barth <steven@midlink.org> | ||||
|  Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> | ||||
|  Licensed to the public under the Apache License 2.0. | ||||
| -%> | ||||
| 
 | ||||
| <fieldset class="cbi-section"> | ||||
| 	<legend> | ||||
| 		<a href="<%=url('admin/vpn/glorytun')%>"><%:Overview%></a> » | ||||
| 		<%=luci.i18n.translatef("Instance \"%s\"", self.instance)%> | ||||
| 	</legend> | ||||
| </fieldset> | ||||
|  | @ -1,104 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "PO-Revision-Date: 2020-10-05 12:39+0000\n" | ||||
| "Last-Translator: Anonymous <noreply@weblate.org>\n" | ||||
| "Language-Team: German <http://weblate.openmptcprouter.com/projects/omr/" | ||||
| "luciapplicationsglorytun/de/>\n" | ||||
| "Language: de\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=n != 1;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "Hinzufügen" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "" | ||||
| "Nachfolgend eine Liste der konfigurierten Glorytun-Instanzen und ihre " | ||||
| "aktuelle Status." | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "Bindungsadresse" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "Alternative Bindungsadresse" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "Verbindungs-Port" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "Aktivieren" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "Aktiv" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Glorytun-Instanzen" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "Instanz '%s'" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "Schnittstelle" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "Name der Verbindung" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "Ungültig" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "IP-Adresse des lokalen Tunnels" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "automatische MTU" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "Übersicht" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "Port" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "Protokoll" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "FQDN oder IP-Adresse der Gegenstelle" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "Tunnel-IP-Adresse der Gegenstelle" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "Server-Modus" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "Start/Stop" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "gestartet" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "TCP-Port Nummer lokal und gegenüber" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "geheimer Schlüssel" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "Stromverschlüsselung 'ChaCha20' nutzen" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "nein" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "ja (%i)" | ||||
|  | @ -1,104 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: \n" | ||||
| "POT-Creation-Date: \n" | ||||
| "PO-Revision-Date: 2020-10-07 10:57+0000\n" | ||||
| "Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n" | ||||
| "Language-Team: French <http://weblate.openmptcprouter.com/projects/omr/" | ||||
| "luciapplicationsglorytun/fr/>\n" | ||||
| "Language: fr\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=n > 1;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "Ajouter" | ||||
| 
 | ||||
| msgid "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "Ci-dessous une liste des instances Glorytun configurées et leur état actuel" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "Adresse mappée" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "Lier la sauvegarde" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "Port de connexion" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "Activer" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "Activer" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Instances de Glorytun" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "Instance \"%s\"" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "Interface" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "Nom de l'interface" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "Invalide" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "Adresse IP locale du tunnel" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "MTU auto" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "Aperçu" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "Port" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "Protocole" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "Nom de l'hôte distant ou adresse IP" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "Adresse IP distance du tunnel" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "Mode serveur" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "Marche/Arrêt" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "Démarré" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "Port TCP local et distant" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "La clef secréte" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "Utiliser le chiffrement ChaCha20" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "non" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "oui (%i)" | ||||
|  | @ -1,104 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "PO-Revision-Date: 2020-09-21 12:51+0000\n" | ||||
| "Last-Translator: Weblate Admin <contact@openmptcprouter.com>\n" | ||||
| "Language-Team: Italian <http://weblate.openmptcprouter.com/projects/omr/" | ||||
| "luciapplicationsglorytun/it/>\n" | ||||
| "Language: it\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=n != 1;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "Aggiungi" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "" | ||||
| "Di seguito è riportato un elenco di istanze Glorytun configurate e il loro " | ||||
| "stato corrente" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "Associa indirizzo" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "Bind backup" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "Bind port" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "Attivare" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "Abilitato" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Istanze di Glorytun" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "Istanza \"%s\"" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "Interfaccia" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "Nome interfaccia" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "Non valido" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "Indirizzo IP del tunnel locale" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "MTU auto" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "Panoramica" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "Porta" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "Protocollo" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "Nome host remoto o indirizzo IP" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "Indirizzo IP del tunnel remoto" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "Modalità server" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "Marcia/arresto" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "Iniziato" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "Porta TCP # sia per locale che per remoto" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "Chiave segreta" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "Usa il cifrario a flusso ChaCha20" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "no" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "Sì (%i)" | ||||
|  | @ -1,103 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "PO-Revision-Date: 2020-10-13 07:30+0000\n" | ||||
| "Last-Translator: Quentin PAGÈS <githubou@quentino.fr>\n" | ||||
| "Language-Team: Occitan <http://weblate.openmptcprouter.com/projects/omr/" | ||||
| "luciapplicationsglorytun/oc/>\n" | ||||
| "Language: oc\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=n > 1;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "Ajustar" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "" | ||||
| "Çai-jos una lista de las instàncias Glorytun configuradas e lor estat actual" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "Adreça mapada" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "Associar la salvagarda" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "Pòrt de connexion" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "Activat" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "Activat" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Instàncias Glorytun" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "Instància « %s »" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "Interfàcia" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "Nom de l’interfàcia" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "Invalid" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "Adreça IP locala del tunèl" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "MTU auto" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "Apercebut" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "Pòrt" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "Protocòl" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "Nom de l’òste alonhat o adreça IP" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "Adreça IP alonhada del tunèl" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "Mòde servidor" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "Aviar/Arrestar" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "Aviat" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "Pòrt TCP local e alonhat" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "La clau secrèta" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "Utilizar lo chiframent ChaCha20" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "non" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "òc (%i)" | ||||
|  | @ -1,93 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=UTF-8" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "" | ||||
|  | @ -1,102 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "PO-Revision-Date: 2020-06-27 17:26+0000\n" | ||||
| "Last-Translator: antrouter <xinyangla@188.com>\n" | ||||
| "Language-Team: Chinese (Simplified) <http://weblate.openmptcprouter.com/" | ||||
| "projects/omr/luciapplicationsglorytun/zh_Hans/>\n" | ||||
| "Language: zh_Hans\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "添加" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "以下是已配置的Glorytun实例及其当前状态的列表" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "绑定地址" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "绑定备份" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "绑定端口" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "开启" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "开启" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun(隧道)" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Glorytun实例" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "实例\"%s\"" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "接口" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "网卡名称" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "无效" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "本地隧道IP地址" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "自动MTU" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "概况" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "端口" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "协议" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "远程主机名或IP地址" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "远程隧道IP地址" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "服务器模式" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "开始/停止" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "开始了" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "本地和远程的TCP端口号" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "秘钥" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "使用ChaCha20流密码" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "不" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "是(%i)" | ||||
|  | @ -1,102 +0,0 @@ | |||
| msgid "" | ||||
| msgstr "" | ||||
| "PO-Revision-Date: 2020-07-09 07:31+0000\n" | ||||
| "Last-Translator: antrouter <xinyangla@188.com>\n" | ||||
| "Language-Team: Chinese (Traditional) <http://weblate.openmptcprouter.com/" | ||||
| "projects/omr/luciapplicationsglorytun/zh_Hant/>\n" | ||||
| "Language: zh_Hant\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| "X-Generator: Weblate 4.0.4\n" | ||||
| 
 | ||||
| msgid "Add" | ||||
| msgstr "添加" | ||||
| 
 | ||||
| msgid "" | ||||
| "Below is a list of configured Glorytun instances and their current state" | ||||
| msgstr "以下是已配置的Glorytun實例及其當前狀態的列表" | ||||
| 
 | ||||
| msgid "Bind address" | ||||
| msgstr "綁定地址" | ||||
| 
 | ||||
| msgid "Bind backup" | ||||
| msgstr "綁定地址" | ||||
| 
 | ||||
| msgid "Bind port" | ||||
| msgstr "綁定端口" | ||||
| 
 | ||||
| msgid "Enable" | ||||
| msgstr "啟用" | ||||
| 
 | ||||
| msgid "Enabled" | ||||
| msgstr "啟用" | ||||
| 
 | ||||
| msgid "Glorytun" | ||||
| msgstr "Glorytun隧道" | ||||
| 
 | ||||
| msgid "Glorytun instances" | ||||
| msgstr "Glorytun實例" | ||||
| 
 | ||||
| msgid "Instance \"%s\"" | ||||
| msgstr "實例\"%s\"" | ||||
| 
 | ||||
| msgid "Interface" | ||||
| msgstr "接口" | ||||
| 
 | ||||
| msgid "Interface name" | ||||
| msgstr "接口名稱" | ||||
| 
 | ||||
| msgid "Invalid" | ||||
| msgstr "無效" | ||||
| 
 | ||||
| msgid "Local tunnel ip address" | ||||
| msgstr "本地隧道IP地址" | ||||
| 
 | ||||
| msgid "MPTCP" | ||||
| msgstr "MPTCP協議" | ||||
| 
 | ||||
| msgid "MTU" | ||||
| msgstr "MTU" | ||||
| 
 | ||||
| msgid "MTU auto" | ||||
| msgstr "自動MTU" | ||||
| 
 | ||||
| msgid "Overview" | ||||
| msgstr "總覽" | ||||
| 
 | ||||
| msgid "Port" | ||||
| msgstr "端口" | ||||
| 
 | ||||
| msgid "Protocol" | ||||
| msgstr "協議" | ||||
| 
 | ||||
| msgid "Remote host name or ip address" | ||||
| msgstr "遠程主機名或IP地址" | ||||
| 
 | ||||
| msgid "Remote tunnel ip address" | ||||
| msgstr "遠程隧道IP地址" | ||||
| 
 | ||||
| msgid "Server mode" | ||||
| msgstr "服務器模式" | ||||
| 
 | ||||
| msgid "Start/Stop" | ||||
| msgstr "開始/停止" | ||||
| 
 | ||||
| msgid "Started" | ||||
| msgstr "已開始" | ||||
| 
 | ||||
| msgid "TCP port # for both local and remote" | ||||
| msgstr "本地和遠程的TCP端口號" | ||||
| 
 | ||||
| msgid "The secret key" | ||||
| msgstr "秘鑰" | ||||
| 
 | ||||
| msgid "Use ChaCha20 stream cipher" | ||||
| msgstr "使用ChaCha20流密碼" | ||||
| 
 | ||||
| msgid "no" | ||||
| msgstr "沒有" | ||||
| 
 | ||||
| msgid "yes (%i)" | ||||
| msgstr "是(%i)" | ||||
|  | @ -1,50 +0,0 @@ | |||
| config glorytun_recipe servertcp | ||||
| 	option _description		"Simple TCP server configuration" | ||||
| 	option _role			"server" | ||||
| 	option port			"65001" | ||||
| 	option dev			"tun0" | ||||
| 	option key			"secretkey" | ||||
| 	option listener			"1" | ||||
| 	option localip			"192.168.99.1" | ||||
| 	option remoteip			"192.168.99.2" | ||||
| 	option proto			"tcp" | ||||
| 	option enable			"0" | ||||
| 
 | ||||
| config glorytun_recipe clienttcp | ||||
| 	option _description		"Simple TCP client configuration" | ||||
| 	option _role			"client" | ||||
| 	option port			"65001" | ||||
| 	option dev			"tun0" | ||||
| 	option host			"vpnserver.example.org" | ||||
| 	option key			"secretkey" | ||||
| 	option localip			"192.168.99.2" | ||||
| 	option remoteip			"192.168.99.1" | ||||
| 	option proto			"tcp" | ||||
| 	option enable			"0" | ||||
| 
 | ||||
| config glorytun_recipe serverudp | ||||
| 	option _description		"Simple UDP server configuration" | ||||
| 	option _role			"server" | ||||
| 	option dev			"tun0" | ||||
| 	option bindport			"65003" | ||||
| 	option bind			"192.168.99.1" | ||||
| 	option key			"secretkey" | ||||
| 	option localip			"192.168.99.1" | ||||
| 	option remoteip			"192.168.99.2" | ||||
| 	option proto			"udp" | ||||
| 	option mtuauto			"1" | ||||
| 	option enable			"0" | ||||
| 
 | ||||
| config glorytun_recipe clientudp | ||||
| 	option _description		"Simple UDP client configuration" | ||||
| 	option _role			"client" | ||||
| 	option port			"65003" | ||||
| 	option dev			"tun0" | ||||
| 	option host			"vpnserver.example.org" | ||||
| 	option key			"secretkey" | ||||
| 	option localip			"192.168.99.2" | ||||
| 	option remoteip			"192.168.99.1" | ||||
| 	option proto			"udp" | ||||
| 	option mtuauto			"1" | ||||
| 	option enable			"0" | ||||
| 
 | ||||
|  | @ -1,13 +0,0 @@ | |||
| { | ||||
| 	"admin/vpn/glorytun": { | ||||
| 		"title": "Glorytun", | ||||
| 		"order": 20, | ||||
| 		"action": { | ||||
| 			"type": "cbi", | ||||
| 			"path": "glorytun" | ||||
| 		}, | ||||
| 		"depends": { | ||||
| 			"acl": [ "luci-app-glorytun" ] | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue