Fixed issues with renamed module.

This commit is contained in:
2024-12-31 03:40:07 -07:00
parent b4e9727e8c
commit 974fa024a1
8 changed files with 39 additions and 35 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
<project version="4"> <project version="4">
<component name="ProjectModuleManager"> <component name="ProjectModuleManager">
<modules> <modules>
<module fileurl="file://$PROJECT_DIR$/.idea/opds-pse-server.iml" filepath="$PROJECT_DIR$/.idea/opds-pse-server.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/go-opds-pse.iml" filepath="$PROJECT_DIR$/.idea/go-opds-pse.iml" />
</modules> </modules>
</component> </component>
</project> </project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+15 -5
View File
@@ -3,28 +3,38 @@
A tiny lightweight OPDS server with PSE support. Mainly written for those using Panels on iOS. A tiny lightweight OPDS server with PSE support. Mainly written for those using Panels on iOS.
### Usage ### Usage
To use this, just download the [Latest Release](https://github.com/sclark-dev/go-opds-pse/releases/latest) and run it via terminal.
To use this, just download the [Latest Release](https://github.com/sclark-dev/go-opds-pse/releases/latest) and run it
via terminal.
```shell ```shell
go-opds-pse -m "./manga/" serve -p 8080 go-opds-pse -m "./manga/" serve -p 8080
``` ```
### Building ### Building
To build this you'll want the latest version of Go. Doesn't use any external libraries. To build this you'll want the latest version of Go. Doesn't use any external libraries.
### Attributions ### Attributions
Thanks to [dir2opds](https://github.com/dubyte/dir2opds) for the inspiration for this. Thanks to [dir2opds](https://github.com/dubyte/dir2opds) for the inspiration for this.
### FAQs ### FAQs
- Why Go? - Why Go?
Well, Go is just very memory efficient. Yes, writing this in something like C would be even better, but that's a pain. My choice for Go was a cross-platform server that can be run on embedded hardware for local access to your comic/manga collection. Well, Go is just very memory efficient. Yes, writing this in something like C would be even better, but that's a pain.
My choice for Go was a cross-platform server that can be run even on embedded hardware for local access to your
comic/manga collection.
- Is there a Web UI for this? - Is there a Web UI for this?
No. This is designed to be a very lightweight server and a UI would add a lot of bulk. However since this server just serves a basic OPDS feed, there should be plenty of clients available. Alas, the PSE support is kinda lacking. It seems like there just isn't much of a market for that. No. This is designed to be a very lightweight server and a UI would add a lot of bulk. However since this server just
serves a basic OPDS feed, there should be plenty of clients available. Alas, the PSE support is kinda lacking. It seems
like there just isn't much of a market for that.
- Does streaming use more bandwidth? - Does streaming use more bandwidth?
Not really. While CBZ files are compressed, *generally* the bandwidth saved by compressing JPGs and non-lossless PNGs is pretty minimal. In fact, I don' Not really. While CBZ files can be compressed, *generally* the bandwidth saved by compressing JPGs and non-lossless PNGs
t compress my CBZ files at all. The few hundred kilobytes it saves just isn't enough to justify the extra battery usage to decompress it on a mobile device. is pretty minimal. In fact, I don't compress my CBZ files at all. The few kilobytes it saves just isn't enough to
justify the extra battery usage to decompress it on a mobile device.
+1 -1
View File
@@ -5,8 +5,8 @@ import (
"github.com/gorilla/mux" "github.com/gorilla/mux"
"github.com/patrickmn/go-cache" "github.com/patrickmn/go-cache"
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
"go-opds-pse/app/routes"
"net/http" "net/http"
"opds-pse-server/app/routes"
"time" "time"
) )
+3 -3
View File
@@ -10,13 +10,13 @@ import (
"github.com/patrickmn/go-cache" "github.com/patrickmn/go-cache"
"github.com/samber/lo" "github.com/samber/lo"
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
"go-opds-pse/app/comicinfo"
"go-opds-pse/app/opds"
"go-opds-pse/app/utils"
"golang.org/x/tools/blog/atom" "golang.org/x/tools/blog/atom"
"io" "io"
"io/fs" "io/fs"
"net/http" "net/http"
"opds-pse-server/app/comicinfo"
"opds-pse-server/app/opds"
"opds-pse-server/app/utils"
"path/filepath" "path/filepath"
"slices" "slices"
"sort" "sort"
+6 -8
View File
@@ -1,23 +1,21 @@
module opds-pse-server module go-opds-pse
go 1.22.0 go 1.22.0
toolchain go1.22.4 toolchain go1.22.4
require ( require (
github.com/creasty/defaults v1.8.0
github.com/gorilla/mux v1.8.1 github.com/gorilla/mux v1.8.1
github.com/urfave/cli/v2 v2.27.4 github.com/patrickmn/go-cache v2.1.0+incompatible
github.com/samber/lo v1.47.0
github.com/urfave/cli/v2 v2.27.5
golang.org/x/tools v0.25.0 golang.org/x/tools v0.25.0
) )
require ( require (
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
github.com/creasty/defaults v1.8.0 // indirect
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/samber/lo v1.47.0 // indirect
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
golang.org/x/text v0.16.0 // indirect golang.org/x/text v0.16.0 // indirect
) )
+4 -14
View File
@@ -1,24 +1,14 @@
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM= github.com/creasty/defaults v1.8.0/go.mod h1:iGzKe6pbEHnpMPtfDXZEr0NVxWnPTjb1bbDy08fPzYM=
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq6+3iTQz8KNCLtVX6idSoTLdUw=
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc=
github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU=
github.com/urfave/cli/v2 v2.27.4 h1:o1owoI+02Eb+K107p27wEX9Bb8eqIoZCfLXloLUSWJ8= github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w=
github.com/urfave/cli/v2 v2.27.4/go.mod h1:m4QzxcD2qpra4z7WhzEGn74WZLViBnMpb1ToCAKdGRQ= github.com/urfave/cli/v2 v2.27.5/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ=
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg= golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
+2 -2
View File
@@ -2,9 +2,9 @@ package main
import ( import (
"github.com/urfave/cli/v2" "github.com/urfave/cli/v2"
"go-opds-pse/app/cmd"
"log" "log"
"mime" "mime"
"opds-pse-server/app/cmd"
"os" "os"
) )
@@ -14,7 +14,7 @@ func main() {
app := cli.NewApp() app := cli.NewApp()
app.Name = "go-opds-pse" app.Name = "go-opds-pse"
app.Usage = "A lightweight OPDS server with PSE support." app.Usage = "A lightweight OPDS server with PSE support."
app.Version = "0.0.1+dev" app.Version = "1.0.0+dev"
app.Flags = []cli.Flag{ app.Flags = []cli.Flag{
cmd.StringFlag("manga, m", "manga", "default manga folder"), cmd.StringFlag("manga, m", "manga", "default manga folder"),
} }