Categories
How to

How to run WordPress Cron from CLI

I prefer to run cronjobs from the CLI instead of a web call.
This mostly due the memory and timeout limits that you can run into when you do use a web based cronjob.

To configure this you first have to disable the web cron within WordPress.

Then you can add the following cronjob to make it run every 10 minutes.

Optionally disable the output

Now you are sure that the job runs and finishes without it depending on how much visitors you have or timeouts that can occur.

Categories
How to

How to train SpamAssassin to improve spam detection accuracy on DirectAdmin

Spam, one of the most irritating things when using mail.

In this article I will explain how to configure SpamAssassin to filter spam and to learn from messages you mark as Spam.
Based on assumption messages remaining in your INBOX will be learned as Ham (not spam).

When a message in your INBOX is Spam, you only have to move it to the Spam folder to let SpamAssassin learn it as spam.

SpamAssassin Setup

First of all, lets configure SpamAssassin correctly to start filtering Spam.

Go to the Spamassassin Setup page and configure the settings like shown in the below screenshot.

spamassassin-settings

Where do you want the spam to go?

Send the spam to the user’s spam folder.

What score threshold do you wish to use?

Low Threshold (5.0)

Would you like to delete high scoring spam?

Yes, block all spam scoring higher than: 10 (1-50, no decimals)

Do you wish to rewrite the subject of a spam email?

No, leave the subject unchanged.

How should the spam be delivered?

Don’t use attachments (dangerous).

Second is to install a script which will learn what is Spam or Ham to SpamAssassin.

This can be done on two ways, one script that runs as root and starts sa-learn for every mailbox under the user which owns the mailbox or a script that runs as an unprivileged user.

As extra feature it will remove spam messages from INBOX.spam who are older than one month.

Learn as unprivileged user

This will explain how to run the script as an unprivileged user, you have to place this script in ~/scripts/sa-learn.sh and create a cronjob to call it once in a while. The interval I choose is 5 minutes. I don’t have many mailboxes so this is fine for me.

Don’t forget to make the script executable:

Then add a cronjob to your account via the DirectAdmin control panel.

Optionally instead of mailing the output you can mute the output.

Or mute all output including errors

Learn as root user

This will explain how to run the script as root, you have to place this script in /root/scripts/sa-learn.sh and create a cronjob to call it once in a while. The interval I choose is 15 minutes. This is higher than the unprivileged-user script due you have to look through more mailboxes.

Don’t forget to make the script executable:

Then add a cronjob to your account via the DirectAdmin control panel.

Optionally instead of mailing the output you can mute the output.

Or mute all output including errors

Information

The following links were inspiring or helped me to get the right information how to use SpamAssassin Bayesian classifier.

Categories
FreeBSD How to

How to configure a automatically native IPv6 connection on FreeBSD

First you need to install a DHCP client

Setup config for dhcp6c

Add the following

Add the following to /etc/rc.conf

Run the IPv6 startup script.

Now startup the client

To test the connection you should be able to ping XS4ALL.

You also might want to check out these posts for some more information:
How to use a PPPoE or PPPoA connection of XS4ALL on FreeBSD

How to configure IPv6 DHCP client for XS4ALL on FreeBSD

How to configure a IPv6 gateway for XS4ALL on FreeBSD

Categories
FreeBSD How to

How to configure a manual native IPv6 connection on FreeBSD

Configuring a native IPv6 connection on FreeBSD with an already established connection on a router in the network is quite simple.

Add the following to /etc/rc.conf

Run the IPv6 startup script.

To test the connection you should be able to ping XS4ALL.

You also might want to check out these posts for some more information:
How to use a PPPoE or PPPoA connection of XS4ALL on FreeBSD

How to configure IPv6 DHCP client for XS4ALL on FreeBSD

How to configure a IPv6 gateway for XS4ALL on FreeBSD

Categories
FreeBSD How to

How to add bots to your Urban Terror server via RCON

First of all you need to configure your server first! For more info about that check here.

Now you should have your server all up and running, next thing is having control over your bots.

bot configuration

First enable the use of bots

Next, lets add bots.

addbot arguments

type
Define the name of the bot type here, chose one from the list below.
level
Define a number from 1 to 5 here to set how good the bots will try to hunt you down!
team
Define the color name Red or Blue to set the team this bot belongs to.
ping
Define the average ping time the bot will have, if you define this to a low value the bots will respond fast, I recommend setting this to 40 on a local LAN and 75 on a WAN connection.
nick
Define the nickname of the bot, I usually give a simple name like Bot1, Bot2, Bot3, etc…

addbot examples

In case you want to get rid of one or all bots, simply kick them!

Here is a simple Bash example that you could use to add or remove bots:


Here is a list of the bots names, weapons and their accessories they are carrying.

