Add new package gluon-luci-mesh-vpn-fastd
This new package allows enabling or disabling the null method for the fastd mesh VPN.
This commit is contained in:
		
							parent
							
								
									ce2f494e0c
								
							
						
					
					
						commit
						76607b0070
					
				
							
								
								
									
										41
									
								
								package/gluon-luci-mesh-vpn-fastd/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								package/gluon-luci-mesh-vpn-fastd/Makefile
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,41 @@ | ||||
| include $(TOPDIR)/rules.mk | ||||
| 
 | ||||
| PKG_NAME:=gluon-luci-mesh-vpn-fastd | ||||
| PKG_VERSION:=1 | ||||
| PKG_RELEASE:=1 | ||||
| 
 | ||||
| PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) | ||||
| 
 | ||||
| include $(GLUONDIR)/include/package.mk | ||||
| 
 | ||||
| PKG_CONFIG_DEPENDS += $(GLUON_I18N_CONFIG) | ||||
| 
 | ||||
| define Package/gluon-luci-mesh-vpn-fastd | ||||
|   SECTION:=gluon | ||||
|   CATEGORY:=Gluon | ||||
|   TITLE:=Luci module to enable and disable encryption for the mesh VPN | ||||
|   DEPENDS:=+gluon-luci-admin +gluon-mesh-vpn-fastd | ||||
| endef | ||||
| 
 | ||||
| define Build/Prepare | ||||
| 	mkdir -p $(PKG_BUILD_DIR) | ||||
| endef | ||||
| 
 | ||||
| define Build/Configure | ||||
| endef | ||||
| 
 | ||||
| define Build/Compile | ||||
| 	$(call GluonBuildI18N,gluon-mesh-vpn-fastd,i18n) | ||||
| endef | ||||
| 
 | ||||
