<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Sysmikes Blog</title>
        <link>https://sysmike.net/</link>
        <description>Recent content on Sysmikes Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>© Michael Süß</copyright>
        <lastBuildDate>Wed, 12 Nov 2025 18:00:00 +0100</lastBuildDate><atom:link href="https://sysmike.net/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>State of the homelab 2025</title>
        <link>https://sysmike.net/post/state-of-the-homelab-2025/</link>
        <pubDate>Wed, 12 Nov 2025 18:00:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/state-of-the-homelab-2025/</guid>
        <description>&lt;img src="https://sysmike.net/post/state-of-the-homelab-2025/preview.jpg" alt="Featured image of post State of the homelab 2025" /&gt;&lt;p&gt;It&amp;rsquo;s been a while since the last update, my lab went through quite significant changes in the hardware department while the software mostly stayed the same. This year I finally managed to rack everything, making the whole setup look neat and compact.&lt;/p&gt;
&lt;h3 id=&#34;new-hardware-for-the-main-hypervisor&#34;&gt;New hardware for the main hypervisor
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2025/yaya.jpg&#34;
	width=&#34;1613&#34;
	height=&#34;951&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2025/yaya_hu_a872d2907fb83533.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2025/yaya_hu_ed07988da66f56b1.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;169&#34;
		data-flex-basis=&#34;407px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;This is something I put together last year mainly to reduce power consumption by a significant margin. The old Intel Xeon E5-2650 has now been delegated to lab duty, being replaced with a (when bought) shiny new AMD Ryzen 5600X with a complimentary 128GB of DDR4 RAM. Motherboard is an ASRock X470D4U with a Noctua NH-L12S cooler rounding of the package. Once the old Seagate SATA SSDs start to wear out I am going to finally replace them with NVME SSDs. Otherwise I am still running Proxmox on it, nothings changed there.&lt;/p&gt;
&lt;h3 id=&#34;making-the-network-smarter&#34;&gt;Making the network smarter
&lt;/h3&gt;&lt;p&gt;As eluded to in my previous state of the lab I replaced both of my old Zyxel switches with a single TP-Link T2600G-28TS L2 managed switch, allowing me to make heavy use of VLANs. Not much else to say, its been a reliable piece of kit doing its job unnoticed.&lt;/p&gt;
&lt;h3 id=&#34;ups&#34;&gt;UPS
&lt;/h3&gt;&lt;p&gt;In 2023 I finally splurged on a brand new rackmount UPS, a APC SMT750 to be more specific, bringing me closer to finally be able to contain all my gear inside the rack. Along with it I purchased a management card, allowing me to control every outlet of the UPS and neatly powering on and off the lab part whenever I need to. It´s not actually mounted using the included, which are why too long for my short-depth rack, so I 3d-printed multiple standoffs to rest the unit at the roughly correct height. Kinda janky but good enough for me.&lt;/p&gt;
&lt;h3 id=&#34;bits-and-bobs&#34;&gt;Bits and bobs
&lt;/h3&gt;&lt;p&gt;Still using the Unifi AC Lite for wifi, currently looking into a replacement for it. In other news, my old Anet A8 3d printer destroyed itself by blowing its fuse so badly it physically can not be removed. So I got myself an Ender 3v2 back in 2021. While its pretty ancient and slow compared to newer printer it still does its job and I am going to keep it until breaks.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2025/rack.jpg&#34;
	width=&#34;3024&#34;
	height=&#34;4032&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2025/rack_hu_63e3da1fc1cb2c55.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2025/rack_hu_37bb407b3a8805e3.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;75&#34;
		data-flex-basis=&#34;180px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Using your debian NAS for timemachine backups</title>
        <link>https://sysmike.net/post/using-your-debian-nas-for-timemachine-backups/</link>
        <pubDate>Wed, 13 Jan 2021 15:26:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/using-your-debian-nas-for-timemachine-backups/</guid>
        <description>&lt;img src="https://sysmike.net/post/using-your-debian-nas-for-timemachine-backups/timemachine.png" alt="Featured image of post Using your debian NAS for timemachine backups" /&gt;&lt;p&gt;With the recent rebuild of my NAS finished I finally decided to tackle how to properly backup my MacOS machines.&lt;/p&gt;
&lt;p&gt;All you need is a linux server and a recentish version of samba.
The configuration for the network share should look like the code snippet below. All you should need to change is the path.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[Timemachine]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    comment = Time Machine
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    path = /data/files/timemachine
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    browseable = yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    writeable = yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    create mask = 0600
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    directory mask = 0700
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    spotlight = yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    vfs objects = catia fruit streams_xattr
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fruit:aapl = yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fruit:time machine = yes
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fruit:resource = xattr
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now you just need to restart samba.&lt;/p&gt;
&lt;p&gt;In case your Mac does not automagically find the share you can manually set the timemachine destination with the following command&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tmutil setdestination &amp;#39;smb://user:password@server/timemachine&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Now you should have Timemachine working away on your mac!&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Deploying your blog with CI</title>
        <link>https://sysmike.net/post/deploying-your-blog-with-ci/</link>
        <pubDate>Sat, 07 Nov 2020 13:48:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/deploying-your-blog-with-ci/</guid>
        <description>&lt;p&gt;I am using a static site generator called hexo to publish posts on my blog which converts markdown files into html, css and js files. Now you could manually copy these files to your webserver, but where is the fun in that? One of the ways you could automate this is using CI. More specifically in my case the system integrated into GitLab, which I have been using for years now. This is a great way to publish a static site blog which should be version-controlled anyways.&lt;/p&gt;
&lt;p&gt;If you are not familiar with Gitlab CI I am going to walk you through the build file I am using.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;image&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;node&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;14&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;before_script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# check if variables are set in gitlab project&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;z&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;$SSH_PRIVATE_KEY&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;];&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;z&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;$SSH_USER&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;];&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;z&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;$WEB_SERVER&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;];&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;then&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;apt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quiet&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;update&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;yes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;stages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deploy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# This file is generated by GitLab CI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;Deploy&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;stage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deploy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;apt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;get&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;quiet&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;yes&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;openssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# Setup ssh key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mkdir&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;$SSH_PRIVATE_KEY&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tr&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\r&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id_webserver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;chmod&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;700&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id_webserver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;$(ssh-agent -s)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;id_webserver&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;keyscan&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;H&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WEB_SERVER&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;known_hosts&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# generate static site&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cli&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;g&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;index&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;archive&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;category&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tag&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;renderer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;marked&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;renderer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stylus&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.2&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;feed&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;sitemap&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;npm&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;generator&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;minify&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;save&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hexo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;generate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# deploy site&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;scp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;StrictHostKeyChecking&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;no&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;UserKnownHostsFile&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;null&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;P&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;r&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;public&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSH_USER&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WEB_SERVER&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ssh&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;StrictHostKeyChecking&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;no&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;o&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;UserKnownHostsFile&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dev&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;null&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;22&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SSH_USER&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;$&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WEB_SERVER&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deploy_sysmike_net&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;deploy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;tags&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;except&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tags&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;only&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;# Only push changes to prod server on the master branch&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;master&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In the before_script section the script checks for certain variables that should be defined in Gitlab and updates the docker container it runs in. The deploy stage first installs the openssh client and adds the ssh-key specified in the gitlab environment variables. Then the actual static site is being build, in this case by hexo. The resulting files are then transfered to the remote server to a temporary directory using scp. Finally a script is being run on the server to copy the website into appropriate folders and set the right permissions. The last two lines allow the script only to be run on the master branch.&lt;/p&gt;
&lt;p&gt;For this to work you need the define three self-explanatory environmental variables in your gitlab repository called SSH_PRIVATE_KEY, SSH_USER, WEB_SERVER.&lt;/p&gt;
&lt;p&gt;The default git branch I use for writing is called drafts and when I want to publish an article I create a merge request to the default main branch.&lt;/p&gt;
&lt;p&gt;With this kind of setup it does not matter on which machine I write my posts as I can either commit to the repository or just use the builtin editor of GitLab if I wanted to.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>State of the homelab 2020</title>
        <link>https://sysmike.net/post/state-of-the-homelab-2020/</link>
        <pubDate>Sat, 26 Sep 2020 20:31:22 +0100</pubDate>
        
        <guid>https://sysmike.net/post/state-of-the-homelab-2020/</guid>
        <description>&lt;img src="https://sysmike.net/post/state-of-the-homelab-2020/router.jpg" alt="Featured image of post State of the homelab 2020" /&gt;&lt;p&gt;This is something I have been wanting to write up for a very long time now - a summery of what my homelab looks like every year. Altough given my current lack of time and motivation I am not sure if I will manage to write one post every year.&lt;/p&gt;
&lt;h3 id=&#34;nas&#34;&gt;NAS
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2020/nas.jpg&#34;
	width=&#34;2500&#34;
	height=&#34;1126&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2020/nas_hu_5c9aefc7278d8a36.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2020/nas_hu_451f3f911e081fd4.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;222&#34;
		data-flex-basis=&#34;532px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;This is the most recent upgrade to my lab. This year I finally managed to upgrade the old hardware, replacing the old AMD Athlon X2 240e with a &amp;ldquo;new&amp;rdquo; Intel Pentium G4400 and upgrade the RAM to 16GB. I also added two new 10TB WD whitelabel drives I shucked from their external drive lineup. The old drives are now either in storage or used as backup drives as they are almost 9 years old. Yeah, that&amp;rsquo;s very old but I also kind of want to see how long those old Samsung drives are going to last.&lt;/p&gt;
&lt;p&gt;The most important change was probably the OS. Up until the end of January I was using Windows Home Server 2011, which was soon to be EOL. So when I began the rebuild I chucked in a 120GB NVMe drive to replace the old SSD and installed my trusted Debian on it. With this I was finally Windows-free (as far as bare-metal installs are concerned, I still have a couple Windows VMs).
This also allowed me to move all my files to a ZFS filesystem. The two 10TB HDDs are in a mirror and three of the old 2TB drives are in a RAIDZ1 configuration.
In case I need more storage I need to buy two additional drives, but that&amp;rsquo;s a price I am willing to pay for all the extra features ZFS provides, like snapshots and file integrity checking. In the future I might want to upgrade to 10G ethernet when cheaper NICs are available.&lt;/p&gt;
&lt;h3 id=&#34;pfsense-router&#34;&gt;pfsense Router
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2020/router.jpg&#34;
	width=&#34;2488&#34;
	height=&#34;622&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2020/router_hu_bae44faebd361086.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2020/router_hu_81ccffa87bb3fb3a.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;400&#34;
		data-flex-basis=&#34;960px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;I am using a custom build machine with pfsense as my router. The Celeron 4005U is not the fastest cpu, but still good enough with the right nic (Intel i350-T4) for 1Gbit/s with some light IDS/IPS and other features enabled. I am contemplating just virtualising this one for years now, but as the router is the most important machine in the network as far as other users are concerned I am still not quite sure.&lt;/p&gt;
&lt;h3 id=&#34;main-hypervisor&#34;&gt;Main Hypervisor
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2020/hypervisor.jpg&#34;
	width=&#34;2500&#34;
	height=&#34;1275&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2020/hypervisor_hu_253d61080ced1ab6.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2020/hypervisor_hu_24ec46669df7422.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;196&#34;
		data-flex-basis=&#34;470px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Most of the time I am only running one hypervisor to save on power and the the additional processing power is unneeded most of the time. I built this machine about two years ago with the goal of reducing overall powerconsumption (I was running a AMD Phenom X6 1055T in this very case). The Intel Xeon E5-2650v2 combined with 128GB DDR3 ECC memory is still a powerful machine today. For now I have a 400GB Intel S3700,one 500GB Samsung 860 Evo, one 1TB WD HDD and a 2TB WD installed, but I will replace all but the 2TB drive with SSDs of the same size so I can make use of ZFS in this machine as well. Again a 10G nic is planned as well.&lt;/p&gt;
&lt;h3 id=&#34;additional-hypervisors&#34;&gt;Additional Hypervisors
&lt;/h3&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2020/lackrack.jpg&#34;
	width=&#34;2500&#34;
	height=&#34;1560&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2020/lackrack_hu_7bae91a094ba3e8e.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2020/lackrack_hu_348b1c5253bd602f.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;160&#34;
		data-flex-basis=&#34;384px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;I have three additional machines which I use as hypervisors in a cluster. The Lenovo Thinkserver TS130 with an Intel Xeon E3-1225v2, 16GB ECC RAM and a 500GB Samsung 860 Evo is still fast enough for playing with VMs, Kubernetes and other cluster shenanigans. The other two are custom built, a old Xeon X3440 and a very slow Intel Celeron 1007U from my old firewall are only really useable for containers and testing hypervisor cluster features.&lt;/p&gt;
&lt;h3 id=&#34;software&#34;&gt;Software
&lt;/h3&gt;&lt;p&gt;My NAS as mentioned above runs Debian 10, my hypervisors run Proxmox (which is based on Debian). All but one of my productions VMs run Debian as well. I run a single Windows Server 2019 VM for AD and RemoteApp services. I have a couple test VMs with CentOS, Windows Server and Windows Desktop installed. All my machines are managed by Puppet and Foreman.&lt;/p&gt;
&lt;p&gt;As for services the following list only contains the most important ones.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nextcloud&lt;/li&gt;
&lt;li&gt;Samba&lt;/li&gt;
&lt;li&gt;Rainloop&lt;/li&gt;
&lt;li&gt;Jellyfin&lt;/li&gt;
&lt;li&gt;Firefly III&lt;/li&gt;
&lt;li&gt;Tinytinyrss&lt;/li&gt;
&lt;li&gt;Wallabag&lt;/li&gt;
&lt;li&gt;Icinga2 + Icingaweb2 + Graphite&lt;/li&gt;
&lt;li&gt;Grafana&lt;/li&gt;
&lt;li&gt;ELK stack&lt;/li&gt;
&lt;li&gt;Gitlab&lt;/li&gt;
&lt;li&gt;Mattermost&lt;/li&gt;
&lt;li&gt;Airsonic&lt;/li&gt;
&lt;li&gt;Bookstack&lt;/li&gt;
&lt;li&gt;Code-server&lt;/li&gt;
&lt;li&gt;TheLounge&lt;/li&gt;
&lt;li&gt;ZNC&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;random-bits-and-bobs&#34;&gt;Random bits and bobs
&lt;/h3&gt;&lt;p&gt;My current wifi setup consists of a single Ubiquiti Unifi AC-Pro Lite, which is good enough for my whole apartment. At the moment two Zyxel GS-1100 dumb switches link everything togther. Those are going to replaced with a single VLAN-capable switch with additional 10G SFP ports for my NAS, Hypervisor and my desktop.&lt;/p&gt;
&lt;p&gt;At some point I would like to enable IPv6 for my whole network but that will not work as long as my ISP does not give out an address while the modem is in bridge mode.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t know if a 3D printer counts towards a homelab but my Anet A8 has been quite reliable after some much needed upgrades. I might write more about the printer in a future blog post.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/state-of-the-homelab-2020/rack.jpg&#34;
	width=&#34;6528&#34;
	height=&#34;4896&#34;
	srcset=&#34;https://sysmike.net/post/state-of-the-homelab-2020/rack_hu_861d79eeac376b18.jpg 480w, https://sysmike.net/post/state-of-the-homelab-2020/rack_hu_41cfcafc60f8a805.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;133&#34;
		data-flex-basis=&#34;320px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Run your own honeypot with T-Pot</title>
        <link>https://sysmike.net/post/run-your-own-honeypot-with-t-pot/</link>
        <pubDate>Thu, 07 Jun 2018 04:59:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/run-your-own-honeypot-with-t-pot/</guid>
        <description>&lt;img src="https://sysmike.net/post/run-your-own-honeypot-with-t-pot/tpot.png" alt="Featured image of post Run your own honeypot with T-Pot" /&gt;&lt;p&gt;T-Pot is a dockerized honypot system containing the following software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;conpot&lt;/li&gt;