Name: Boa
Primary: ZM LR300 ML
Secondary: H&K MP5K
Sidearm: .50 Desert Eagle
Grenades: HE Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Cheetah
Primary: Kalashnikov AK103
Secondary: Franchi SPAS-12
Sidearm: .50 Desert Eagle
Grenades: HE Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Chicken
Primary: H&K G36
Secondary: H&K MP5K
Sidearm: .50 Desert Eagle
Grenades: HE Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Cobra
Primary: ZM LR300 ML
Secondary: H&K MP5K
Sidearm: .50 Desert Eagle
Grenades: Smoke Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Cockroach
Primary: H&K UMP45
Secondary:
Sidearm: Beretta 92G
Grenades: Flash Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Cougar
Primary: H&K G36
Secondary:
Sidearm: Beretta 92G
Grenades: Flash Grenades
Item 1: Silencer
Item 2: Kevlar Vest
Item 3:
Name: Goose
Primary: H&K 69
Secondary: H&K UMP45
Sidearm: .50 Desert Eagle
Grenades:
Item 1: Extra Ammo
Item 2: Kevlar Vest
Item 3:
Name: Mantis
Primary: ZM LR300 ML
Secondary:
Sidearm: Beretta 92G
Grenades:
Item 1: Laser Sight
Item 2: Silencer
Item 3: Kevlar Vest
Name: Penguin
Primary: ZM LR300 ML
Secondary:
Sidearm: .50 Desert Eagle
Grenades:
Item 1: Laser Sight
Item 2: Silencer
Item 3: Kevlar Vest
Name: Puma
Primary: ZM LR300 ML
Secondary:
Sidearm: Beretta 92G
Grenades:
Item 1: Laser Sight
Item 2: Silencer
Item 3: Kevlar Vest
Name: Python
Primary: H&K G36
Secondary: Franchi SPAS-12
Sidearm: .50 Desert Eagle
Grenades: HE Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Raven
Primary: H&K PSG-1
Secondary: H&K MP5K
Sidearm: .50 Desert Eagle
Grenades:
Item 1: Kevlar Vest
Item 2: Silencer
Item 3:
Name: Scarab
Primary: H&K G36
Secondary: H&K MP5K
Sidearm: .50 Desert Eagle
Grenades:
Item 1: Kevlar Vest
Item 2: Silencer
Item 3:
Name: Scorpion
Primary: Remington SR8
Secondary: H&K MP5K
Sidearm: Beretta 92G
Grenades: HE Grenades
Item 1: Kevlar Vest
Item 2:
Item 3:
Name: Tiger
Primary: Kalashnikov AK103
Secondary:
Sidearm: Beretta 92G
Grenades: HE Grenades
Item 1: Medkit
Item 2: Kevlar Vest
Item 3:
Name: Widow
Primary: ZM LR300 ML
Secondary: H&K MP5K
Sidearm: Beretta 92G
Grenades:
Item 1: Kevlar Vest
Item 2: Laser Sight
Item 3:
Categories
How to

How to install an Urban Terror server with bots on FreeBSD

This will install an Urban Terror server running under the user urban with 4 bots enabled on the server.

First of all we install the binaries, I prefer installing them from the ports, in case you don’t have root access you might want to manually download from https://www.urbanterror.info/. The configuration is quite the same so you should be able to install on your own.

For the port install use:

Lets get some coffee, cause this installation might take a while… The installation requires downloading UrbanTerror411.zip from one of the mirrors which is around 1GB in size 🙂

After installing you need to add a user to run the server.

I don’t set a password for this account simply because I mostly su into it 😉 So…

First create the required directories

In this directory you need to add the configuration files: server.cfg / mapcycle.txt / bots.cfg

server.cfg

In case you want to change this configuration, check out: http://www.urbanterror.info/docs/180-/

mapcycle.txt

I limited the map list to the maps that work fine with bots.

bots.cfg

You can start the server by manual but I would advice you do run the server with this script in tmux or in GNU Screen.

start.sh

Run it by doing

In case you want this server to be reachable for the public, don’t forget to set dedicated to 2.

Good luck! If you have any questions, let me know!

Useful info:
Urban Terror Server Setup PDF

Categories
FreeBSD How to

How to configure a IPv6 gateway for XS4ALL on FreeBSD

You might first need these two manuals.

How to use a PPPoE or PPPoA connection of XS4ALL on FreeBSD

How to configure IPv6 DHCP client for XS4ALL on FreeBSD

Configuring your server as a router is quite simple.

First edit /etc/rc.conf and add the following

This configures IPv6 for your interface and tells it to function as a gateway.

Now setup the config for rtadvd so it will give out the right IP range. Edit /etc/rtadvd.conf

Now fire up a client connected to the LAN side on em0 and visit the following page to check if you are using IPv6:

https://www.xs4all.nl/klant/veiligheid/mijnip

Another useful page with information how to configure IPv6 on your server is in the FreeBSD handbook.

Categories
FreeBSD How to

How to configure IPv6 DHCP client for XS4ALL on FreeBSD

For this installation you might be required to first establish the connection, check: How to use a PPPoE or PPPoA connection of XS4ALL on FreeBSD.

First you need to install a DHCP client

Setup config for dhcp6c

Add the following

Add the following to /etc/rc.conf

Now startup the client

As last set the default route

To test the connection you should be able to ping XS4ALL.

Categories
FreeBSD How to

How to determine the partition sizes of your disk for FreeBSD usage

Partition sizes

First of all, what I mostly do. I press A for the default partitions and then raise them. Below are some default sizes who are advised.

partitionmountpointsizeSoftUpdatesmy size
a/1GBN1GB
bSWAP2-3x RAM size2x RAM size
d/var512MB to 4096MBY5GB
e/tmp1GBY1GB
f/usrRest of disk (at least 8GB)YRest

For the root partition it might be smart to keep track of how large the kernel is.

This size was a default of 512MB but this is too small to install 2 kernels (kernel and kernel.old).

Another thing is the /tmp partition, this defaults to 512MB, raise it to 1GB (for tar / gzip etc)

Categories
How to

How to get a file extension with PHP

The following script makes it more easy to get the file extension from a file name:

In case you have the ability to use mime type detection, you could combine it with the above function to validate if the extension is valid for the content of the file.