API for our pubnix
Go to file
Arya 625a05a2a5 Merge pull request 'add error handling for reading configuration' (#1) from odyseusz/publapi:master into master
Reviewed-on: #1
Reviewed-by: Arya <arya@projectsegfau.lt>
Reviewed-by: midou <midou@midou.dev>
2024-11-04 20:20:28 +05:30
examples send user email once registration is sent 2023-02-05 19:00:47 +05:30
pages Add file-size limit 2024-10-06 16:24:46 +02:00
utils minor cleanups 2024-09-29 12:29:59 +02:00
.gitignore remove binary wtf 2023-01-07 19:16:48 +01:00
go.mod seems like 1.22+ was required 2024-10-09 21:24:29 +02:00
go.sum seems like 1.22+ was required 2024-10-09 21:24:29 +02:00
LICENSE Arya fix it 2023-01-07 16:33:51 +01:00
main.go try fixing ip issue 2023-02-18 10:24:36 +01:00
publapi.env specify rooms 2023-10-17 11:38:32 +05:30
README.md seems like 1.22+ was required 2024-10-09 21:24:29 +02:00

PublAPI

Go Version License Matrix

PublAPI is a simple API for Project Segfault's upcoming public shared system (pubnix).

Install

An installation of Go 1.22+ is required.

git clone https://github.com/ProjectSegfault/publapi
go mod download 
go build 
./publapi

By default publapi listens on 127.0.0.1:3000. You can change the port with the environment variable PUBLAPI_PORT.

Additionally, you need to set the variable PUBLAPI_EMAIL_SHOUTRRRURL and PUBLAPI_NOTIFY_SHOUTRRRURL in order for signup notifications to work. URL Format can be found at https://containrrr.dev/shoutrrr/v0.5.

You can also set PUBLAPI_SIGNUP_IP to make sure signup requests can only be made from one IP.

Usage

Currently, PublAPI has only two routes, /users and /signup.

ROUTE TYPE EXTRA ARGS DESCRIPTION
/users GET N/A Return information about users.
/signup POST username, email, ssh Creates a register script and notifies admins that a new registration request was sent.