X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/69fceb2e93085a005c7e677a3bf6c1ddeba123aa..95159e5585762c06c654945070ba54262b7dcec9:/README.md diff --git a/README.md b/README.md index 1c486a4..fc73a15 100644 --- a/README.md +++ b/README.md @@ -1,49 +1,78 @@ + + + + Mobius Logo + + # Mobius -Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) server, client, and library developed in Golang. +Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) client and server implemented in Golang. + +The goal of Mobius server is to make it simple to run a Hotline server on macOS, Linux, and Windows, with full compatibility for all popular Hotline clients. + +The goal of the Mobius client is to make it fun and easy to connect to multiple Hotline servers through a [cool retro terminal UI](https://github.com/jhalter/mobius/wiki/Mobius-Client-Screenshot-Gallery). + +## Getting started + +### Docker + +If you run Docker, you can quickly try out the Mobius server with the official image from Docker hub: -The project aims to support Hotline functionality from versions v1.2.3 and >v1.5 (e.g. threaded news and folder transfers). + docker run --pull=always --rm -p 5500:5500 -p 5501:5501 jhalter/mobius-hotline-server:latest -## Project status +This will start the Mobius server with the Hotline ports 5500 and 5501 exposed on localhost using a default configuration from the image. -### Server +To edit the configuration and serve files from your host OS, include the `-v` option to setup a Docker [bind mount](https://docs.docker.com/storage/bind-mounts/): -* Near feature complete + export HLFILES=/Users/foo/HotlineFiles # + docker run --rm -p 5500:5500 -p 5501:5501 -v $HLFILES:/usr/local/var/mobius/config jhalter/mobius-hotline-server:latest -init -### Client +You'll now find a configuration directory on your host OS populated with a default configuration: -* Early stage with functionality for chat and news posting only +``` +❯ ls -al $HLFILES +total 32 +drwxr-xr-x 8 jhalter staff 256 Jun 12 17:11 . +drwxr-x---+ 49 jhalter staff 1568 Jun 12 17:11 .. +-rw-r--r-- 1 jhalter staff 38 Jun 12 17:11 Agreement.txt +drwxr-xr-x 3 jhalter staff 96 Jun 12 17:11 Files +-rw-r--r-- 1 jhalter staff 19 Jun 12 17:11 MessageBoard.txt +-rw-r--r-- 1 jhalter staff 15 Jun 12 17:11 ThreadedNews.yaml +drwxr-xr-x 4 jhalter staff 128 Jun 12 17:11 Users +-rw-r--r-- 1 jhalter staff 313 Jun 12 17:11 config.yaml +``` + +Edit `config.yaml` to get started personalizing your server. -# Getting started ### Mac OS -For Mac OS the easiest path to installation is to install through Homebrew. +For Mac OS the easiest path to installation is through Homebrew. #### Client - brew install jhalter/mobius-hotline-client/mobius-hotline-client - -After installation `mobius-hotline-client` installed to `/usr/local/bin/mobius-hotline-client` and should be in your $PATH. +To install the client: -The client config file is in `/usr/local/etc/mobius-client-config.yaml` + brew install jhalter/mobius-hotline-client/mobius-hotline-client -Run `mobius-hotline-client -help` for usage options. +Then run `mobius-hotline-client` to get started. #### Server - brew install jhalter/mobius-hotline-client/mobius-hotline-client +To install the server: + + brew install jhalter/mobius-hotline-server/mobius-hotline-server -After installation `mobius-hotline-server` installed to `/usr/local/bin/mobius-hotline-server` and should be in your $PATH. +After installation `mobius-hotline-server` will be installed at `$HOMEBREW_PREFIX/bin/mobius-hotline-server` and should be in your $PATH. -The server config file directory is under `/usr/local/var/mobius` which by default contains: +The server config file directory is under `$HOMEBREW_PREFIX/var/mobius` which by default contains: - /usr/local/var/mobius/config/MessageBoard.txt - /usr/local/var/mobius/config/config.yaml - /usr/local/var/mobius/config/ThreadedNews.yaml - /usr/local/var/mobius/config/Agreement.txt - /usr/local/var/mobius/config/Users/guest.yaml - /usr/local/var/mobius/config/Users/admin.yaml + /opt/homebrew/mobius/config/MessageBoard.txt + /opt/homebrew/var/mobius/config/config.yaml + /opt/homebrew/var/mobius/config/ThreadedNews.yaml + /opt/homebrew/var/mobius/config/Agreement.txt + /opt/homebrew/var/mobius/config/Users/guest.yaml + /opt/homebrew/var/mobius/config/Users/admin.yaml Edit `/usr/local/var/mobius/config/config.yaml` to change your server name and other settings. @@ -53,56 +82,16 @@ Run `mobius-hotline-server -help` for usage options. ### Linux -Download a compiled release for your architecture from the Releases page +Download a compiled release for your architecture from the Releases page or follow build from source instructions ### Windows TODO - ### Build from source To build from source, run: - make build-client - make build-server - -## Usage - -### Precompiled binaries -To get started quickly, download the precompiled binaries for your platform: - -* [Linux]() -* [Mac OS X]() - -## Compatibility - - - -# TODO - -* Implement 1.5+ protocol account editing -* Implement folder transfer resume -* Implement file transfer queuing -* Map additional file extensions to file type and creator codes -* Implement file comment read/write -* Implement user banning -* Implement Maximum Simultaneous Downloads -* Maximum simultaneous downloads/client -* Maximum simultaneous connections/IP -* Implement server broadcast -* Implement statistics: - * Currently Connected - * Downloads in progress - * Uploads in progress - * Waiting Downloads - * Connection Peak - * Connection Counter - * Download Counter - * Upload Counter - * Since - - -# TODO - Someday Maybe + make all -* Implement Pitbull protocol extensions \ No newline at end of file +Then grab your desired build from `dist`