&lt;li&gt;cowrie&lt;/li&gt;
&lt;li&gt;dionaea&lt;/li&gt;
&lt;li&gt;elasticpot&lt;/li&gt;
&lt;li&gt;emobility&lt;/li&gt;
&lt;li&gt;glastopf&lt;/li&gt;
&lt;li&gt;honeytrap&lt;/li&gt;
&lt;li&gt;suricata&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Events are visualized using the ELK stack. Installation is fairly straightforward, you will need a fresh Ubuntu 16.04 machine with your public key added.&lt;/p&gt;
&lt;p&gt;Before you run the following commands, be aware that to avoid a known installation error, you need to replace line 306 in install.sh &lt;code&gt;pip install --upgrade pip&lt;/code&gt; with &lt;code&gt;pip install --upgrade pip &amp;amp;&amp;amp; hash -r pip&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/dtag-dev-sec/t-pot-autoinstall.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd t-pot-autoinstall/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo su
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;After the script is done the machine will automatically reboot and you will be able to login into the dashboard with the specified credentials.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Monitor ethminer using Icinga2</title>
        <link>https://sysmike.net/post/monitor-ethminer-using-icinga2/</link>
        <pubDate>Wed, 14 Jun 2017 22:41:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/monitor-ethminer-using-icinga2/</guid>
        <description>&lt;img src="https://sysmike.net/post/monitor-ethminer-using-icinga2/ethminer-monitoring.png" alt="Featured image of post Monitor ethminer using Icinga2" /&gt;&lt;p&gt;Monitoring your mining rigs is very important - GPUs sometimes hang for no reason or power settings reset back to default.
The below script reads the JSON from ethminer and outputs it into a nagios-compatible format.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;81
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;82
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;83
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;84
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;85
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;86
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;87
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;88
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;89
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;90
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;91
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;ch&#34;&gt;#!/usr/bin/env python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;sys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;json&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;subprocess&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;time&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sleep&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;argparse&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ArgumentParser&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;parser&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ArgumentParser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_help&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;parser&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;add_argument&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;-H&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;--hostname&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dest&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;hostname&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;metavar&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ADDRESS&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;required&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;help&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;host name or IP address&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;args&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;parser&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;parse_args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;get_miner_info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;version&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;uptime&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hashrate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hardware&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;temperature_gpu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;power_usage&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fanspeed_gpu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;global&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;cmd&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&amp;#39;echo &amp;#39;{&amp;#34;method&amp;#34;: &amp;#34;miner_getstathr&amp;#34;, &amp;#34;jsonrpc&amp;#34;: &amp;#34;2.0&amp;#34;, &amp;#34;id&amp;#34;: 5 }&amp;#39; | timeout 2 nc &amp;#39;&amp;#39;&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;args&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hostname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39; 8085&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Popen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cmd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;shell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PIPE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stderr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;STDOUT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;rsp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;communicate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()[&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;json&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;loads&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;rsp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;version&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;version&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;uptime&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;runtime&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;hashrate&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ethhashrates&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;power_usage&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;powerusages&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;temperature_gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;temperatures&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;fanspeed_gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fanpercentages&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;pool&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;result&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;pooladdrs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;print_result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;problem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;False&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hashrate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&lt;span class=&#34;n&#34;&gt;problem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;hashrate_gpu&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;temperature_gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;70&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&lt;span class=&#34;n&#34;&gt;problem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;temperature_gpu&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;power_usage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;int&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;120&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;			&lt;span class=&#34;n&#34;&gt;problem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;powerusage_gpu&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fanspeed_gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;fanspeed_gpu&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gpu&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pool&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;pool=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;append&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tmp&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;problem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Something is wrong with this rig |&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;version=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34; uptime=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uptime&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	    		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;This mining rig is operating in its specified parameters on &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pool&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34; |&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;version=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34; uptime=&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;str&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;uptime&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)),&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;		&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	    		&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;item&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    	&lt;span class=&#34;n&#34;&gt;sys&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;exit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;get_miner_info&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;print_result&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>evtsys - Eventlog to Syslog Service for Windows</title>
        <link>https://sysmike.net/post/evtsys-eventlog-to-syslog-service-for-windows/</link>
        <pubDate>Sun, 14 Feb 2016 09:45:02 +0100</pubDate>
        
        <guid>https://sysmike.net/post/evtsys-eventlog-to-syslog-service-for-windows/</guid>
        <description>&lt;p&gt;Ever wondered how you might be able to integrate that one pesky windows server, that you seem to be unable to get rid off, into your existing syslog infrastructure? &lt;a class=&#34;link&#34; href=&#34;https://code.google.com/archive/p/eventlog-to-syslog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;evtsys is just the tool for the job&lt;/a&gt;. Simply download and copy it into your windows system path, for example C:/Windows/system32 .
Then run in your terminal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;evtsys.exe -i &amp;lt;address syslogserver&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will install a service that forwards all futrure windows log entries to your syslog server.
evtsys, altough not having been updated for quite some time, is doing a great job and even runs on my Windows Server 2016 VM, happlily forwarding everything to my ELK stack.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Installing and using fprobe on IPFire</title>
        <link>https://sysmike.net/post/installing-and-using-fprobe-on-ipfire/</link>
        <pubDate>Tue, 24 Jun 2014 21:58:43 +0100</pubDate>
        
        <guid>https://sysmike.net/post/installing-and-using-fprobe-on-ipfire/</guid>
        <description>&lt;img src="https://sysmike.net/post/installing-and-using-fprobe-on-ipfire/netflow.png" alt="Featured image of post Installing and using fprobe on IPFire" /&gt;&lt;h2 id=&#34;introduction&#34;&gt;Introduction
