Images, fixed "data" path

This commit is contained in:
Harvey Tindall 2020-08-02 02:11:50 +01:00
parent 94b8495f02
commit c72e1a1c63
12 changed files with 673 additions and 9 deletions

View File

@ -5,7 +5,7 @@ release:
github:
owner: hrfee
name: jfa-go
name_template: "v{{.Version}} {{.Env.USER}}"
name_template: "v{{.Version}}"
before:
hooks:
# You may remove this if you don't use go modules.
@ -36,7 +36,7 @@ archives:
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ .Tag }}-next"
name_template: "{{ .Tag }}-testing"
changelog:
sort: asc
filters:

View File

@ -1,6 +1,24 @@
# jfa-go
# ![jfa-go](images/jfa-go-banner-wide.svg)
A rewrite of [jellyfin-accounts](https://github.com/hrfee/jellyfin-accounts) in Go. Should be fully functional, and functions the same as jf-accounts. To switch, copy your existing `~/.jf-accounts` to:
A rewrite of [jellyfin-accounts](https://github.com/hrfee/jellyfin-accounts) in Go. It has feature parity with the Python version, but should be faster.
#### Install/usage
Grab an archive from the release section for your platform, and extract `jfa-go` and `data` to the same directory.
Run the executable to start.
```
Usage of ./jfa-go:
-config string
alternate path to config file. (default "~/.config/jfa-go/config.ini")
-data string
alternate path to data directory. (default "~/.config/jfa-go")
-host string
alternate address to host web ui on.
-port int
alternate port to host web ui on.
```
To switch from jf-accounts, copy your existing `~/.jf-accounts` to:
* `XDG_CONFIG_DIR/jfa-go` (usually ~/.config) on \*nix systems,
* `%AppData%/jfa-go` on Windows,
@ -8,4 +26,4 @@ A rewrite of [jellyfin-accounts](https://github.com/hrfee/jellyfin-accounts) in
(*or specify config/data path with `-config/-data` respectively.*)
Suggestions and help welcome.
This is the first time i've even touched Go, and the code is a mess, so help is very welcome.

6
images/README.md Normal file
View File

@ -0,0 +1,6 @@
# Images
This holds any images on the main README, and the base files for the icons and banner. The font used, like Jellyfin, is [Quicksand](https://fonts.google.com/specimen/Quicksand) by Andrew Paglinawan.
"Go" text logo and Gopher image: Copyright 2018 The Go Authors. All rights reserved.
https://creativecommons.org/licenses/by/3.0/legalcode

BIN
images/admin.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
images/create.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 56 KiB

BIN
images/jfa-go-icon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

22
images/jfa-go-icon.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 113 KiB

BIN
images/jfa-go-social.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

337
images/jfa-go-social.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 59 KiB

BIN
images/jfa.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@ -93,7 +93,8 @@ func main() {
userConfigDir, _ := os.UserConfigDir()
ctx.data_path = filepath.Join(userConfigDir, "jfa-go")
ctx.config_path = filepath.Join(ctx.data_path, "config.ini")
ctx.local_path = "data"
executable, _ := os.Executable()
ctx.local_path = filepath.Join(filepath.Dir(executable), "data")
ctx.info = log.New(os.Stdout, "[INFO] ", log.Ltime)
ctx.err = log.New(os.Stdout, "[ERROR] ", log.Ltime|log.Lshortfile)
@ -285,15 +286,15 @@ func main() {
setGinLogger(router, debugMode)
router.Use(gin.Recovery())
router.Use(static.Serve("/", static.LocalFile("data/static", false)))
router.LoadHTMLGlob("data/templates/*")
router.Use(static.Serve("/", static.LocalFile(filepath.Join(ctx.local_path, "static"), false)))
router.LoadHTMLGlob(filepath.Join(ctx.local_path, "templates", "*"))
router.NoRoute(ctx.NoRouteHandler)
if !firstRun {
router.GET("/", ctx.AdminPage)
router.GET("/getToken", ctx.GetToken)
router.POST("/newUser", ctx.NewUser)
router.GET("/invite/:invCode", ctx.InviteProxy)
router.Use(static.Serve("/invite/", static.LocalFile("data/static", false)))
router.Use(static.Serve("/invite/", static.LocalFile(filepath.Join(ctx.local_path, "static"), false)))
api := router.Group("/", ctx.webAuth())
api.POST("/generateInvite", ctx.GenerateInvite)
api.GET("/getInvites", ctx.GetInvites)