added parameter for mobile portal, some formatting
parent
b76a10f59c
commit
578ece761d
107
etc/config.php
107
etc/config.php
|
@ -0,0 +1,107 @@
|
|||
<?php
|
||||
|
||||
// This is all the config that there is for endboard. You want more, you'll need to hack the source code (in index.php), to which your are welcome, of course.
|
||||
// If this file is not in /etc/opt/endboard/config.php, you'll need to update line 74 in index.php so that it can be found. If you can, I advise to stay with
|
||||
// the standard paths.
|
||||
// The minimum you have to edit in this file is the line saying "admin". This is neccessary to create your admin account, which will let you in turn enable
|
||||
// mod accounts. An individual title and landing page make it "your own page". If you want to change the look, you'll have to hack the stylesheets,
|
||||
// with the standard paths they are found at /srv/endboard/css/.
|
||||
// The default settings are pretty strict, you might want to make them less so if your usecase demands it.
|
||||
|
||||
$settings = array(
|
||||
"admin" => 'change-me', // the account name of the admin. Change to something else to create an admin account (for first use or
|
||||
// if you lost your password). Capped to 50 characters.
|
||||
"enable_admin_panel" => TRUE, // set to true to enable access to the admin panel. Set to false if you are paranoid.
|
||||
"enable_mod_panel" => TRUE, // set to true to enable access to the moderators panel. Set to false if you are really paranoid
|
||||
// (but than you cannot moderate the board).
|
||||
"title" => 'Endboard rules', // title shown when the overboard is displayed
|
||||
"enable_logging" => TRUE, // set to FALSE to disable all logs of endboard. This will provide stricter privacy, however, it will also
|
||||
// disable the features: max_post_*, bot_block, portal, max_requests_* and fail2ban.
|
||||
"enable_portal" => TRUE, // show a portal page to first time visitors that they have to click away
|
||||
"enable_portal_mobile" => TRUE, // show a portal page to first time visitors that they have to click away, for the mobile site
|
||||
"enable_portal_tor" => TRUE, // require the portal from tor users as well. On tor this will offer less protection, obviously.
|
||||
"portal_lifetime" => 120, // how long the click is valid before it has to be repeated, in minutes.
|
||||
"auto_prolong_portal" => TRUE, // each click on the site prolongs the life by resetting the starting time.
|
||||
"cap_logs" => 200000, // the maximum number of log entries before older entries are deleted. Set to zero to disable.
|
||||
"enable_bumping" => TRUE, // if a reply is received, put the original post on top of the sub
|
||||
"enable_bbcode" => TRUE, // use some simple bbcode dialect.
|
||||
"take_applications" => TRUE, // allow users to apply for mod accounts. A maximum of 10 open applications is allowed.
|
||||
"use_captcha" => FALSE, // whether or not to require a captcha for posting. Default is off, as it's not really needed, and it
|
||||
// offers low protection anyway (like almost all captcha systems).
|
||||
"lifetime_captcha" => 2, // the lifetime of a captcha combination in hours. After its lifetime it's not regarded valid any longer.
|
||||
// if the captcha is off, this is the lifetime of the postform (after which it needs to be reloaded to post).
|
||||
"board_file" => 'board.db', // the basename of the sqlite3 database file in which all posts, logs, credentials and captchas are stored.
|
||||
// For first use, just give some name, it will be created. Copy this file later to make backups of your board.
|
||||
"import_file" => 'board.json', // the basename of the file to import messages from if needed
|
||||
"work_dir" => '/var/opt/endboard/', // the directory where the two files above are kept. Also where you will find the admin token to set the password.
|
||||
// this dir should be owned by the webserver (usually www-data), and it should not be in the webroot.
|
||||
"max_post_global" => 100000 // Maximum posts that the board will take in the defined timeframe. Set to 0 to disable.
|
||||
"max_post_ip" => 400000 // Maximum posts per ip that the board will take in the defined timeframe. Set to 0 to disable.
|
||||
// If you run your service on tor only, you can set it to zero as well, and only use global.
|
||||
"max_post_bot" => 20000, // Maximum posts for bots that the board will take in the defined timeframe. Set to 0 to disable.
|
||||
"max_post_timeframe" => 100, // The time in minutes that is checked to determine max posts
|
||||
"max_requests_ip" => 1000, // the maximum number of request before blocking more, per ip. Set to zero to disable.
|
||||
"max_requests_timeframe" => 100, // the timeframe in minutes that is regarded for the requests, in minutes.
|
||||
"max_requests_tor" => 10000, // the maximum number of requests from 127.0.0.1 (=all tor users). Set to zero to disable.
|
||||
"max_requests_tor_timeframe" => 100, // the timeframe in minutes for tor.
|
||||
"enable_bot_trap" => TRUE, // put garbage links in the page only visible to bots. Feed ever more garbage links if they follow (bot tarpit).
|
||||
"enable_bot_block" => TRUE, // block ips that follow invisible links (=bots) by sending 429 - too many requests. bot_trap must be enabled for this to work.
|
||||
"superstrict_block" => TRUE, // count blocked requests as bot visits. This setting will prolong the effective ban time if someone is hammering the server.
|
||||
"enable_tor_block" => FALSE, // enable the block also for 127.0.0.1, meaning local and tor connections (_all_ tor connections).
|
||||
// if enabled, one misbehaving bot can block the site for all tor users, as well as for connections from your own box.
|
||||
// this is quite drastic, but in some situations might be the lesser of two evils. This setting is only effective if the bot
|
||||
// trap and the bot block are both enabled. The default setting is off.
|
||||
"max_trap_visits" => 1, // the maximum number of bot trap visits before the block takes effect.
|
||||
"max_landing" => 10, // the maximum number the landing page can be visited with a not recognized URI, before the block takes effect. Set 0 to disable.
|
||||
"block_time" => 5, // the time intervall in minutes that is checked, equals the time a bot is blocked
|
||||
"enable_fail2ban" => TRUE, // block authentication for admin/mods after too many unsuccessful requests. Note: this a not specific per ip, but global.
|
||||
"superstrict" => TRUE, // if true, the fail2ban event itself is counted as a failed login, prolonging the ban time.
|
||||
"auth_max" => 3, // max failed auth tries in that timeframe, the lower the value the stricter
|
||||
"auth_time_frame" => 5, // time in minutes, the higher the value, the longer the ban
|
||||
//"bot_keys" => array('testme', // bots can use these keys to post messages to any sub. Empty the array to disable (like below).
|
||||
// 'testme2'),
|
||||
"bot_keys" => array(), // disable bot keys.
|
||||
"no_overboard" => array('test'), // messages from these subs will not be displayed on the overboard (use comma separation when adding new)
|
||||
"anonymous_bot_subs" => array('test'), // bots can post without key to these subs. Empty the array to disable.
|
||||
//"anonymous_bot_subs" => array(), // anonymous bots disabled.
|
||||
"max_char" => 10000, // Maximum post length permitted in characters
|
||||
"min_char" => 2, // Minimum post length permitted in characters
|
||||
"min_space" => 200, // the minimum free space on the file system in Mb, if not available, no new posts will be taken
|
||||
"pagination" => 10, // number of messages per page to show for main, other subs and overboard. Threads and individual feeds show all messages.
|
||||
"max_name_sub" => 20, // the maximum number of characters allowed for the name of a sub, exceeding input will be cut
|
||||
"line_break" => 300, // number of characters after which the line is broken when posts are displayed.
|
||||
// 300 is to display certain ascii-art. 80...120 is fine for texts.
|
||||
"lifetime_token" => 5, // the lifetime of an access token for an admin or mod in minutes. After that a new login is needed.
|
||||
"original_content_thread" => FALSE, // do not allow the same text to be posted twice in the same thread
|
||||
"original_content_sub" => TRUE, // do not allow the same text to be posted twice in the same sub, including all threads on the sub (overrides previous if TRUE)
|
||||
"original_content_global" => FALSE // do not allow the same text to be posted twice on the board, including all subs and all threads (overrides both before if TRUE)
|
||||
);
|
||||
|
||||
// For easy editing, the landinpage is here in the config file
|
||||
// Notice that this text includes the html elements (h1, post, br,...).
|
||||
function show_landing_page($css){
|
||||
|
||||
echo "<title>Landing...</title>";
|
||||
echo "<div class=\"header id=\"topheader\"><h1><br>";
|
||||
echo "Hi.There you are.";
|
||||
echo "<br><br></h1></div>";
|
||||
echo "<div class='post'>";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>See a list with links to the available subs below. Users can create their own subs by posting in main.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br>Some random text.";
|
||||
echo "<br><br><br>Alternative styles:";
|
||||
echo "<br><br><a href=/s/overboard/4>Santa Muerte</a>";
|
||||
echo "<br><br>Others:<br><br><a href=/s/overboard/6>Forest (the default)</a>,<br><a href=/s/overboard/1>Skull</a>, and <a href=/s/overboard/2>Kali</a>.";
|
||||
echo "<br><br>Unstyled html:<a href=/s/overboard/9>No css option</a> (also for smartphone users).";
|
||||
echo "<br><br>Mobile <a href=/mob/s/overboard>site</a>.";
|
||||
echo "<br><br><br>This board uses no javascript, cookies, webbugs or any other invasive stuff.</div><br><br>";
|
||||
echo "<h1><br>Available subs:<br><br></h1><br>";
|
||||
|
||||
}
|
||||
|
||||
// EOF
|
Loading…
Reference in New Issue