&lt;/h2&gt;&lt;p&gt;Some of you might be familiar with the netflow protocol, but if you are not, it is quite simple. Basically a device capable of netflow collects all IP traffic and sends the data to a server to analyze it further, allowing the administrator to see where the traffic is coming from and where it is going. &lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/NetFlow&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;But you might want to read up on this topic on wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now the IPFire system does not out of the box offer support for the netflow protocol but thanks to the really awesome addon system it is very simple to extend its functionality. Since there was no addon that allowed me to install a netflow probe I went ahead and created a fprobe package for ipfire. I went with fprobe because all the requirements were already met on the ipfire system and it is quite lightweight on system resources.&lt;/p&gt;
&lt;p&gt;Now to the actual building of the addon. Below is the lfs script I wrote for the ipfire build system to create the package. If you want you can go ahead and build the addon yourself using this script and the official sources but I will also provide the package I build for myself (if you plan on building it yourself you might want to read the &lt;a class=&#34;link&#34; href=&#34;http://wiki.ipfire.org/en/development/build&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;official wiki&lt;/a&gt;) as I will not cover the build system.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;81
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;82
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;83
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;##############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#                                                                             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# IPFire.org - A linux based firewall                                         #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Copyright (C) 2007  Michael Tremer &amp;amp; Christian Schmidt                      #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#                                                                             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# This program is free software: you can redistribute it and/or modify        #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# it under the terms of the GNU General Public License as published by        #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# the Free Software Foundation, either version 3 of the License, or           #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# (at your option) any later version.                                         #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#                                                                             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# This program is distributed in the hope that it will be useful,             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# but WITHOUT ANY WARRANTY; without even the implied warranty of              #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# GNU General Public License for more details.                                #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#                                                                             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# You should have received a copy of the GNU General Public License           #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.       #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#                                                                             #&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Definitions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;include Config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;VER&lt;/span&gt;        &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 1.1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;THISAPP&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; fprobe-&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;VER&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DL_FILE&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;THISAPP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;.tar.bz2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DL_FROM&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; http://files.sysmike.net/sonstiges/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DIR_APP&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_SRC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;THISAPP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;TARGET&lt;/span&gt;     &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_INFO&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;THISAPP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PROG&lt;/span&gt;       &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; fprobe
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PAK_VER&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DEPS&lt;/span&gt;       &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Top-level Rules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;objects&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FILE&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FILE&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FROM&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FILE&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FILE&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;_MD5&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; 65850d0470078269b33eee58cba77ac2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;install : &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;TARGET&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;check : &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;patsubst %,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_CHK&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/%,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;download :&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;patsubst %,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_DL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/%,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;md5 : &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;subst %,%_MD5,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dist:.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PAK&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Downloading, checking, md5sum&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;patsubst %,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_CHK&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/%,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;CHECK&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;patsubst %,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_DL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/%,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;LOAD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;subst %,%_MD5,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt; :
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MD5&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Installation Details&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;###############################################################################&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;TARGET&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; : &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;patsubst %,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_DL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/%,&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;objects&lt;span class=&#34;k&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;PREBUILD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@rm -rf &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_APP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_SRC&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; tar xvf &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_DL&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;/&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DL_FILE&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_APP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; ./configure
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_APP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; make &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;MAKETUNING&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_APP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; make install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@rm -rf &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;DIR_APP&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;	@&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;POSTBUILD&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;installation--usage&#34;&gt;Installation &amp;amp; Usage
&lt;/h2&gt;&lt;p&gt;If you are using ipfire you probably are familiar on how to install addons on your system but in case you are not, here the three commands you have to execute.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://files.sysmike.net/sonstiges/fprobe-1.1-2.ipfire
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar xvf fprobe-1.1-2.ipfire
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./install.sh 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;These three lines should have successfully installed fprobe on your system. Currently you can only start fprobe manually using a batch file or the similar as I have yet to look into a way to create an init.d script. Below is the script I currently use.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fprobe -i red0 &amp;lt;ip-collector:port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fprobe -i green0 &amp;lt;ip-collector:port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fprobe -i blue0 &amp;lt;ip-collector:port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fprobe -i orange0 &amp;lt;ip-collector:port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fprobe -i tun0 &amp;lt;ip-collector:port&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The netflow collector should now recieve its first data from the probes.
If there are any questions feel free to ask in the comments.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Back from the dead</title>
        <link>https://sysmike.net/post/back-from-the-dead/</link>
        <pubDate>Sat, 14 Jun 2014 03:32:56 +0100</pubDate>
        
        <guid>https://sysmike.net/post/back-from-the-dead/</guid>
        <description>&lt;p&gt;No, this blog is not yet dead. I have just been busy with real-life™ thus unable to spend time on things like blogging or coding. But now I am back and plan on introducing some changes to this site:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Future posts will be in english, I want more people to be able to read my blog and improve my writing skills - it is not my first language&lt;/li&gt;
&lt;li&gt;Previous posts will not be translated, not worth the work&lt;/li&gt;
&lt;li&gt;I will try to write about useful software I find on the web&lt;/li&gt;
&lt;li&gt;Write on a regular basis - twice a month would be a good start I guess&lt;/li&gt;
&lt;li&gt;And I will still blog about everything I am interested in&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That is all for now, expect a new post by the beginning of the next week.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Reverse Shell in Python</title>
        <link>https://sysmike.net/post/reverse-shell-in-python/</link>
        <pubDate>Sun, 14 Jul 2013 22:03:36 +0100</pubDate>
        
        <guid>https://sysmike.net/post/reverse-shell-in-python/</guid>
        <description>&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;ch&#34;&gt;#!/usr/bin/python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;socket&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;subprocess&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;HOST&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;192.168.1.1&amp;#39;&lt;/span&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;PORT&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;443&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;socket&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;socket&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;socket&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;AF_INET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;socket&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SOCK_STREAM&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;connect&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;HOST&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PORT&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;data&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;recv&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1024&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;proc&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Popen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;data&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PIPE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stderr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;subprocess&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;PIPE&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;shell&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;stdout_value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;proc&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stderr&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;read&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;send&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stdout_value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Heute mal ein kurzes Codeschnippsel von mir. Wie unschwer zu erkennen ist, handelt es sich dabei um ein kurzes Pythonskript, das eine Reverse Shell zu einen Remotecomputer aufbaut.
Bevor das Skript eine Verbindung aufbauen kann, muss auf dem Zielrechner eine netcat-Instanz geöffnet werden, ungefähr so:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nc -l  -p 443 -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Soll das Skript unter Windows laufen, muss es mit py2exe gepackt werden.&lt;/p&gt;
&lt;p&gt;Wozu das ganze ? Lasst eurer Fantasie einfach freien Lauf ( ¬‿¬)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Windows 8 Taskmanger für Windows 7</title>
        <link>https://sysmike.net/post/windows-8-taskmanger-f%C3%BCr-windows-7/</link>
        <pubDate>Sat, 11 May 2013 09:17:06 +0100</pubDate>
        
        <guid>https://sysmike.net/post/windows-8-taskmanger-f%C3%BCr-windows-7/</guid>
        <description>&lt;img src="https://sysmike.net/post/windows-8-taskmanger-f%C3%BCr-windows-7/win8taskman.png" alt="Featured image of post Windows 8 Taskmanger für Windows 7" /&gt;&lt;p&gt;Wer Windows 8 schon mal ausprobiert hat, dem ist vielleicht der neue Taskmanager aufgefallen. Nun gibt es eine funktionierende Version für Windows 7 namens &lt;a class=&#34;link&#34; href=&#34;http://www.chip.de/downloads/DBCTaskman_61932006.html&#34;  title=&#34;DBCTaskman&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DBCTaskman&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Das Programm hat die selben Funktionen wie sein Vorbild, nur fehlt die Systemintegration, das heißt, man die Software nicht als Standard festlegen. Trotzdem kann man jetzt getrost den alten Taskmanager, der sich seit Jahren nur minimal verändert hat, in Rente schicken.&lt;/p&gt;
&lt;p&gt;Download der Software: &lt;a class=&#34;link&#34; href=&#34;http://www.chip.de/downloads/DBCTaskman_61932006.html&#34;  title=&#34;DBCTaskman&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Link&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Einfacher Node.js Express Webserver für Heroku</title>
        <link>https://sysmike.net/post/einfacher-node.js-express-webserver-f%C3%BCr-heroku/</link>
        <pubDate>Sun, 17 Feb 2013 13:09:17 +0100</pubDate>
        
        <guid>https://sysmike.net/post/einfacher-node.js-express-webserver-f%C3%BCr-heroku/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/einfacher-node.js-express-webserver-f%C3%BCr-heroku/console.jpg&#34;
	width=&#34;919&#34;
	height=&#34;560&#34;
	srcset=&#34;https://sysmike.net/post/einfacher-node.js-express-webserver-f%C3%BCr-heroku/console_hu_2df24b781e3a05c9.jpg 480w, https://sysmike.net/post/einfacher-node.js-express-webserver-f%C3%BCr-heroku/console_hu_149482269744bec2.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;console&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;164&#34;
		data-flex-basis=&#34;393px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Der ein oder andere war vielleicht schon einmal in dieser Situation: Man programmierte eines Nachts eine einfache, statische Seite und wollte diese unter einer lustigen Domain hosten. Doch was macht man, wenn man keine freien Resourcen auf etwaigen Servern hat oder gar keine vorhanden sind ? Klar, es gibt Freehoster, doch diese sind meist sehr langsam oder pflastern die von Hand designte Seite mit Werbung voll. Oder beides kombiniert. Ausnahmen sind selten, Alternativen eher unbekannt und nicht jeder ist bereit, 3-4€ für gutes Webhosting auszugeben.&lt;/p&gt;
&lt;p&gt;Doch dank dem aufkommen von PAAS-Providern gibt es nun eine einfache und zuverlässige Möglichkeit, statische Websiten zu hosten.&lt;/p&gt;
&lt;p&gt;Das Prinzip ist ganz einfach. Man schreibt sich auf Basis des Node.js Packages Express einen kleinen Webserver, ungefähr so:&lt;/p&gt;
&lt;p&gt;{% gist 2525b6aebc61b549bc8d %}&lt;/p&gt;
&lt;p&gt;Das ganze speichert man als server.js ab.  Die HTML-Datei kommt in den frisch erstellten Ordner names public. Nun muss das ganze noch auf einen entsprechenden PAAS- Anbieter hochgeladen werden, in diesem Fall Heroku. Damit das problemlos funktioniert, muss man noch zwei weitere Dateien erstellen. Einmal natürlich die package.json &amp;hellip;&lt;/p&gt;
&lt;p&gt;{% gist 6a6cdf2e4a76288785e2 %}&lt;/p&gt;
&lt;p&gt;&amp;hellip; und einmal eine Datei mit dem Namen Procfile. Mit dem Inhalt dieser Datei legt man den Befehl fest, den Heroku beim Start eines Prozesses ausführt.&lt;/p&gt;
&lt;p&gt;{% gist aca401324630005c8ec0 %}&lt;/p&gt;
&lt;p&gt;Jetzt muss nur noch eine App erstellt und das ganze per git hochgeladen werden.&lt;/p&gt;
&lt;p&gt;{% gist 26f87cc1755916a8a483 %}&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Beta des Last.fm Scrobblers verfügbar</title>
        <link>https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/</link>
        <pubDate>Sat, 29 Dec 2012 10:21:01 +0100</pubDate>
        
        <guid>https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm1.jpg&#34;
	width=&#34;843&#34;
	height=&#34;883&#34;
	srcset=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm1_hu_72c17a237f69240e.jpg 480w, https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm1_hu_2da7d8c2da495fd0.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Übersicht&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;95&#34;
		data-flex-basis=&#34;229px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Nach gefühlten 5 Jahren Entwicklung ist nun seit einiger Zeit eine Beta des Audioscrobblers verfügbar. Das Programm wurde grundlegend erneuert, die Seite wurde endlich in das Programm integriert. Das neue Design ist sehr ansprechend, trotzdem werden alle nötigen Information dargestellt. So muss man nicht mehr die Website öffnen, um Kleinigkeiten nachzuschauen. Für mich gibt es dennoch zwei Wehrmutstropfen - Zum einen kann man nicht von der App heraus auf das Profil einens Freundes zugreifen, es wird einfach die entsprechende Seite im Browser geöffnet. Zum anderen ist nun der RAM-Bedarf des Programms gestiegen, bei mir etwa 34MB.&lt;/p&gt;
&lt;p&gt;Download der Beta: &lt;a class=&#34;link&#34; href=&#34;http://www.lastfm.de/group/Audioscrobbler&amp;#43;Beta&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;em&gt;klick&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm2.jpg&#34;
	width=&#34;829&#34;
	height=&#34;874&#34;
	srcset=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm2_hu_d51faabaf839a04f.jpg 480w, https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm2_hu_7737af5dd46271f5.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Scrobbles&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;94&#34;
		data-flex-basis=&#34;227px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm3.jpg&#34;
	width=&#34;837&#34;
	height=&#34;873&#34;
	srcset=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm3_hu_eba1a2caca454b37.jpg 480w, https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm3_hu_182d1f4b9bb077e1.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Profil&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;95&#34;
		data-flex-basis=&#34;230px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm4.jpg&#34;
	width=&#34;838&#34;
	height=&#34;862&#34;
	srcset=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm4_hu_227443eadb6a668b.jpg 480w, https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm4_hu_1df5da15f6729ccc.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Freunde&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;97&#34;
		data-flex-basis=&#34;233px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm5.jpg&#34;
	width=&#34;843&#34;
	height=&#34;862&#34;
	srcset=&#34;https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm5_hu_155dfeba1bad2a87.jpg 480w, https://sysmike.net/post/beta-des-last.fm-scrobblers-verf%C3%BCgbar/lastfm5_hu_d15fa5a31165731b.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;Radio&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;97&#34;
		data-flex-basis=&#34;234px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>In eigener Sache - Neuer Blog &amp; eigener URL-Shortener</title>
        <link>https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/</link>
        <pubDate>Wed, 12 Dec 2012 21:23:09 +0100</pubDate>
        
        <guid>https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/</guid>
        <description>&lt;p&gt;Heute stelle ich euch zwei neue Seiten vor, die ich innerhalb der letzten 2 Wochen online gestellt habe.&lt;/p&gt;
&lt;p&gt;Bei der ersten Seite handelt es sich um meinen eigenen URL-Shortener &lt;a class=&#34;link&#34; href=&#34;http://5h0r7.com/&#34;  title=&#34;5h0r7.com&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;5h0r7.com&lt;/a&gt;. Funktioniert wie jeder andere Dienst dieser Art auch, einfach langen Link einfügen und schon hat man eine kurze URL. Das Backend wurde in PHP geschrieben, die Website basiert auf Bootstrap. Die URL ist übrigens in l33t geschrieben und liest sich &amp;ldquo;short&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/short.jpg&#34;
	width=&#34;1741&#34;
	height=&#34;857&#34;
	srcset=&#34;https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/short_hu_b6ed31d0f56006d2.jpg 480w, https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/short_hu_fa4d2eee985ba0c7.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;short&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;203&#34;
		data-flex-basis=&#34;487px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Die zweite Seite &lt;a class=&#34;link&#34; href=&#34;http://uselessstuff.de/&#34;  title=&#34;uselessstuff&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://uselessstuff.de&lt;/a&gt; ist eine Art Tumblr, nur eben mit Wordpress als Backend. Dort poste ich also hautpsächlich Bilder, Videos &amp;amp; andere mehr oder weniger lustige Sachen.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/useless.jpg&#34;
	width=&#34;1733&#34;
	height=&#34;856&#34;
	srcset=&#34;https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/useless_hu_6b8c7e2a7496a007.jpg 480w, https://sysmike.net/post/in-eigener-sache-neuer-blog-eigener-url-shortener/useless_hu_dea70ccf074ce77e.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;202&#34;
		data-flex-basis=&#34;485px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Transmission - Email Benachrichtigungen unter Windows</title>
        <link>https://sysmike.net/post/transmission-email-benachrichtigungen-unter-windows/</link>
        <pubDate>Sun, 04 Nov 2012 12:40:21 +0100</pubDate>
        
        <guid>https://sysmike.net/post/transmission-email-benachrichtigungen-unter-windows/</guid>
        <description>&lt;p&gt;Aufgrund der anstehenden Änderungen von µTorrent habe ich mich dazu entschlossen, nach Jahren einen anderen Torrentclient zu nutzen. Nach einer kurzen Zeit mit Deluge bin ich bei Transmission hängen geblieben. Die Windowsbuild konnte alle Wünsche erfüllen, nur eMail-Benachrichtigungen fehlten mir irgendwie. Nachdem es im Internet kein Skript gab, das das für mich erledigen könnte, hab ich mir einfach eins selber geschireben. Ihr braucht dazu folgendes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://caspian.dotconf.net/menu/Software/SendEmail/&#34;  title=&#34;sendemail&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sendemail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;mein Skript :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;C&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Pfad&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;zu&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sendemail&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;f&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;sender mail&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;recipient mail&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;u&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Transsmision: Download of %TR_TORRENT_NAME&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;% f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;inished&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;m&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Download of %TR_TORRENT_NAME% has been finished.&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;smtp server&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;xu&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;smtp user&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;xp&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;smtp password&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/transmission-email-benachrichtigungen-unter-windows/tr-script-call.jpg&#34;
	width=&#34;481&#34;
	height=&#34;188&#34;
	srcset=&#34;https://sysmike.net/post/transmission-email-benachrichtigungen-unter-windows/tr-script-call_hu_cc0f29ceca2d84b8.jpg 480w, https://sysmike.net/post/transmission-email-benachrichtigungen-unter-windows/tr-script-call_hu_ceb7092633fc2379.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;255&#34;
		data-flex-basis=&#34;614px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Kopiert den Text einfach in eine Batch und ihr seid fast fertig. Unter der Option &amp;ldquo;Call script when torrent is completed&amp;rdquo; in Transmission einfach den Pfad zur Batch angeben, der Rest passiert automatisch.&lt;/p&gt;
&lt;p&gt;Noch ein letzter Hinweis, der Text kann natürlich mit weiteren Variablen angepasst werden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TR_APP_VERSION&lt;/li&gt;
&lt;li&gt;TR_TIME_LOCALTIME&lt;/li&gt;
&lt;li&gt;TR_TORRENT_DIR&lt;/li&gt;
&lt;li&gt;TR_TORRENT_HASH&lt;/li&gt;
&lt;li&gt;TR_TORRENT_ID&lt;/li&gt;
&lt;li&gt;TR_TORRENT_NAME&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eine Zip mit sendemail und der Batch es gibt übrigens im Downloadbereich.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Statusdashboard - Service Statusseite in Node.js</title>
        <link>https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/</link>
        <pubDate>Tue, 24 Jul 2012 08:00:10 +0100</pubDate>
        
        <guid>https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status1.jpg&#34;
	width=&#34;1622&#34;
	height=&#34;818&#34;
	srcset=&#34;https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status1_hu_8529ce792f2b9c5e.jpg 480w, https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status1_hu_c34e6fcace3e9b3e.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;198&#34;
		data-flex-basis=&#34;475px&#34;
	
&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/obazoud/statusdashboard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Statusdashboard&lt;/a&gt; ist ein in Javascript geschriebenes Programm, das den Status der überwachten Dienste einfach anzeigt. So können Websitenbesucher einfach erkennen, ob alles läuft oder eben nicht. Bei Fehlern wird auch der Fehlercode ausgegeben, sehr praktisch. Zudem lässt sich der Funktionsumfang einfach durch Plugins erweitern.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Installation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Node,js und npm sollten bestenfalls bereits installiert sein&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Erstellt einen Ordner, in dem ihr Statusdashboard installieren wollt&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;mkdir /usr/local/statusdashboard/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd /usr/local/statusdashboard/&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Klont die git Repro&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;git clone [git@github.com](mailto:git@github.com): obazoud/statusdashboard.git&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Installiert die benötigten Addons&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;npm install&lt;/code&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Passt die Einstellungen in der settings.js an&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Startet die App&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;export APP_ENV=xxx&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;node server.js&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Läuft alles nach Plan, kann über den entsprechenden Port das Webinterface aufgerufen werden. Zeit, einen Blick auf die Plugins zu werfen, als da wären:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;IRC Bot (postet Status in einem IRC-Channel)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Twitter (postet den Status auf Twitter)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verlauf (Ausfälle werden in einer Redisdatenbank gespeichert)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status2.jpg&#34;
	width=&#34;549&#34;
	height=&#34;221&#34;
	srcset=&#34;https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status2_hu_4fb4869b09ee0cf1.jpg 480w, https://sysmike.net/post/statusdashboard-service-statusseite-in-node.js/status2_hu_3e5377f41092f1d0.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;248&#34;
		data-flex-basis=&#34;596px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Zudem sei noch die API erwähnt, damit lässt sich Statusdashboard auch in die eventuell bestehende Seite einbauen. Wer die App dann produktiv einsetzen will, &lt;a class=&#34;link&#34; href=&#34;https://github.com/obazoud/statusdashboard&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;auf der Githubseite&lt;/a&gt; gibt es ein init.d Skript. Meine Instanz findet man übrigens unter &lt;a class=&#34;link&#34; href=&#34;http://status.sysmike.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;diesem&lt;/a&gt; Link.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Windows Server 2012 - Preview</title>
        <link>https://sysmike.net/post/windows-server-2012-preview/</link>
        <pubDate>Sat, 16 Jun 2012 17:44:32 +0100</pubDate>
        
        <guid>https://sysmike.net/post/windows-server-2012-preview/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/windows-server-2012-preview/server2.jpg&#34;
	width=&#34;1179&#34;
	height=&#34;959&#34;
	srcset=&#34;https://sysmike.net/post/windows-server-2012-preview/server2_hu_ed8ce34918b4e509.jpg 480w, https://sysmike.net/post/windows-server-2012-preview/server2_hu_73927727a83d2134.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;122&#34;
		data-flex-basis=&#34;295px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Neben dem vor kurzem veröffentlichten Release Candidate von Windows 8 gab Microsoft auch den Download für den Windows Server 2012 frei, was mich weitaus mehr interessierte, da ich Windows 8 in der Preview schon angetestet hatte, so viel hat sich da nicht verändert. Also schnell die ISO heruntergeladen und in Virtualbox installiert. Das Setup wurde dem allgemeinem Metrolook angepasst, die Menüs und Dialog sind nicht verändert worden. Nach der ersten Anmeldung klatscht einem erstmal die Metrooberfläche ins Gesicht. Man kann von Metro halten was man will, eines ist klar: Bis jetzt führt kein Weg dran vorbei. Ich möchte hier aber keine Diskussion über Metro starten, das werde ich in einem eigenen Beitrag angehen.&lt;/p&gt;
&lt;p&gt;Also zurück zum Thema: Mein erster Klick galt wie nach jeder Serverinstallation üblich dem Servermanager. Auch dieser würde dem Metrodesign angepasst. Zu meiner Überraschung nicht nur das, es wurde auch an verschiedenen Funktionen gearbeitet, vor allem im Bereich des Cloudcomputings. Besonders die Übersicht aller Server vereinfacht das Managment eines Clusters wesentlich, man sieht sofort, wo es hakt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/windows-server-2012-preview/server4.jpg&#34;
	width=&#34;1192&#34;
	height=&#34;954&#34;
	srcset=&#34;https://sysmike.net/post/windows-server-2012-preview/server4_hu_18ec321f16b2103c.jpg 480w, https://sysmike.net/post/windows-server-2012-preview/server4_hu_886b4f164bc8a9bc.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;124&#34;
		data-flex-basis=&#34;299px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/windows-server-2012-preview/server5.jpg&#34;
	width=&#34;1201&#34;
	height=&#34;952&#34;
	srcset=&#34;https://sysmike.net/post/windows-server-2012-preview/server5_hu_be7e2bc5e22358af.jpg 480w, https://sysmike.net/post/windows-server-2012-preview/server5_hu_4e58e9166499ffbf.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;126&#34;
		data-flex-basis=&#34;302px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Das wichtigste an einem Server sind aber die Dienste, die er verrichtet. Also mal die Standardsachen installiert, in diesem Fall IIS, WSUS und Remotedienste. Das geht genauso schnell wie früher, es würde kaum an den Dialogen gefeilt.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/windows-server-2012-preview/server1.jpg&#34;
	width=&#34;1183&#34;
	height=&#34;952&#34;
	srcset=&#34;https://sysmike.net/post/windows-server-2012-preview/server1_hu_6f0fa906a3a368bb.jpg 480w, https://sysmike.net/post/windows-server-2012-preview/server1_hu_b1b6045a13c7d724.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;124&#34;
		data-flex-basis=&#34;298px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Auf ein neues Feature, Speicherpools, möchte besonders eingehen. Den so neu ist diese Funktion gar nicht, Nutzer des WHSv1 kennen Speicherpools unter dem Namen Drive Extender. Leider wurde diese Funktion in WHS 2011 trotz lautem Aufschreis der Community entfernt. Nun also die Rückkehr des Drive Extenders. Find ich gut, es war damals trotz einiger Macken eine einfache Möglichkeit für mehr Datensicherheit.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/windows-server-2012-preview/server6.jpg&#34;
	width=&#34;1177&#34;
	height=&#34;960&#34;
	srcset=&#34;https://sysmike.net/post/windows-server-2012-preview/server6_hu_25936525945d6501.jpg 480w, https://sysmike.net/post/windows-server-2012-preview/server6_hu_2aa62e7320159ea9.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;122&#34;
		data-flex-basis=&#34;294px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mein Fazit:&lt;/strong&gt; Der Windows Server 2012 wird sicherlich ein klasse Server-OS, das sich dem &amp;ldquo;Cloudzeitalter&amp;rdquo; angepasst hat. Klasse finde ich die Rückkehr des Drive Extender, ich habe damals diese Funktion geliebt. Einziger Wehrmutstropfen ist für mich die Metrooberfläche, aber zum Glück muss man die  auf einem Server nicht allzuhäufig ansehen.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>ZNC - Installation und Konfiguration eines IRC-Bouncers</title>
        <link>https://sysmike.net/post/znc-installation-und-konfiguration-eines-irc-bouncers/</link>
        <pubDate>Thu, 14 Jun 2012 18:27:28 +0100</pubDate>
        
        <guid>https://sysmike.net/post/znc-installation-und-konfiguration-eines-irc-bouncers/</guid>
        <description>&lt;img src="https://sysmike.net/post/znc-installation-und-konfiguration-eines-irc-bouncers/znc-console.png" alt="Featured image of post ZNC - Installation und Konfiguration eines IRC-Bouncers" /&gt;&lt;p&gt;Ja, es gibt sie noch, die Leute die IRC benutzen. Ist ja auch nicht mehr ganz so schwierig, alles ans laufen zu bekommen, die Programme machen es einen durch übersichtliche GUIs relativ einfach. Einen Nachteil aber hat IRC: Wenn man offline geht, ist man nicht mehr erreichbar. Aber dagagen kann man in diesem Falle was machen. Man installiert sich nämlich einen IRC-Bouncer. Dieser hält die Verbindung zum IRC-Server, selbst wenn man offline ist. Und einer meiner Meinung nach besten IRC-Bouncer ist ZNC, dessen Installation und Konfiguration ich im folgenden erläutern werde.&lt;/p&gt;
&lt;p&gt;Wer Windows nutzt, kann die nächsten Schritte getrost überspringen, es gibt vorgefertigte Binaries. Debiannutzer installieren das Programm wie gwohnt mit einem
&lt;code&gt;apt-get install znc&lt;/code&gt;
danach kann ZNC mit
&lt;code&gt;znc --makeconf&lt;/code&gt;
konfiguriert werden. Mit den folgenden Befehlen wird ein Ordner für die Konfigurationsdateien erstellt und die Berechtigungen gesetzt
&lt;code&gt;mkdir /etc/znc mv /home/$USER/.znc/* /etc/znc/ rm -R /home/$USER/.znc&lt;/code&gt;
Nun legen wir einen Nutzer und eine Gruppe für ZNC an und setzen wiedermal Berechtigungen
&lt;code&gt;addgroup --system znc adduser --system --no-create-home --ingroup znc znc chown -R znc:znc /etc/znc &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Nun brauchen wir ein init.d Skript, Windows nutzen müssen dafür einen Dienst installieren. Für Unix gibt es das Skript &lt;a class=&#34;link&#34; href=&#34;http://files.sysmike.net/downloads/znc.txt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hier als txt zum Download&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Die Batch müssen wir nun nach init.d verschieben und ausführbar machen
&lt;code&gt;mv znc /etc/init.d/znc chmod +x /etc/init.d/znc /etc/init.d/znc start&lt;/code&gt;
Um zu prüfen, ob ZNC läuft, einfach diesen Befehl ausführen
&lt;code&gt;ps -aux | grep znc&lt;/code&gt;
Hat alles geklappt, kann ZNC mit
&lt;code&gt;update-rc.d znc defaults&lt;/code&gt;
zum Systemstart hinzugefügt werden&lt;/p&gt;
&lt;p&gt;Vielen dank an den Blog &lt;a class=&#34;link&#34; href=&#34;http://doomclaw.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;doomclaw.de&lt;/a&gt;, an dessen Anleitung ich mich gehalten habe.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>FSyncMS - Einfacher Firefox-Sync Server</title>
        <link>https://sysmike.net/post/fsyncms-einfacher-firefox-sync-server/</link>
        <pubDate>Mon, 11 Jun 2012 18:55:02 +0100</pubDate>
        
        <guid>https://sysmike.net/post/fsyncms-einfacher-firefox-sync-server/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/fsyncms-einfacher-firefox-sync-server/Firefox-Sync-logo.png&#34;
	width=&#34;631&#34;
	height=&#34;200&#34;
	srcset=&#34;https://sysmike.net/post/fsyncms-einfacher-firefox-sync-server/Firefox-Sync-logo_hu_7945318e717e1067.png 480w, https://sysmike.net/post/fsyncms-einfacher-firefox-sync-server/Firefox-Sync-logo_hu_c94b63a430df0b87.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;315&#34;
		data-flex-basis=&#34;757px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Den internen Synronisationsdienst von Firefox, Firefox Sync, kennen sicher einige von euch. Nun möchte nich jeder seine privaten Browserdaten einem Dienst anvertrauen, den er nicht selber hostet. Mozilla bietet auch netterweise eine Pythonversion seines Dienstes an, die jeder selber installieren kann. Doch wer schon einen Blick in das Wiki geworfen hat, stellte unter Umständen fest, das die Installation entweder zu komplex ist, man die Vorraussetzungen nicht erfüllen kann oder sich schlichtweg der Aufwand sich nicht lohnt.&lt;/p&gt;
&lt;p&gt;Alle, die von einem dieser Probleme betroffen sind, werden auf dem Blog &lt;a class=&#34;link&#34; href=&#34;http://www.ohnekontur.de/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ohnekontur&lt;/a&gt; die Lösung finden. Dort wird eine verbesserte Version des Weave-Minimal-Servers angeboten, da die Originalversion nicht mehr unter dem aktuellen Firefox funktioniert. &lt;a class=&#34;link&#34; href=&#34;http://www.ohnekontur.de/2011/07/24/how-to-install-fsyncms-firefox-sync-eigener-server/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Download und Installationsanleitung sind auf dem Blog&lt;/a&gt; zu finden.&lt;/p&gt;
&lt;p&gt;Ich kann es nur jedem ans Herz legen, der auf all seinen Geräten Firefox nutzt und seine Privatspäre schätzt, es auszuporbieren, man kann den FSyncMS ja auf jedem anständigen Webhoster/Serveranbieter installieren. Aber nicht SSL-Ünterstützung vergessen: Ohne sind alle Bemühungen, die privaten Daten zu schützen, für die Katz.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Location Bar Enhancer - Erweiterung für den Firefox</title>
        <link>https://sysmike.net/post/location-bar-enhancer-erweiterung-f%C3%BCr-den-firefox/</link>
        <pubDate>Thu, 07 Jun 2012 16:16:39 +0100</pubDate>
        
        <guid>https://sysmike.net/post/location-bar-enhancer-erweiterung-f%C3%BCr-den-firefox/</guid>
        <description>&lt;p&gt;Ich möchte euch heute ein Addon für den Firefox vorstellen, Location Bar Enhancer. Es verbessert die URL-Leiste meiner Meinung nach wesentlich und erleichtert die Navigation bzw. zeigt nur die wichtigsten Infos an.&lt;/p&gt;
&lt;p&gt;Nach der &lt;a class=&#34;link&#34; href=&#34;https://addons.mozilla.org/de/firefox/addon/ui-enhancer/&#34;  title=&#34;hier klicken für Addondownload&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Installation von der Addonseite&lt;/a&gt; werden die Änderungen sofort sichtbar, denn ein Neustart ist nicht nötig.&lt;/p&gt;
&lt;p&gt;Das Addon teilt die Bestandteile der URL in mehrere Kacheln auf, ein Rechtsklick auf diese zeigt verwandte Elemente oder Bearbeitungsfunktionen (editieren, kopieren, etc.) an. Desweiteren ist die Erweiterng vollständig anpassbar, es gibt verschiedene Themes für die Kacheln und wer die Ladeanimation nicht mag, der deaktiviert sie einfach. Und natürlich kann man immer noch mit einem Klick auf eine freie Fläche in der Urlbar die Adresse editieren.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Apache2 - Nur bestimmte IPs zulassen</title>
        <link>https://sysmike.net/post/apache2-nur-bestimmte-ips-zulassen/</link>
        <pubDate>Tue, 29 May 2012 11:59:28 +0100</pubDate>
        
        <guid>https://sysmike.net/post/apache2-nur-bestimmte-ips-zulassen/</guid>
        <description>&lt;p&gt;Manchmal möchte man nicht jedem Zugriff auf seinem Server gewähren, etwa dem Homeserver oder privaten Bereichen auf Webservern. Zum Glück geht das Sperren von IPs mit jedem Webserver relativ einfach, man legt einfach eine .htaccess mit folgendem Inhalt an:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;order deny,allow
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deny from all
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;allow from xxx.xxx.xxx.xxx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Soweit ist ja noch alles einfach, wenn man aber jetzt den Zugriff nur vom privaten Netz aus erlauben will, steht vor einem Problem:
Oft hat man eine dynamische IP - ok, legt man sich halt ne DynDNS Adresse zu und probiert es erneut.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;order deny,allow
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deny from all
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;allow from domain.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So funktioniert das leider nicht, da der rDNS-Eintrag der DynDNS nicht nach der IP auflöst, sondern nach dem Hostnamen. Das Ergebnis: Die Ergebnisse decken sich nicht, die Anfrage wird abgewiesen.&lt;/p&gt;
&lt;p&gt;Die Lösung ? Mit etwas Batch und einem Cronjob auf dem Server sehr einfach:
Zuerst braucht man ein kleines Batchskript, das die DynDNS-Adresse auflöst und die IP dann in die .htaccess an passender Stelle einträgt.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;INPUT_FILE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Pfad zur .htaccess&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;IP_ADDRESS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;nslookup domain.com &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; grep Address &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed -n &lt;span class=&#34;s1&#34;&gt;&amp;#39;$p&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sed -e &lt;span class=&#34;s1&#34;&gt;&amp;#39;s/Address: //g&amp;#39;&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#echo $IP_ADDRESS;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PATTERN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#39;9s/Allow from.*/Allow from &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$IP_ADDRESS&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; sed -i &lt;span class=&#34;nv&#34;&gt;$PATTERN&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$INPUT_FILE&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#echo $PATTERN $INPUT_FILE;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Das Skript speichert man an einem passenden Ort und erstellt dann einen kleinen Cronjob, der z.B. das Skript einmal in der Stunde aufruft.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;crontab -e
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;10 04 * * * sh /root/scripts/Pfad zur .htaccess
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Nun sollte alles funktioneren, bei Problemen kann ich euch ja helfen ;)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>NZB Download Deluxe - GUI für SABnzbd</title>
        <link>https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/</link>
        <pubDate>Tue, 15 May 2012 20:34:31 +0100</pubDate>
        
        <guid>https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd1.jpg&#34;
	width=&#34;1424&#34;
	height=&#34;643&#34;
	srcset=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd1_hu_bb8c2a1e01eb0ace.jpg 480w, https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd1_hu_a3c78d4fadd8a94a.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;221&#34;
		data-flex-basis=&#34;531px&#34;
	