| define Package/gluon-luci-mesh-vpn-fastd/install | ||||
| 	$(CP) ./files/* $(1)/ | ||||
| 	$(call GluonInstallI18N,gluon-mesh-vpn-fastd,$(1)) | ||||
| endef | ||||
| 
 | ||||
| define Package/gluon-luci-mesh-vpn-fastd/postinst | ||||
| #!/bin/sh
 | ||||
| $(call GluonCheckSite,check_site.lua) | ||||
| endef | ||||
| 
 | ||||
| $(eval $(call BuildPackage,gluon-luci-mesh-vpn-fastd)) | ||||
							
								
								
									
										2
									
								
								package/gluon-luci-mesh-vpn-fastd/check_site.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								package/gluon-luci-mesh-vpn-fastd/check_site.lua
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| assert(need_boolean('fastd_mesh_vpn.configurable') == true, | ||||
|        "site.conf error: expected `fastd_mesh_vpn.configurable' to be true") | ||||
| @ -0,0 +1,5 @@ | ||||
| module("luci.controller.admin.mesh_vpn_fastd", package.seeall) | ||||
| 
 | ||||
| function index() | ||||
|   entry({"admin", "mesh_vpn_fastd"}, cbi("admin/mesh_vpn_fastd"), _("Mesh VPN"), 20) | ||||
| end | ||||
| @ -0,0 +1,41 @@ | ||||
| local uci = luci.model.uci.cursor() | ||||
| local util = luci.util | ||||
| 
 | ||||
| local f = SimpleForm('mesh_vpn', translate('Mesh VPN')) | ||||
| f.template = "admin/expertmode" | ||||
| 
 | ||||
| local s = f:section(SimpleSection) | ||||
| 
 | ||||
| local o = s:option(Value, 'mode') | ||||
| o.template = "gluon/cbi/mesh-vpn-fastd-mode" | ||||
| 
 | ||||
| local methods = uci:get('fastd', 'mesh_vpn', 'method') | ||||
| if util.contains(methods, 'null') then | ||||
|   o.default = 'performance' | ||||
| else | ||||
|   o.default = 'security' | ||||
| end | ||||
| 
 | ||||
| function f.handle(self, state, data) | ||||
|   if state == FORM_VALID then | ||||
|     local site = require 'gluon.site_config' | ||||
| 
 | ||||
|     local methods = {} | ||||
|     if data.mode == 'performance' then | ||||
|       table.insert(methods, 'null') | ||||
|     end | ||||
| 
 | ||||
|     for _, method in ipairs(site.fastd_mesh_vpn.methods) do | ||||
|       if method ~= 'null' then | ||||
| 	table.insert(methods, method) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     uci:set('fastd', 'mesh_vpn', 'method', methods) | ||||
| 
 | ||||
|     uci:save('fastd') | ||||
|     uci:commit('fastd') | ||||
|   end | ||||
| end | ||||
| 
 | ||||
| return f | ||||
| @ -0,0 +1,32 @@ | ||||
| <div class="cbi-value"> | ||||
|   <div class="cbi-value-title"> | ||||
|     <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio" value="security"<%= attr("id", cbid..'1') .. attr("name", cbid) .. ifattr((self:cfgvalue(section) or self.default) == "security", "checked", "checked") %> /> | ||||
|   </div> | ||||
|   <div class="cbi-value-field-long"> | ||||
|     <label<%= attr("for", cbid..'1') %> class="cbi-value-title"><%:Security mode%></label> | ||||
|     <br /> | ||||
|     <%= translate( | ||||
|         'In security mode, the mesh VPN uses an encrypted tunnel to connect to the VPN servers. ' .. | ||||
|         'The encryption ensures that it is impossible for your internet access provider to see what ' .. | ||||
|         'data is exchanged over your node.' | ||||
|     ) %> | ||||
|     <br /> | ||||
|   </div> | ||||
|   <div class="cbi-value-field-long-after"></div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="cbi-value cbi-value-last"> | ||||
|   <div class="cbi-value-title"> | ||||
|     <input class="cbi-input-radio" onclick="cbi_d_update(this.id)" onchange="cbi_d_update(this.id)" type="radio" value="performance"<%= attr("id", cbid..'2') .. attr("name", cbid) .. ifattr((self:cfgvalue(section) or self.default) == "performance", "checked", "checked") %> /> | ||||
|   </div> | ||||
|   <div class="cbi-value-field-long"> | ||||
|     <label<%= attr("for", cbid..'2') %> class="cbi-value-title"><%:Performance mode%></label> | ||||
|     <br /> | ||||
|     <%= translate( | ||||
|         'In performance mode, no encryption is used. This usually allows for higher throughput, but the data exchanged over your node is not ' .. | ||||
|         'protected against eavesdroppers.' | ||||
|     ) %> | ||||
|     <br /> | ||||
|   </div> | ||||
|   <div class="cbi-value-field-long-after"></div> | ||||
| </div> | ||||
							
								
								
									
										38
									
								
								package/gluon-luci-mesh-vpn-fastd/i18n/de.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								package/gluon-luci-mesh-vpn-fastd/i18n/de.po
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Project-Id-Version: PACKAGE VERSION\n" | ||||
| "PO-Revision-Date: 2015-05-03 20:39+0200\n" | ||||
| "Last-Translator:  <mschiffer@universe-factory.net>\n" | ||||
| "Language-Team: German\n" | ||||
| "Language: de\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
| 
 | ||||
| msgid "" | ||||
| "In performance mode, no encryption is used. This usually allows for higher " | ||||
| "throughput, but the data exchanged over your node is not protected against " | ||||
| "eavesdroppers." | ||||
| msgstr "" | ||||
| "Im Modus „Hohe Geschwindigkeit“ wird auf Verschlüsselung verzichtet. " | ||||
| "Dies erlaubt häufig eine höhere Bandbreite als mit Verschlüsselung, aber die " | ||||
| "Verbindung ist nicht gegen Abhören geschützt." | ||||
| 
 | ||||
| msgid "" | ||||
| "In security mode, the mesh VPN uses an encrypted tunnel to connect to the " | ||||
| "VPN servers. The encryption ensures that it is impossible for your internet " | ||||
| "access provider to see what data is exchanged over your node." | ||||
| msgstr "" | ||||
| "Im Modus „Hohe Sicherheit“ wird ein verschlüsselter Tunnel verwendet. " | ||||
| "Dies schließt aus, dass dein Internetzugangsprovider herausfinden kann, was für " | ||||
| "Daten über deinen Knoten übertragen werden." | ||||
| 
 | ||||
| msgid "Mesh VPN" | ||||
| msgstr "Mesh-VPN" | ||||
| 
 | ||||
| msgid "Performance mode" | ||||
| msgstr "Hohe Geschwindigkeit" | ||||
| 
 | ||||
| msgid "Security mode" | ||||
| msgstr "Hohe Sicherheit" | ||||
| @ -0,0 +1,23 @@ | ||||
| msgid "" | ||||
| msgstr "Content-Type: text/plain; charset=UTF-8" | ||||
| 
 | ||||
| msgid "" | ||||
| "In performance mode, no encryption is used. This usually allows for higher " | ||||
| "throughput, but the data exchanged over your node is not protected against " | ||||
| "eavesdroppers." | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "" | ||||
| "In security mode, the mesh VPN uses an encrypted tunnel to connect to the " | ||||
| "VPN servers. The encryption ensures that it is impossible for your internet " | ||||
| "access provider to see what data is exchanged over your node." | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Mesh VPN" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Performance mode" | ||||
| msgstr "" | ||||
| 
 | ||||
| msgid "Security mode" | ||||
| msgstr "" | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user