diff --git a/glorytun/glorytun.config b/glorytun/glorytun.config index 9ee6e41e6..33c93f36f 100644 --- a/glorytun/glorytun.config +++ b/glorytun/glorytun.config @@ -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' \ No newline at end of file + option multiqueue '1' + option label 'Default VPN' \ No newline at end of file diff --git a/glorytun/init b/glorytun/init index 5d0233157..f5b868323 100755 --- a/glorytun/init +++ b/glorytun/init @@ -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 diff --git a/luci-app-glorytun-tcp/Makefile b/luci-app-glorytun-tcp/Makefile new file mode 100644 index 000000000..80d97c856 --- /dev/null +++ b/luci-app-glorytun-tcp/Makefile @@ -0,0 +1,16 @@ +# +# Copyright (C) 2018-2020 Ycarus (Yannick Chabanois) +# +# + +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 diff --git a/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js new file mode 100644 index 000000000..e4045f267 --- /dev/null +++ b/luci-app-glorytun-tcp/htdocs/luci-static/resources/view/services/glorytun-tcp.js @@ -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(); + } +}); diff --git a/luci-app-glorytun/root/etc/hotplug.d/iface/30-glorytun b/luci-app-glorytun-tcp/root/etc/hotplug.d/iface/30-glorytun similarity index 100% rename from luci-app-glorytun/root/etc/hotplug.d/iface/30-glorytun rename to luci-app-glorytun-tcp/root/etc/hotplug.d/iface/30-glorytun diff --git a/luci-app-glorytun/root/etc/uci-defaults/1200-luci-glorytun b/luci-app-glorytun-tcp/root/etc/uci-defaults/1200-luci-glorytun similarity index 100% rename from luci-app-glorytun/root/etc/uci-defaults/1200-luci-glorytun rename to luci-app-glorytun-tcp/root/etc/uci-defaults/1200-luci-glorytun diff --git a/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json b/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json new file mode 100644 index 000000000..03e7dcf7a --- /dev/null +++ b/luci-app-glorytun-tcp/root/usr/share/luci/menu.d/luci-app-glorytun-tcp.json @@ -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" ] + } + } +} diff --git a/luci-app-glorytun/root/usr/share/rpcd/acl.d/luci-app-glorytun.json b/luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json similarity index 51% rename from luci-app-glorytun/root/usr/share/rpcd/acl.d/luci-app-glorytun.json rename to luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json index 63a49918f..f4f288835 100644 --- a/luci-app-glorytun/root/usr/share/rpcd/acl.d/luci-app-glorytun.json +++ b/luci-app-glorytun-tcp/root/usr/share/rpcd/acl.d/luci-app-glorytun-tcp.json @@ -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" ] }, diff --git a/luci-app-glorytun/Makefile b/luci-app-glorytun/Makefile deleted file mode 100644 index b582773b2..000000000 --- a/luci-app-glorytun/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# Copyright (C) 2017-2019 Ycarus (Yannick Chabanois) -# -# 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) - -#include ../luci/luci.mk -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-app-glorytun/luasrc/controller/glorytun.lua b/luci-app-glorytun/luasrc/controller/glorytun.lua deleted file mode 100644 index c9917bb74..000000000 --- a/luci-app-glorytun/luasrc/controller/glorytun.lua +++ /dev/null @@ -1,14 +0,0 @@ --- Copyright 2018 - 2019 Ycarus (Yannick Chabanois) --- 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 diff --git a/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua b/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua deleted file mode 100644 index aab2f460c..000000000 --- a/luci-app-glorytun/luasrc/model/cbi/glorytun-settings.lua +++ /dev/null @@ -1,83 +0,0 @@ --- Copyright 2018 Ycarus (Yannick Chabanois) --- Copyright 2008 Steven Barth --- 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 - diff --git a/luci-app-glorytun/luasrc/model/cbi/glorytun.lua b/luci-app-glorytun/luasrc/model/cbi/glorytun.lua deleted file mode 100644 index 1fb1b829e..000000000 --- a/luci-app-glorytun/luasrc/model/cbi/glorytun.lua +++ /dev/null @@ -1,147 +0,0 @@ --- Copyright 2018 Ycarus (Yannick Chabanois) --- Copyright 2008 Steven Barth --- 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 diff --git a/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm b/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm deleted file mode 100644 index 898252325..000000000 --- a/luci-app-glorytun/luasrc/view/glorytun/cbi-select-input-add.htm +++ /dev/null @@ -1,11 +0,0 @@ -
- <% if self.invalid_cts then -%>
<% end %> - - - - <% if self.invalid_cts then %>
<%:Invalid%>
<% end %> -
diff --git a/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm b/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm deleted file mode 100644 index 652494e0c..000000000 --- a/luci-app-glorytun/luasrc/view/glorytun/pageswitch.htm +++ /dev/null @@ -1,13 +0,0 @@ -<%# - Copyright 2018 Ycarus (Yannick Chabanois) - Copyright 2008 Steven Barth - Copyright 2008 Jo-Philipp Wich - Licensed to the public under the Apache License 2.0. --%> - -
- - <%:Overview%> » - <%=luci.i18n.translatef("Instance \"%s\"", self.instance)%> - -
diff --git a/luci-app-glorytun/po/de/glorytun.po b/luci-app-glorytun/po/de/glorytun.po deleted file mode 100644 index f3f01f7fd..000000000 --- a/luci-app-glorytun/po/de/glorytun.po +++ /dev/null @@ -1,104 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-05 12:39+0000\n" -"Last-Translator: Anonymous \n" -"Language-Team: German \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)" diff --git a/luci-app-glorytun/po/fr/glorytun.po b/luci-app-glorytun/po/fr/glorytun.po deleted file mode 100644 index 7b6b678ee..000000000 --- a/luci-app-glorytun/po/fr/glorytun.po +++ /dev/null @@ -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 \n" -"Language-Team: French \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)" diff --git a/luci-app-glorytun/po/it/glorytun.po b/luci-app-glorytun/po/it/glorytun.po deleted file mode 100644 index 96ae2b091..000000000 --- a/luci-app-glorytun/po/it/glorytun.po +++ /dev/null @@ -1,104 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-09-21 12:51+0000\n" -"Last-Translator: Weblate Admin \n" -"Language-Team: Italian \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)" diff --git a/luci-app-glorytun/po/oc/glorytun.po b/luci-app-glorytun/po/oc/glorytun.po deleted file mode 100644 index be34c778d..000000000 --- a/luci-app-glorytun/po/oc/glorytun.po +++ /dev/null @@ -1,103 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-10-13 07:30+0000\n" -"Last-Translator: Quentin PAGÈS \n" -"Language-Team: Occitan \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)" diff --git a/luci-app-glorytun/po/templates/glorytun.pot b/luci-app-glorytun/po/templates/glorytun.pot deleted file mode 100644 index 9c862bb47..000000000 --- a/luci-app-glorytun/po/templates/glorytun.pot +++ /dev/null @@ -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 "" diff --git a/luci-app-glorytun/po/zh_Hans/glorytun.po b/luci-app-glorytun/po/zh_Hans/glorytun.po deleted file mode 100644 index 051d88490..000000000 --- a/luci-app-glorytun/po/zh_Hans/glorytun.po +++ /dev/null @@ -1,102 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-06-27 17:26+0000\n" -"Last-Translator: antrouter \n" -"Language-Team: Chinese (Simplified) \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)" diff --git a/luci-app-glorytun/po/zh_Hant/glorytun.po b/luci-app-glorytun/po/zh_Hant/glorytun.po deleted file mode 100644 index 4a77f6410..000000000 --- a/luci-app-glorytun/po/zh_Hant/glorytun.po +++ /dev/null @@ -1,102 +0,0 @@ -msgid "" -msgstr "" -"PO-Revision-Date: 2020-07-09 07:31+0000\n" -"Last-Translator: antrouter \n" -"Language-Team: Chinese (Traditional) \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)" diff --git a/luci-app-glorytun/root/etc/config/glorytun_recipes b/luci-app-glorytun/root/etc/config/glorytun_recipes deleted file mode 100644 index 693eb6da6..000000000 --- a/luci-app-glorytun/root/etc/config/glorytun_recipes +++ /dev/null @@ -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" - diff --git a/luci-app-glorytun/root/usr/share/luci/menu.d/luci-app-glorytun.json b/luci-app-glorytun/root/usr/share/luci/menu.d/luci-app-glorytun.json deleted file mode 100644 index 414accf0b..000000000 --- a/luci-app-glorytun/root/usr/share/luci/menu.d/luci-app-glorytun.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "admin/vpn/glorytun": { - "title": "Glorytun", - "order": 20, - "action": { - "type": "cbi", - "path": "glorytun" - }, - "depends": { - "acl": [ "luci-app-glorytun" ] - } - } -}