<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.twig.es/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.twig.es/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages</id>
		<title>MyWiki - New pages [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.twig.es/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages"/>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Special:NewPages"/>
		<updated>2026-05-06T13:18:50Z</updated>
		<subtitle>From MyWiki</subtitle>
		<generator>MediaWiki 1.23.0</generator>

	<entry>
		<id>https://wiki.twig.es/index.php/Sql_java_file</id>
		<title>Sql java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Sql_java_file"/>
				<updated>2025-04-25T17:12:37Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.sql.*;&lt;br /&gt;
class Sql{&lt;br /&gt;
      Connection conn = null;&lt;br /&gt;
      Statement stmt  = null;&lt;br /&gt;
      ResultSet rs    = null;&lt;br /&gt;
void runIt()&lt;br /&gt;
{&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
void runIt(String voltage)&lt;br /&gt;
{&lt;br /&gt;
System.out.println(&amp;quot;The voltge in the Sql class is &amp;quot;+ voltage);&lt;br /&gt;
   try {&lt;br /&gt;
               String userName = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance ();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;connection esstablsihed in Sql&amp;quot;);&lt;br /&gt;
	       Float the_volt = Float.parseFloat(voltage);&lt;br /&gt;
	       String SQL=&amp;quot;insert into solar VALUES(&amp;quot;+the_volt+&amp;quot;, now())&amp;quot;;&lt;br /&gt;
	       Statement statement = conn.createStatement();&lt;br /&gt;
	       statement.executeUpdate(SQL);&lt;br /&gt;
&lt;br /&gt;
               conn.close();&lt;br /&gt;
       }&lt;br /&gt;
          catch (SQLException e){ &lt;br /&gt;
                                 String errorCode = e.toString();&lt;br /&gt;
                                 System.out.println(errorCode);&lt;br /&gt;
                                }&lt;br /&gt;
}&lt;br /&gt;
         }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_Api.java_file</id>
		<title>The Api.java file</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_Api.java_file"/>
				<updated>2025-04-25T16:36:57Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.*;&lt;br /&gt;
import javax.servlet.*;&lt;br /&gt;
import javax.servlet.http.*;&lt;br /&gt;
import java.time.format.DateTimeFormatter;  &lt;br /&gt;
import java.time.LocalDateTime;    &lt;br /&gt;
import java.sql.*;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public class Api extends HttpServlet&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;this is a get&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      System.out.println(&amp;quot;GET : &amp;quot; + voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException &lt;br /&gt;
      {&lt;br /&gt;
	           Connection conn = null;&lt;br /&gt;
		   Statement stmt = null;&lt;br /&gt;
		   ResultSet rs = null;&lt;br /&gt;
&lt;br /&gt;
      response.setContentType(&amp;quot;text/html&amp;quot;);&lt;br /&gt;
      ServletOutputStream  out = response.getOutputStream();&lt;br /&gt;
      out.println(&amp;quot;This is a post \n&amp;quot;);&lt;br /&gt;
      String voltage = request.getParameter(&amp;quot;voltage&amp;quot;);&lt;br /&gt;
      String key = request.getParameter(&amp;quot;key&amp;quot;);&lt;br /&gt;
      out.println(voltage);&lt;br /&gt;
      //Sql bla = new Sql();&lt;br /&gt;
      &lt;br /&gt;
      try {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
               String userName = &amp;quot;xxxx&amp;quot;;&lt;br /&gt;
               String passWord = &amp;quot;xxxx&amp;quot;;&lt;br /&gt;
               String url = &amp;quot;jdbc:mysql://localhost/xxxxxxx&amp;quot;;&lt;br /&gt;
               //Class.forName (&amp;quot;com.mysql.jdbc.Driver&amp;quot;).newInstance();&lt;br /&gt;
               conn = DriverManager.getConnection (url, userName, passWord);&lt;br /&gt;
               System.out.println(&amp;quot;Database connection established&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
          }&lt;br /&gt;
          catch (SQLException e)&lt;br /&gt;
     {&lt;br /&gt;
     System.out.println(&amp;quot;Cannot connect the database!&amp;quot; +  e.toString());&lt;br /&gt;
     }&lt;br /&gt;
  &lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
      System.out.print(&amp;quot;POST : &amp;quot; + voltage + &amp;quot;    &amp;quot;);&lt;br /&gt;
         DateTimeFormatter dtf = DateTimeFormatter.ofPattern(&amp;quot;yyyy/MM/dd HH:mm:ss&amp;quot;);  &lt;br /&gt;
	 LocalDateTime now = LocalDateTime.now();  &lt;br /&gt;
	 System.out.print(dtf.format(now));  &lt;br /&gt;
	 System.out.println(&amp;quot;    &amp;quot; + key);&lt;br /&gt;
&lt;br /&gt;
Sql bla = new Sql();&lt;br /&gt;
bla.runIt(voltage);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_web_xml_for_tomcat</id>
		<title>The web xml for tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_web_xml_for_tomcat"/>
				<updated>2025-04-25T15:21:01Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!--   Licensed to the Apache Software Foundation (ASF) under one or more   contributor license agreements.  S...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  Licensed to the Apache Software Foundation (ASF) under one or more&lt;br /&gt;
  contributor license agreements.  See the NOTICE file distributed with&lt;br /&gt;
  this work for additional information regarding copyright ownership.&lt;br /&gt;
  The ASF licenses this file to You under the Apache License, Version 2.0&lt;br /&gt;
  (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with&lt;br /&gt;
  the License.  You may obtain a copy of the License at&lt;br /&gt;
&lt;br /&gt;
      http://www.apache.org/licenses/LICENSE-2.0&lt;br /&gt;
&lt;br /&gt;
  Unless required by applicable law or agreed to in writing, software&lt;br /&gt;
  distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,&lt;br /&gt;
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.&lt;br /&gt;
  See the License for the specific language governing permissions and&lt;br /&gt;
  limitations under the License.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE web-app&lt;br /&gt;
    PUBLIC &amp;quot;-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN&amp;quot;&lt;br /&gt;
    &amp;quot;http://java.sun.com/dtd/web-app_2_3.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- General description of your web application --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;display-name&amp;gt;My Web Application&amp;lt;/display-name&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;&lt;br /&gt;
      This is version X.X of an application to perform&lt;br /&gt;
      a wild and wonderful task, based on servlets and&lt;br /&gt;
      JSP pages.  It was written by Dave Developer&lt;br /&gt;
      (dave@mycompany.com), who should be contacted for&lt;br /&gt;
      more information.&lt;br /&gt;
    &amp;lt;/description&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Context initialization parameters that define shared&lt;br /&gt;
         String constants used within your application, which&lt;br /&gt;
         can be customized by the system administrator who is&lt;br /&gt;
         installing your application.  The values actually&lt;br /&gt;
         assigned to these parameters can be retrieved in a&lt;br /&gt;
         servlet or JSP page by calling:&lt;br /&gt;
&lt;br /&gt;
             String value =&lt;br /&gt;
               getServletContext().getInitParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
         where &amp;quot;name&amp;quot; matches the &amp;lt;param-name&amp;gt; element of&lt;br /&gt;
         one of these initialization parameters.&lt;br /&gt;
&lt;br /&gt;
         You can define any number of context initialization&lt;br /&gt;
         parameters, including zero.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;context-param&amp;gt;&lt;br /&gt;
      &amp;lt;param-name&amp;gt;webmaster&amp;lt;/param-name&amp;gt;&lt;br /&gt;
      &amp;lt;param-value&amp;gt;myaddress@mycompany.com&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        The EMAIL address of the administrator to whom questions&lt;br /&gt;
        and comments about this application should be addressed.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/context-param&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Servlet definitions for the servlets that make up&lt;br /&gt;
         your web application, including initialization&lt;br /&gt;
         parameters.  With Tomcat, you can also send requests&lt;br /&gt;
         to servlets not listed here with a request like this:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{context-path}/servlet/{classname}&lt;br /&gt;
&lt;br /&gt;
         but this usage is not guaranteed to be portable.  It also&lt;br /&gt;
         makes relative references to images and other resources&lt;br /&gt;
         required by your servlet more complicated, so defining&lt;br /&gt;
         all of your servlets (and defining a mapping to them with&lt;br /&gt;
         a servlet-mapping element) is recommended.&lt;br /&gt;
&lt;br /&gt;
         Servlet initialization parameters can be retrieved in a&lt;br /&gt;
         servlet or JSP page by calling:&lt;br /&gt;
&lt;br /&gt;
             String value =&lt;br /&gt;
               getServletConfig().getInitParameter(&amp;quot;name&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
         where &amp;quot;name&amp;quot; matches the &amp;lt;param-name&amp;gt; element of&lt;br /&gt;
         one of these initialization parameters.&lt;br /&gt;
&lt;br /&gt;
         You can define any number of servlets, including zero.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;controller&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        This servlet plays the &amp;quot;controller&amp;quot; role in the MVC architecture&lt;br /&gt;
        used in this application.  It is generally mapped to the &amp;quot;.do&amp;quot;&lt;br /&gt;
        filename extension with a servlet-mapping element, and all form&lt;br /&gt;
        submits in the app will be submitted to a request URI like&lt;br /&gt;
        &amp;quot;saveCustomer.do&amp;quot;, which will therefore be mapped to this servlet.&lt;br /&gt;
&lt;br /&gt;
        The initialization parameter names for this servlet are the&lt;br /&gt;
        &amp;quot;servlet path&amp;quot; that will be received by this servlet (after the&lt;br /&gt;
        filename extension is removed).  The corresponding value is the&lt;br /&gt;
        name of the action class that will be used to process this request.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-class&amp;gt;com.mycompany.mypackage.ControllerServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
      &amp;lt;init-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;listOrders&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;com.mycompany.myactions.ListOrdersAction&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;/init-param&amp;gt;&lt;br /&gt;
      &amp;lt;init-param&amp;gt;&lt;br /&gt;
        &amp;lt;param-name&amp;gt;saveCustomer&amp;lt;/param-name&amp;gt;&lt;br /&gt;
        &amp;lt;param-value&amp;gt;com.mycompany.myactions.SaveCustomerAction&amp;lt;/param-value&amp;gt;&lt;br /&gt;
      &amp;lt;/init-param&amp;gt;&lt;br /&gt;
      &amp;lt;!-- Load this servlet at server startup time --&amp;gt;&lt;br /&gt;
      &amp;lt;load-on-startup&amp;gt;5&amp;lt;/load-on-startup&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;graph&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;&lt;br /&gt;
        This servlet produces GIF images that are dynamically generated&lt;br /&gt;
        graphs, based on the input parameters included on the request.&lt;br /&gt;
        It is generally mapped to a specific request URI like &amp;quot;/graph&amp;quot;.&lt;br /&gt;
      &amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Define mappings that are used by the servlet container to&lt;br /&gt;
         translate a particular request URI (context-relative) to a&lt;br /&gt;
         particular servlet.  The examples below correspond to the&lt;br /&gt;
         servlet descriptions above.  Thus, a request URI like:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{contextpath}/graph&lt;br /&gt;
&lt;br /&gt;
         will be mapped to the &amp;quot;graph&amp;quot; servlet, while a request like:&lt;br /&gt;
&lt;br /&gt;
           http://localhost:8080/{contextpath}/saveCustomer.do&lt;br /&gt;
&lt;br /&gt;
         will be mapped to the &amp;quot;controller&amp;quot; servlet.&lt;br /&gt;
&lt;br /&gt;
         You may define any number of servlet mappings, including zero.&lt;br /&gt;
         It is also legal to define more than one mapping for the same&lt;br /&gt;
         servlet, if you wish to.&lt;br /&gt;
    --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;controller&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;*.do&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;graph&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;/graph&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-name&amp;gt;Api&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
        &amp;lt;servlet-class&amp;gt;Api&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;
      &amp;lt;servlet-name&amp;gt;Api&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;
      &amp;lt;url-pattern&amp;gt;/Api&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;
    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Define the default session timeout for your application,&lt;br /&gt;
         in minutes.  From a servlet or JSP page, you can modify&lt;br /&gt;
         the timeout for a particular session dynamically by using&lt;br /&gt;
         HttpSession.getMaxInactiveInterval(). --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;session-config&amp;gt;&lt;br /&gt;
      &amp;lt;session-timeout&amp;gt;30&amp;lt;/session-timeout&amp;gt;    &amp;lt;!-- 30 minutes --&amp;gt;&lt;br /&gt;
    &amp;lt;/session-config&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/web-app&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat</id>
		<title>Receive API request with Tomcat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Receive_API_request_with_Tomcat"/>
				<updated>2025-04-25T12:07:54Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Steps:&amp;lt;br&amp;gt;&lt;br /&gt;
1. Needs mysql connection, create database and credentials.&amp;lt;br&amp;gt;&lt;br /&gt;
2. For the tomcat app create a web.xml file with entries for the API app:&amp;lt;br&amp;gt;&lt;br /&gt;
[[the_web_xml_for_tomcat|The web.xml file]]&amp;lt;br&amp;gt;&lt;br /&gt;
3. Two java files are used&amp;lt;br&amp;gt;&lt;br /&gt;
[[The_Api.java_file|Api.java]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[sql_java_file|Sql.java]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Generate_API_request_with_Python</id>
		<title>Generate API request with Python</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Generate_API_request_with_Python"/>
				<updated>2024-12-09T23:50:16Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.datacamp.com/tutorial/making-http-requests-in-python?dc_referrer=https%3A%2F%2Fwww.google.com%2F&amp;lt;br&amp;gt;&lt;br /&gt;
This uses json:&amp;lt;&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# The API endpoint&lt;br /&gt;
url = &amp;quot;https://jsonplaceholder.typicode.com/posts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Data to be sent&lt;br /&gt;
data = {&lt;br /&gt;
    &amp;quot;userID&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;title&amp;quot;: &amp;quot;Making a POST request&amp;quot;,&lt;br /&gt;
    &amp;quot;body&amp;quot;: &amp;quot;This is the data we created.&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# A POST request to the API&lt;br /&gt;
response = requests.post(url, json=data)&lt;br /&gt;
&lt;br /&gt;
# Print the response&lt;br /&gt;
print(response.json())&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is data and not json:&amp;lt;br&amp;gt;&lt;br /&gt;
https://apidog.com/blog/python-post-request/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# Define the URL and the data to be sent in the POST request&lt;br /&gt;
url = 'http://example.com/test/demo_form.php'&lt;br /&gt;
data = {'name1': 'value1', 'name2': 'value2'}&lt;br /&gt;
&lt;br /&gt;
# Make the POST request&lt;br /&gt;
response = requests.post(url, data=data)&lt;br /&gt;
&lt;br /&gt;
# Print the status code and the response content&lt;br /&gt;
print(f&amp;quot;Status Code: {response.status_code}&amp;quot;)&lt;br /&gt;
print(f&amp;quot;Response Content: {response.text}&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/API</id>
		<title>API</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/API"/>
				<updated>2024-12-09T23:41:47Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Generate API request with Python ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ Receive API request with Tomcat ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8</id>
		<title>Create a router with Almalinux 8</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_router_with_Almalinux_8"/>
				<updated>2024-11-02T21:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Task goal:  to create a Vagrant and ansible build which will create a router based on Almalinux &amp;lt;br&amp;gt;&lt;br /&gt;
 in Windo&lt;br /&gt;
1. Use Vagrant to build a vm with Virtualbox&lt;br /&gt;
2. Use ansible to perform the configuration&lt;br /&gt;
&lt;br /&gt;
These are separate tasks as Virtualbox is running in Windows and Anible does not run  in Windows.&lt;br /&gt;
&lt;br /&gt;
'''Vagrantfile'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Ruby&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
# All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure&lt;br /&gt;
# configures the configuration version (we support older styles for&lt;br /&gt;
# backwards compatibility). Please don't change it unless you know what&lt;br /&gt;
# you're doing.&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
  # The most common configuration options are documented and commented below.&lt;br /&gt;
  # For a complete reference, please see the online documentation at&lt;br /&gt;
  # https://docs.vagrantup.com.&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant development environment requires a box. You can search for&lt;br /&gt;
  # boxes at https://vagrantcloud.com/search.&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable automatic box update checking. If you disable this, then&lt;br /&gt;
  # boxes will only be checked for updates when the user runs&lt;br /&gt;
  # `vagrant box outdated`. This is not recommended.&lt;br /&gt;
  # config.vm.box_check_update = false&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
  config.vm.network &amp;quot;public_network&amp;quot;, bridge: &amp;quot;Hyper-V Virtual Ethernet Adapter #2&amp;quot;,   ip: &amp;quot;192.168.0.20&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable the default share of the current code directory. Doing this&lt;br /&gt;
  # provides improved isolation between the vagrant box and your host&lt;br /&gt;
  # by making sure your Vagrantfile isn't accessible to the vagrant box.&lt;br /&gt;
  # If you use this you may want to enable additional shared subfolders as&lt;br /&gt;
  # shown above.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;.&amp;quot;, &amp;quot;/vagrant&amp;quot;, disabled: true&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # The account that ansible will use is &amp;quot;ansible&amp;quot; so we will create the user&lt;br /&gt;
  # and add the public key of the user on the client side&lt;br /&gt;
    config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
   [ -e /home/ansible_user ] &amp;amp;&amp;amp; userdel -r ansible_user&lt;br /&gt;
   useradd -m ansible_user&lt;br /&gt;
   mkdir /home/ansible_user/.ssh&lt;br /&gt;
   chown ansible_user:ansible_user /home/ansible_user/.ssh&lt;br /&gt;
   chmod 700 /home/ansible_user/.ssh&lt;br /&gt;
   cp /vagrant/id_rsa.pub /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   chmod 600 /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   chown ansible_user:ansible_user /home/ansible_user/.ssh/authorized_keys&lt;br /&gt;
   SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Linux_Automation_tasks</id>
		<title>Linux Automation tasks</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Linux_Automation_tasks"/>
				<updated>2024-11-02T21:52:00Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot; Create a router with Almalinux 8  &amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Create a router with Almalinux 8 ]] &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server</id>
		<title>Expand a tar.gz archive directly to server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Expand_a_tar.gz_archive_directly_to_server"/>
				<updated>2024-07-08T14:05:52Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: Extract foo.tgz into /var/lib/foo&lt;br /&gt;
    unarchive:&lt;br /&gt;
       src: foo.tgz&lt;br /&gt;
       dest: /var/lib/foo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_multiple_network_services_in_firewalld</id>
		<title>Open multiple network services in firewalld</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_multiple_network_services_in_firewalld"/>
				<updated>2024-07-08T11:27:58Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot; &amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt; --- - hosts: all   remote_user: root   tasks:   - name: permit traffic in default zone for https service     ansible.posix.firewalld:       service: &amp;quot;{{...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: &amp;quot;{{ item }}&amp;quot; &lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
    loop:&lt;br /&gt;
      - http&lt;br /&gt;
      - https&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat</id>
		<title>Open network ports for https in Red Hat</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_https_in_Red_Hat"/>
				<updated>2024-07-08T11:01:58Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: permit traffic in default zone for https service&lt;br /&gt;
    ansible.posix.firewalld:&lt;br /&gt;
      service: http&lt;br /&gt;
      permanent: true&lt;br /&gt;
      state: enabled&lt;br /&gt;
&lt;br /&gt;
  - name: reload service firewalld&lt;br /&gt;
    systemd:&lt;br /&gt;
      name: firewalld&lt;br /&gt;
      state: reloaded&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Open_network_ports_for_http(s)_in_firewalld</id>
		<title>Open network ports for http(s) in firewalld</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Open_network_ports_for_http(s)_in_firewalld"/>
				<updated>2024-07-08T10:57:26Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt; - firewalld:     service: https     permanent: yes     state: enabled &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
- firewalld:&lt;br /&gt;
    service: https&lt;br /&gt;
    permanent: yes&lt;br /&gt;
    state: enabled&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server</id>
		<title>Install httpd on Red Hat server</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Install_httpd_on_Red_Hat_server"/>
				<updated>2024-07-08T10:41:45Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
---&lt;br /&gt;
- hosts: all&lt;br /&gt;
  remote_user: root&lt;br /&gt;
  tasks:&lt;br /&gt;
  - name: Install HTTPD package&lt;br /&gt;
    package:&lt;br /&gt;
      name: httpd&lt;br /&gt;
      state: present&lt;br /&gt;
  - name: Start HTTPD service&lt;br /&gt;
    service:&lt;br /&gt;
      name: httpd&lt;br /&gt;
      state: started&lt;br /&gt;
      enabled: yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron</id>
		<title>Create a Kali image running cron</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Create_a_Kali_image_running_cron"/>
				<updated>2024-06-25T10:21:33Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample 1&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
COPY entrypoint.sh /entrypoint.sh&lt;br /&gt;
RUN chmod +x /entrypoint.sh&lt;br /&gt;
ENTRYPOINT [ &amp;quot;/entrypoint.sh&amp;quot; ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Sample 2 - running a cron job &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM ubuntu:latest&lt;br /&gt;
&lt;br /&gt;
# Install necessary software&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Putting both of the above together&lt;br /&gt;
&amp;lt;source lang=yaml&amp;gt;&lt;br /&gt;
FROM kalilinux/kali-rolling:latest&lt;br /&gt;
&lt;br /&gt;
ARG KALI_METAPACKAGE=core&lt;br /&gt;
ENV DEBIAN_FRONTEND noninteractive&lt;br /&gt;
RUN apt-get update&lt;br /&gt;
RUN apt-get -y upgrade&lt;br /&gt;
RUN apt-get -y install kali-linux-${KALI_METAPACKAGE}&lt;br /&gt;
RUN apt-get clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
RUN apt-get update &amp;amp;&amp;amp; \&lt;br /&gt;
    apt-get -y install cron&lt;br /&gt;
&lt;br /&gt;
# Add crontab file&lt;br /&gt;
#COPY crontab /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Give execution rights on the cron job&lt;br /&gt;
#RUN chmod 0644 /etc/cron.d/crontab&lt;br /&gt;
&lt;br /&gt;
# Create the log file to be able to run tail&lt;br /&gt;
RUN touch /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
# Start the cron service&lt;br /&gt;
CMD cron &amp;amp;&amp;amp; tail -f /var/log/cron.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Simple_connection_from_PHP_to_Firebird</id>
		<title>Simple connection from PHP to Firebird</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Simple_connection_from_PHP_to_Firebird"/>
				<updated>2024-03-21T10:47:47Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=php&amp;gt; &amp;lt;?php // Database connection settings $host = 'localhost'; $database = 'YOUR_DATABASE_NAME'; $username = 'YOUR_USERNAME'; $password = 'YOUR_PASSWORD';  try {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Database connection settings&lt;br /&gt;
$host = 'localhost';&lt;br /&gt;
$database = 'YOUR_DATABASE_NAME';&lt;br /&gt;
$username = 'YOUR_USERNAME';&lt;br /&gt;
$password = 'YOUR_PASSWORD';&lt;br /&gt;
&lt;br /&gt;
try {&lt;br /&gt;
    $conn = new PDO(&amp;quot;firebird:host=$host;dbname=$database&amp;quot;, $username, $password);&lt;br /&gt;
    $conn-&amp;gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);&lt;br /&gt;
&lt;br /&gt;
    $sql = &amp;quot;SELECT * FROM YOUR_TABLE_NAME&amp;quot;;&lt;br /&gt;
    $stmt = $conn-&amp;gt;prepare($sql);&lt;br /&gt;
    $stmt-&amp;gt;execute();&lt;br /&gt;
&lt;br /&gt;
    while ($row = $stmt-&amp;gt;fetch(PDO::FETCH_ASSOC)) {&lt;br /&gt;
        // Access data from the row&lt;br /&gt;
        echo $row['column1'] . &amp;quot; - &amp;quot; . $row['column2'] . &amp;quot;&amp;lt;br&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
} catch(PDOException $e) {&lt;br /&gt;
    echo &amp;quot;Error: &amp;quot; . $e-&amp;gt;getMessage();&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Firebird_connecting_from_PHP</id>
		<title>Firebird connecting from PHP</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Firebird_connecting_from_PHP"/>
				<updated>2024-03-21T10:46:57Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot; Simple connection from PHP to Firebird &amp;lt;br&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[ Simple connection from PHP to Firebird ]]&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/View_the_output_from_%22crc_start%22</id>
		<title>View the output from &quot;crc start&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/View_the_output_from_%22crc_start%22"/>
				<updated>2024-02-15T11:51:35Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source = &amp;quot;text&amp;quot;&amp;gt; ./crc start INFO Using bundle path /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle INFO Checking if running as n...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source = &amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
./crc start&lt;br /&gt;
INFO Using bundle path /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle&lt;br /&gt;
INFO Checking if running as non-root&lt;br /&gt;
INFO Checking if running inside WSL2&lt;br /&gt;
INFO Checking if crc-admin-helper executable is cached&lt;br /&gt;
INFO Checking if running on a supported CPU architecture&lt;br /&gt;
INFO Checking if crc executable symlink exists&lt;br /&gt;
INFO Checking minimum RAM requirements&lt;br /&gt;
INFO Checking if Virtualization is enabled&lt;br /&gt;
INFO Checking if KVM is enabled&lt;br /&gt;
INFO Checking if libvirt is installed&lt;br /&gt;
INFO Checking if user is part of libvirt group&lt;br /&gt;
INFO Checking if active user/process is currently part of the libvirt group&lt;br /&gt;
INFO Checking if libvirt daemon is running&lt;br /&gt;
INFO Checking if a supported libvirt version is installed&lt;br /&gt;
INFO Checking if crc-driver-libvirt is installed&lt;br /&gt;
INFO Checking crc daemon systemd socket units&lt;br /&gt;
INFO Checking if systemd-networkd is running&lt;br /&gt;
INFO Checking if NetworkManager is installed&lt;br /&gt;
INFO Checking if NetworkManager service is running&lt;br /&gt;
INFO Checking if /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf exists&lt;br /&gt;
INFO Checking if /etc/NetworkManager/dnsmasq.d/crc.conf exists&lt;br /&gt;
INFO Checking if libvirt 'crc' network is available&lt;br /&gt;
INFO Checking if libvirt 'crc' network is active&lt;br /&gt;
INFO Loading bundle: crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64...&lt;br /&gt;
INFO Starting CRC VM for okd 4.14.0-0.okd-scos-2024-01-10-151818...&lt;br /&gt;
INFO CRC instance is running with IP 192.168.130.11&lt;br /&gt;
INFO CRC VM is running&lt;br /&gt;
INFO Updating authorized keys...&lt;br /&gt;
INFO Configuring shared directories&lt;br /&gt;
INFO Check internal and public DNS query...&lt;br /&gt;
INFO Check DNS query from host...&lt;br /&gt;
INFO Verifying validity of the kubelet certificates...&lt;br /&gt;
INFO Starting kubelet service&lt;br /&gt;
INFO Waiting for kube-apiserver availability... [takes around 2min]&lt;br /&gt;
INFO Waiting until the user's pull secret is written to the instance disk...&lt;br /&gt;
&lt;br /&gt;
Failed to update pull secret on the disk: Temporary error: pull secret not updated to disk (x27)&lt;br /&gt;
failed to read /var/lib/kubelet/config.json file: ssh command error:&lt;br /&gt;
command : sudo cat /var/lib/kubelet/config.json&lt;br /&gt;
err     : wait: remote command exited without exit status or exit signal&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_output_from_%22crc_setup%22</id>
		<title>The output from &quot;crc setup&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_output_from_%22crc_setup%22"/>
				<updated>2024-02-15T11:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;  ./crc setup INFO Using bundle path /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle INFO Checking if running...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 ./crc setup&lt;br /&gt;
INFO Using bundle path /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle&lt;br /&gt;
INFO Checking if running as non-root&lt;br /&gt;
INFO Checking if running inside WSL2&lt;br /&gt;
INFO Checking if crc-admin-helper executable is cached&lt;br /&gt;
INFO Checking if running on a supported CPU architecture&lt;br /&gt;
INFO Checking if crc executable symlink exists&lt;br /&gt;
INFO Checking minimum RAM requirements&lt;br /&gt;
INFO Checking if Virtualization is enabled&lt;br /&gt;
INFO Checking if KVM is enabled&lt;br /&gt;
INFO Checking if libvirt is installed&lt;br /&gt;
INFO Checking if user is part of libvirt group&lt;br /&gt;
INFO Checking if active user/process is currently part of the libvirt group&lt;br /&gt;
INFO Checking if libvirt daemon is running&lt;br /&gt;
INFO Checking if a supported libvirt version is installed&lt;br /&gt;
INFO Checking if crc-driver-libvirt is installed&lt;br /&gt;
INFO Checking crc daemon systemd service&lt;br /&gt;
INFO Checking crc daemon systemd socket units&lt;br /&gt;
INFO Checking if systemd-networkd is running&lt;br /&gt;
INFO Checking if NetworkManager is installed&lt;br /&gt;
INFO Checking if NetworkManager service is running&lt;br /&gt;
INFO Checking if /etc/NetworkManager/conf.d/crc-nm-dnsmasq.conf exists&lt;br /&gt;
INFO Checking if /etc/NetworkManager/dnsmasq.d/crc.conf exists&lt;br /&gt;
INFO Checking if libvirt 'crc' network is available&lt;br /&gt;
INFO Checking if libvirt 'crc' network is active&lt;br /&gt;
INFO Checking if CRC bundle is extracted in '$HOME/.crc'&lt;br /&gt;
INFO Checking if /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle exists&lt;br /&gt;
INFO Getting bundle for the CRC executable&lt;br /&gt;
INFO Downloading bundle: /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle...&lt;br /&gt;
Getting image source signatures&lt;br /&gt;
Copying blob 15269587c1ba done   |&lt;br /&gt;
Copying config 61e0a8a51d done   |&lt;br /&gt;
Writing manifest to image destination&lt;br /&gt;
INFO Extracting the image bundle layer...&lt;br /&gt;
crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle:  4.98 GiB / 4.98 GiB [-----------------------------------------------------] 100.00%&lt;br /&gt;
INFO Verifying the bundle signature...&lt;br /&gt;
INFO Uncompressing /home/george2/.crc/cache/crc_okd_libvirt_4.14.0-0.okd-scos-2024-01-10-151818_amd64.crcbundle&lt;br /&gt;
crc.qcow2:  17.53 GiB / 17.53 GiB [-------------------------------------------------------------------------------------------------------------] 100.00%&lt;br /&gt;
oc:  145.59 MiB / 145.59 MiB [------------------------------------------------------------------------------------------------------------------] 100.00%&lt;br /&gt;
Your system is correctly setup for using CRC. Use 'crc start' to start the instance&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Getting_started_with_CRC</id>
		<title>Getting started with CRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Getting_started_with_CRC"/>
				<updated>2024-02-15T09:37:56Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Prerequisites:''' you need to have a platform with working virtulisation eg KVM.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Reference:''' https://www.redhat.com/sysadmin/codeready-containers&amp;lt;br&amp;gt;&lt;br /&gt;
'''Reference:''' https://www.okd.io/ (The OKD version)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Red Hat CodeReady Containers (CRC) provides a minimal, preconfigured OpenShift 4 cluster on a laptop or desktop machine for development and testing purposes. CRC is delivered as a platform inside of the VM.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;crc&amp;quot; is a binary file which is run like ./crc&lt;br /&gt;
By default the &amp;quot;crc&amp;quot; downloaded from Red Hat is configured to require a &amp;quot;pull-secret&amp;quot;. We can configure it to nor require this by switching it to the '''OKD''' version as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
'''''./crc config view''''' to view the most important settings &amp;lt;br&amp;gt;&lt;br /&gt;
'''''./crc config set preset okd'''''   (switch to '''OKD''' version)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''./crc config set consent-telemetry no'''''   (stop telemetry)&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
''./crc --help'' (to see help) eg&amp;lt;br&amp;gt;&lt;br /&gt;
''./crc config --help''&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first step is to run &amp;quot;./crc setup&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; In my case we get the following error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;INFO Checking minimum RAM requirements&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;crc requires at least 9.664GB to run&amp;lt;br&amp;gt;&lt;br /&gt;
This was on a Red Hat virtual machine with only 8G of RAM&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The above was an attempt with a Linux system, looks like we will have to try WSL2 on Windows as, for me, that system has a lot more memory, lets see how it goes.&amp;lt;br&amp;gt;&lt;br /&gt;
'''Cancel that,''' I've managed to add virtual memory to the ESXi Red Hat vm so we can have another go&amp;lt;br&amp;gt;&lt;br /&gt;
Well, now I need to add space to the disk -  '''&amp;quot;no space left on device&amp;quot;'''&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:red_hat_expand_disk.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Now we can try again, this time everything works &amp;lt;br&amp;gt;&lt;br /&gt;
View[[ The output from &amp;quot;crc setup&amp;quot; ]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[ View the output from &amp;quot;crc start&amp;quot;]] It failed to start &amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Openshift_/_Kubernetes</id>
		<title>Openshift / Kubernetes</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Openshift_/_Kubernetes"/>
				<updated>2024-02-15T09:36:53Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;  Getting started with CRC &amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[ Getting started with CRC ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Static_external_IP_address</id>
		<title>Static external IP address</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Static_external_IP_address"/>
				<updated>2024-02-08T15:45:48Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
   config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 22, host:222                # Lets try this&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
  #   apt-get update&lt;br /&gt;
  #   apt-get install -y apache2&lt;br /&gt;
  # SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/The_default_Vagrantfile</id>
		<title>The default Vagrantfile</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/The_default_Vagrantfile"/>
				<updated>2024-02-08T15:43:59Z</updated>
		
		<summary type="html">&lt;p&gt;George2: Created page with &amp;quot;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; # -*- mode: ruby -*- # vi: set ft=ruby :  # All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure # configures the configuration version (...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# -*- mode: ruby -*-&lt;br /&gt;
# vi: set ft=ruby :&lt;br /&gt;
&lt;br /&gt;
# All Vagrant configuration is done below. The &amp;quot;2&amp;quot; in Vagrant.configure&lt;br /&gt;
# configures the configuration version (we support older styles for&lt;br /&gt;
# backwards compatibility). Please don't change it unless you know what&lt;br /&gt;
# you're doing.&lt;br /&gt;
Vagrant.configure(&amp;quot;2&amp;quot;) do |config|&lt;br /&gt;
  # The most common configuration options are documented and commented below.&lt;br /&gt;
  # For a complete reference, please see the online documentation at&lt;br /&gt;
  # https://docs.vagrantup.com.&lt;br /&gt;
&lt;br /&gt;
  # Every Vagrant development environment requires a box. You can search for&lt;br /&gt;
  # boxes at https://vagrantcloud.com/search.&lt;br /&gt;
  config.vm.box = &amp;quot;almalinux/9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Disable automatic box update checking. If you disable this, then&lt;br /&gt;
  # boxes will only be checked for updates when the user runs&lt;br /&gt;
  # `vagrant box outdated`. This is not recommended.&lt;br /&gt;
  # config.vm.box_check_update = false&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine. In the example below,&lt;br /&gt;
  # accessing &amp;quot;localhost:8080&amp;quot; will access port 80 on the guest machine.&lt;br /&gt;
  # NOTE: This will enable public access to the opened port&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080&lt;br /&gt;
&lt;br /&gt;
  # Create a forwarded port mapping which allows access to a specific port&lt;br /&gt;
  # within the machine from a port on the host machine and only allow access&lt;br /&gt;
  # via 127.0.0.1 to disable public access&lt;br /&gt;
  # config.vm.network &amp;quot;forwarded_port&amp;quot;, guest: 80, host: 8080, host_ip: &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a private network, which allows host-only access to the machine&lt;br /&gt;
  # using a specific IP.&lt;br /&gt;
  # config.vm.network &amp;quot;private_network&amp;quot;, ip: &amp;quot;192.168.33.10&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Create a public network, which generally matched to bridged network.&lt;br /&gt;
  # Bridged networks make the machine appear as another physical device on&lt;br /&gt;
  # your network.&lt;br /&gt;
  # config.vm.network &amp;quot;public_network&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Share an additional folder to the guest VM. The first argument is&lt;br /&gt;
  # the path on the host to the actual folder. The second argument is&lt;br /&gt;
  # the path on the guest to mount the folder. And the optional third&lt;br /&gt;
  # argument is a set of non-required options.&lt;br /&gt;
  # config.vm.synced_folder &amp;quot;../data&amp;quot;, &amp;quot;/vagrant_data&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  # Provider-specific configuration so you can fine-tune various&lt;br /&gt;
  # backing providers for Vagrant. These expose provider-specific options.&lt;br /&gt;
  # Example for VirtualBox:&lt;br /&gt;
  #&lt;br /&gt;
  # config.vm.provider &amp;quot;virtualbox&amp;quot; do |vb|&lt;br /&gt;
  #   # Display the VirtualBox GUI when booting the machine&lt;br /&gt;
  #   vb.gui = true&lt;br /&gt;
  #&lt;br /&gt;
  #   # Customize the amount of memory on the VM:&lt;br /&gt;
  #   vb.memory = &amp;quot;1024&amp;quot;&lt;br /&gt;
  # end&lt;br /&gt;
  #&lt;br /&gt;
  # View the documentation for the provider you are using for more&lt;br /&gt;
  # information on available options.&lt;br /&gt;
&lt;br /&gt;
  # Enable provisioning with a shell script. Additional provisioners such as&lt;br /&gt;
  # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the&lt;br /&gt;
  # documentation for more information about their specific syntax and use.&lt;br /&gt;
  # config.vm.provision &amp;quot;shell&amp;quot;, inline: &amp;lt;&amp;lt;-SHELL&lt;br /&gt;
  #   apt-get update&lt;br /&gt;
  #   apt-get install -y apache2&lt;br /&gt;
  # SHELL&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Example_Vagrantfiles</id>
		<title>Example Vagrantfiles</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Example_Vagrantfiles"/>
				<updated>2024-02-08T15:42:29Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; [[ The default Vagrantfile ]]&lt;br /&gt;
 [[ Static external IP address ]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	<entry>
		<id>https://wiki.twig.es/index.php/Eero_fault</id>
		<title>Eero fault</title>
		<link rel="alternate" type="text/html" href="https://wiki.twig.es/index.php/Eero_fault"/>
				<updated>2024-01-10T12:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;George2: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The supplied power supply is faulty, the light is not illuminated&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Eero-1.png|250px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The power supply and lead are one unit&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[file:Psu.jpg| 250px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
I rang your Customer Services on Monday and they advised me to purchase a replacement on Amazon and they would reimburse me for the cost&amp;lt;br&amp;gt;&lt;br /&gt;
I tried various USB-C power supplies that I have an none would work as the Unit requires 9 volts at 3 amps and a typical phone charger will not supply this&amp;lt;br&amp;gt;&lt;br /&gt;
The only thing that worked was a laptop charger so I purchased another from Amazon&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Anker.png| 650px]] &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[file:Deliver.png|750px]]&amp;lt;vr&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
And its now working &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Workinig.png|400px]]&lt;/div&gt;</summary>
		<author><name>George2</name></author>	</entry>

	</feed>