diff --git a/.gitlab/issue_templates/bug.md b/.gitlab/issue_templates/bug.md
index 3bf5ee07ca..c6e9fbe7ca 100644
--- a/.gitlab/issue_templates/bug.md
+++ b/.gitlab/issue_templates/bug.md
@@ -1,7 +1,7 @@
 <!-- 💖 Thanks for taking the time to fill out this bug report!
 💁 Having trouble with deployment? [Ask the support chat.](https://matrix.to/#/%23firefish:matrix.fedibird.com)
-🔒 Found a security vulnerability? [Please disclose it responsibly.](https://git.joinfirefish.org/firefish/firefish/src/branch/develop/SECURITY.md)
-🤝 By submitting this issue, you agree to follow our [Contribution Guidelines.](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/CONTRIBUTING.md) -->
+🔒 Found a security vulnerability? [Please disclose it responsibly.](https://firefish.dev/firefish/firefish/-/blob/develop/SECURITY.md)
+🤝 By submitting this issue, you agree to follow our [Contribution Guidelines.](https://firefish.dev/firefish/firefish/-/blob/develop/CONTRIBUTING.md) -->
 
 **What happened?** _(Please give us a brief description of what happened.)_
 
@@ -24,6 +24,6 @@
 **Relevant log output** _(Please copy and paste any relevant log output. You can find your log by inspecting the page, and going to the "console" tab. This will be automatically formatted into code, so no need for backticks.)_
 
 **Contribution Guidelines**
-By submitting this issue, you agree to follow our [Contribution Guidelines](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
+By submitting this issue, you agree to follow our [Contribution Guidelines](https://firefish.dev/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
 - [ ] I agree to follow this project's Contribution Guidelines
 - [ ] I have searched the issue tracker for similar issues, and this is not a duplicate.
diff --git a/.gitlab/issue_templates/feature.md b/.gitlab/issue_templates/feature.md
index 1b714f9d3a..2b82484e80 100644
--- a/.gitlab/issue_templates/feature.md
+++ b/.gitlab/issue_templates/feature.md
@@ -1,7 +1,7 @@
 <!-- 💖 Thanks for taking the time to fill out this bug report!
 💁 Having trouble with deployment? [Ask the support chat.](https://matrix.to/#/%23firefish:matrix.fedibird.com)
-🔒 Found a security vulnerability? [Please disclose it responsibly.](https://git.joinfirefish.org/firefish/firefish/src/branch/develop/SECURITY.md)
-🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/CONTRIBUTING.md) -->
+🔒 Found a security vulnerability? [Please disclose it responsibly.](https://firefish.dev/firefish/firefish/-/blob/develop/SECURITY.md)
+🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://firefish.dev/firefish/firefish/-/blob/develop/CONTRIBUTING.md) -->
 
 **What feature would you like implemented?** _(Please give us a brief description of what you'd like.)_
 
@@ -12,6 +12,6 @@
 **Instance** _(What instance of firefish are you using?)_
 
 **Contribution Guidelines**
-By submitting this issue, you agree to follow our [Contribution Guidelines](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
+By submitting this issue, you agree to follow our [Contribution Guidelines](https://firefish.dev/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
 - [ ] I agree to follow this project's Contribution Guidelines
 - [ ] I have searched the issue tracker for similar requests, and this is not a duplicate.
diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md
index 4c41f88a41..4672f6a30c 100644
--- a/.gitlab/merge_request_templates/default.md
+++ b/.gitlab/merge_request_templates/default.md
@@ -3,7 +3,7 @@
 **What does this PR do?** _(Please give us a brief description of what this PR does.)_
 
 **Contribution Guidelines**
-By submitting this merge request, you agree to follow our [Contribution Guidelines](https://git.joinfirefish.org/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
+By submitting this merge request, you agree to follow our [Contribution Guidelines](https://firefish.dev/firefish/firefish/-/blob/develop/CONTRIBUTING.md)
 - [ ] I agree to follow this project's Contribution Guidelines
 - [ ] I have made sure to test this pull request
 - [ ] I have made sure to run `pnpm run format` before submitting this pull request
diff --git a/docs/api-change.md b/docs/api-change.md
index 5895500e8e..d9a2b21137 100644
--- a/docs/api-change.md
+++ b/docs/api-change.md
@@ -9,7 +9,7 @@ Breaking changes are indicated by the :warning: icon.
 ## v1.0.5-rc
 
 - `admin/update-meta` can now take `moreUrls` parameter, and response of `admin/meta` now includes `moreUrls`
-  - These URLs are used for the help menu ([related merge request](https://git.joinfirefish.org/firefish/firefish/-/merge_requests/10640))
+  - These URLs are used for the help menu ([related merge request](https://firefish.dev/firefish/firefish/-/merge_requests/10640))
 - :warning: response of `meta` no longer includes the following:
   - `enableTwitterIntegration`
   - `enableGithubIntegration`
diff --git a/docs/downgrade.sql b/docs/downgrade.sql
index ef4ff31d93..b4dbcaa480 100644
--- a/docs/downgrade.sql
+++ b/docs/downgrade.sql
@@ -1,9 +1,14 @@
 BEGIN;
 
 DELETE FROM "migrations" WHERE name IN (
+    'FirefishUrlMove1707850084123',
     'RemoveNativeUtilsMigration1705877093218'
 );
 
+-- firefish-url-move
+UPDATE "meta" SET "repositoryUrl" = 'https://git.joinfirefish.org/firefish/firefish';
+UPDATE "meta" SET "feedbackUrl" = 'https://git.joinfirefish.org/firefish/firefish/issues';
+
 -- remove-native-utils-migration
 CREATE TABLE "seaql_migrations" (
     version character varying NOT NULL,
diff --git a/docs/migrate.md b/docs/migrate.md
index e687b4ee64..b42b72c263 100644
--- a/docs/migrate.md
+++ b/docs/migrate.md
@@ -14,8 +14,8 @@ Tested with Misskey v13.11.3.
 If your Misskey v13 is older, we recommend updating your Misskey to v13.11.3.
 
 ```sh
-wget -O mkv13.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/mkv13.patch
-wget -O mkv13_restore.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/mkv13_restore.patch
+wget -O mkv13.patch https://firefish.dev/firefish/firefish/-/raw/develop/docs/mkv13.patch
+wget -O mkv13_restore.patch https://firefish.dev/firefish/firefish/-/raw/develop/docs/mkv13_restore.patch
 git apply mkv13.patch mkv13_restore.patch
 
 cd packages/backend
@@ -27,13 +27,13 @@ for i in $(seq 1 $NUM_MIGRATIONS); do pnpm typeorm migration:revert -d ormconfig
 
 cd ../../
 
-git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
+git remote set-url origin https://firefish.dev/firefish/firefish.git
 git fetch origin
 git stash push
 rm -rf fluent-emojis misskey-assets
 git switch main # or beta or develop
 git pull --ff
-wget -O renote_muting.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/renote_muting.patch
+wget -O renote_muting.patch https://firefish.dev/firefish/firefish/-/raw/develop/docs/renote_muting.patch
 git apply renote_muting.patch
 
 pnpm install
@@ -69,7 +69,7 @@ If no other errors happened, your Firefish is ready to launch!
 ## Misskey v12.119 and before
 
 ```sh
-git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
+git remote set-url origin https://firefish.dev/firefish/firefish.git
 git fetch
 git checkout main # or beta or develop
 git pull --ff
@@ -81,7 +81,7 @@ NODE_ENV=production pnpm run migrate
 ## FoundKey
 
 ```sh
-wget -O fk.patch https://git.joinfirefish.org/firefish/firefish/-/raw/develop/docs/fk.patch
+wget -O fk.patch https://firefish.dev/firefish/firefish/-/raw/develop/docs/fk.patch
 git apply fk.patch
 cd packages/backend
 
@@ -92,7 +92,7 @@ for i in $(seq 1 $NUM_MIGRATIONS); do
     npx typeorm migration:revert -d ormconfig.js
 done
 
-git remote set-url origin https://git.joinfirefish.org/firefish/firefish.git
+git remote set-url origin https://firefish.dev/firefish/firefish.git
 git fetch
 git checkout main # or beta or develop
 git pull --ff
diff --git a/packages/backend/migration/1707850084123-firefish-url-move.js b/packages/backend/migration/1707850084123-firefish-url-move.js
new file mode 100644
index 0000000000..c3b694eb7e
--- /dev/null
+++ b/packages/backend/migration/1707850084123-firefish-url-move.js
@@ -0,0 +1,21 @@
+export class FirefishUrlMove1707850084123 {
+	name = "FirefishUrlMove1707850084123";
+
+	async up(queryRunner) {
+		await queryRunner.query(
+			`UPDATE meta SET "repositoryUrl" = 'https://firefish.dev/firefish/firefish'`,
+		);
+		await queryRunner.query(
+			`UPDATE meta SET "feedbackUrl" = 'https://firefish.dev/firefish/firefish/issues'`,
+		);
+	}
+
+	async down(queryRunner) {
+		await queryRunner.query(
+			`UPDATE meta SET "repositoryUrl" = 'https://git.joinfirefish.org/firefish/firefish'`,
+		);
+		await queryRunner.query(
+			`UPDATE meta SET "feedbackUrl" = 'https://git.joinfirefish.org/firefish/firefish/issues'`,
+		);
+	}
+}
diff --git a/packages/backend/src/boot/master.ts b/packages/backend/src/boot/master.ts
index 84767a92ce..4099629c44 100644
--- a/packages/backend/src/boot/master.ts
+++ b/packages/backend/src/boot/master.ts
@@ -70,7 +70,7 @@ function greet() {
 				136,
 				0,
 			)(
-				" If you like Firefish, please consider starring or contributing to the repo. https://git.joinfirefish.org/firefish/firefish",
+				" If you like Firefish, please consider starring or contributing to the repo. https://firefish.dev/firefish/firefish",
 			),
 		);
 
diff --git a/packages/backend/src/models/entities/meta.ts b/packages/backend/src/models/entities/meta.ts
index c1e3be58f4..d716dd1f45 100644
--- a/packages/backend/src/models/entities/meta.ts
+++ b/packages/backend/src/models/entities/meta.ts
@@ -391,14 +391,14 @@ export class Meta {
 
 	@Column("varchar", {
 		length: 512,
-		default: "https://git.joinfirefish.org/firefish/firefish",
+		default: "https://firefish.dev/firefish/firefish",
 		nullable: false,
 	})
 	public repositoryUrl: string;
 
 	@Column("varchar", {
 		length: 512,
-		default: "https://git.joinfirefish.org/firefish/firefish/issues/new",
+		default: "https://firefish.dev/firefish/firefish/issues/new",
 		nullable: true,
 	})
 	public feedbackUrl: string | null;
diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts
index 9dffad780f..819fccc826 100644
--- a/packages/backend/src/server/api/endpoints/meta.ts
+++ b/packages/backend/src/server/api/endpoints/meta.ts
@@ -73,13 +73,13 @@ export const meta = {
 				type: "string",
 				optional: false,
 				nullable: false,
-				default: "https://git.joinfirefish.org/firefish/firefish",
+				default: "https://firefish.dev/firefish/firefish",
 			},
 			feedbackUrl: {
 				type: "string",
 				optional: false,
 				nullable: false,
-				default: "https://git.joinfirefish.org/firefish/firefish/issues",
+				default: "https://firefish.dev/firefish/firefish/issues",
 			},
 			defaultDarkTheme: {
 				type: "string",
diff --git a/packages/backend/src/server/api/endpoints/release.ts b/packages/backend/src/server/api/endpoints/release.ts
index 1314e90365..f3a2764295 100644
--- a/packages/backend/src/server/api/endpoints/release.ts
+++ b/packages/backend/src/server/api/endpoints/release.ts
@@ -18,7 +18,7 @@ export default define(meta, paramDef, async () => {
 	let release;
 
 	await fetch(
-		"https://git.joinfirefish.org/firefish/firefish/-/raw/develop/release.json",
+		"https://firefish.dev/firefish/firefish/-/raw/develop/release.json",
 	)
 		.then((response) => response.json())
 		.then((data) => {
diff --git a/packages/backend/src/server/api/openapi/gen-spec.ts b/packages/backend/src/server/api/openapi/gen-spec.ts
index ec8c1ca036..fa0d2d50fe 100644
--- a/packages/backend/src/server/api/openapi/gen-spec.ts
+++ b/packages/backend/src/server/api/openapi/gen-spec.ts
@@ -15,7 +15,7 @@ export function genOpenapiSpec() {
 
 		externalDocs: {
 			description: "Repository",
-			url: "https://git.joinfirefish.org/firefish/firefish",
+			url: "https://firefish.dev/firefish/firefish",
 		},
 
 		servers: [
@@ -106,7 +106,7 @@ export function genOpenapiSpec() {
 			description: desc,
 			externalDocs: {
 				description: "Source code",
-				url: `https://git.joinfirefish.org/firefish/firefish/src/branch/develop/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
+				url: `https://firefish.dev/firefish/firefish/-/tree/develop/packages/backend/src/server/api/endpoints/${endpoint.name}.ts`,
 			},
 			tags: endpoint.meta.tags || undefined,
 			security,
diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug
index 8036e10de7..f751d2f79e 100644
--- a/packages/backend/src/server/web/views/base.pug
+++ b/packages/backend/src/server/web/views/base.pug
@@ -17,7 +17,7 @@ doctype html
 
 		Thank you for using Firefish!
 		If you're reading this message... how about helping out with development?
-		https://git.joinfirefish.org/firefish/firefish
+		https://firefish.dev/firefish/firefish
 
 html
 
diff --git a/packages/client/src/pages/admin/emojis.vue b/packages/client/src/pages/admin/emojis.vue
index bc67be3607..0941f25b67 100644
--- a/packages/client/src/pages/admin/emojis.vue
+++ b/packages/client/src/pages/admin/emojis.vue
@@ -330,7 +330,7 @@ const menu = (ev: MouseEvent) => {
 				text: i18n.ts.emojiPackCreator,
 				action: () => {
 					window.open(
-						"https://git.joinfirefish.org/firefish/emoji-gen",
+						"https://firefish.dev/firefish/emoji-gen",
 						"_blank",
 					);
 				},
diff --git a/packages/client/src/pages/admin/index.vue b/packages/client/src/pages/admin/index.vue
index a37680d361..d8ee8ad765 100644
--- a/packages/client/src/pages/admin/index.vue
+++ b/packages/client/src/pages/admin/index.vue
@@ -41,7 +41,7 @@
 					<MkInfo v-if="updateAvailable" warn class="info"
 						>{{ i18n.ts.updateAvailable }}
 						<a
-							href="https://git.joinfirefish.org/firefish/firefish/releases"
+							href="https://firefish.dev/firefish/firefish/-/releases"
 							target="_bank"
 							class="_link"
 							>{{ i18n.ts.check }}</a