Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

Install HX and HXD

From Higher Intellect Vintage Wiki

Original document can be seen at https://cdn.preterhuman.net/texts/computing/hotline_info/INSTALL_HX.TXT

SUPPORTED PLATFORMS:
~~~~~~~~~~~~~~~~~~~
(aka has been compiled on, it should work on most unix-like systems with little or no changes)

hxd:
- Linux 2.x - intel, ppc
- MachTen 4.0 - ppc
- Digital 4.0 - alpha
- OSF/1 3.0 - alpha
- NetBSD - 68K, intel
- FreeBSD - intel
- IRIX 5.3 - mips
hx:
- all of the above
- AIX 3.1 - ppc
- SunOS 4.something (chars are read once every five presses..wtf??)

Patches to make it work on other platforms are welcome.


COMPILATION OPTIONS:
~~~~~~~~~~~~~~~~~~~
hx:
CONFIG_BLINKING   - this makes nice colors with a mklinux console, very annoying with most others.
CONFIG_IGNORE     - if you want to use /ignore, -I
CONFIG_CRYPTO     - if you want to use /crypto, -c
HAVE_TERMCAP_H    - probably don't need to worry about this.

hxd:
CHAT_ONLY         - define to have a chat only server without file transer.
HAVE_D_NAMLEN     - define if your dirent structure has d_namlen.
HXD_UID, HXD_GID  - define to have hxd setuid() and setgid() to these.
CHROOT_DIR        - define to have hxd chroot() to CHROOT_DIR

edit src/include/config/*.h


PLATFORM SPECIFIC NOTES:
~~~~~~~~~~~~~~~~~~~~~~~
you may need to typedef u_int32_t, etc. in the config headers.
you may need to use the support library in src/support for snprintf.
MkLinux and perhaps some others need -lcrypt for crypt().
SunOS, Solaris may need -lsocket, -lnsl
Add these to the LIBS variable in src/hx/Makefile, src/hxd/Makefile.
the client does not use crypt().


INSTALLATION:
~~~~~~~~~~~~
if you just want to make the client:
edit src/include/config/hx.h, src/hx/Makefile
$ cd src/hx
$ make
if all goes well, the binary "hx" should created in src/hx.

edit src/include/config/*.h, changing FILES_DIR, ACCOUNTS_DIR, etc.
edit src/*/Makefile.
# cd src
# make
read the man pages in doc.
copy hxd_example/* to their correct places..that you specified in include/config/hxd.h
use hxacct to change the admin account's password. (defaults to "admin")
# hxacct admin pass
add user accounts.
example:
# hxacct joe +1 +30 +21 +23 +24 +25  [pass]
The above will create an account with login "joe", with the following access:
download, get userlist, read news, read chat, send chat, can use any name.
read hxd_example/help for a description of account's access.