diff --git a/README.md b/README.md
index fd61bf3b..22520135 100644
--- a/README.md
+++ b/README.md
@@ -45,8 +45,8 @@ Follow our Mastodon feed for release notes and other acme4j related news.
## Contribute
-* Fork the [Source code at GitHub](https://github.com/shred/acme4j). Feel free to send pull requests (see [Contributing](CONTRIBUTING.md) for the rules).
-* Found a bug? [File a bug report!](https://github.com/shred/acme4j/issues)
+* Fork the [Source code at Codeberg](https://codeberg.org/shred/acme4j) or [GitHub](https://github.com/shred/acme4j). Feel free to send pull requests (see [Contributing](CONTRIBUTING.md) for the rules).
+* Found a bug? [File a bug report!](https://codeberg.org/shred/acme4j/issues) ([GitHub](https://github.com/shred/acme4j/issues))
## License
@@ -61,5 +61,5 @@ If you would like to support my work on _acme4j_, you can do so on at [GitHub Sp
* I would like to thank Brian Campbell and all the other [jose4j](https://bitbucket.org/b_c/jose4j/wiki/Home) developers. _acme4j_ would not exist without your excellent work.
* Thanks to [Daniel McCarney](https://github.com/cpu) for his help with the ACME protocol, Pebble, and Boulder.
* [Ulrich Krause](https://github.com/eknori) for his help to make _acme4j_ run on IBM Java VMs.
-* I also like to thank [everyone who contributed to _acme4j_](https://github.com/shred/acme4j/graphs/contributors).
+* I also like to thank [everyone who contributed to _acme4j_](https://codeberg.org/shred/acme4j/activity/contributors).
* The Mastodon account is hosted by [foojay.io](https://foojay.io).
diff --git a/pom.xml b/pom.xml
index 4d87b737..a52abad6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,14 +34,14 @@
- https://github.com/shred/acme4j/
- scm:git:git@github.com:shred/acme4j.git
- scm:git:git@github.com:shred/acme4j.git
+ https://codeberg.org/shred/acme4j/
+ scm:git:git@codeberg.org:shred/acme4j.git
+ scm:git:git@codeberg.org:shred/acme4j.git
HEAD
- GitHub
- https://github.com/shred/acme4j/issues
+ Codeberg
+ https://codeberg.org/shred/acme4j/issues
diff --git a/src/doc/docs/ca/buypass.md b/src/doc/docs/ca/buypass.md
index d613f980..730a4814 100644
--- a/src/doc/docs/ca/buypass.md
+++ b/src/doc/docs/ca/buypass.md
@@ -19,4 +19,4 @@ private static Supplier ACCOUNT_KEY_SUPPLIER = () -> KeyPairUtils.creat
## Disclaimer
-_acme4j_ is not officially supported or endorsed by Buypass. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://github.com/shred/acme4j/issues).
+_acme4j_ is not officially supported or endorsed by Buypass. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://codeberg.org/shred/acme4j/issues).
diff --git a/src/doc/docs/ca/google.md b/src/doc/docs/ca/google.md
index b4d435cd..7c695dfc 100644
--- a/src/doc/docs/ca/google.md
+++ b/src/doc/docs/ca/google.md
@@ -20,4 +20,4 @@ _Google Trust Services_ request `HS256` as MAC algorithm. If you use the connect
## Disclaimer
-_acme4j_ is not officially supported or endorsed by Google. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://github.com/shred/acme4j/issues).
+_acme4j_ is not officially supported or endorsed by Google. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://codeberg.org/shred/acme4j/issues).
diff --git a/src/doc/docs/ca/sslcom.md b/src/doc/docs/ca/sslcom.md
index 27d72a59..c56fc6bb 100644
--- a/src/doc/docs/ca/sslcom.md
+++ b/src/doc/docs/ca/sslcom.md
@@ -18,4 +18,4 @@ Available since acme4j 3.2.0. **This provider is experimental!**
## Disclaimer
-_acme4j_ is not officially supported or endorsed by SSL.com. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://github.com/shred/acme4j/issues).
+_acme4j_ is not officially supported or endorsed by SSL.com. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://codeberg.org/shred/acme4j/issues).
diff --git a/src/doc/docs/ca/zerossl.md b/src/doc/docs/ca/zerossl.md
index 68169fac..a1ff523a 100644
--- a/src/doc/docs/ca/zerossl.md
+++ b/src/doc/docs/ca/zerossl.md
@@ -22,4 +22,4 @@ ZeroSSL does not provide a staging server (as of February 2024).
## Disclaimer
-_acme4j_ is not officially supported or endorsed by ZeroSSL. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://github.com/shred/acme4j/issues).
+_acme4j_ is not officially supported or endorsed by ZeroSSL. If you have _acme4j_ related issues, please do not ask them for support, but [open an issue here](https://codeberg.org/shred/acme4j/issues).
diff --git a/src/doc/docs/faq.md b/src/doc/docs/faq.md
index 490c0369..d0565a7b 100644
--- a/src/doc/docs/faq.md
+++ b/src/doc/docs/faq.md
@@ -71,9 +71,9 @@ You can still revoke certificates without account key pair though, see [here](us
**Symptom:** You try to order an S/MIME certificate from a providing CA. However, the CA constantly refuses the response e-mail because the contained ACME response is purportedly invalid.
-**Cause:** Unfortunately [RFC 8823](https://tools.ietf.org/html/rfc8823) has an ambiguous specification about how to concatenate the two token parts. The text permits two different interpretations that may give different results. _acme4j_ uses an implementation that corresponds to the [intention of the author of RFC 8823](https://mailarchive.ietf.org/arch/msg/acme/KusfZm3qC50IfcAAuTXtmbFK0KM/). If the CA is implemented following the other interpretation, the ACME e-mail response will not match (see [this issue](https://github.com/shred/acme4j/issues/123)).
+**Cause:** Unfortunately [RFC 8823](https://tools.ietf.org/html/rfc8823) has an ambiguous specification about how to concatenate the two token parts. The text permits two different interpretations that may give different results. _acme4j_ uses an implementation that corresponds to the [intention of the author of RFC 8823](https://mailarchive.ietf.org/arch/msg/acme/KusfZm3qC50IfcAAuTXtmbFK0KM/). If the CA is implemented following the other interpretation, the ACME e-mail response will not match (see [this issue](https://codeberg.org/shred/acme4j/issues/123)).
-**Solution:** It is a difficult situation that is caused by an ambiguous specification, but it is like it is now. Since _acme4j_ follows the intention of the RFC author, I take the position that the _acme4j_ implementation is correct. Please open a bug report at the CA, and refer to [this issue](https://github.com/shred/acme4j/issues/123). If the two tokens are split at a position, so the first token won't have trailing base64 padding bits, the CA service can be implemented in a way that is compatible to both interpretations.
+**Solution:** It is a difficult situation that is caused by an ambiguous specification, but it is like it is now. Since _acme4j_ follows the intention of the RFC author, I take the position that the _acme4j_ implementation is correct. Please open a bug report at the CA, and refer to [this issue](https://codeberg.org/shred/acme4j/issues/123). If the two tokens are split at a position, so the first token won't have trailing base64 padding bits, the CA service can be implemented in a way that is compatible to both interpretations.
## Suddenly acme4j starts throwing `AcmeUserActionRequiredException` everywhere! How can I fix that?
@@ -85,6 +85,13 @@ You can still revoke certificates without account key pair though, see [here](us
Unfortunately, manual action is required in any case, there is no way to automate this process. This is an intentional protocol decision, and _acme4j_ is just the messenger.
+## Where can I find the _acme4j_ Repository?
+
+* The main repository is hosted at [Codeberg](https://codeberg.org/shred/acme4j).
+* There is a fully functional mirror at [GitHub](https://github.com/shred/acme4j).
+
+You can use both sites for posting issues and pull requests. However, Codeberg is the preferred repository.
+
## Where can I find more help?
* [Let's Encrypt Documentation](https://letsencrypt.org/docs/)
diff --git a/src/doc/docs/index.md b/src/doc/docs/index.md
index aae9d007..78e2fa83 100644
--- a/src/doc/docs/index.md
+++ b/src/doc/docs/index.md
@@ -6,7 +6,7 @@ ACME is a protocol that a certificate authority (CA) and an applicant can use to
This Java client helps to connect to an ACME server, and performing all necessary steps to manage certificates.
-The source code can be found at [GitHub](https://github.com/shred/acme4j) and is distributed under the terms of [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).
+The source code can be found at [Codeberg](https://codeberg.org/shred/acme4j) and is distributed under the terms of [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).
Latest version: 
@@ -41,7 +41,7 @@ There is an [example source code](example.md) included in this project. It gives
## Modules
-_acme4j_ consists of four modules. All modules are [available at Maven Central](https://mvnrepository.com/artifact/org.shredzone.acme4j) and can easily be added to the dependency list of your project. You can also download the jar files [at GitHub](https://github.com/shred/acme4j/releases/latest).
+_acme4j_ consists of four modules. All modules are [available at Maven Central](https://mvnrepository.com/artifact/org.shredzone.acme4j) and can easily be added to the dependency list of your project. You can also download the jar files [at Codeberg](https://codeberg.org/shred/acme4j/releases/latest).
acme4j-client
: [`acme4j-client`](https://mvnrepository.com/artifact/org.shredzone.acme4j/acme4j-client/latest) is the main module. It contains everything that is required to get certificates for domains.
@@ -70,8 +70,8 @@ Follow our Mastodon feed for release notes and other acme4j related news.
## Contribute
-* Fork the [Source code at GitHub](https://github.com/shred/acme4j). Feel free to send pull requests.
-* Found a bug? [File a bug report!](https://github.com/shred/acme4j/issues)
+* Fork the [Source code at Codeberg](https://codeberg.org/shred/acme4j) or [GitHub](https://github.com/shred/acme4j). Feel free to send pull requests.
+* Found a bug? [File a bug report!](https://codeberg.org/shred/acme4j/issues) ([GitHub](https://github.com/shred/acme4j/issues))
## Donate ♥️
diff --git a/src/doc/docs/usage/debugging.md b/src/doc/docs/usage/debugging.md
index 969d638b..f7b49809 100644
--- a/src/doc/docs/usage/debugging.md
+++ b/src/doc/docs/usage/debugging.md
@@ -33,7 +33,7 @@ Android does not log SLF4J output by default. To enable debug logging to logcat,
**Do not blindly post debug logs to public bug reports or questions!**
-Understanding the debug log output requires some basic knowledge about the [RFC 8555](https://tools.ietf.org/html/rfc8555) protocol. If you need assistance with your problem, don't hesitate to [open an issue](https://github.com/shred/acme4j/issues).
+Understanding the debug log output requires some basic knowledge about the [RFC 8555](https://tools.ietf.org/html/rfc8555) protocol. If you need assistance with your problem, don't hesitate to [open an issue](https://codeberg.org/shred/acme4j/issues).
## Example Log Output
diff --git a/src/doc/mkdocs.yml b/src/doc/mkdocs.yml
index 517ed7f6..f176df6f 100644
--- a/src/doc/mkdocs.yml
+++ b/src/doc/mkdocs.yml
@@ -2,7 +2,7 @@ site_name: acme4j
site_author: Richard Körber
site_url: https://acme4j.shredzone.org
site_dir: target/site/
-repo_url: https://github.com/shred/acme4j
+repo_url: https://codeberg.org/shred/acme4j
edit_uri: ''
use_directory_urls: false
theme: