iptables 101

How to do things with iptables. Safety first: How to reset everything.

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
Also, safety first: Don’t just copy something and run it on your server. You better understand what you are doing.
How to block a service?
Instead of using “DROP” you should use “REJECT –reject-with tcp-reset”. If you want to be able to access that service from the inside, you have to add an allow rule first.
sudo iptables -A INPUT -p tcp -s localhost --dport 3306 -j ACCEPT #mysql allow local
sudo iptables -A INPUT -p tcp --dport 3306 -j REJECT --reject-with tcp-reset #mysql

The “REJECT –reject-with tcp-reset” looks to the outside like there is no service running. A “DROP” will show that there is a firewall / iptables working.

Blocking an IP range

sudo iptables -A bannedDownloader -s 14.120.0.0/16 -j DROP

Disallow NTP queries

sudo iptables -A INPUT -p udp -s localhost --dport 123 -j ACCEPT #ntp allow local
sudo iptables -I INPUT -p udp --dport 123 -j REJECT #ntp

Block timestamp

sudo iptables -I INPUT 1 -p ICMP --icmp-type timestamp-request -j DROP
sudo iptables -I INPUT 1 -p ICMP --icmp-type timestamp-reply -j DROP
sudo iptables -A INPUT -p icmp --icmp-type 13 -j DROP

PHP XML tag contains colon

With PHPs’ simple xml functions it is possible to read xml easily. However, that doesn’t work any longer when a tag contains a colon. That tag is simply ignored and can’t be accessed. Often in RSS feeds there is content:encoded.

There is a trick. Instead of using simplexml_load_file use

$feed = file_get_contents($url);
$feed = str_replace("<content:encoded>", "<contentEncoded>", $feed);
$feed = str_replace("</content:encoded>", "</contentEncoded>", $feed);
$xml = simplexml_load_string($feed);

have fun!

McChicken selbstgemacht

Zutaten

Pflanzenöl
1    Ei
1    Tasse Wasser
1    Tasse Mehl
2    Teelöffel Salz
1    Teelöffel Zwiebelpulver
1/4 Teelöffel Pfeffer
1/8 Teelöffel Knoblauch(-Pulver)
4    Hühnerbrust(-Streifen/Fleisch)
4    Sesam-Brötchen (Hamburger-Brötchen)
1    Tasse gehackten Eissalat

 

Die Soße

 

1/4 Tasse Mayonnaise
1/6 Teelöffel Knoblauch(-Pulver)

Beides zusammen geben in einer kleinen Schüssel und kühl stellen. Gut mischen.

Zubereitung

Zuerst das Ei aufschlagen und es dann mit einer Tasse Wasser in einer kleinen, flachen Schüssel gut verrühren. Mehl, Salz, Pfeffer, Zwiebel(-Pulver) sowie das Knoblauchpulver in eine Schüssel. Die Hühnerbrust-Streifen schön flachklopfen. Beide Seiten der Hühnerbrust-Streifen mit der Mehlmischung einreiben. Die Streifen und die Soße dann in den Kühlschrank.
Die Hühnerstreifen 10 bis 12 Minuten frittieren bis sie knusprig und hell-braun sind. Danach können die Brötchen auf dem Backblech leicht anrösten.
Ganz oben auf die “Füllung” kommt ein Esslöffel Mayonnaise. Noch mal kurz in die Mikrowelle.

Big Mac selbst gemacht

Die Soße

1/4 Tasse KRAFT Miracle-Whip
1/4 Tasse Mayonnaise
2    Esslöffel WISHBONE deluxe French Salat-Dressing (Die Orangene)
1/2 Esslöffel HEINZ Süßer Relish
2    Teelöffel VLASIC Dill Gurkengewürz (HEINZ geht auch)
1    Teelöffel Zucker
1    Teelöffel getrocknete, gehackte Zwiebel
1    Teelöffel weißen Essigs
1    Teelöffel Ketchup
1/8 Teelöffel Salz

 

Alle Zutaten sehr gut in einer kleinen Schale mischen. Danach 25 Sekunden in die Mikrowelle und wieder gut umrühren. Abdecken und mindestens 1 Stunde kühlen lassen vor dem Verzehr. 1 Tasse ist genug für ca. 8 Big Macs.

 

Der Burger

