A web interface to an NMDC hub https://code.ivysaur.me/nmdc-webfrontend/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mappu 3d9fdc8669 doc: update README 11 months ago
client build: replace IIFEMODE/sed with cat in makefile 2 years ago
vendor build: remove dep meta files, readd vendor directory 11 months ago
.gitignore vendor: commit existing golang vendor directory 11 months ago
Config.go config: hub.port is optional, allow putting full URL in hub.address field 2 years ago
Makefile build: remove Dep references in Makefile 11 months ago
README.md doc: update README 11 months ago
bindata.go regenerate bindata.go 2 years ago
go.mod build: convert to Go Modules 11 months ago
go.sum build: convert to Go Modules 11 months ago
main.go config: hub.port is optional, allow putting full URL in hub.address field 2 years ago
nmdc-webfrontend.conf.SAMPLE modernise the sample configuration file 2 years ago



A web interface to an NMDC/ADC hub.

Chat in real-time on your NMDC/ADC hub using a web browser.

Relationship to other projects

This project forks and deprecates my earlier dcwebui2 project since Go seems to use less memory than node.

This project supercedes dcwebui, flexdc, and dcwebui2.

Upgrading from dcwebui2

  • The configuration file content is identical between nmdc-webfrontend 1.0.0 and dcwebui2 1.3.0, but please now ensure it’s valid JSON instead of arbitrary javascript. This means no assignment, use double-quoted strings, and no comments.
  • Future changes to the configuration file since nmdc-webfrontend 1.0.0 are backward compatible (see the changelog for more details).


  1. Install Go (>= 1.11), Node.js, NPM, and 7-Zip (p7zip-full on Debian)
  2. Download the source code
    • git clone https://git.ivysaur.me/code.ivysaur.me/nmdc-webfrontend.git; or
    • go get code.ivysaur.me/nmdc-webfrontend ; or
    • download and extract a source archive
  3. Install dependencies: sudo make deps
  4. Build: make
  5. Optional: Set web.external_webroot: true in the config file for unminified development


2017-11-26 1.3.0

  • Update libnmdc to 0.16 (adds ADC hub support)
  • Configuration: The hub.port property is now optional. You can specify a full URI in the hub.address property instead.

2017-11-14 1.2.3

  • Update libnmdc to 0.15

2017-10-28 1.2.2

  • Enhancement: Simplify build process
  • Fix an issue with closing PM tabs

2017-10-16 1.2.1

  • Enhancement: Increase scrollback buffer size
  • Fix an issue with missing contented upload link once logged in
  • Fix a cosmetic issue with (0) appearing in page title

2017-10-15 1.2.0

  • Feature: Add contented integration (set app.contented_server in config file)
  • Fix a cosmetic issue with the menu icon on devices without unicode font coverage

2017-02-11 1.1.4

  • Update libnmdc to 0.14

2017-02-11 1.1.3

  • Feature: Display user IP address on hover, if available
  • Enhancement: Allow clicking on popup notifications
  • Enhancement: Only show ‘popups enabled’ notification when enabling for the first time, not persistent page load
  • Update libnmdc to 0.13
  • Fix a cosmetic issue with not displaying non-zero user share sizes

2017-02-06 1.1.2

  • Autodetect ‘extern’, no need to include it in config files
  • Enhancement: Remove redundant request, for a faster page load
  • Display server version number in log file and in response headers
  • Fix a cosmetic issue with spacing around user count in page title

2017-02-06 1.1.1

  • Fix an issue with malformed content in minified build

2017-02-06 1.1.0

  • Feature: Remember last username/password for login; remember last “show joins/parts” status
  • Feature: Display user details on hover (description, email, client tag, share size)
  • Feature: Optional desktop notifications for background PMs (not possible in incognito)
  • Feature: Automatically reconnect with the same username/password if connection was lost
  • Feature: Re-enter last message (Ctrl+Up, Ctrl+Down)
  • Feature: Set custom date/time format (Minutes, Seconds, Full), remembered for next session
  • Feature: Clickable magnet links
  • Feature: Display unread main-chat message count in the page title if the window is inactive
  • Feature: Add warning message when closing tab while still connected (optional preference, disabled by default, will be remembered).
  • Feature: Admin option to load a custom favicon (set web.custom_favicon=true and place a favicon.ico in the current directory)
  • Feature: Admin option to use external web resources (set web.external_webroot=true and use the /client/ directory)
  • Enhancement: Higher resolution favicon
  • Enhancement: Display operators in green in the user list
  • Enhancement: Enable spellcheck for text input once logged in
  • Enhancement: Prevent sending referrer to remote URLs
  • Enhancement: Display joins/parts and connection/disconnection messages in PM tabs
  • Enhancement: Support Shift+Tab to autocomplete backward
  • Enhancement: Support unread status for the main tab
  • Enhancement: Improve page load time via minification
  • Remove unused options from the config file
  • Update socket.io to 1.7.2
  • Update libnmdc to 0.12
  • Add margin between bottom of the text area and the text input box
  • Fix a cosmetic issue with collapsing consecutive spaces in posted messages
  • Fix a cosmetic issue with text size adjustment on mobile devices
  • Fix a cosmetic issue with clearing the screen on reconnection
  • Fix a cosmetic issue with not clearing the userlist on certain types of network error
  • Fix a cosmetic issue with closed PM tabs reappearing in some cases
  • Fix a cosmetic issue with marking all PM tabs as read when switching to a single one

2016-11-29 1.0.2

  • Rebuild with libnmdc 0.11
  • Fix an issue with not setting a version in the client tag

2016-10-08 1.0.1

  • Fix an issue with backward compatibility with dcwebui2 configuration file format

2016-10-08 1.0.0

  • Port dcwebui2 from Node.js (Javascript) to Go
  • Fix a cosmetic issue with not clearing userlist on disconnection