&gt;
Heute möchte ich euch eine relativ neue GUI für SABnzbd vorstellen. Diese ist in Qt programmiert, läuft daher auf Windows, Linux und Mac, der RAM-Verbrauch pendelt sich zwischen 10-20 MB ein, ist also in Ordnung.&lt;/p&gt;
&lt;p&gt;Nachdem man seine Zugangsdaten eingegeben hat, zeigt nzbdd die Warteschlange an. Alle Einträge werden meiner Meinung nach übersichtlich dargestellt. Über die Toolbar erreicht man bequem fast alle Funktionen von SABnzbd. Man kann Einträge hinzufügen und entfernen, Downloads pausieren und so weiter.&lt;/p&gt;
&lt;p&gt;Über jene Toolbar kann man sich die Logs anzeigen lassen oder Einstellungen vornehmen. Während die Darstellung der Logs recht nüchtern ist, gefällt mir das Optionsmenü - es werden alle wichtigen Einstellungen recht übersichtlich dargestellt, so muss man nicht mehr allzu oft auf das Webinterface zugreifen.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd3.jpg&#34;
	width=&#34;1431&#34;
	height=&#34;663&#34;
	srcset=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd3_hu_983c15a403c71e13.jpg 480w, https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd3_hu_721e35e4b00425da.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;215&#34;
		data-flex-basis=&#34;518px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd2.jpg&#34;
	width=&#34;1426&#34;
	height=&#34;653&#34;
	srcset=&#34;https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd2_hu_45afa184d443d931.jpg 480w, https://sysmike.net/post/nzb-download-deluxe-gui-f%C3%BCr-sabnzbd/nzbdd2_hu_d69b32913407a0e0.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;218&#34;
		data-flex-basis=&#34;524px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Wie jede Software ist auch diese leider nicht perfekt, daher hier einige Funktionen, die mir persönlich fehlen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hinzufügen von lokalen NZBs&lt;/li&gt;
&lt;li&gt;Möglichkeit, den einzelnen Einträgen Kategorien zuzuweisen&lt;/li&gt;
&lt;li&gt;Öffnen des Webinterface per Icon&lt;/li&gt;
&lt;li&gt;Öffnen eines Remotedownloadordners - zB. Link auf das SMB-Verzeichnis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dat wars fürs erste. hoffe einige können das Programm gebrauchen ;)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hompage des Autors: &lt;a class=&#34;link&#34; href=&#34;http://dynup.de.vu/&#34;  title=&#34;Link&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download des Programms: &lt;a class=&#34;link&#34; href=&#34;http://sourceforge.net/projects/nzbdd/files/&#34;  title=&#34;Download&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Link&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>TinyProxy - HowTo</title>
        <link>https://sysmike.net/post/tinyproxy-howto/</link>
        <pubDate>Sat, 31 Mar 2012 17:43:24 +0100</pubDate>
        
        <guid>https://sysmike.net/post/tinyproxy-howto/</guid>
        <description>&lt;p&gt;Heute mal wieder ein kleines Tut - wie installiert man seinen eigenen kleinen Proxy auf seinem privaten VPS/Root ? Unter Debian gestalltet sich dies relativ einfach :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;sudo apt-get install tinyproxy&lt;/strong&gt; - Installiert TinyProxy&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sudo nano /etc/tinyproxy.conf&lt;/strong&gt; - Ändert die Config nach eurem Gusto (Tipp: Eine Portänderung kann euch eine Menger Ärger sparen)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auf jeden Fall ändern solltet ihr die Allow-Direktive: Fügt dort nur euere eigene IP hinzu&lt;/strong&gt; (bei einer dynamischen IP nehmt ihr einfach eure DynDNS-Adresse - so läufts auch bei mir)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sudo /etc/init.d/tinyproy restart&lt;/strong&gt; - Startet den Proxy neu