1    Sesam-Brötchen (groß)
1    Sesam-Brötchen normal-groß
2    Burger Patties
2    Esslöffel der selbst gemachten Soße
2    Teelöffel Zwiebeln
1    Scheibe Käse
2    Scheiben Essiggurken
1/4 Tasse zerrissener Eissalat

Zubereitung

Die obere Hälfte des normal-großen Sesam-Brötchen kann bei Seite belegen gelegt werden, es wird nur der untere Teil benötigt. Die Sesam-Brötchen werden im Backofen geröstet. Die Patties können jetzt in die Pfanne oder auf den Grill. Nach dem Rösten der Brötchen 1 Esslöffel der Sauce auf jeder Oberseite der gerösteten Hälften geben. Danach den zerrissenen Kopfsalat hinzugeben. Eine dünne Scheibe Käse auf dem Kopfsalat. Auf dem Kopfsalat, der auf der “mittleren” Seite des Big Macs liegt kommen die 2 Scheiben Essiggurken drauf. Sobald die Patties fertig sind, kommen diese mit auf den Burger. Nun den kompletten Burger nun 15 Sekunden in die Mikrowelle bei 600 Watt. Guten Appetit!

Deutsche Anführungszeichen in LateX

Die richtigen Anführungszeichen, nämlich am Anfang unten und am Ende oben.

