The 'Talkboard Forum 2' (in short TBF) is a PHP– and MySQL/MariaDB–based software which supplies a discussion board for every men (or women, Lorretta) website. It has been existing as of 2001 and has developed since then. The forum comes at no extra charge and its source is available — a free/libre open source software. Two languages are supported, also allows free layout arrangement as far as possible and provides anything you expect from modern forum software; themed by its motto 'merge own ideas with the best of other forums'.
The recent yet to be tested branch 2.3 is shipped as of February 2025 and replaces the older releases. This fixes bugs of course and brings some new stuff which were planned quite some time ago. On this webpage you can inform yourself about the project and its history. By using so called templates the layout of your forum can be modified. To do so a new one can be created but also one of the ready–made be used.
What would a software project be without support? Of course, you get that. Details are on the corresponding section. Every download includes a 'readme.txt' in the 'docs'–folder to help you making the installation and doing the first steps. Now, don’t let me keep you from looking around 😇
#55 — Talkboard Forum 2.3.0-beta1 released
⏲ February 2025
Celebrating the twentieth anniversary 🎉 🎆 of the TBF2 the first testing version of a new family become available. For about a year I have been working on this here and there. The codename is "Gaia" and follows a new namespace (Horizon Zero Dawn as a hint). The beta is not free for general usage. The new functions which are actually numerous can be more error prone. • Compatibility to PHP 8.4. • Switched to up–to-date HTML5 and Unicode (UTF–8) with new default appearance • All templates are now built in • Complete sourcecode overhaul and lots of detail improvements You can find the package in the download area as usual. Advanced users can obtain an unified diff file to preserve own changes to the source code in the full package, located in the contrib folder. The files are signed cryptographically. Details can be found on the downloads page.
The current recommended TBF version has the following requirements:
You can use the following options, if you want (needs more PHP modules):
My current development environment consists of:
⚙ Version | Scheduled | Progress |
2.3.0 | 2025 | 80%
![]() |
2.3.0 ⚒ | PHP Compatibility and Bugfixing | |
2.3.x | Sending PGP encrypted mails to users if they provide a public key (local/keyserver) |
The history of the TBF
It all began in January 2001. I was looking for a script language to decorate my homepage with dynamic action. First I played a little bit with Perl, but by coincidence I finally found the open–source language PHP. All my programs were written in this. In March 2001 version 1.0 was finished and provided for download. But then it became more quiet around this one, because I focussed on other scripts instead. This was the time when the 'Archilles Scriptworld' was born and offered a broad variety of applications to the public.
In the early–winter of 2001 TBF reached version 1.2 having bugs fixed. At the beginning of 2002, I decided to rewrite it from scratch. This was just intended to be version 2 right away, but I stayed in the 1.x branch to gain more experience. That decision turned out to be good later on. During the year 2002 it arrived at its final version 1.7.12, which was much more complex than the initial release. Many ideas were included and hours passed by. But unfortunately, I was not confident about this and started developing on the new version 2 in November 2002. In February 2005 it (finally) was completed and replaced the successful 1.x branch.
Another milestone was reached with version 2.1 in April 2007 which delivered 'real tree structure' to forums and an updated password storage. A lot of security enhancements and a simple chat followed. During the years it has become more silent around the TBF because 'basic requirements' of internet users for their daily discussions were narrowed down to big companies (see 'Web 2.0' as keyword). Techniques used in the web made great leaps and the other competitors making forum software bore to this challenge. I had simply no time for that and frankly no intent to run after these 'trends'.
Then the 2.2 branch became available in 2015. It mainly provided adjustments to (at that time) modern PHP versions and databases besides full support for IPv6. Again I renewed the password storage.
The next leap in versioning came in 2025 with the current 2.3 version family. With the twentieth anniversary it delivered an up–to–date foundation with HTML5, Unicode (UTF–8) and a new default appearance. The new recommendation to store passwords switched to the PHP internal fuinction with "Argon2".
What is important to the Talkboard Forum…
The weaknesses of the Talkboard Forum…
Which progress is planned for the future?
There will be no major changes to the foundation, enriching the user interface with lots of Javascript/AJAX
or integrating the unicode charset (UTF–8) ². This would require a complete rewrite from scratch. I trustfully
leave this to other developers/software so that I will only adapt the TBF to recent technology slowly. If the
TBF is dead some day you will hear from me 😉
² = Since Version 2.3. I could not resist to celebrate its anniversary… 😚
For any version you can find different packages to download. I recommend you to use the most recent version. New installations and upgrades are made with the 'Full Package'. They come in two flavours of compression – old ZIP and fresh LZMA ('7z'). Some versions have errors fixed after some time and are provided as 'Patch Level [Number]'. These are simply copied over your existing installation. Advanced users can apply changes from one version to the successive by using a special tool¹ either on the server or their local machine. This can be done by a 'Difference File'.
All files have a so called hash. This is a long string of numbers and characters located at the corresponding version block. You can verify whether your download is correct. If just a little changed, your hash will be different from the one in the listing. I use the standard algorithm 'sha256' to calculate them. To help you verify you can look for a hint on your trustful search engine ('verify sha256 hash').
All files are digitally signed. When you grab my public PGP key you can verify the files for authenticity and integrity. This means they were not changed since the signature has been created. The used key for that is only in my possession. You can check the fingerprint to make yourself sure. To help you verify you can look for a hint on your trustful search engine ('verify gpg signature'). You can find the signatures in a detacted '.sig' file. Moreover it exists a file with all hashes which is also signed. Even the template files are included.
As of 2018 there is a new keypair for the next years in order to replace the old one. For compatibility reasons I stick to the RSA algorithm. Until everybody has a quantum computer in their cellar. I placed a transition document containing all details and signed it with both keys.
In the year 2023 I have extended the validity of the subkeys for another five years. If you still have the old public keys you will want to reimport (see two paragraphs above) them.
pub rsa3328/0xA2360C8CD49BBD5E 2018–06–09 [C] [expires: 2028–06–06] Key fingerprint = 38EF 94F0 C94E 8063 FC2D 1C21 A236 0C8C D49B BD5E uid Stefan Kühn <webmaster AT hasenharem DOT de> uid Stefan Kühn <stefan AT hasenharem DOT de> uid Talkboard Forum 2 (Encryption and File/Mail Signing) <support AT tbforum DOT hasenharem DOT de> sub rsa2048/0x1ADF2E5C6C4E2F95 2018-06-09 [S] [expires: 2028-02-22] Subkey fingerprint = 9122 2CDF CDB5 9ACD 3D8B 0867 1ADF 2E5C 6C4E 2F95 sub rsa2048/0xD4CCBA0B9F9F6E3B 2018-06-09 [E] [expires: 2028-02-22] Subkey fingerprint = 52E4 CBDC C9C7 0ED3 FEF3 6B81 D4CC BA0B 9F9F 6E3B
¹ = patch. A lot of linux distributions have it preinstalled. Windows ports are available, too.
cd8f7d25fa67aaeb86ef24d677fd42db279b1afa06027d82a26b0a6749c92559 tbf_230b1.zip sig aaaf1d5b5ad5f7517c1798eba97cc641ee576e8bbc30be960606d4bb72af04bd tbf_230b1.7z sig
060777288ebddbbe2ef33e96f794dd5ac14d03d68f2a8308fc68518dfe9bab59 tbf_227.zip sig 9769632983f8f14786876dcd03d19291740e34d3f3381b68ade2f92f22f05c43 tbf_227.7z sig de1bc5a2d23b695b795b169ee795a45d6e430bf2d73cfa0918be24657968b7ad tbf_226-227.patch.gz sig bdcacbc1e3d83818edc126611652900132b383f50a426ecd8b9f2bf2f6e0e486 tbf_227-pl1.zip sig
da524642a38dddd32247c943c0b4562a078e93f8e3035650998dbb0a8eac6499 tbf_227b1.zip sig a8c16cd2bacf07e986ec613170e8a0ca5d800df196dd93fac73af6a276cf38db tbf_227b1.7z sig
168cc8cdd03f047fcc4ea1cf009168cc754ecdbfc10528adb0fac54af628139e tbf_226.zip sig d289d7fb8197e0b3ff42f6fe3d795460fa0a1c2a718e081e3fc54a7bf95c346b tbf_226.7z sig 4817535fabbf5a33326604ed21fcec349356dfc3fdbeccec15d4f92be56f8a08 tbf_225-226.patch.gz sig
6c9cf429708d4403adab44d2735827d5b8d6da01890133b9313613f2912c53f8 tbf_225.zip sig cc901880dd09591ef61fc7eb0e5d5644da2c793a6671795f70e52fa0e9226ade tbf_225.7z sig eafa4f40a94341dd3a0b32115d7f6716cec83f5a240010674d8760244ba8c26c tbf_224-225.patch.gz sig
7c3c4c7cd4e032f1300ec1066972452d6fe433ebe4d7b7710528f213ccdfb6eb tbf_224.zip sig 6727ec9d67b5aeb9a0dad7e7a248fda1332b5f0846947d303bbeed4c2fa40aa1 tbf_224.7z sig 72edd6398912752d189786334b14e849ea4fe96ad4bb378e4df4d18f6c72290e tbf_223-224.patch.gz sig cf6244c59a33a06ffdaf344c07bb041d428d6a40bb09bc14f0fb6ced87a51f71 tbf_224-pl1.zip sig
f74c93c6e4bd605fa76b7859d0c6ebfcfe9374a5b66ba2f3541b0a15c2c6b1da tbf_223.zip sig 9463fff4df4887573dc600c6778d1dd7e2a84a7f7522025fd7a7675ffbd3ceda tbf_223.7z sig cc96e00c650f708e6ea0e95da9317ed74a85edf72bb4204ad1876aeeb1a68974 tbf_222-223.patch.gz sig
89da62ca1c96b2c40581b5ac6efd668d16d44bfe8cca36001d5735187e324682 tbf_222.zip sig 78cedcc1669da63ae33d639e318cbe91e672dd86ff526d4608f0b03ddf7bf916 tbf_222.7z sig c1882d33dc3694a392e80cb27dae5155acd8a3292cfd399fe35e395ff8835e2d tbf_221-222.patch.gz sig d34514ca520d01c54acf3265ed32f2dabe4ed57f900dfb35d57fa025473d0ea2 tbf_222-pl1.zip sig
4a6023212559de198998892a1b1d80dd1e5970d2faac84d96895edad8e231cbe tbf_221.zip sig 809ccb31ea85c8e51bfd07c8afac6b6e0ea757d00b0ccb3ee8e04e78889bd738 tbf_221.7z sig 1168c188b4959485a115f2bebf2e0a80e24d5798db019a3467636acce9a4298c tbf_220-221.patch.gz sig d9118121de0396923cd213f154614b0fffd1fe185f94dfd3ed76b04eb6e2f58f tbf_221-pl1.zip sig
fad4e023defa6146c10f9f854fc09f7e2f796a30d4cd26207ebcdc4d65a09ff7 tbf_220.zip sig 7c1faee0d416c23158300e63afab6926e43b47c4012e072f9fdf7d1f2537075f tbf_220.7z sig 1fb1b7118e331abceac3761fa42f750e26de6b29b9316334d772cd6ef3f36c91 tbf_217-220.patch.gz sig
b99234e5fec2c647b55e810514a4b8c72bb087b51e9fecd0280081a4cd07e61c tbf_217.zip sig cce73919b4f2e3a11feaab3c8d4239a639842ee8d270de8fceaabddafb3a0859 tbf_217.7z sig c1fc9bb36f88c10af2e692a083a338a3c909721a791e6ff6d3d5e331f9109b98 tbf_216-217.patch.gz sig
2725816d1a8dcf210d6b0c1374a94d31210e181c97b2a5f3eaa0f906cc63b4c6 tbf_216.zip sig 4930625d2d4d9aa719c40f96c6484dcfd1add79e52440b0f4f1bcd3f9a0dafa7 tbf_216.7z sig f217ceb063b0f0bade6cdf0ec0456985ce75e75717c9c415c7a6e728b3839c4f tbf_215-216.patch.gz sig 1f051acaa1982f9282916a8f6f9a02e11534567fc8cad33e2cca83ed9e09b02c tbf_216-pl1.zip sig
aee3f92c36a6d2631c17bca1ad2e2a08a960940f5da217eb4a3f5da034a3370b tbf_215.zip sig f5ee62070368aa1cc8e60b9dff607f4376ddf3af94f698c8ae4688e8cc586c91 tbf_215.7z sig dd3b40fdebef000c0ef51a09dba4dcfbfe25116fe8c0d7fd7bd36a56c930f279 tbf_214-215.patch.gz sig
233020f25ef779786a92044af78859a39ff5b602d450ddfc758293fe198ee823 tbf_214.zip sig 6ae8fbd1034c956fd27716eb417ecb06ddaf0ff3591f86728e5f6d2d8b9590e1 tbf_214.7z sig 6017b860331358c4032b2b50d2a9d6c3f0e43c888cbc914fc0c086ea3bdcdb83 tbf_213-214.patch.gz sig
29f8f795958b0b393f35225b2a1ce461d46176919c3b3ea33d74b0d4d2ca0a48 tbf_213.zip sig 1198a2169b3b8e37a3718fffbb56e9750d243ec2afd8bd705a3e0717526d9a0f tbf_213.7z sig ba86609ab615e5ea7dbd2036da73b7eb263df51c9bf297dc3d69abb5e2b4b561 tbf_212-213.patch.gz sig
598e023df6d9bcf4d8e7fca829763d6ef0ab9a31a7d94f1f680ba96f99a2ac50 tbf_212.zip sig 006c6b389e5ded11cc62acfc3dcbaac70ce17175d45fd06e42fc9c94e2fd22a5 tbf_212.7z sig 5e26642731eee504e8781f6345f93863a04b1bab6215cbf4eb525a1160314b58 tbf_211-212.patch.gz sig
b57b9907a1b3cd72d5273ac79df22b441611c1d2c8039aad801f43976fea3682 tbf_211.zip sig 0d91d9c215313fd83efa4f434358e46ecede923e94281518d7f53fccf5fb0c0b tbf_211.7z sig 8a8841d11e70a6c938775a232def3848c86e631cff80e2379de02486e61055d3 tbf_210-211.patch.gz sig ef8381d2894dfdbe0e8a4835548c53762f558cff0e48ce48b28cba596b00026d tbf_211-pl1.zip sig
8327505ff799627fa5e0a759f4e02ad2e88a9b8ca61c3e645306e000845c24ab tbf_210.zip sig aa3bb23f247e935e608a0bfcd24131cce35b3dc26574846ffc7fc6e68f82f965 tbf_210.7z sig e090f4d30c8c54dfcb5cca2f11b7830f7de8ffb03c2027437472e98f04c4244c tbf_206-210.patch.gz sig cc75948510352fee574efa2b7effa4fc40c3922613d8466dae469ef629553a5c tbf_210-pl1.zip sig
b006739e7c8c923004e6bd0d92a3a1f3a6830713329745e0aa9b2a0638078450 tbf_206.zip sig beeac2001538ff59af1949b684bdc2037ed6eb37f0372bc18a9ec7fee92e3ff0 tbf_206.7z sig 533ad05ac41102e04bc41c6de5e9c93c8573098ea1afb85b302abc981749f280 tbf_205-206.patch.gz sig
40ba93a54e06c0ffb78d965d92d0f42a5a10cebddfc33b523694ecf96eb11a87 tbf_205.zip sig de006012de57c066742631da4d4d9d5513a4b8b5d4baf8243d34c7a960a610c2 tbf_205.7z sig 0d6edbbccb89e6d1bf83bcc9357e7cb6c37aaa139f47efa2acf8471d9e3a2677 tbf_204-205.patch.gz sig
941f2eaed8d8a5d7d9374ece1f15209fbf995beb91012b4c3748e8082f615a68 tbf_204.zip sig 8ccda54768fe45b587e65e5eb282b80c0fbb8b1dbb6dfb8b478dfe9b68a7f3c4 tbf_204.7z sig c07d3b744dce06244579a892071a23c4853fd6b56f03beeffb1c05b229464693 tbf_203-204.patch.gz sig e6d2b2bbd38a8dce837d551c601a2104af13f5edbd9faf9568f679ea299e8228 tbf_204-pl1.zip sig
f469eca28a34dc0811af12fe6d3c223c79f788b66bee1ec8dcf8d528da542bae tbf_203.zip sig 0aa38ee83dc639d75d16dd223de9de94ca377444599382076b050fa30bcb32fb tbf_203.7z sig e836ce5b4c75d38d9b34411a7ada60cfdc0364de85dc930a28457e5901d491c6 tbf_202-203.patch.gz sig
8677f450343644e7dda919042ca7c3a8cc70b522e329fc72a004a7f3e2fab249 tbf_202.zip sig c8d37fa91853ca116d48cfa2b35fa866d2a6ff8da1d2537a8ef8ebf6855f4bf1 tbf_202.7z sig 59675f47ab114d9a55dac117722921c5016eec314ad1b6712f99efed886ea3f4 tbf_201-202.patch.gz sig
060d8595709139007e79e7ba69c99e8a45f0c9b1728491eaca25e56f90eca352 tbf_201.zip sig 11e6d6e6b314fe1b132d01bc58f79399d7c3824a245983891dc8844c8bfe75e3 tbf_201.7z sig
Please try the german version. It should be pretty strightforward even if do not understand this language. Basically you have to download the zip file to your corresponding forum version and have a look at the containing 'readme.txt'. New images should be copied to your 'template/tbfV2' folder and the stylesheet/css has to be imported through the administatration panel at 'Configuration\Templates'. I also have an image showing this procedure.
Since version 2.3 all templates are included into the software package by default. New installations have "solea" enabled, while from 2.2 or earlier updated versions keep the old default template, now called "tanzanite".
Since version 2.2.0 the font "Open Sans" is used. Because not all devices have it installed by default, you can include them from an external source since 2.2.1. Grab the zip file from the Open Sans Homepage and extract the containing 'OpenSans-Regular.ttf' to your 'usr'–folder as 'opensans-regular.ttf'. In a second step you have to enable the font in your template stylesheet/css located on your administration panel. Take a look at the upper paragraph for details.
Since version 2.2.4 the 'Open Sans' font is included in the package and enabled by default. The files are located in the "template/tbfV2/font" folder. Basically you can setup any font you like in the "font.css" ("/include/template/font-block.txt" as of 2.3.0). Stylesheet properties can be superseded globally by "usr/user.css" or "usr/user_[templatename].css" for each template.
IMPORTANT: Please take note of the support plan of your TBF version.
On this page you can find the "Frequently asked questions and answers" from the old support forum. This is german only so you may be in need to use an online translation tool. There is also an issue tracker where you can have a look whether a problem is already known. You can get in touch with me by e–mail with the address support at tbforum dot hasenharem dot de.
My support to this software comes without any charge and is voluntary! You have no claim of prompt reply. But you can be sure I read all requests and try to answer in my free time. If you like to donate something just make me an offer…
The 'Talkboard Forum 2' (hereinafter TBF) is provided as a free of charge and open–source software for private or commercial usage. The terms of use can be seen in the seperately delivered license ('GNU General Public License', GPL). It grants the four freedoms of the Free Software Foundation. This website does not generate any income or uses advertisement. Please forgive my lack of 'legal vocabulary' as I am no native english speaker.
Responsible for the content of this website is:
Stefan Kühn
Wideystrasse 33
D–58452 Witten, NRW
E–Mail: webmaster AT hasenharem DOT de
This is no support address for the software! Take a look in the upper navigation bar 'Help' instead.
All textual contents and images are subject to the following license, if not declared otherwise: Creative Commons Attribution–NonCommercial–NoDerivatives 4.0 (CC BY–NC–ND). You are free to use it for non–commercial purposes, copy and distribute the contents. As long as you credit the source and leave the contents untouched.
The font "Open Sans" is subject to the SIL Open Font License 1.1. The font "Ubuntu Mono" is subject to Ubuntu Font License 1.0. Both are taken from Google Font Webhelper and allow the free of charge use on websites.
I assume no liability for any damages you may be exposed to by using the information on this website except I have done a big mistake. Any consequences for your life, if you stay here too long and your dog will die of starvation or your friend will leave you, is not my business.
On this website you can find links to other external webpages. Although I check the contents of the destination page before linking them, please note that I am not responsible for the whole contents of the foreign website. I do not control them afterwards for unwanted changes or if the link is still valid. Please notify me by e–mail, if something has catched your eye.
The website is delivered by Net–Build GmbH as service provider. They collect personal data of my customers during the normal server/computer operations. And provide the statistic tool ("AWStats") to process data from access logs I cannot access. It seems to follow the standard format containing the IP address (anonymized last octett), a timestamp, the „request“ (what page has been seen), the status code of the web server, the transferred data in bytes, the previous seen page („Referer“) and the identification string of your browser („User–Agent“). To get a notion of how this looks like you can have a look in the documentation of a wide spread webserver Apache and its combined logs format.
I am unfamiliar with what additional (personal) data are gathered by the service provider. But they are subject to strong german privacy laws ('Bundesdatenschutzgesetz') and since May 2018 the 'General Data Protection Regulations' in the European Union and you should contact them if in doubt.
The website itself does collect personal data in very low volume. It is possible to leave an e–mail address in the bug database ('tracker') with your request, if you want to be informed about new comments. The address will not be shared or displayed to the public and purged when the request is closed ('Status: closed') or at least after sixty days. Certainly you can demand to delete it at any time. The postings itself will always remain.
This website does not use permanent storage machanism in your browser. Like cookies, 'Local Storage', 'Indexed DB' or others. Additionally there is no 'fingerprinting' to recognize you on subsequent visits. The bug database ('tracker') store your filter settings as long as your browser session lasts in a cookie. It will be deleted when you close your browser window. All content (texts, images, stylesheets, scripts, fonts and software packages) are local only.
If you send me an e–mail I will of course get one/your sender address. You may use a 'disposable address', when you just want to send a comment, a feature request or similar and do not expect a reply. I will not share your address. All mails are fetched through a secured connection ('SSL/TLS') from my service provider and are stored in my long–term archive (unlimited time) for later reference on encrypted drives. Of course you can tell me to delete them at any time. Therefore every sender mail address gets an individual delete code in the message headers/source ('X-EU-GDPR-Delete-Code').