The source code of the main nonshy.com website. https://www.nonshy.com
Go to file
Noah 030fadcf8d Block Lists
Implement block lists. They work like friend lists but are unidirectional,
but take effect in both directions (blocker and blockee can not see one
another on the site -- except admin users can always see all users).

* Profile page says 404
* User gallery says 404
* User search page filters out blocked users
* Compose endpoint blocks sending messages to blocked users (except admin)
* Site Gallery filters photos by blocked (and uncertified) users
* Inbox page hides chat list for blocked users (can still read the chat
  history if you have a link to the old thread)
2022-08-14 17:45:55 -07:00
cmd/gosocial User Profile and Settings Pages 2022-08-10 20:59:59 -07:00
pkg Block Lists 2022-08-14 17:45:55 -07:00
web Block Lists 2022-08-14 17:45:55 -07:00
.gitignore Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
go.mod Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
go.sum Photo Upload & Profile Pictures 2022-08-11 23:04:08 -07:00
Makefile User Profile and Settings Pages 2022-08-10 20:59:59 -07:00
README.md Initial commit 2022-08-09 22:32:19 -07:00

gosocial

Building

Use the Makefile:

  • make setup: install Go dependencies
  • make build: builds the program to ./gosocial
  • make run: run the app from Go sources in debug mode

Configuring

On first run it will generate a settings.json file in the current working directory (which is intended to be the root of the git clone, with the ./web folder). Edit it to configure mail settings or choose a database.

For simple local development, just set "UseSQLite": true and the app will run with a SQLite database.

Usage

The gosocial binary has sub-commands to either run the web server or perform maintenance tasks such as creating admin user accounts.

Run gosocial --help for its documentation.

Run gosocial web to start the web server.

Create Admin User Accounts

Use the gosocial user add command like so:

$ gosocial user add --admin \
  --email name@domain.com \
  --password secret \
  --username admin

Shorthand options -e, -p and -u can work in place of the longer options --email, --password and --username respectively.

License

GPLv2.