% Deutsche Anführungszeichen
\let\oldquote'
\newif\ifquoteopen
\catcode`\'=\active
\makeatletter
\DeclareRobustCommand*{'}{%
   \@ifnextchar'{%
     \ifquoteopen
       \global\quoteopenfalse\grqq\expandafter\@gobble
     \else
       \global\quoteopentrue\glqq\expandafter\@gobble
     \fi
   }{\oldquote}%
}
\makeatother

Im Text dann je zwei einfache Anführungszeichen am Anfang und am Ende ”So”

Thai Fried Rice

ingredients

  • 1.5 cups of cooked Jasmine rice cooled (or day old rice works well too)
  • 250g minced beef
  • some green onions
  • ¼ of a big white onion
  • 2 cloves garlic
  • 1 egg
  • ½ tablespoon soy sauce
  • ½ tablespoon oyster sauce
  • Pinch of sugar (optional)
  • 1 tablespoon of oil for frying
  • 5 chilies
  • 3 tablespoons of fish sauce
  • ½ of a lime

instructions

Peel 2 cloves of garlic, and then just finely mince them. Slice ¼ of a sweet white onion into medium sized strips. Finely dice about 3 – 4 green onions.
Turn on your stove to medium high, heat up your wok (or frying pan), and add about 1 tablespoon of oil.
Once your oil is hot, add the garlic first, and stir fry continuously for about 15 seconds or so, until it gets nice and fragrant Next, toss in your minced beef, and fry for about 30 seconds. Add in a little less than ½ of your rice first. This is going to soak up all those
delicious minced beef juices and oils and keep your rice nice and dry. Stir fry for about 10 more seconds – This is a little known trick to make good rice, so it remains nice and dry. Scoot all your rice to one side of the pan, and then crack in the egg into the empty side.
Whirl the egg up, let it cook for a few seconds, and then start to mix it up with the rice and minced beef
Keep stir frying for about 20 seconds until the egg is fully cooked, and then add in the rest of your rice, and give it a quick stir.
Add ½ tablespoon of soy sauce, ½ tablespoon of oyster sauce, just a pinch of sugar (optional), and continue stir frying your rice, making sure all the sauce get mixed in.
Then add your chopped onions, and stir fry for another 30 seconds until the vegetables wilt, but they can still be crisp and not fully cooked
Lastly, toss in your green onions, stir it a few more seconds, and it’s ready to plate.
Slice off a wedge of lime, and serve it on the plate next to the rice. For the final touch, I like to sprinkle some freshly ground black pepper and Chili flakes. Add 3 tablespoons of fish sauce to a small bowl. Slice about 5 Thai chilies (you can add more or less, up to you), and add them to the fish sauce. Finally, I like it with a little squeeze of about ½ of a lime – but this is optional – and at many Thai restaurants it’s only fish sauce and chilies. That’s it, give it a stir, and put on top of your fried rice for extra saltiness

Cooking Summer Rolls

Preparation 45 min, Cooking 5 min, Serves 8 rolls

Ingredients

The rolls

  • 60 grams rice vermicelli noodles
  • 8 rice wrappers (25 cm diameter)
  • 125g boneless, skinless chicken breast cooked and peeled
  • 2 tablespoons chopped fresh Thai basil
  • 3 tablespoons chopped fresh mint leaves
  • 3 tablespoons chopped fresh coriander
  • 2 leaves green leaf lettuce, chopped

The Sauce

  • 125 ml Thai Sweet Chili Sauce
  • 1 tablespoon sugar
  • 125 ml hot water
  • 1 tablespoon fish sauce

Instructions

Bring a medium saucepan of water to boil. Boil rice vermicelli 3 to 5 minutes, or until al dente, and drain.
Fill a large bowl with warm water. Dip one wrapper into the hot water for 1 second to soften. Lay a wrapper flat. In a row across the center, place 2-3 slices of peeled chicken, a small handful of vermicelli, basil, mint, coriander and lettuce, leaving about 5 centimeters uncovered on each side. Fold
uncovered sides inward, then tightly roll the wrapper, beginning at the end with the lettuce.

Repeat with remaining ingredients.

In a small bowl, heat 125 ml water with sugar until completely dissolved. Stir in sweet chili sauce and fish sauce. Mix well. *Optional: Add chopped chilies and
crushed peanuts to your sauce for added spice and crunch.

Yummy yummy into my tummy

How to make Red Curry Paste

Ingredients

  • 3 teaspoons white pepper corns
  • ½ teaspoon cumin powder
  • ½ teaspoon coriander powder
  • 8 dry red spur chilies (soaked in water for about 10 minutes to soften them)
  • ½ teaspoon salt
  • 10 – 14 small cloves of garlic
  • 5 small shallots (Thai shallots are the size of grapes, so it’s about 2 tablespoons worth)
  • 1 tablespoon finely sliced lemongrass
  • 1 tablespoon finely sliced coriander roots
  • 1 tablespoon finely sliced ginger
  • Skin of ½ lime

Instructions

Using a mortar and pestle is the easiest way. If you don’t have one, you can use a blender to make this red curry paste recipe.
First, smash the dry ingredients. Add 3 teaspoons of white pepper corns to your mortar and pound it until it’s a fine powder.
Add ½ teaspoon of cumin and ½ teaspoon of coriander to the pepper and mix it all thoroughly, and then set them aside in a small bowl.

NOTE: If you only have pre-ground white pepper, you can eliminate the first step and just mix these 3 spices together in a small bowl.

Take 8 dry spur chilies (prik chee fa haeng), soak them in water for a few minutes to re-hydrate them, then drain the chilies. Cut off their stems, and you can then chop them into small centimeter pieces. You can take out the seeds to make their red curry paste less spicy.
Add the chopped dry chilies to the mortar along with ½ teaspoon of salt and start pounding. Keep on pounding for about 5 – 10 minutes until most of the chilies are nice and broken, the oils are coming out, and it’s starting to looks almost tomatoey.
Step back over to your chopping board and peel about 10 – 14 cloves of garlic. If the cloves are really big, use about 8.
Next peel 5 small shallots Chop them into small pieces.
Take 1 stalk of lemongrass, pull off and discard the outermost leaf, and then slice it from the bottom into small slivers. You want enough for 1 tablespoon.
Take the fresh coriander roots from about 3 stalks, cut off the roots, slice them into small pieces, and again you want about 1 tablespoon worth of coriander roots
Take your ginger and slice it into pieces, enough for 1 tablespoon worth.
Next take a fresh lime and slice off only the green skin. You want to slice off the skin very delicately, making sure you get mostly green, not cutting off any of the white pith. I used the skin from about ½ of the lime.
Toss all of those ingredients into the already pounded chilies. Pound and pound until you’ve got a buttery, oily, and extremely fragrant Thai red curry paste. This should take anywhere from 15 – 30 minutes, again, you can alternatively use a blender or food processor.
When your paste is buttery and smooth, go back to your bowl of white pepper and dry spices, and mix it into the paste. Mix it all in and smooth it out.
Done :)

JavaScript loop / foreach an object

Coming from PHP I wondered how do to a simple foreach() in JavaScript.

function loopObject($object) {
    for (const [$key, $value] of Object.entries($object)) {
        // dome something
    }
}

Not that once I found the entries function. Why I use the dollar sign $ for the variables? It is a habit and easier to read and it avoids conflicts with language reserved words.