/ .. / / -> download
    - phtools
    - Bash
    - core utils


    These are a set of utilities which 1436chan uses to create
    dynamic menu content. They can be downloaded at:



    1436chan has so far been developed/tested exclusively on the
    Bucktooth gopher server. As long as a gopher server has support
    for the following features, it should work without issue:

    - Executable scripts ("moles")
    - "gophermap" files which are executable scripts


    1. Extract chan.tar.gz to the folder that will be the root of
   your chan

    2. Run sh setup.sh

    You can use the -quick flag (sh setup.sh -quick) to skip the
    setup prompts and select all defaults. This is particularly
    useful when upgrading (setup.sh will use your existing
    configuration as the defaults).


    Running sh setup.sh will prompt you for several options,
    which are stored in params.sh. This section outlines what
    each of these options means:

      This is the hostname of the Gopher server that the board is
      running on.

      This is the port of the Gopher server that the board is
      running on.

        This is the root selector of your board.

        The maximum number of threads allowed on the board. When
        MAX_THREADS threads already exist and a user creates a
        new thread, the oldest thread (in terms of last updated)
        is either archived or deleted (see ENABLE_ARCHIVE below).

        The maximum characters allowed in a thread
        title. Additional characters are truncated.

        The maximum number of posts allowed in a thread. When
        MAX_POSTS posts already exist, users will be unable to
        add more posts to a thread. If this is 0, there is no
        limit to the number of posts allowed.

        The maximum characters allowed in a post. Additional
        characters are truncated.

        Either 'y' or 'n'. If 'y', then old threads are preserved
        instead of deleted when MAX_THREADS is reached. They will
        be listed in a special "Archive" section instead of the
        main menu. Otherwise, old threads are permanently deleted.

        The format for displaying the date on posts and threads.

        Either 'y' or 'n'. If 'y', then threads with 0 posts
        are shown on the main menu of the board. Otherwise, such
        empty threads are hidden until they have at least 1 post.

        Up to LAST_POSTS posts are shown under each thread on
        the main menu.

        Maximum size of an upload in bytes. If this is > 0 then users
        are allowed to reply with 'uploaded' files.

        If this is 0, then uploads are disabled.

        Allow  users to provide a URL to a file which the server
        downloads to the respective thread directory and then posts a
        link to it in said thread.

        [WARNING]: This means your server may connect to and download
        from other arbitrary servers. If you are concerned about
        what connections you make or what kinds of files you are
        storing on your server, disable this!

        Maximum dimensions of an uploaded image (WxH). Leave blank
        to disable.

        Directory where extra data will be stored. Should be a
        directory outside the gopher server root but with the same
        permissions as CHAN_ROOT.

        Number of seconds within which a user may delete their own
        post. Set to 0 to disable this feature.

        Maximum number of feed items in the RSS feed. Set to 0 to
        disable the RSS feed entirely.

        Number of seconds of cooldown time between posting/creating
        new threads. Set to 0 to disable this feature.

        Directory where salts used to generate tripcodes/post IDs
        will be stored. Should be a directory outside the gopher
        server root but with the same permissions as CHAN_ROOT.
        Multiple boards may point to the same SALT_DIR to synchronize
        tripcodes/post IDs across boards.

        Either 'y' or 'n'. If 'y', posts are given a post ID based
        on the IP address of the poster.


    The Administrator utility provides a simple menu for performing
    common tasks. To use it, run:
        sh admin.sh

    and follow the prompts. The individual scripts this menu calls
    are described below as well.


    To delete a thread (from the root folder):

        sh deletethread.sh <thread>

    where <thread> is the thread number (##) of the thread.

    To delete a post (from the root folder):

       sh deletepost.sh <post>

    where <post> is the post number (#) of the post.


    Create or edit the 'motd' file to add a message of the day
    to the top of the board.

    Lines in the motd file without TAB characters are turned in
    to inline text (type i), e.g. the line:
        Hello world!
    will become:
        iHello world!<TAB>fake<TAB>(NULL)<TAB>0<CR><LF>
    Otherwise they are interpreted as Gopher links, e.g.:
        IA picture<TAB>/pic<TAB>host<TAB>port


    Stickies appear at the top of the board (in order of last
    update) marked by the prefix [sticky]. Unlike threads stickies
    will never be deleted or archived unless done so manually by
    an administrator. The administrator can create new stickies or
    turn existing threads in to stickies using the scripts below:

  sh newsticky.sh <title>
      Creates a new open sticky titled <title>. Open stickies
      can still be replied to by anyone.

  sh newrosticky.sh <title>
      Creates a new read-only (closed) sticky titled
      <title>. Closed stickies can only be replied to by an

  sh makesticky.sh <directory>
      Turns an existing thread in to an open sticky.

  sh makerosticky.sh <directory>
      Turns an existing thread in to a closed sticky.

  rm -r sticky_<...>
      Deletes the sticky with id <...>. Alternatively use
      sh deletethread.sh <##> where ## is the thread number
      of the sticky.

  sh post.sh sticky_<...>
      Add a post to the sticky with id <...>.


  There is no built-in feature for this, but if you wish to have
  multiple boards (representing certain subjects for discussion
  perhaps) you may simply create a parent directory for the overall
  "chan" and then perform the INSTALLING/UPGRADING procedure in
  multiple subdirectories, one for each board. Finally, create
  your own gophermap in the parent directory to customise the
  list of boards.


  If you need multiple users to have write permissions to your chan
  (for example, when using Bucky running as a different user than the
  one running the Gopher server), it is recommended you create a
  group for these users and give group ownership to the chan
  directory. For example:

      chgrp -R 1436chan /var/gopher/chan

  will set group ownership of your chan folder to '1436chan'. Then:

      usermod -aG server 1436chan
      usermod -aG bucky 1436chan

  now both server (the user running the Gopher server) and bucky can

  After modifying permissions, run:
      sh setup.sh

/ gopher://khzae.net/0/chan/README
Styles: Light Dark Classic