Das wars, ihr könnt nun die IP oder Domain + Port in die Proxyeinstellungen eintragen. Viel Spaß beim (mehr oder weniger) anonymen surfen!&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>phpSysInfo - Statusanzeige für eueren Server</title>
        <link>https://sysmike.net/post/phpsysinfo-statusanzeige-f%C3%BCr-eueren-server/</link>
        <pubDate>Thu, 29 Mar 2012 22:39:06 +0100</pubDate>
        
        <guid>https://sysmike.net/post/phpsysinfo-statusanzeige-f%C3%BCr-eueren-server/</guid>
        <description>&lt;img src="https://sysmike.net/post/phpsysinfo-statusanzeige-f%C3%BCr-eueren-server/phpsysinfo.jpg" alt="Featured image of post phpSysInfo - Statusanzeige für eueren Server" /&gt;&lt;p&gt;Wolltet ihr schon immer wissen, wie stark euer Server ausgelastet ist, aber hattet nie Lust, eine ausgewachsene Monitoringlösung wie PRTG oder Cacti zu installieren ?
Die Lösung dafür lautet phpSysInfo. Das auf php basierende Skript liest verschiende Informationen aus und gibt sie übersichtlich auf einer Website wieder.&lt;/p&gt;
&lt;p&gt;**Installation: &lt;strong&gt;(Debiannutzer können es einfach per &amp;ldquo;aptitude install phpsysinfo&amp;rdquo; installieren)&lt;/strong&gt;
**&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ein belieberiger Webserver( z.B. Apache) und PHP5 sollten bereits installiert sein.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;http://sourceforge.net/projects/phpsysinfo/files/phpsysinfo/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Download des Skripts&lt;/a&gt; in der aktuellen Version von der offiziellen Webseite&lt;/li&gt;
&lt;li&gt;Entpacken in ein Verzeichnis des Webservers (z.B.  /var/www/stats/)&lt;/li&gt;
&lt;li&gt;Umbennen der config von config.php.new zu config,php&lt;/li&gt;
&lt;li&gt;Bei Bedarf Änderungen an der config vornehmen&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verzeichnis per .htaccess oder Webserver-Config schützen&lt;/strong&gt;
Vor allem der letze Schritt ist bei öffentlichen Servern sehr wichtig, je mehr der Angreifer über den Server weiß, desto einfacher ist es für ihn.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Fragen einfach in die Kommentare. Das Bild ist übrigens von meinem Distroserver ;)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Alle Jahre wieder – Caschy verlost etwas: Teil 2</title>
        <link>https://sysmike.net/post/alle-jahre-wieder-caschy-verlost-etwas-teil-2/</link>
        <pubDate>Fri, 23 Mar 2012 17:14:01 +0100</pubDate>
        
        <guid>https://sysmike.net/post/alle-jahre-wieder-caschy-verlost-etwas-teil-2/</guid>
        <description>&lt;p&gt;Das Warten hat ein Ende, der zweite Teil der Aktion hat begonnen. Zu gewinnen gibt es ein wunderschönes Intel DZ68BC, eine Intel Solid State Drive 320 Series (mmhh die wäre was für mein Notebook ;) ), einen externen DVD-Brenner( ich enthalte mich einer Meinung, nur soviel - wer brennt den noch DVDs ?) und 2x mal eine Überwachungskamera DCS-932L von D-Link.
Desweiteren eine Eye-Fi Connect X2 mit 4GB (die wollt ich schon immer mal testen), eine My Passport Essential (320 GB) mit Case, eine XBOX 360 (250GB HDD) mit Kung Fu Panda und Adventures.
Zum Schluss gibt es noch eine Synology DS212j und 3x 6 Monate Premium bei rdio zu gewinnen.&lt;/p&gt;
&lt;p&gt;Wie immer ist eine Anleitung, wie teilgenommen werden kann, dabei.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Militarizing Your Backyard with Python - Computer Vision and the Squirrel Hordes</title>
        <link>https://sysmike.net/post/militarizing-your-backyard-with-python-computer-vision-and-the-squirrel-hordes/</link>
        <pubDate>Thu, 15 Mar 2012 22:57:40 +0100</pubDate>
        
        <guid>https://sysmike.net/post/militarizing-your-backyard-with-python-computer-vision-and-the-squirrel-hordes/</guid>
        <description>&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;iframe loading=&#34;lazy&#34; 
            src=&#34;https://www.youtube.com/embed/QPgqfnKG_T4&#34; 
            allowfullscreen 
            title=&#34;YouTube Video&#34;
    &gt;
    &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;Sehr interessantes Video, sowas stell ich mir auch in den Garten ;)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Alle Jahre wieder - Caschy verlost etwas</title>
        <link>https://sysmike.net/post/alle-jahre-wieder-caschy-verlost-etwas/</link>
        <pubDate>Mon, 12 Mar 2012 19:36:56 +0100</pubDate>
        
        <guid>https://sysmike.net/post/alle-jahre-wieder-caschy-verlost-etwas/</guid>
        <description>&lt;p&gt;Aufgepasst, zum siebten Jubiläum von &lt;a class=&#34;link&#34; href=&#34;https://www.stadt-bremerhaven.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;www.stadt-bremerhaven.de&lt;/a&gt; gibt es wieder was zu gewinnen! Darunter Tablets von Motorola, Samsung und Dell, Smartphones von Nokia, HTC, Samsung und RIM sowie weitere tolle Technikgadgets - Mobility ist das Motto.&lt;/p&gt;
&lt;p&gt;Bei der Gelegenheit möchte ich Caschy nochmals zu seinem sieben Jahre altem Blog gratulieren - alles Gute! In dieser Zeit hat sich vieles verändert, damals hat man noch über Tuning-Tipps für XP und nützliche Tools gebloggt, heute dominieren Cloudservices die Schlagzeilen. Viele Dienste kamen und gingen. Und so wird es die nächsten 7 Jahre sein. Hoffen wir das Beste ;)&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://stadt-bremerhaven.de/7-jahre-caschys-blog-verlosung-part-1/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hier der Link zum ersten Part&lt;/a&gt; der Verlosung, dort können alle Geräte bebildert eingesehen werden, der Link zu Part 2 folgt in einem Update.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>vnstat &#43; jsvnstat - Trafficmonitor für einen Rootserver</title>
        <link>https://sysmike.net/post/vnstat--jsvnstat-trafficmonitor-f%C3%BCr-einen-rootserver/</link>
        <pubDate>Thu, 08 Mar 2012 00:14:30 +0100</pubDate>
        
        <guid>https://sysmike.net/post/vnstat--jsvnstat-trafficmonitor-f%C3%BCr-einen-rootserver/</guid>
        <description>&lt;p&gt;In einem vorhergehendem Artikel beschrieb ich, wie man die RTM-Software von OVH entfernt. Damit enfällt auch das Monitoring des Server - in einem Notfall erfährt man erst etwas, wenn es zu spät ist. Persönlich verwende ich PRTG Network Monitor als Ersatz, werde ich auch noch vorstellen. Doch wie sieht es mit einem Trafficmonitor aus, vor allem auf Linux ? Unter Windows gibt  es WMI, unter Unix gibt es SNMP. Meiner Meinug nach sollte beides nicht ohne SSH-Tunnel oder VPN über das Internet laufen. Doch es gibt auch Programme dafür, eines davon werde ich heute vorstellen - vnstat&lt;/p&gt;
