Migrate to Codeberg
This commit is contained in:
parent
0ced56a155
commit
29bdc1aa45
|
@ -1,2 +0,0 @@
|
||||||
[b4]
|
|
||||||
send-series-to = ~emersion/soju-dev@lists.sr.ht
|
|
|
@ -4,7 +4,7 @@ packages:
|
||||||
- scdoc
|
- scdoc
|
||||||
- postgresql
|
- postgresql
|
||||||
sources:
|
sources:
|
||||||
- https://git.sr.ht/~emersion/soju
|
- https://codeberg.org/emersion/soju.git
|
||||||
tasks:
|
tasks:
|
||||||
- build: |
|
- build: |
|
||||||
cd soju
|
cd soju
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -11,8 +11,8 @@ RUNDIR ?= /run
|
||||||
sharedstatedir := /var/lib
|
sharedstatedir := /var/lib
|
||||||
config_path := $(SYSCONFDIR)/soju/config
|
config_path := $(SYSCONFDIR)/soju/config
|
||||||
admin_socket_path := $(RUNDIR)/soju/admin
|
admin_socket_path := $(RUNDIR)/soju/admin
|
||||||
goldflags := -X 'git.sr.ht/~emersion/soju/config.DefaultPath=$(config_path)' \
|
goldflags := -X 'codeberg.org/emersion/soju/config.DefaultPath=$(config_path)' \
|
||||||
-X 'git.sr.ht/~emersion/soju/config.DefaultUnixAdminPath=$(admin_socket_path)'
|
-X 'codeberg.org/emersion/soju/config.DefaultUnixAdminPath=$(admin_socket_path)'
|
||||||
goflags := $(GOFLAGS) -ldflags="$(goldflags)"
|
goflags := $(GOFLAGS) -ldflags="$(goldflags)"
|
||||||
commands := soju sojuctl sojudb
|
commands := soju sojuctl sojudb
|
||||||
man_pages := doc/soju.1 doc/sojuctl.1
|
man_pages := doc/soju.1 doc/sojuctl.1
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
# [soju]
|
# [soju]
|
||||||
|
|
||||||
[![builds.sr.ht status](https://builds.sr.ht/~emersion/soju/commits/master.svg)](https://builds.sr.ht/~emersion/soju/commits/master?)
|
|
||||||
|
|
||||||
soju is a user-friendly IRC bouncer. soju connects to upstream IRC servers on
|
soju is a user-friendly IRC bouncer. soju connects to upstream IRC servers on
|
||||||
behalf of the user to provide extra functionality. soju supports many features
|
behalf of the user to provide extra functionality. soju supports many features
|
||||||
such as multiple users, numerous [IRCv3] extensions, chat history playback and
|
such as multiple users, numerous [IRCv3] extensions, chat history playback and
|
||||||
|
@ -35,8 +33,8 @@ build with PAM authentication support, set `GOFLAGS="-tags=pam"`.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Send patches on the [mailing list] or on [GitHub], report bugs on the
|
Send patches on [Codeberg] or on [GitHub], report bugs on the [issue tracker].
|
||||||
[issue tracker]. Discuss in [#soju on Libera Chat][IRC channel].
|
Discuss in [#soju on Libera Chat][IRC channel].
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
@ -47,7 +45,7 @@ Copyright (C) 2020 The soju Contributors
|
||||||
[soju]: https://soju.im
|
[soju]: https://soju.im
|
||||||
[Getting started]: doc/getting-started.md
|
[Getting started]: doc/getting-started.md
|
||||||
[Man page]: https://soju.im/doc/soju.1.html
|
[Man page]: https://soju.im/doc/soju.1.html
|
||||||
[mailing list]: https://lists.sr.ht/~emersion/soju-dev
|
[Codeberg]: https://codeberg.org/emersion/soju
|
||||||
[GitHub]: https://github.com/emersion/soju
|
[GitHub]: https://github.com/emersion/soju
|
||||||
[issue tracker]: https://todo.sr.ht/~emersion/soju
|
[issue tracker]: https://todo.sr.ht/~emersion/soju
|
||||||
[IRC channel]: ircs://irc.libera.chat/#soju
|
[IRC channel]: ircs://irc.libera.chat/#soju
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Authenticator interface{}
|
type Authenticator interface{}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
type internal struct{}
|
type internal struct{}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
type oauth2 struct {
|
type oauth2 struct {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
|
|
||||||
"github.com/msteinert/pam/v2"
|
"github.com/msteinert/pam/v2"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
type pamAuth struct{}
|
type pamAuth struct{}
|
||||||
|
|
|
@ -22,12 +22,12 @@ import (
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
"github.com/prometheus/client_golang/prometheus/promhttp"
|
"github.com/prometheus/client_golang/prometheus/promhttp"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju"
|
"codeberg.org/emersion/soju"
|
||||||
"git.sr.ht/~emersion/soju/auth"
|
"codeberg.org/emersion/soju/auth"
|
||||||
"git.sr.ht/~emersion/soju/config"
|
"codeberg.org/emersion/soju/config"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/fileupload"
|
"codeberg.org/emersion/soju/fileupload"
|
||||||
"git.sr.ht/~emersion/soju/identd"
|
"codeberg.org/emersion/soju/identd"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TCP keep-alive interval for downstream TCP connections
|
// TCP keep-alive interval for downstream TCP connections
|
||||||
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/config"
|
"codeberg.org/emersion/soju/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
const usage = `usage: sojuctl [-config path] <command>
|
const usage = `usage: sojuctl [-config path] <command>
|
||||||
|
|
|
@ -11,8 +11,8 @@ import (
|
||||||
|
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
"golang.org/x/crypto/ssh/terminal"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/config"
|
"codeberg.org/emersion/soju/config"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const usage = `usage: sojudb [-config path] <action> [options...]
|
const usage = `usage: sojudb [-config path] <action> [options...]
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const usage = `usage: migrate-db <source database> <destination database>
|
const usage = `usage: migrate-db <source database> <destination database>
|
||||||
|
|
|
@ -14,9 +14,9 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/msgstore"
|
"codeberg.org/emersion/soju/msgstore"
|
||||||
"git.sr.ht/~emersion/soju/msgstore/znclog"
|
"codeberg.org/emersion/soju/msgstore/znclog"
|
||||||
)
|
)
|
||||||
|
|
||||||
const usage = `usage: migrate-logs <source logs> <destination database>
|
const usage = `usage: migrate-logs <source logs> <destination database>
|
||||||
|
|
|
@ -12,8 +12,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/config"
|
"codeberg.org/emersion/soju/config"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const usage = `usage: znc-import [options...] <znc config path>
|
const usage = `usage: znc-import [options...] <znc config path>
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
promcollectors "github.com/prometheus/client_golang/prometheus/collectors"
|
promcollectors "github.com/prometheus/client_golang/prometheus/collectors"
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
promcollectors "github.com/prometheus/client_golang/prometheus/collectors"
|
promcollectors "github.com/prometheus/client_golang/prometheus/collectors"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
|
@ -556,7 +556,7 @@ character.
|
||||||
|
|
||||||
Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
|
Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
|
||||||
open-source contributors. For more information about soju development, see
|
open-source contributors. For more information about soju development, see
|
||||||
<https://sr.ht/~emersion/soju>.
|
<https://soju.im>.
|
||||||
|
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ file. sojuctl needs to be run with write permissions on the soju admin socket.
|
||||||
|
|
||||||
Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
|
Maintained by Simon Ser <contact@emersion.fr>, who is assisted by other
|
||||||
open-source contributors. For more information about soju development, see
|
open-source contributors. For more information about soju development, see
|
||||||
<https://sr.ht/~emersion/soju>.
|
<https://soju.im>.
|
||||||
|
|
||||||
# SEE ALSO
|
# SEE ALSO
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,10 @@ import (
|
||||||
"github.com/emersion/go-sasl"
|
"github.com/emersion/go-sasl"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/auth"
|
"codeberg.org/emersion/soju/auth"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/msgstore"
|
"codeberg.org/emersion/soju/msgstore"
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ircError struct {
|
type ircError struct {
|
||||||
|
|
|
@ -12,8 +12,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/auth"
|
"codeberg.org/emersion/soju/auth"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const maxSize = 50 * 1024 * 1024 // 50 MiB
|
const maxSize = 50 * 1024 * 1024 // 50 MiB
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -1,4 +1,4 @@
|
||||||
module git.sr.ht/~emersion/soju
|
module codeberg.org/emersion/soju
|
||||||
|
|
||||||
go 1.19
|
go 1.19
|
||||||
|
|
||||||
|
|
2
irc.go
2
irc.go
|
@ -9,7 +9,7 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TODO: generalize and move helpers to the xirc package
|
// TODO: generalize and move helpers to the xirc package
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~sircmpwn/go-bare"
|
"git.sr.ht/~sircmpwn/go-bare"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
)
|
)
|
||||||
|
|
|
@ -14,9 +14,9 @@ import (
|
||||||
"git.sr.ht/~sircmpwn/go-bare"
|
"git.sr.ht/~sircmpwn/go-bare"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/msgstore/znclog"
|
"codeberg.org/emersion/soju/msgstore/znclog"
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"git.sr.ht/~sircmpwn/go-bare"
|
"git.sr.ht/~sircmpwn/go-bare"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const messageRingBufferCap = 4096
|
const messageRingBufferCap = 4096
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"git.sr.ht/~sircmpwn/go-bare"
|
"git.sr.ht/~sircmpwn/go-bare"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
type LoadMessageOptions struct {
|
type LoadMessageOptions struct {
|
||||||
|
|
|
@ -7,8 +7,8 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
var timestampPrefixLen = len("[01:02:03] ")
|
var timestampPrefixLen = len("[01:02:03] ")
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
func MarshalLine(msg *irc.Message, t time.Time) string {
|
func MarshalLine(msg *irc.Message, t time.Time) string {
|
||||||
|
|
10
server.go
10
server.go
|
@ -20,11 +20,11 @@ import (
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
"nhooyr.io/websocket"
|
"nhooyr.io/websocket"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/auth"
|
"codeberg.org/emersion/soju/auth"
|
||||||
"git.sr.ht/~emersion/soju/config"
|
"codeberg.org/emersion/soju/config"
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/fileupload"
|
"codeberg.org/emersion/soju/fileupload"
|
||||||
"git.sr.ht/~emersion/soju/identd"
|
"codeberg.org/emersion/soju/identd"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -10,8 +10,8 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testServerPrefix = &irc.Prefix{Name: "soju-test-server"}
|
var testServerPrefix = &irc.Prefix{Name: "soju-test-server"}
|
||||||
|
|
|
@ -17,7 +17,7 @@ import (
|
||||||
|
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
)
|
)
|
||||||
|
|
||||||
const serviceNick = "BouncerServ"
|
const serviceNick = "BouncerServ"
|
||||||
|
|
|
@ -21,8 +21,8 @@ import (
|
||||||
"github.com/emersion/go-sasl"
|
"github.com/emersion/go-sasl"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// permanentUpstreamCaps is the static list of upstream capabilities always
|
// permanentUpstreamCaps is the static list of upstream capabilities always
|
||||||
|
|
6
user.go
6
user.go
|
@ -14,13 +14,13 @@ import (
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/xirc"
|
"codeberg.org/emersion/soju/xirc"
|
||||||
|
|
||||||
"github.com/SherClockHolmes/webpush-go"
|
"github.com/SherClockHolmes/webpush-go"
|
||||||
"gopkg.in/irc.v4"
|
"gopkg.in/irc.v4"
|
||||||
|
|
||||||
"git.sr.ht/~emersion/soju/database"
|
"codeberg.org/emersion/soju/database"
|
||||||
"git.sr.ht/~emersion/soju/msgstore"
|
"codeberg.org/emersion/soju/msgstore"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UserUpdateFunc func(record *database.User) error
|
type UserUpdateFunc func(record *database.User) error
|
||||||
|
|
Loading…
Reference in a new issue