====== Verlihub ====== {{:software:verlihub.jpg?nolink200|}} {{description>Verlihub 1.5.0.x is a NMDC server for Unix and Linux based operating systems that provides useful high level functionality such as:}} ---- ====== Verlihub 1.5.0.x ====== **Verlihub is a NMDC server for Unix and Linux based operating systems that provides useful high level functionality such as:** * **Low RAM and CPU usage** * **It can hold more than 25.000 users** * **TLS secured connection via NMDCS protocol** * **Utility scripts for simple installation and hub management** * **Export and import of hub setting via MySQL** * **User management with privilegies** * **Logging of nicks and IPs** * **[[https://dchublist.biz/client/|Clients]] and connection management** * **Extend functionality with Lua, Python (deprecated) and Perl (deprecated) scripts** * **Generate statistics for your hub** * **Import users from PtokaX, Aquila or YnHub** * **Plus much more** * **//Links://** * **Website:** https://github.com/verlihub * **Wiki:** https://github.com/verlihub/verlihub/wiki * **Crash:** https://crash.verlihub.net * **Translate:** https://transifex.com/feardc/verlihub * **Ledokol:** https://github.com/verlihub/ledokol * **MMDB:** https://ledo.feardc.net/mmdb * **Proxy:** https://github.com/verlihub/tls-proxy * **Verlihub Utilities** https://github.com/Verlihub/verlihub/wiki/Verlihub-Utilities#verlihub-command-line-arguments ---- ====== Verlihub 1.4.0.x ====== **Verlihub is a NMDC server for Unix and Linux based operating systems that provides useful high level functionality such as:** * **Low RAM and CPU usage** * **It can hold more than 25.000 users** * **TLS secured connection via NMDCS protocol** * **Utility scripts for simple installation and hub management** * **Export and import of hub setting via MySQL** * **User management with privilegies** * **Logging of nicks and IPs** * **[[https://dchublist.biz/client/|Clients]] and connection management** * **Extend functionality with Lua, Python and Perl scripts** * **Generate statistics for your hub** * **Import users from PtokaX, Aquila or YnHub** * **Plus much more** * **//Links://** * **Website:** https://github.com/verlihub * **Wiki:** https://github.com/verlihub/verlihub/wiki * **Crash:** https://crash.verlihub.net * **Translate:** https://transifex.com/feardc/verlihub * **Ledokol:** https://github.com/verlihub/ledokol * **MMDB:** https://ledo.feardc.net/mmdb * **Proxy:** https://github.com/verlihub/tls-proxy https://github.com/Verlihub/verlihub.git ---- ====== INSTALL Verlihub ====== * **Dependencies and installation** * ** Required dependencies:** * [ bin --- hdr ] CMake 2.8.12 * [ bin lib hdr ] MySQL 5.7.1 * [ --- lib hdr ] OpenSSL 1.1.0 * [ --- lib hdr ] LibICU 55.0 * [ bin --- --- ] Make * [ --- lib hdr ] ZLib * [ --- lib hdr ] PCRE * [ --- lib hdr ] GetText * [ --- lib hdr ] MaxMindDB * [ ??? ??? ??? ] LibIntl * [ ??? ??? ??? ] Crypt * [ ??? ??? ??? ] Threads * [ ??? ??? ??? ] DL * ** Optional dependencies:** * [ --- lib hdr ] Lua 5.2 * [ --- lib hdr ] Python 2.7 * [ --- lib hdr ] PERL 5.20 * [ bin --- --- ] Dialog * ** Install dependencies on Debian:** * sudo apt install libpcre3-dev libssl-dev mysql-server mysql-client libmysqlclient-dev libmaxminddb-dev libicu-dev gettext libasprintf-dev g++ make cmake * ** Optional dependencies** * sudo apt install python2.7-dev liblua5.2-dev libperl-dev * ** Install dependencies on CentOS:** * [todo] * ** Install dependencies on Gentoo:** * [todo] * ** Install dependencies on RedHat:** * [todo] * ** Install dependencies on ArchLinux:** * [todo] * ** Compile and install Verlihub itself:** * cd verlihub * mkdir build * cd build * cmake .. * make * make install (as super user) * ldconfig (as super user, this is required only when you get: cannot open shared object file, no such file or directory) * updatedb (as super user, people say this command is needed to update slocate locations) * **Supported CMake options** * -DCMAKE_INSTALL_PREFIX=/usr (default: /usr/local) * install prefix * -DLIB_INSTALL_DIR= (default: lib) * install lib to / * **example:** -DLIB_INSTALL_DIR=lib64 - install lib to /lib64 -DPLUGIN_INSTALL_DIR= (default: ) install plugins to / * **example:** * -DPLUGIN_INSTALL_DIR=lib64/vh_plugins **End of file** ---- ====== Ledokol 2.9.8.135 ====== **Ledokol** https://te-home.net/?do=work&id=ledokol&file=279 ====== Verlihub Command List hub ====== * **Website :** https://github.com/Verlihub/verlihub/wiki/Command-List * **This is a completed list of available commands in VerliHub. Commands are grouped by user's class and may change based on hub configuration (for example you can limit some commands to some class only). This is the list for the default hub configuration:** * **Guest users (class 0)** * **Command Description** * +chat Active main chat for you * +rules Displays a listing of the hub rules * * +faq Displays a list of helpful links if you are having trouble * * +info Show information about the hub * +regme Send a message to all OPs, asking them to register your nick * +report Report a user to opchat for breaking the rules * +myip Shows you your IP address * +myinfo Shows you information about yourself * +motd Displays the Message of the Day (MOTD) * * +me Replaces +me with your nick, and then sends a message to main chat * +nochat Disable main chat for you * +release Show information about VerliHub development team * Commands marked with * are file triggers * **Registered user (class 1)** * **Command Description** * +passwd Set your password * +release Show information about authors, translators, etc. * +verlihub See +release command * +vh See +release command * **Operator (class 3)** * **Command Description** * !broadcast Send broadcast message to all users * !ccbroadcast <:CC:> Sends a broadcast to users with the specified country code(s) only * !guests Broadcast to guests (class 0) * !regs Broadcast to registered users (class 1) * !vips Broadcast to VIPs (class 2) * !ops Broadcast to operators (class 3) * !cheefs Broadcast to cheefs (class 4) * !admins Broadcast to administrators (class 5) * !masters Broadcast to masters (class 10) * !ban_time Temporarily bans a nickname or IP for the specified time (_time). Valid entries for time are Ns, Nm, Nh, Nd, NM, Nw, Ny where N is a number. If you do not include a time, then the ban is permanent. Perform the same action of !ban command * !banhost1_time Bans the first level of the given DNS. See !ban command to format _time string * !banhost2_time Bans the second level of the given DNS. See !ban command to format _time string * !banhost3_time Bans the third level of the given DNS. See !ban command to format _time string * !banhostr1_time Bans the leftmost part of the hostname. See !ban command to format _time string * !banip_time Bans IP address only. See !ban command to format _time string * !bannick_time Bans a nick only. See !ban command to format _time string * !banrange_time Bans a range of IP addresses. Use or notation. See !ban command to format _time string * !banprefix_time Bans a nick prefix. See !ban command to format _time string * !banshare_time Bans a share size; specify the exact share in bytes. See !ban command to format _time string * !class Temporarily change the class (max to 5) of a user. Action will disappear at hub restarting * !drop Disconnects user from hub without giving him a reason and without banning him * !gag [time] Mute a user in main chat for the time specified (default is 7 days) * !getconfig or !gc Prints a list of all configuration variables * !getinfo Return IP address and hostname (if dns_lookup is set to 1) * !getip or !gi Return IP address of the requested nick(s) * !gethost or !gh Return hostname (if dns_lookup is set to 1) * !hidekick Kicks a user and does not announce it to the hub * !hideme Hides yourself from users below the specified class * !hubinfo Show information about the hub * !hublist Send your hub information to the public hublist * !infoban Lists all possible matches for what you entered as keyword (nick, IP, range). * !infobanip Lists all bans for specifyed IP * !infobannnick Lists all bans for specifyed nickname * !infobanrange Lists all bans for specifyed IP that belongs to a range * !infoban_banrange_ Shows all current banned ranges * !infoban_ipban_ Shows all current IP bans * !infoban_nickban_ Shows all current nickbans * !kick Kick a users temporarily, so user will not be able to rejoin until a number of seconds will expire * !lsban Shows the most recent bans. Use to limit results * !nochats [time]) Prevent a user from send public and private messages for the time specified (default is 2 days) * !nodl [time]) Prevent a user from download files for the time specified (default is 2 days) * !nopm [time]) Prevent a user from send private messages for the time specified (default is 2 days) * !nosearch [time] Prevent users from searching for the time specified (default is 2 days) * !regclass Change the class of a user based on given nickname * !regdelete Removing a registered user based on given nickname * !regdisable Temporarily disable a registered nickname without permanently removing it from the database * !regenable Enable a temporarily disabled user with !regdisable command * !reginfo See all information about a registered user * !reglist [class=0] List all users with the given class. Default is 0 * !regnewuser [password] Register a new user with given class. Password is optional * !regpass Set user password * !regprotect Protect a user from the class minor or equal of the given value * !reload Reloads verlihub's configuration * !set Change value of variables * !topic Change the topic shown in the top of the client window * !unban Removes ban(s) from nickname or IP * !unbannick Removes nickname ban(s) * !unbanhost1 Removes a first level hostname ban * !unbanhost2 Removes a second level hostname ban * !unbanhost3 Removes a third level hostname ban * !unbanhostr1 Removes the leftmost part of a hostname ban * !unbanip Removes only existing ban(s) for IP * !unbanprefix Removes a nickname prefix ban * !unbanshare Removes a share size ban. Specify the exact share in bytes * !unbanrange Removes a range of IP bans. may be the range, or any IP in the range * !unban hostban Removes ALL current host bans * !unban ipban Removes ALL current IP bans * !unban nickban Removes ALL current nick bans * !unban rangeban Removes ALL current range bans * !unban shareban Removes ALL current share bans * !unban tempban Removes ALL current temp bans * !ungag Un-mute a gagged user * !unhidekick Remove no-chats restriction * !unnodl Remove no-download restriction * !unnopm Remove no-PM restriction * !unnosearch Remove search restriction * !whoip Search users with given IP address * !whorange - Shows nicknames in the given range of IP addresses * !whorange / Shows nicknames in the given subnet * **Admin (class 5)** * **Command Description** * !addconntype Add the with their restrictions * !addplug Register new plugin * !addtag Adds a rule for the client * !addtrigger Adds a new trigger * !cleanbanlist Truncate ban table * !cleankicklist Truncate kick table * !cleantemprights Truncate temp rights table * !cleanunbanlist Truncate unban table * !delconntype Remove specified * !delplug Unregisters the plugin * !deltag Remove a client * !deltrigger Remove a trigger * !htag * !htrigger Show an help and available trigger flags * !lstconntype Shows the current connection type and their restrictions * !lstplug List the registered plugins * !lsttag * !lsttrigger Lists available triggers * !modconntype Update the with their restrictions * !modtrigger Change a trigger * !offplug Turns the plugin off * !onplug Turns the plugin on * !proto _ Send protocol command to users * !regset hide_keys <0/1> Hide key operator for the given nickname. 1 to hide, 0 to show * !regset hide_share <0/1> Hide share of the given nickname. 1 to hide, 0 to show * !regset note_op Add a note for the registered user in the database * !replug Reloads the plugin, turning it off then on * !ul [time_in_minutes] Temporarily change the max_users variable to given limit. If time (in minutes) is not specified, it will be assumed 1 hour * **Master (class 10)** * **Command Description** * !core_dump Crash the hub so that stack trace can be examineted by debugger program like GDB * !gdb_hash Quit the hub and dump the content of the user list * !restart Restart the hub * !quit Close the hub * **Plugins** * **Command Description** * !addforbid [-C ] [-f ] [-r ] Adds a forbidden pattern. See below the table for more information regarding the parameters * !addisp Add new ISP. See below the table for more information regarding the parameters * !addplug -p [-d desc] -a Register new plugin. Nick is a short plugin nickname, path is a relative or absolute path to the plugin's binary, desc is an optional description and autoload set to 1 means that plugin will start with hubsoft * !addreplacer Adds a word replacement. You can specify level of immunity so user with class equal or bigger than to given value will be immune to the word replacement * !addroom [-CC ] [-ac ][-AC ][-c ][-t ] Create a chatroom named nick. When specifying the nickname, make sure to respect nickname rules. See below the table for more information regarding the parameters * !delforbid Deletes forbidden pattern * !delisp Deletes the given ISP. See below the table for more information regarding the parameters * !delplug Unregisters the plugin * !delreplacer Removes an entry * !delroom Removes specified chat room * !getreplacer Lists words to replace * !iplog Shows log history for given IP address * +invite Invites a person into the chatroom with an optional invitation message * lastip [ ] Shows last IP addresses for given nickname * lastnick [ ] Shows the last nicknames used by the given IP address * +leave User can use this command to leave the room; no messages from the chatroom will be received * !lstplug List the registered plugins * !lstroom Lists all available chatrooms * !luainfo Show information about running scripts * !lstforbid Lists forbidden patterns * !lstisp Give a list of ISPs * !lualist Lists loaded LUA scripts * !luaload