diff --git a/.idea/modules.xml b/.idea/modules.xml
index 2ab4dbb..bcac1d5 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,7 +2,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/README.md b/README.md
index a6ec698..6e41aaf 100644
--- a/README.md
+++ b/README.md
@@ -3,28 +3,38 @@
A tiny lightweight OPDS server with PSE support. Mainly written for those using Panels on iOS.
### 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
go-opds-pse -m "./manga/" serve -p 8080
```
### Building
+
To build this you'll want the latest version of Go. Doesn't use any external libraries.
### Attributions
+
Thanks to [dir2opds](https://github.com/dubyte/dir2opds) for the inspiration for this.
### FAQs
+
- 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?
-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?
-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'
-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.
\ No newline at end of file
+Not really. While CBZ files can be compressed, *generally* the bandwidth saved by compressing JPGs and non-lossless PNGs
+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.
\ No newline at end of file
diff --git a/app/cmd/serve.go b/app/cmd/serve.go
index 74d3ab2..ecc4cd7 100644
--- a/app/cmd/serve.go
+++ b/app/cmd/serve.go
@@ -5,8 +5,8 @@ import (
"github.com/gorilla/mux"
"github.com/patrickmn/go-cache"
"github.com/urfave/cli/v2"
+ "go-opds-pse/app/routes"
"net/http"
- "opds-pse-server/app/routes"
"time"
)
diff --git a/app/routes/routes.go b/app/routes/routes.go
index 47c583c..f9a66e0 100644
--- a/app/routes/routes.go
+++ b/app/routes/routes.go
@@ -10,13 +10,13 @@ import (
"github.com/patrickmn/go-cache"
"github.com/samber/lo"
"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"
"io"
"io/fs"
"net/http"
- "opds-pse-server/app/comicinfo"
- "opds-pse-server/app/opds"
- "opds-pse-server/app/utils"
"path/filepath"
"slices"
"sort"
diff --git a/go.mod b/go.mod
index f8653df..40ba77a 100644
--- a/go.mod
+++ b/go.mod
@@ -1,23 +1,21 @@
-module opds-pse-server
+module go-opds-pse
go 1.22.0
toolchain go1.22.4
require (
+ github.com/creasty/defaults v1.8.0
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
)
require (
- github.com/cpuguy83/go-md2man/v2 v2.0.4 // 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/cpuguy83/go-md2man/v2 v2.0.5 // 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
golang.org/x/text v0.16.0 // indirect
)
diff --git a/go.sum b/go.sum
index 10da15c..af2822e 100644
--- a/go.sum
+++ b/go.sum
@@ -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.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/creasty/defaults v1.8.0 h1:z27FJxCAa0JKt3utc0sCImAEb+spPucmKoOdLHvHYKk=
+github.com/cpuguy83/go-md2man/v2 v2.0.5 h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
+github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
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/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/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/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc=
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.4/go.mod h1:m4QzxcD2qpra4z7WhzEGn74WZLViBnMpb1ToCAKdGRQ=
+github.com/urfave/cli/v2 v2.27.5 h1:WoHEJLdsXr6dDWoJgMq/CboDmyY/8HMMH1fTECbih+w=
+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/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/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=
diff --git a/main.go b/main.go
index 46c66bc..76ea996 100644
--- a/main.go
+++ b/main.go
@@ -2,9 +2,9 @@ package main
import (
"github.com/urfave/cli/v2"
+ "go-opds-pse/app/cmd"
"log"
"mime"
- "opds-pse-server/app/cmd"
"os"
)
@@ -14,7 +14,7 @@ func main() {
app := cli.NewApp()
app.Name = "go-opds-pse"
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{
cmd.StringFlag("manga, m", "manga", "default manga folder"),
}