&lt;p&gt;vnstat ist ersmal ein CLI-Tool. Es wird folgerndermaßen installiert:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sudo apt-get install vnstat&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;mit&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;sudo vnstat -u -i&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;wird der Traffic aufgezeichnet.&lt;/p&gt;
&lt;p&gt;Nun müsst ihr euch jsvnstat laden und in das Datenverzeichnisses eures Webserver entpacken (zB. /var/www/ ). Dort müsst ihr die config.php anpassen, die vorhanden Optionen sind relativ selbsterklärend. Zum Schluss sollte das Verzeichnis passwortgeschützt werden, nicht jeder soll ja wissen, wieviel Traffic ihr so verbraucht.&lt;/p&gt;
&lt;p&gt;Hat alles geklappt, sollte euch diese Website anschauen:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/vnstat--jsvnstat-trafficmonitor-f%C3%BCr-einen-rootserver/jsvnstat.png&#34;
	width=&#34;920&#34;
	height=&#34;583&#34;
	srcset=&#34;https://sysmike.net/post/vnstat--jsvnstat-trafficmonitor-f%C3%BCr-einen-rootserver/jsvnstat_hu_da5752ae8f4bf74c.png 480w, https://sysmike.net/post/vnstat--jsvnstat-trafficmonitor-f%C3%BCr-einen-rootserver/jsvnstat_hu_b7d8490d8622055e.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;157&#34;
		data-flex-basis=&#34;378px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Entfernung des OVH Backdoors - HowTo</title>
        <link>https://sysmike.net/post/entfernung-des-ovh-backdoors-howto/</link>
        <pubDate>Wed, 07 Mar 2012 14:36:35 +0100</pubDate>
        
        <guid>https://sysmike.net/post/entfernung-des-ovh-backdoors-howto/</guid>
        <description>&lt;p&gt;Ich habe einen Dedicated Server bei OVH gemietet und war etwas geschockt, wie ich gelesen habe, dass OVH vollen SSH-Zugang auf meinen Server hatte. Glücklicherweise gab es zu dem Artikel eine Anleitung, wie diese Problem gelöst werden kann:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**nano -w ~/.ssh/authorized_keys2**
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Das geöffnete sollte in etwa so aussehen&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**from=&amp;#34;213.186.50.100&amp;#34; **
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**from=&amp;#34;::ffff:213.186.50.100&amp;#34;**
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Auskommentieren oder am besten löschen, Problem gelöst. Wer noch einen Schritt weiter gehen will, kann auch noch die Real-Time-Monitoring Software entferen:&lt;/p&gt;
&lt;p&gt;Diese muss erstmal aus cron entfernt werden&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**nano -w /etc/crontab**
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;***/1 * * * * root /usr/local/rtm/bin/rtm 20 &amp;amp;gt; /dev/null 2&amp;amp;gt; /dev/null **-&amp;amp;gt; löschen**
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Danach kann man problemlos die Software mit&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**rm -rf /usr/local/rtm/**
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;gelöscht werden.&lt;/p&gt;
&lt;p&gt;Die Informationen stammen aus diesem &lt;a class=&#34;link&#34; href=&#34;http://www.torrent-invites.com/seedbox-tutorials/39022-ovh-backdoor-removal.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HowTo&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Info in eigener Sache - neue Domain</title>
        <link>https://sysmike.net/post/info-in-eigener-sache-neue-domain/</link>
        <pubDate>Tue, 06 Mar 2012 17:38:13 +0100</pubDate>
        
        <guid>https://sysmike.net/post/info-in-eigener-sache-neue-domain/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/info-in-eigener-sache-neue-domain/5378314176_d899bfc28a.jpg&#34;
	width=&#34;424&#34;
	height=&#34;283&#34;
	srcset=&#34;https://sysmike.net/post/info-in-eigener-sache-neue-domain/5378314176_d899bfc28a_hu_62a5c59ce225d82a.jpg 480w, https://sysmike.net/post/info-in-eigener-sache-neue-domain/5378314176_d899bfc28a_hu_2dcfa35b93a5f83.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;149&#34;
		data-flex-basis=&#34;359px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Einige werden es vielleicht schon bemerkt haben, wenn ihr in letzter Zeit diese Seite besucht habt: Das Blog läuft nun unter einer neuen Domain, die alte .tk, die seit fast 2 Jahren mehr oder weniger zuverlässig euch ans Ziel gebracht hat, dient nur noch als Weiterleitung auf die frische .net-Domain - also schnell einen neuen Fav im Browser angelegt ;). Zusätzlich läuft der Server nun auf leistungsfähiger Hardware: 2x 2,66Ghz, 3GB RAM und 100Mbit - das sollte selbst Wordpress auf trab halten.&lt;/p&gt;
&lt;p&gt;Vielleicht zieht die Seite ja doch noch auf einen richtigen Root um - da hat aber der Geldbeutel das letzte Wort, im Moment bin ich mit der Leistung meines VPS zufrieden.&lt;/p&gt;
&lt;p&gt;Das Bild ist von &lt;a class=&#34;link&#34; href=&#34;http://www.flickr.com/photos/55524309@N05/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;patriziasoliani&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>ADATA AS511S3-120GM-C - Review</title>
        <link>https://sysmike.net/post/adata-as511s3-120gm-c-review/</link>
        <pubDate>Mon, 20 Feb 2012 10:00:01 +0100</pubDate>
        
        <guid>https://sysmike.net/post/adata-as511s3-120gm-c-review/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/adata-as511s3-120gm-c-review/adatassd.jpg&#34;
	width=&#34;1680&#34;
	height=&#34;1117&#34;
	srcset=&#34;https://sysmike.net/post/adata-as511s3-120gm-c-review/adatassd_hu_a0bc96be99ab0b85.jpg 480w, https://sysmike.net/post/adata-as511s3-120gm-c-review/adatassd_hu_a80ea14919bcf2e4.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Ich wollte dieses Spielzeug ja schon seit einiger Zeit reviewen, jetzt finde ich mal die Zeit - eine ADATA AS511S3. SSD steht groß drauf - aber wieviel SSD ist denn da drin?&lt;/p&gt;
&lt;p&gt;Aber langsam, erstmal zur Verpackung - nix besonderes, hat man schon tausendmal gesehen. Auch die Installation verlief ohne Probleme. Ich entschied mich für den Weg, die alte HDD (Samsung Spinpoint F3 HD103SJ) auf die SSD zu kopieren, was auch ohne Probleme funktionierte. Einziger Wehrmutstropfen war, das der Download der Software vom Hersteller recht lange dauerte - hab ich wohl nicht den schnellsten Server erwischt und man ist ja so ungeduldig ;).&lt;/p&gt;
&lt;p&gt;Dann der spannende Moment: Alte HDD raus, jetzt wird von der SSD gebootet - Bis 10 gezählt und Windows war ready for command. Einen so schnellen Bootvorgang hatte ich noch ne gesehen (Youtube zählt nicht). Nachdem sicher war, das alles so werkelt wie es soll, war es Zeit für einen Speedtest - wie schnell ist sie wirklich ? Verdammt schnell - 494 MB/s lesend und 446 MB/s schreibend bei 0,16 ms Zugriffszeit - eine heiße Platte wenn ihr mich fragt, schnelleres gibt es im Moment fast nicht für den Heimanwender.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Aber Nachteile hat so eine SSD auch  - so sind 120GB nicht gerade üppig. Ok, gibt´s auch mit mehr Speicher, wer mehr zur Seite legen kann, hat kein Problem. Mir persönlich reichen 120GB, Spiele und VMs auf die 2te interne, Problem gelöst. Dokumente und so Krams liegen ja eh auf dem Homeserver. Das war aber nicht nur der einzigste Nachteil, sollte viel auf eine SSD geschrieben werden, geht sie schneller Hops als gedacht. Da hilft es nur Windows zu optimieren, bei einer Neuinstallation passiert vieles automatisch, bei einer Migration ist größtenteils Handarbeit angesagt - keine Angst,geht schnell - bei Fragen helf ich gern. Auch ein Backup ist immer eine gute Idee, spart viele Stunden arbeit.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Mein Fazit: Poweruser mit dem nötigen Budget können ohne Bedenken zu einer SSD greifen, sie erleichtert doch das tägliche arbeiten. Wer den Rechner nur für Office und Facebook benutzt, sollte es sich zweimal überlegen, ob er so etwas braucht. Bis jetzt habe ich den Kauf nicht bereut.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Hab mal was aus Japan bestellt :3</title>
        <link>https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/</link>
        <pubDate>Sat, 04 Feb 2012 16:46:00 +0100</pubDate>
        
        <guid>https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/</guid>
        <description>&lt;p&gt;Wer sich nicht für Anime interessiert, kann diesen Post guten Gewissens überspringen ;). Für alle Anderen stell ich ein paar Bilder online, damit ihr seht, was ich mir gegönnt hab.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0259.jpg&#34;
	width=&#34;1936&#34;
	height=&#34;2592&#34;
	srcset=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0259_hu_acfacce1bbc6900a.jpg 480w, https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0259_hu_482b04818272650f.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;74&#34;
		data-flex-basis=&#34;179px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0260.jpg&#34;
	width=&#34;1936&#34;
	height=&#34;2592&#34;
	srcset=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0260_hu_ca634880cbc29844.jpg 480w, https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0260_hu_2cfd5053f80d6a3b.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;74&#34;
		data-flex-basis=&#34;179px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0262.jpg&#34;
	width=&#34;1936&#34;
	height=&#34;2592&#34;
	srcset=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0262_hu_29741ccf7d13bce1.jpg 480w, https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0262_hu_dc64d30d321bc744.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;74&#34;
		data-flex-basis=&#34;179px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0263.jpg&#34;
	width=&#34;1936&#34;
	height=&#34;2592&#34;
	srcset=&#34;https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0263_hu_2f4d27d0920bb3d7.jpg 480w, https://sysmike.net/post/hab-mal-was-aus-japan-bestellt-3/IMG_0263_hu_dd716a98c3a74ea5.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;74&#34;
		data-flex-basis=&#34;179px&#34;
	
&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>APC RS550 Back UPS - Ein erster Eindruck</title>
        <link>https://sysmike.net/post/apc-rs550-back-ups-ein-erster-eindruck/</link>
        <pubDate>Wed, 25 Jan 2012 13:29:08 +0100</pubDate>
        
        <guid>https://sysmike.net/post/apc-rs550-back-ups-ein-erster-eindruck/</guid>
        <description>&lt;p&gt;Habe mir am Sonntag nach 1/2 Jahren Überlegung eine USV gegönnt, die gestern angekommen ist. Neues Spielzeug wird natürlich gleich ausgepackt ;) und habe deshalb schnell gemerkt wie schwer das Teil eigentlich ist - 6kg - das merkt man schon. Da alle benötigten Kabel dabei waren, ging die USV schnell in den Betrieb über, 2 Server mit im Durschnitt 77W hängen im Moment dran. Die beiden Rechner könnten im Ernstfall laut Anzeige 20 min mit Strom versorgt werden, dass ist ausreichend für die üblichen Ungeschicke (z.B. Sicherung fliegt mal wieder). Im Falle eines längeren Stromausfalls fährt die USV über die mitgelieferte Software den Server automatisch herunter.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/apc-rs550-back-ups-ein-erster-eindruck/DSC_1792.jpg&#34;
	width=&#34;600&#34;
	height=&#34;902&#34;
	srcset=&#34;https://sysmike.net/post/apc-rs550-back-ups-ein-erster-eindruck/DSC_1792_hu_58586b19a48685a5.jpg 480w, https://sysmike.net/post/apc-rs550-back-ups-ein-erster-eindruck/DSC_1792_hu_a8d159f1bcfa986c.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Alles funktionierte soweit, Zeit für den Test :) . Flux den Stecker gezogen und gespannt gewartet, was denn passiert: Man hört ein leises Summen als die Batterie einspringt, mehr passiert nicht (Peeptöne hab ich ausgeschalten, die kommen sonst dazu). Auf dem Display erkennt man dann viele interessante Informationen, z.B. verbleibende Restlaufzeit, der aktuelle Stromverbrauch, die Zahl der Ereignisse und vieles mehr.&lt;/p&gt;
&lt;p&gt;Zur Größe vom Gerät: Es ist mit ** ** 31 x 9,1 x 19,2 cm wieder erwarten doch sehr klein, habe es mir größer vorgestellt. Die Wartung erledigt das Gerät übrigens selbständig - alle 2 Wochen wird die Batterie getestet, um auf einen Einsatz vorbereitet zu sein.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>&#34;Etherpad Lite - Selbstgehostetes Sync.in</title>
        <link>https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/</link>
        <pubDate>Sat, 24 Dec 2011 18:11:31 +0100</pubDate>
        
        <guid>https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/</guid>
        <description>&lt;p&gt;Heute möchte ich euch eine sehr gute Alternative zu Sync.in vorstellen. Bei Sync.in handelt es sich um einen Dienst, bei dem man Dokumente erstellen und in Realtime mit Kollegen bearbeiten kann.
Mit der hier vorgestellten Alternative kann man das auch selbst hosten - abeer warum sollte man das tun ? Ganz einfach, nicht jeder möchte vertrauliche Dokumten öffentlich auf einem Server verfügbar machen.
So wie schaut Etherpad Lite aus ?&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad2.jpg&#34;
	width=&#34;1609&#34;
	height=&#34;800&#34;
	srcset=&#34;https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad2_hu_ba035a5db640968e.jpg 480w, https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad2_hu_86b4a47951355b8d.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;201&#34;
		data-flex-basis=&#34;482px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Erstmal wie ein ganz normler Texteditor, hat aber einige nette Extrafeatrures, wie z.B. eine Chatfunktion oder eine Timeslidefunktion.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad4.jpg&#34;
	width=&#34;323&#34;
	height=&#34;130&#34;
	srcset=&#34;https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad4_hu_dc2f766083902e10.jpg 480w, https://sysmike.net/post/etherpad-lite-selbstgehostetes-sync.in/etherpad4_hu_38a4f55b3dad10d3.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;248&#34;
		data-flex-basis=&#34;596px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Wie man sieht, das perfekte Tool, um mit jemandem zusammen an einem Text zu arbeiten, ohne auf seine Privatsphäre verzichten zu müssen.&lt;/p&gt;
&lt;p&gt;Natürlich hoste ich auf meinem privaten Server daheim dieses klasse Tool, deshalb an meine Spetzl: Könnt ihr ruhig nutzen, is ganz einfach :)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>WHS hinter Apache2 Reverse Proxy</title>
        <link>https://sysmike.net/post/whs-hinter-apache2-reverse-proxy/</link>
        <pubDate>Mon, 12 Dec 2011 21:11:14 +0100</pubDate>
        
        <guid>https://sysmike.net/post/whs-hinter-apache2-reverse-proxy/</guid>
        <description>&lt;p&gt;Da ich schon einen Webserver hatte und für den WHS nicht extra Ports freigeben wollte, wollte ich den Server über einen Reverse Proxy zugänglich machen, wie schon manch Programm zuvor (zB, µTorrent, pyload, etc.). Das Vorhaben wurde aber schwerer als gedacht.
Zuerst natürlich die Proxyconfig:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ProxyRequests Off
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ProxyPreserveHost Off
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Redirect /Remote /Remote/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;SSLProxyEngine On
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;Location /&amp;gt;  
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Order Deny,Allow
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Deny from all 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Allow from all
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;/Location&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Proxypass /Remote/ https://Internalip/Remote/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ProxyPassReverse  /Remote/ https://Internalip/Remote/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Soweit sogut, lief ja auch. Bis man Musik, Videos oder einfach nur Files downloaden will. Das wollte ums verrecken nicht funktionieren. Also kurz Firebug zur Hand genommen und geschaut, warum das denn nicht so will, wie es soll. Ursache dafür war, dass mehrere Javaskripts über die interne URL des WHS geladen wurden, das ist bei externem Zugriff natürlich Unsinn. Aber was dagegen tun ?&lt;/p&gt;
&lt;p&gt;Meine Lösung dafür ist, die jeweilige Domain, über die der WHS dann erreichbar ist, in die Host-Datei einzutragen und auf die interne IP des Servers auflösen zu lassen. Schnell noch die Config angepasst:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;....
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Proxypass /Remote/ https://Domain/Remote/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ProxyPassReverse  /Remote/ https://Domain/Remote/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;So funktioniert das bei mir bis jetzt, eine andere Lösung ist mir bis jetzt nicht eingefallen. Sicherheitstechnisch sollte der Eintrag in die Hostdatei kein Problem sein.
Hoffe dieser Beitrag hilft einigen Leuten ;)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Das Kindle 4 - Ein Buchersatz ?</title>
        <link>https://sysmike.net/post/das-kindle-4-ein-buchersatz/</link>
        <pubDate>Sat, 10 Dec 2011 22:38:59 +0100</pubDate>
        
        <guid>https://sysmike.net/post/das-kindle-4-ein-buchersatz/</guid>
        <description>&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_17751.jpg&#34;
	width=&#34;1203&#34;
	height=&#34;800&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_17751_hu_b4f23caf2a8cbf00.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_17751_hu_78fdf16b3a0680de.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Nachdem ich den Kindle nun seit fast 2 Monaten in der Hand halte, traue ich mir zu, ein Fazit zu schreiben. Zuerst ein Kommentar zum Display: Das gefällt sehr gut, es liest sich wie in einem Buch, das Schriftbild wirkt scharf. Auch liegt das Gerät gut in der Hand, es ist klein genug, um es überall mitzunehmen und es ist sogar leichter als die meisten Bücher.  Die CPU bewältigt alle Aufgaben schnell, je nach Größe des Dokuments dauert das Öffnen maximal 2 Sekunden, Umblättern dauert im Durschschnitt eine Sekunde. Den Amazon-Store habe ich nicht angetestet, weil ich eher PDFs ohne DRM aus anderen Shops lese, da man PDFs bekanntlich auf jedem Gerät öffnen kann. Sogar einen Webbrowser hat das Kindle, aber weil das Browsen ohne Tastatur und nur in Schwarzweiß nicht sonderlich Spaß macht, greift man sehr schnell wieder zum iPhone ;) .&lt;/p&gt;
&lt;p&gt;[gallery link=&amp;ldquo;file&amp;rdquo; columns=&amp;ldquo;4&amp;rdquo; orderby=&amp;ldquo;title&amp;rdquo;]
Zum Thema Akku: Der hält je nachdem, wie oft man liest, bis zu einem Monat, da bei E-Ink nur Strom verbraucht wird, wenn das Bild sich ändert. Im Standby wechselt das Bild regelmässig, damit die Tinte nicht festrocknet. Darum sollte man das Gerät ausschalten, wenn man es läger nicht mehr braucht, da bedankt sich der Akku mit einer längern Lebensdauer.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1757.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1757_hu_4c3e83d52cfe7d10.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1757_hu_21d5d0c77c3507d3.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1765.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1765_hu_566986aa93dd8504.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1765_hu_b623eda3cfcbf487.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1771.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1771_hu_40a61f912c4c410a.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1771_hu_6ab4d8420d3f792d.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772.jpg&#34;
	width=&#34;1203&#34;
	height=&#34;800&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772_hu_180e7aba6a0c79ed.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772_hu_93df09161e9268dd.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772.jpg&#34;
	width=&#34;1203&#34;
	height=&#34;800&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772_hu_180e7aba6a0c79ed.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1772_hu_93df09161e9268dd.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1775.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1775_hu_3f9cd658a05e7857.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1775_hu_b9b575b554801eae.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1776.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1776_hu_9fb386b2eedb3e0e.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1776_hu_9b942de6684ddf2e.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1777.jpg&#34;
	width=&#34;800&#34;
	height=&#34;1203&#34;
	srcset=&#34;https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1777_hu_4569bba7fd286eae.jpg 480w, https://sysmike.net/post/das-kindle-4-ein-buchersatz/DSC_1777_hu_3e8205fcd0a09dfe.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;66&#34;
		data-flex-basis=&#34;159px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Ob man nun zum E-Reader oder doch lieber zum guten, alten Buch greift: Beim Kindle handelt es sich um ein klasse Gerät, das seinen Zweck hervorragend erfüllt. Seit ich den Kindle habe, lese ich viel mehr, weil ich nur ein Gerät mitnehmen und nicht die 10-15 Mangas, die ich auf einem Ausflug mitnehmen hätte müssen, der Aufwand ist viel geringer. Aber ich verstehe auch jeden, der das Buch bervorzugt, das der E-Reader nie vollständig ersetzen können wird.&lt;/p&gt;
&lt;p&gt;Wie seht´s bei euch aus ? E-Reader oder Buch ?&lt;/p&gt;
</description>
        </item>
        <item>
        <title>IPFire - Das OS für eine Hardwarefirewall</title>
        <link>https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/</link>
        <pubDate>Wed, 20 Jul 2011 21:00:08 +0100</pubDate>
        
        <guid>https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/</guid>
        <description>&lt;img src="https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/ipfire01.png" alt="Featured image of post IPFire - Das OS für eine Hardwarefirewall" /&gt;&lt;p&gt;Ich habe ja schon mehrmals über meine Hardwarefirewall geschrieben. Aber wie schaut den das OS darauf eigentlich aus ?
In diesem Post möchte ich euch das IPFire Projekt etwas näherbringen.&lt;/p&gt;
&lt;p&gt;Wozu eigentlich ist IPFire gut ? Ich zitiere mal &amp;hellip;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;**IPFire** ist auf der Grundidee einer hohen &amp;#34;Flexibilität&amp;#34; aufgebaut. Das ermöglicht aus einer einzigen Basis verschiedene Einsatzzwecke optimal zu unterstützen. Beginnend mit einem Firewall-System bestehend aus wenigen Megabytes ist es möglich IPFire auch als Dateiserver, Proxyserver, Wireless Access Point oder VPN-Gateway für Mitarbeiter, Filialen oder Kunden zu betreiben. Dies und mehr ist möglich durch einen eigens entwickelten Paketmanager, der nur installiert was gewollt ist und Sicherheitsupdates sehr einfach macht.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Dies ist der beste Weg ein Netzwerk sicher zu gestalten, denn Sicherheit ist kein Programm, das einfach installiert werden kann und um welches man sich nicht mehr kümmern braucht. Hingegen kann Sicherheit von Unternehmen zu Unternehmen ganz anders aussehen und das erfordert Anpassungsfähigkeit, die IPFire mit sich bringt.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Quelle: ipfire.org/about
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Schön, schön, scheint also nützlich zu sein. Ja, aber wie bediene ich das bloß. Dazu muss man kein Nerd sein, es gibt ein &lt;a class=&#34;link&#34; href=&#34;http://wiki.ipfire.org/de/start&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gutes Wiki&lt;/a&gt;, ein kompetentes Forum und schnellen Support via IRC. Bedient wird das ganze wie bei Routern üblich über ein Webinterface.&lt;/p&gt;
&lt;p&gt;Im folgenden ein kurzer Überblick über die wichtigsten Seiten (Vorsicht: IPs zensiert :) )&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/12.jpg&#34;
	width=&#34;1681&#34;
	height=&#34;798&#34;
	srcset=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/12_hu_ddf145080d8a7fb5.jpg 480w, https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/12_hu_4082de538db578a.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;210&#34;
		data-flex-basis=&#34;505px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Klar, das ist die Hauptseite. Dort sieht man die wichtigsten Infos wie IP, DNS-Server, Uptime und anderes.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/211.jpg&#34;
	width=&#34;1683&#34;
	height=&#34;800&#34;
	srcset=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/211_hu_b72d5a54a9759f71.jpg 480w, https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/211_hu_5d6656729e2a13af.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;210&#34;
		data-flex-basis=&#34;504px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Nun zu dem vielleicht wichtigstem meiner Meinung nach, den Logs. Das gesamte Handeln des Systems wird aufgezeichnet und sortiert angezeigt. So erkennt man, ob Seiten vom URL-Filter blockiert wurden oder ein Portscan erfolgt ist (benötigt ein entsprechend konfiguriertes &lt;a class=&#34;link&#34; href=&#34;http://de.wikipedia.org/wiki/Intrusion_Detection_System&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;IDS&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/41.jpg&#34;
	width=&#34;1679&#34;
	height=&#34;797&#34;
	srcset=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/41_hu_12a55b00bd570c9a.jpg 480w, https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/41_hu_3d59c5b7d08bce10.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;210&#34;
		data-flex-basis=&#34;505px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/51.jpg&#34;
	width=&#34;1678&#34;
	height=&#34;799&#34;
	srcset=&#34;https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/51_hu_5b4d926bd00da04e.jpg 480w, https://sysmike.net/post/ipfire-das-os-f%C3%BCr-eine-hardwarefirewall/51_hu_74a04979b0558e17.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;210&#34;
		data-flex-basis=&#34;504px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Hier zusammenfassen ein paar Einstellungsseiten, damit man sich ein Bild vom Webinterface machen kann und sieht, was so alles möglich ist.
Abschließend stellt sich natürlich die Frage: Brauche ich sowas ? Jein. Das muss jeder für sich entscheiden, aber meiner Meinung nach macht die IPFire Sinn, wenn man zumindest einen Server daheim stehen hat.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Mein Home Server - Review</title>
        <link>https://sysmike.net/post/mein-home-server-review/</link>
        <pubDate>Fri, 01 Jul 2011 20:46:27 +0100</pubDate>
        
        <guid>https://sysmike.net/post/mein-home-server-review/</guid>
        <description>&lt;p&gt;Ich möchte euch heute meinen Homeserver vorstellen, warum ich ihn gebaut habe &amp;amp; wie ich ihn nutze.
Wollen wir doch mit der Hardware anfangen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AMD Athlon II X2 240&lt;/li&gt;
&lt;li&gt;4GB DDR3 RAM von OCZ&lt;/li&gt;
&lt;li&gt;Sapphire IPC-AM3DD785G&lt;/li&gt;
&lt;li&gt;4x SAMSUNG HD204UI&lt;/li&gt;
&lt;li&gt;Chenbro ES34069&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So nun zum Betriebssystem: Ich habe mich für den Windows Home Server 2011 enschieden, da ich ein zukunftsicheres, modernes OS haben wollte , dass zudem einfach zu konfigurieren ist. Ich wollte mich um das System nicht viel kümmern, es sollte Out of the box laufen und dann nie mehr Probleme machen. Ein System zum in die Ecke stellen und vergessen also(OK, etwas Wartung alle 3 Monate schadet net).&lt;/p&gt;
&lt;p&gt;Was der WHS bei mir erledigt:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fileserver&lt;/li&gt;
&lt;li&gt;Backup (PCs alle 24h; Daten alle 12h)&lt;/li&gt;
&lt;li&gt;Remoteaccess&lt;/li&gt;
&lt;li&gt;Mediaserver (iTunes, Upnp)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All diese Funktionen erledigt der WHS ohne Murren und seeehr schnell. Einzig das Livekonvertieren bringt ihn etwas ins Schwitzen, aber das brauche ich nur sehr selten, sollte ich mal einen Film über den Remoteaccess schauen wollen, was mal alle 3 Monate passiert. Ansonsten greife ich per OpenVPN ganz normal per SMB auf die Daten zu, als wäre ich daheim.&lt;/p&gt;
&lt;p&gt;Die zentralen Anlaufstellen des WHS2011 sind das Launchpad sowie das Dashboard.&lt;/p&gt;
&lt;p&gt;Das Launchpad dient dem schnellen Überblick über WHS &amp;amp; Backup. Es verlinkt auf die Shares, das Dashboard und den Remotezugriff. Im Dashboard spielt sich das administrative Geschehen ab. Dort werden Einstellungen vorgenommen und der Status angzeigt.&lt;/p&gt;
&lt;p&gt;Die Fileserverrolle ist nicht spannend, die kann jeder moderner Rechner übernehmen. Interessanter ist hier die Backupfunktion.&lt;/p&gt;
&lt;p&gt;Das Backup wird automatisch alle 24h in einem vorher festgelegten Zeitraum vorgenommen. Die Besonderheit liegt darin, dass jeder Datei nur einmal gespeichert wird, selbst bei mehreren Windowsmaschinen. Bei maximal 10 Rechnern, die die Backupfunktion nutzen können, spart man so eine Menge Speicherplatz. Die Rechner werden für das Backup automatisch aus dem Ruhezustand oder Standby geholt.&lt;/p&gt;
&lt;p&gt;Desweiteren werden die Daten auf dem Server in meiner Konfiguration alle 12h gesichert, für Sicherheitsfanatiker lässt sich der Intervall auf maximal 30min verkürzen.&lt;/p&gt;
&lt;p&gt;Zum Remotezugriff lässt sich sagen: Wahnsinn !! Etwas vergleichbares findet man bei NAS-Geräten selten.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Steuerung von Rechnern daheim per RDP&lt;/li&gt;
&lt;li&gt;Dateibrowser mit Uploadfunktion&lt;/li&gt;
&lt;li&gt;Wiedergabe von Bildern, Musik und Videos&lt;/li&gt;
&lt;li&gt;hochgradige Verschlüsselung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jedoch benutze ich dieses Webinterface nur über eine OpenVPN Verbindung, ist einfach noch sicherer und außerdem muss ich nicht schon wieder 2 Ports öffnen ;)&lt;/p&gt;
&lt;p&gt;Abschließend kann ich nur sagen: TOP Microsoft . Haben mal wieder ihre innovativen Kräfte bewiesen und ein rundum gelungenes Produkt auf den Markt geworfen. Das OS läuft sehr schnell &amp;amp; stabil (Windowsserver halt), der Funktionsumfang ist groß, dennoch muss man kein IT-Profi zur Konfiguration sein.&lt;/p&gt;
&lt;p&gt;Wer jetzt mit dem Gedanken spielt, sich einen zuzulegen, der muss noch etwas warten. Da der WHS2011 frisch ist, brauchen die meißten OEM-Hersteller noch etwas Zeit, ihre Hardware auf den Markt zu werfen. Will man nicht warten, so baut man sich halt eben einen selber.&lt;/p&gt;
&lt;p&gt;So, diesmal eine Abschlussfrage von mir: Wer von euch benutzt denn ein NAS oder einen Homeserver ? Wenn ja, was für einen ?
Schreibt es einfach in die Kommentare :)&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Mein Hardwarefirewall-Projekt</title>
        <link>https://sysmike.net/post/mein-hardwarefirewall-projekt/</link>
        <pubDate>Mon, 23 May 2011 20:31:47 +0100</pubDate>
        
        <guid>https://sysmike.net/post/mein-hardwarefirewall-projekt/</guid>
        <description>&lt;img src="https://sysmike.net/post/mein-hardwarefirewall-projekt/DSC_1677.jpg" alt="Featured image of post Mein Hardwarefirewall-Projekt" /&gt;&lt;p&gt;Ich möchte euch heute mein Hardwarefirewallprojekt vorstellen.&lt;/p&gt;
&lt;p&gt;Als erstes musste Hardware her. Da ich vor nicht allzu kurzer Zeit einen neuen Server gebaut hatte, lief der Alte nur noch sinnlos vor sich hin.&lt;/p&gt;
&lt;p&gt;Problem: Eine Hardwarefirewall braucht mehr als nur eine RJ45-Schnittstelle. Also eBay aufgemacht, ein bisschen gesucht und eine passende 100mbit Dual-nic gefunden.&lt;/p&gt;
&lt;p&gt;Die Wahl der Distribution fiel auf IPFire(deutsches Projekt, free und meiner Meinung nach die Beste). Also schnell zusammengebaut und installiert das ganze Gedöns.&lt;/p&gt;
&lt;p&gt;Das Setup war nach nur 10 min abgeschlossen und ich könnte über die IP von green0 ohne Probleme auf das Webinterface zugreifen.&lt;/p&gt;
&lt;p&gt;Dort erstmal die Einwahl über ein Modem konfiguriert, so dass ich wieder Internet hatte. Also nächtes die FritzBox  so geconfigt, dass diese nur als Accesspoint dient.&lt;/p&gt;
&lt;p&gt;Sobald ich das erledigt hatte (dauerte keine 5 min ^^), konnten alle Familienmitglieder wieder normal surfen. Die Server jedoch brauchten etwas mehr Zeit, diese standen ja in der DMZ.&lt;/p&gt;
&lt;p&gt;Da es keinen DHCP oder DNS Server in der DMZ gibt, erstmal alle IPs statistisch geconfigt und den Telekom DNS-Server eingestellt (wird ja auch auf green0 verwendet).&lt;/p&gt;
&lt;p&gt;Die Portforwards ließen sich ratzfatz configurieren und die Server waren schnell wieder online. Meine DynDNS von Strato machte eher Probleme. Lag daran dass ich das Feld Hostname leer lassen müsste, dass Webinterface sich aber weigerte, dies zuzulassen. Also nach einigen Überlegungen WinSCP zur Hand genommen, in der für DynDNS zuständigen Datei den Hostnamen rausgelöscht, getestet und funzte wunderbar.&lt;/p&gt;
&lt;p&gt;Was jetzt noch ansteht:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SNMP&lt;/li&gt;
&lt;li&gt;SMB&lt;/li&gt;
&lt;li&gt;Upgrade auf Gigabit&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Updates natürlich wie immer auf dem Blog.&lt;/p&gt;
&lt;p&gt;Insgesamt war das Aufsetzen einer HW-Firewall ein großer Erfolg und erhöht auch die Sicherheit im Netzwerk erheblich, vor allem durch die Trennung in DMZ und sicheres LAN.&lt;/p&gt;
&lt;p&gt;Btw: Die Profilseite meiner IPFire findet sich &lt;a class=&#34;link&#34; href=&#34;http://fireinfo.ipfire.org/profile/0e52dfa163cfbae24d79b275158528d321b16e6a&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hier&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Hyper-V - Ein super Hypervisor von Microsoft</title>
        <link>https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/</link>
        <pubDate>Wed, 04 May 2011 21:59:29 +0100</pubDate>
        
        <guid>https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/</guid>
        <description>&lt;p&gt;Naja es wird wohl keinen interessieren, aber ich stelle ihn trotzdem vor: Den Hypervisor von Microsoft. Gibbet als eigenständiges OS kostenlos zum downloaden oder eben als Serverolle für den Windows Server 2008R2. Aber wofür das ganze ? Ganz einfach: Im Gegensatz zu Virtualbox oder VmWare werden die VMs automatisch gespeichert und weitergeführt, sollte der Server neustarten.&lt;/p&gt;
&lt;p&gt;Die Systemintegration ist also ein großer Pluspunkt.Ein Nachteil ist aber, dass die CPU Intels/AMDs Virtualisierungstechnik unterstützen müss.&lt;/p&gt;
&lt;p&gt;Also No-Go für die von Homeusern oft genutzten Atom-CPUs&lt;/p&gt;
&lt;p&gt;Die Software lässt sich aufgrund der Integration in den Servermanager sehr gut bedienen, auch die Schaltflächen erklären sich von selbst.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv1.png&#34;
	width=&#34;980&#34;
	height=&#34;762&#34;
	srcset=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv1_hu_969dfbe7778e0a1f.png 480w, https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv1_hu_6af3582091f57d2d.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;128&#34;
		data-flex-basis=&#34;308px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv2.png&#34;
	width=&#34;865&#34;
	height=&#34;626&#34;
	srcset=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv2_hu_c5c1868b1286bc3f.png 480w, https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv2_hu_f7066135f0afdaab.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;138&#34;
		data-flex-basis=&#34;331px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv3.png&#34;
	width=&#34;1319&#34;
	height=&#34;788&#34;
	srcset=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv3_hu_bca1a21d21a6b912.png 480w, https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv3_hu_2b7a5726c44f0fe6.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;167&#34;
		data-flex-basis=&#34;401px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv4.png&#34;
	width=&#34;1301&#34;
	height=&#34;787&#34;
	srcset=&#34;https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv4_hu_9ac577641757c681.png 480w, https://sysmike.net/post/hyper-v-ein-super-hypervisor-von-microsoft/hv4_hu_fc79eee1459516b2.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;165&#34;
		data-flex-basis=&#34;396px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Die Hyper-V Console lässt sich auch auf einem Client installieren, um nicht immer per RDP auf den Server-Manager zugreifen zu müssen, was ich aber nicht gemacht habe, da alles auf meinem Server perfekt eingerichtet ist und ich somit nicht sehr oft auf den Manager zugreifen muss.&lt;/p&gt;
&lt;p&gt;Fazit: Wer einen Windows Server 2008R2 sein eigen net, hat mit Hyper-V eine klasse Alternative zu den üblichen Kanidaten&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Notebook Review - HP 625</title>
        <link>https://sysmike.net/post/notebook-review-hp-625/</link>
        <pubDate>Fri, 29 Apr 2011 20:26:10 +0100</pubDate>
        
        <guid>https://sysmike.net/post/notebook-review-hp-625/</guid>
        <description>&lt;p&gt;Endlich habe ich den Entschluss gefasst, ein neues Notebook zu kaufen, nachdem mein Altes 5 Jahre seine Dienste getan hat. Es wurde halt einfach trotz häufiger Neuinstallation  sehr langsam. Also mal nach Ersatz geguckt. Mein Ziel: Viel Notebook für wenig Geld. Bin dann auf &lt;a class=&#34;link&#34; href=&#34;https://www.one.de&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;www.one.de&lt;/a&gt; auf das HP 635 gestoßen , dass Dank der 50€ On Top-Aktion von HP nur 280€ gekostet hat. Dacht ich mir &amp;ldquo;kein schlechter Deal - kaufste&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Jo, dat war die Geschichte dazu, etz ma die Daten von der Schüssel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AMD Athlon II P360 2,3 Ghz&lt;/li&gt;
&lt;li&gt;4GB DDR3 RAM&lt;/li&gt;
&lt;li&gt;AMD Radeon HD 4200&lt;/li&gt;
&lt;li&gt;15,6 Zoll - guter Kompromis für mich als Coder&lt;/li&gt;
&lt;li&gt;Und das sonstige Connectivitygedöns was halt ein Notebook hat (HDMI, n-WLAN, BT, etc.)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So an dieser Stelle mal ein paar Pics (schnell gemacht):&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1671.jpg&#34;
	width=&#34;3008&#34;
	height=&#34;2000&#34;
	srcset=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1671_hu_4f19d8c8a73ad034.jpg 480w, https://sysmike.net/post/notebook-review-hp-625/DSC_1671_hu_4fd021c8b7ca059f.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1673.jpg&#34;
	width=&#34;3008&#34;
	height=&#34;2000&#34;
	srcset=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1673_hu_18f7d151a7cebfde.jpg 480w, https://sysmike.net/post/notebook-review-hp-625/DSC_1673_hu_8842deddcfd19b42.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;
&lt;img src=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1675.jpg&#34;
	width=&#34;3008&#34;
	height=&#34;2000&#34;
	srcset=&#34;https://sysmike.net/post/notebook-review-hp-625/DSC_1675_hu_5e876d3ce5d6ae08.jpg 480w, https://sysmike.net/post/notebook-review-hp-625/DSC_1675_hu_b48c168f0e131005.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;150&#34;
		data-flex-basis=&#34;360px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Zur Performance:&lt;/p&gt;
&lt;p&gt;Gibts nicht viel zu erwähnen. Tut wasses tun sollte. Keine Probleme mit 1080p Videos vom Server, 720p Animes laden sofort, nur kurze Ladezeiten bei Programmstarts. Wie das sein soll.&lt;/p&gt;
&lt;p&gt;Allein die Gamingperformance ist halt dürftig, dafür hab ich aber meinen Desktop mit Hexacore und so. Einzig Minecraft sollte drauf laufen (vll. CSS noch und Starcraft, dass wars aber).&lt;/p&gt;
&lt;p&gt;Mein Fazit : Für 280€ Tacken bietet das Ding ne Menge -&amp;gt; hat sich gelohnt (zumindest für mich :p)&lt;/p&gt;
&lt;p&gt;btw: Dat Ding gibbet &lt;a class=&#34;link&#34; href=&#34;http://www.one.de/shop/product_info.php?cPath=213_215&amp;amp;amp;products_id=5125&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hier &lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Ich habe den Zufall auf meinem Server installiert !!</title>
        <link>https://sysmike.net/post/ich-habe-den-zufall-auf-meinem-server-installiert/</link>
        <pubDate>Tue, 22 Mar 2011 22:53:24 +0100</pubDate>
        
        <guid>https://sysmike.net/post/ich-habe-den-zufall-auf-meinem-server-installiert/</guid>
        <description>&lt;p&gt;Naja nicht wirklich. Aber ein Spetzl hat mich auf einen lustigen Befehl für Unix-Systeme hingewiesen (getestet unter Ubuntu Server 10.10 x64).&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/ich-habe-den-zufall-auf-meinem-server-installiert/fortunexD.png&#34;
	width=&#34;640&#34;
	height=&#34;399&#34;
	srcset=&#34;https://sysmike.net/post/ich-habe-den-zufall-auf-meinem-server-installiert/fortunexD_hu_21561c0745a7f517.png 480w, https://sysmike.net/post/ich-habe-den-zufall-auf-meinem-server-installiert/fortunexD_hu_4fec4b13abb3dcba.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;160&#34;
		data-flex-basis=&#34;384px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Ich glaube der Befehl ist eindeutig^^. Und wie zu installieren ? Joa, kommt auf euer System an, probiert´s einfach mit sudo apt-get install fortune .&lt;/p&gt;
&lt;p&gt;Btw der Blog meines Spetzel findet sich unter &lt;a class=&#34;link&#34; href=&#34;http://blog.ccore.co.cc/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://blog.ccore.co.cc/&lt;/a&gt;. Und erwartet net, dass der Server schnell ist, sein Server spinnt halt ab und zu xD&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Ein neuer Server</title>
        <link>https://sysmike.net/post/ein-neuer-server/</link>
        <pubDate>Tue, 22 Mar 2011 22:41:59 +0100</pubDate>
        
        <guid>https://sysmike.net/post/ein-neuer-server/</guid>
        <description>&lt;p&gt;Jaja ich hab mir mal wieder neues Spielzeug gegönnt, aber nicht ohne Grund.^^ Mein “alter” Server hatte nicht mehr genug RAM (konnte nur 3,5GB nutzen) für mehrere virtuelle Maschinen,&lt;/p&gt;
&lt;p&gt;Also musste neue Hardware her:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;AMD Athlon II 250 @ 3,0 Ghz&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;J&amp;amp;W MINIX 6150SE-UC3&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;4GB DDR3 RAM Kingston&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2,5” HDD mit 640GB&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gehäuse: CYS82&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;http://files.sysmike.net/blog/2011/03/DSC_1668.jpg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;Also ich nutze ja immer noch die selbe Software, also gibbet da nüx neues.&lt;/p&gt;
&lt;p&gt;Und der alte Server ? Joa, der werkelt als Host für die VMs ( die größte Last ist ja auf dem neuen Server da geht das schon).&lt;/p&gt;
&lt;p&gt;Insgesamt ist der neue Server das Geld wert, vor allem konvertieren und DVDs rippen gehen schneller (vor allem weiler an DVD-Brenner hat xD).&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Folding@home - Lasst eueren Homeserver auch was sinnvolles tun!</title>
        <link>https://sysmike.net/post/folding@home-lasst-eueren-homeserver-auch-was-sinnvolles-tun/</link>
        <pubDate>Tue, 15 Mar 2011 19:27:43 +0100</pubDate>
        
        <guid>https://sysmike.net/post/folding@home-lasst-eueren-homeserver-auch-was-sinnvolles-tun/</guid>
        <description>&lt;p&gt;Ich möchte euch heute wieder mal ein kleines Progg vorstellen. Mit Folding@home könnt ihr Wissenschaftlern helfen, Krankheiten zu studieren. Das Programm schließt euch an ein Netzwerk vieler Computer an, die einen Teil der Leistung zur Verfügung stellen. Daraus entsteht dann eine Art Supercomputer.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/folding@home-lasst-eueren-homeserver-auch-was-sinnvolles-tun/folding-at-home.png&#34;
	width=&#34;812&#34;
	height=&#34;440&#34;
	srcset=&#34;https://sysmike.net/post/folding@home-lasst-eueren-homeserver-auch-was-sinnvolles-tun/folding-at-home_hu_7108936db4c64694.png 480w, https://sysmike.net/post/folding@home-lasst-eueren-homeserver-auch-was-sinnvolles-tun/folding-at-home_hu_a5bbe63d71765b5.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;184&#34;
		data-flex-basis=&#34;442px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Wer sich genauer informieren will, guckt hier: &lt;a class=&#34;link&#34; href=&#34;http://folding.stanford.edu/&#34;  title=&#34;http://folding.stanford.edu/&#34;
     target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://folding.stanford.edu/&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>VibeStreamer - Eine sehr gute Alternative zu Sockso</title>
        <link>https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/</link>
        <pubDate>Thu, 10 Mar 2011 22:32:38 +0100</pubDate>
        
        <guid>https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/</guid>
        <description>&lt;p&gt;Ich möchte euch heute eine Alternative zu Sockso vorstellen. Hab nämlich eine gesucht, weil Sockso auf meinem Server mittlerweile ~400MB RAM benötigte (Java halt) und bin dabei auf VibeStreamer gestoßen. Hier mal schnell die Vorteile:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ressourcenschonend ( ~ 15MB RAM)&lt;/li&gt;
&lt;li&gt;schönes Webinterface&lt;/li&gt;
&lt;li&gt;Statistik&lt;/li&gt;
&lt;li&gt;ausgereifte Userverwaltung&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Keine Programmvorstellung ohne Screens ;)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs11.png&#34;
	width=&#34;644&#34;
	height=&#34;541&#34;
	srcset=&#34;https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs11_hu_19119b0439aacaf6.png 480w, https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs11_hu_9ad0f31f14210dab.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;119&#34;
		data-flex-basis=&#34;285px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Besonders das Webinterface gefällt mir sehr, wirkt viel moderner also das von Sockso. Einziger Nachteil ist, dass das Browsen von Artisten &amp;amp; Alben nicht ganz so komfortabel ist, sollte der Name eines Künstlers entfallen sein. Auch eine Alternative zum Flashplayer fehlt leider. Aber sonst ist alles top.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs51.png&#34;
	width=&#34;1723&#34;
	height=&#34;784&#34;
	srcset=&#34;https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs51_hu_2499134ab02ff492.png 480w, https://sysmike.net/post/vibestreamer-eine-sehr-gute-alternative-zu-sockso/vs51_hu_bd247ac89e5468f.png 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;219&#34;
		data-flex-basis=&#34;527px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;EDIT: Habe vergessen zu erwähnen, das Last.fm natürlich unterstüzt wird^^&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Mein neuer Internetserver</title>
        <link>https://sysmike.net/post/mein-neuer-internetserver/</link>
        <pubDate>Mon, 06 Dec 2010 15:19:10 +0100</pubDate>
        
        <guid>https://sysmike.net/post/mein-neuer-internetserver/</guid>
        <description>&lt;p&gt;Tja lang ist´s her der letzte Eintrag, hatte aber auch viel zu tun bis der neue Server richtig funktioniert. Aber erstmal zur Hardware&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.amazon.de/Asrock-A330GC-Mainboard-Speicher-Mini-ITX/dp/B002CMUDTM/ref=sr_1_2?ie=UTF8&amp;amp;amp;qid=1291644426&amp;amp;amp;sr=8-2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Asrock A330GC mit Intel Atom 330&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.amazon.de/LC-Power-LC-1320MI-Geh%C3%A4use-Mini-ITX-schwarz/dp/B002A2U8L2/ref=sr_1_1?s=computers&amp;amp;amp;ie=UTF8&amp;amp;amp;qid=1291644487&amp;amp;amp;sr=1-1&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LC-Power LC-1320MI Gehäuse&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Komponenten die rumlagen&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das wars auch schon, sollte ja stromsparend &amp;amp; preiswert sein und doch genug Leistung haben.&lt;/p&gt;
&lt;p&gt;Darauf werkelt ein Windows Server 2008R2 Standard. gibt´s für Studenten bei &lt;a class=&#34;link&#34; href=&#34;https://www.dreamspark.com/Products/Product.aspx?ProductId=17&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Dreamspark&lt;/a&gt; für lau.&lt;/p&gt;
&lt;p&gt;So sieht das ganze dann fertig aus&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://sysmike.net/post/mein-neuer-internetserver/Photo-Dez-06-3-01-53-nachm.jpg&#34;
	width=&#34;574&#34;
	height=&#34;768&#34;
	srcset=&#34;https://sysmike.net/post/mein-neuer-internetserver/Photo-Dez-06-3-01-53-nachm_hu_67bef231425925f5.jpg 480w, https://sysmike.net/post/mein-neuer-internetserver/Photo-Dez-06-3-01-53-nachm_hu_c5ee5d0d6505c6f0.jpg 1024w&#34;
	loading=&#34;lazy&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;74&#34;
		data-flex-basis=&#34;179px&#34;
	
&gt;&lt;/p&gt;
&lt;p&gt;Darauf läuft dann folgendes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FTP ( FileZilla-Server)&lt;/li&gt;
&lt;li&gt;SMB&lt;/li&gt;
&lt;li&gt;CSS Server&lt;/li&gt;
&lt;li&gt;Minecraft Server (bei Bedarf)&lt;/li&gt;
&lt;li&gt;Downloadmanager (jDownloader)&lt;/li&gt;
&lt;li&gt;Dropbox&lt;/li&gt;
&lt;li&gt;Sockso ( Musik Streaming fürs Web)&lt;/li&gt;
&lt;li&gt;PRTG Network Monitor&lt;/li&gt;
&lt;li&gt;VPN ( geplant)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Das alles läuft sehr flüssig und die CPU hat eine durchschnittliche Auslastung von etwa 4-7%. da ist also noch Platz !&lt;/p&gt;
&lt;p&gt;Zuletzt noch zur Lautstärke und Stromverbrauch:&lt;/p&gt;
&lt;p&gt;Man kann ihn passiv betreiben (getestet), habe mich aber dazu entschieden, mir 2 leiser Kühler zu kaufen ( passen leider nur 40mm). Ist aber leise genug um nicht neben meinem NAS aufzufallen. Der Stromverbrauch ist denke ich mit 32 Watt auch sehr human.&lt;/p&gt;
</description>
        </item>
        <item>
        <title></title>
        <link>https://sysmike.net/about/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sysmike.net/about/</guid>
        <description>&lt;h1 id=&#34;about-myself&#34;&gt;About myself
&lt;/h1&gt;&lt;p&gt;Hi, I am Michael, built in 1994, living near a small bavarian town called Amberg. I am currently studying computer science and working as a freelance software engineer as well as running a small crypto-mining business on the side.&lt;/p&gt;
&lt;p&gt;I like programming, tinkering with electronics, listening to music, playing video games, watching interesting tv-shows and a bunch of other stuff. Occasionally I stream on Twitch.&lt;/p&gt;
&lt;p&gt;This blog is a collection of thoughts, ideas and things I have done.&lt;/p&gt;
</description>
        </item>
        <item>
        <title></title>
        <link>https://sysmike.net/impressum/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sysmike.net/impressum/</guid>
        <description>&lt;h2 id=&#34;angaben-gemäß--5-tmg&#34;&gt;Angaben gemäß § 5 TMG:
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Kontakt:
&lt;a class=&#34;link&#34; href=&#34;mailto:webmaster@sysmike.net&#34; &gt;webmaster@sysmike.net&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h1 id=&#34;haftungsausschluss&#34;&gt;Haftungsausschluss:
&lt;/h1&gt;&lt;h2 id=&#34;haftung-für-inhalte&#34;&gt;Haftung für Inhalte
&lt;/h2&gt;&lt;p&gt;Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.&lt;/p&gt;
&lt;h2 id=&#34;haftung-für-links&#34;&gt;Haftung für Links
&lt;/h2&gt;&lt;p&gt;Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.&lt;/p&gt;
&lt;h2 id=&#34;urheberrecht&#34;&gt;Urheberrecht
&lt;/h2&gt;&lt;p&gt;Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.&lt;/p&gt;
&lt;h2 id=&#34;datenschutz&#34;&gt;Datenschutz
&lt;/h2&gt;&lt;p&gt;Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben.&lt;/p&gt;
&lt;p&gt;Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.&lt;/p&gt;
&lt;p&gt;Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-Mails, vor.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Archives</title>
        <link>https://sysmike.net/archives/</link>
        <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
        
        <guid>https://sysmike.net/archives/</guid>
        <description></description>
        </item>
        
    </channel>
</rss>
