feat: update documentation and add responsiveness
This commit is contained in:
parent
37130b4c32
commit
b924e13e2b
31
.github/ISSUE_TEMPLATE/add-project.md
vendored
Normal file
31
.github/ISSUE_TEMPLATE/add-project.md
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
name: Add Project.
|
||||
about: Request to add your project to the list.
|
||||
title: 'Add <project>'
|
||||
labels: [ ]
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**The URL to projects Git page:**
|
||||
<!-- URL to the Git repository of your project. If you project does not have Git, leave it blank -->
|
||||
|
||||
**If project is not on Git, please provide the URL to the project download:**
|
||||
<!-- URL to the project download page. Otherwise, leave it blank -->
|
||||
|
||||
**Project description:**
|
||||
<!-- What is your project about? -->
|
||||
|
||||
**What is your project:**
|
||||
|
||||
- [ ] Client
|
||||
- [ ] Server
|
||||
- [ ] Development tool (library, framework, etc.)
|
||||
|
||||
**Supported features:**
|
||||
|
||||
- [ ] Real Address Chat protocol (RAC)
|
||||
- [ ] WebSocket Real Address Chat protocol (WRAC)
|
||||
- [ ] RAC v1.0
|
||||
- [ ] RAC v1.99.2
|
||||
- [ ] RAC v2.0
|
||||
- [ ] TLS connection (RACS/WRACS)
|
29
.github/ISSUE_TEMPLATE/update-project.md
vendored
Normal file
29
.github/ISSUE_TEMPLATE/update-project.md
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
---
|
||||
name: Update Project.
|
||||
about: Request to update information about your project to the list.
|
||||
title: 'Update <project>'
|
||||
labels: [ ]
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**Specify a new URL to the Git repository:**
|
||||
<!-- URL to the Git repository of your project. If you project does not have Git, leave it blank. Leave empty if it is unchanged. -->
|
||||
|
||||
**If project is not on Git, please provide the new URL to the project download:**
|
||||
<!-- URL to the project download page. Otherwise, leave it blank -->
|
||||
|
||||
**Updated project description:**
|
||||
<!-- What is your project about? Leave empty if it is unchanged. -->
|
||||
|
||||
**What is your project:**
|
||||
- [ ] Client
|
||||
- [ ] Server
|
||||
- [ ] Development tool (library, framework, etc.)
|
||||
|
||||
**Supported features:**
|
||||
- [ ] Real Address Chat protocol (RAC)
|
||||
- [ ] WebSocket Real Address Chat protocol (WRAC)
|
||||
- [ ] RAC v1.0
|
||||
- [ ] RAC v1.99.2
|
||||
- [ ] RAC v2.0
|
||||
- [ ] TLS connection (RACS/WRACS)
|
31
.github/workflows/ci.yml
vendored
Normal file
31
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
name: Check Next.js Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 24
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: 8
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build Next.js app
|
||||
run: pnpm run build
|
59
README.md
59
README.md
@ -1,3 +1,58 @@
|
||||
# Racinfo
|
||||
# 🍵 Racinfo
|
||||
|
||||
An unofficial webpage with information about Real Address Chat protocol.
|
||||
An unofficial webpage with information about Real Address Chat protocol made with Next.js.
|
||||
This is a personal project and is not affiliated with the original Real Address Chat developer.
|
||||
|
||||
[Live in production website](https://racinfo.kostyazero.com)
|
||||
|
||||
## Features
|
||||
|
||||
- List of client, server and development tools for Real Address Chat.
|
||||
- Comprehensive documentation of the Real Address Chat protocol and its successors.
|
||||
- List of known User Agents with their regular expressions and colors.
|
||||
- Packed with modern and sleek design, looks great on mobile devices.
|
||||
|
||||
## Host your Racinfo
|
||||
|
||||
It is strongly recommended to use Docker to host Racinfo. You can use the following command to run it:
|
||||
|
||||
```bash
|
||||
docker build -t racinfo .
|
||||
docker up -d racinfo
|
||||
```
|
||||
|
||||
Racinfo by default hosts on port 8085. You can change it by using the `-p` flag in the `docker up` command, like this:
|
||||
|
||||
```bash
|
||||
# Instead of 8085, you can use any port you want, like 3000
|
||||
docker up -d -p 3000:8085 racinfo
|
||||
```
|
||||
|
||||
But if you don't want to use Docker, you can run it with local Node.js installation:
|
||||
|
||||
```bash
|
||||
corepack enable pnpm && corepack install -g pnpm@latest
|
||||
pnpm install
|
||||
pnpm build
|
||||
|
||||
# Replace 8085 with the port that you want to use
|
||||
pnpm start --port 8085
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
If you are a developer of a client, server of development tool for Real Address Chat, you can contribute to Racinfo by adding your tool to the list.
|
||||
You can also contribute by improving the documentation or fixing bugs.
|
||||
|
||||
Also, you should get acknowledged with these rules before contributing:
|
||||
|
||||
- The project should be related to Real Address Chat protocol, or its successors.
|
||||
- Your project should have a Git repository, or link to its download page. We do not accept projects that are not hosted on Git or have a download link.
|
||||
|
||||
If you want to add your project to the list, please follow these steps:
|
||||
|
||||
1. Open an Issue on the [GitHub repository](https://github.com/kostya-zero/racinfo) by using the template **"Add Project"** where you need to replace `Project` with your project name.
|
||||
2. Attach `add-client`, `add-server` or `add-tool` tag to the issue.
|
||||
3. Fill the issue template with the information about your tool as described in template.
|
||||
|
||||
If you are an author or maintainer of a project that is already listed in Racinfo, you can also open an Issue with the template **"Update Project"** to update the information about your project.
|
@ -4,13 +4,13 @@ import Footer from "@/components/Footer";
|
||||
import Text from "@/components/blocks/Text";
|
||||
import PageTitle from "@/components/blocks/PageTitle";
|
||||
import Title from "@/components/blocks/Title";
|
||||
import InlineCode from "@/components/blocks/InlineCode";
|
||||
|
||||
export default function Projects() {
|
||||
const clients: ProjectProps[] = [
|
||||
{
|
||||
name: "Tower",
|
||||
authorId: "kostya-zero",
|
||||
authorGit: "https://github.com/kostya-zero",
|
||||
projectGit: "https://github.com/kostya-zero/tower",
|
||||
description: "A modern desktop client for RAC protocol built with Tauri.",
|
||||
tags: ["Unreleased", "WRAC", "RAC", "v2", "TLS"],
|
||||
@ -18,7 +18,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "bRAC",
|
||||
authorId: "MeexReay",
|
||||
authorGit: "https://github.com/MeexReay",
|
||||
projectGit: "https://github.com/MeexReay/bRAC",
|
||||
description: "Better RAC client.",
|
||||
tags: ["Active", "WRAC", "RAC", "v2", "TLS"],
|
||||
@ -26,16 +25,15 @@ export default function Projects() {
|
||||
{
|
||||
name: "clRAC",
|
||||
externalDownload: true,
|
||||
authorId: "ghost",
|
||||
authorGit: "https://github.com/ghost",
|
||||
projectGit: "https://github.com/MeexReay/bRAC",
|
||||
authorId: "sugoma",
|
||||
externalLink: "https://wdfiles.ru/Ofx7",
|
||||
projectGit: "",
|
||||
description: "The official RAC client.",
|
||||
tags: ["Unknown", "RAC", "v2"],
|
||||
},
|
||||
{
|
||||
name: "Mefedroniy",
|
||||
authorId: "OctoBanon-Main",
|
||||
authorGit: "https://github.com/OctoBanon-Main",
|
||||
projectGit: "https://github.com/OctoBanon-Main/mefedroniy-client",
|
||||
description: "TUI client for Real Address Chat protocol. ",
|
||||
tags: ["Active", "RAC", "v1.99.2"],
|
||||
@ -43,7 +41,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "Snowdrop",
|
||||
authorId: "Forbirdden",
|
||||
authorGit: "https://github.com/Forbirdden",
|
||||
projectGit: "https://github.com/Forbirdden/Snowdrop",
|
||||
description: "Coming Soon™",
|
||||
tags: ["Unreleased", "WRAC", "RAC", "v2"],
|
||||
@ -51,7 +48,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "cRACk",
|
||||
authorId: "pansangg",
|
||||
authorGit: "https://github.com/pansangg",
|
||||
projectGit: "https://github.com/pansangg/cRACk",
|
||||
description: "TUI RAC client on Python.",
|
||||
tags: ["Active", "RAC", "v2"],
|
||||
@ -59,7 +55,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "CRAB",
|
||||
authorId: "pixtated",
|
||||
authorGit: "https://gitea.bedohswe.eu.org/pixtaded",
|
||||
projectGit: "https://gitea.bedohswe.eu.org/pixtaded/crab",
|
||||
description: "Crimean RAC Bundle ",
|
||||
tags: ["Abandoned", "RAC", "v1.99.2"],
|
||||
@ -67,7 +62,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "dobroho_vechora",
|
||||
authorId: "bedohswe",
|
||||
authorGit: "https://gitea.bedohswe.eu.org/bedohswe",
|
||||
projectGit: "https://gitea.bedohswe.eu.org/bedohswe/dobroho_vechora",
|
||||
description: "RAC client made with Bash script.",
|
||||
tags: ["Abandoned", "RAC", "v1.0"],
|
||||
@ -78,7 +72,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "sRAC",
|
||||
authorId: "MeexReay",
|
||||
authorGit: "https://github.com/MeexReay",
|
||||
projectGit: "https://github.com/MeexReay/sRAC",
|
||||
description: "Simple RAC server.",
|
||||
tags: ["Active", "WRAC", "RAC", "v2", "TLS"],
|
||||
@ -86,24 +79,22 @@ export default function Projects() {
|
||||
{
|
||||
name: "Gashishnik",
|
||||
authorId: "OctoBanon-Main",
|
||||
authorGit: "https://github.com/OctoBanon-Main",
|
||||
projectGit: "https://github.com/OctoBanon-Main/mefedroniy-client",
|
||||
description: "A WRAC server.",
|
||||
tags: ["Unreleased", "WRAC", "v2"],
|
||||
},
|
||||
{
|
||||
name: "lRACd",
|
||||
authorId: "ghost",
|
||||
authorId: "sugoma",
|
||||
externalDownload: true,
|
||||
authorGit: "https://github.com/MeexReay",
|
||||
projectGit: "https://github.com/MeexReay/bRAC",
|
||||
externalLink: "https://wdfiles.ru/Obvt",
|
||||
projectGit: "",
|
||||
description: "The official implementation of RAC server.",
|
||||
tags: ["Unknown", "RAC", "v2"],
|
||||
},
|
||||
{
|
||||
name: "CRAB",
|
||||
authorId: "pixtated",
|
||||
authorGit: "https://gitea.bedohswe.eu.org/pixtaded",
|
||||
projectGit: "https://gitea.bedohswe.eu.org/pixtaded/crab",
|
||||
description: "Crimean RAC Bundle ",
|
||||
tags: ["Abandoned", "RAC", "v1.99.2"],
|
||||
@ -111,7 +102,6 @@ export default function Projects() {
|
||||
{
|
||||
name: "AlmatyD",
|
||||
authorId: "bedohswe",
|
||||
authorGit: "https://gitea.bedohswe.eu.org/bedohswe",
|
||||
projectGit: "https://gitea.bedohswe.eu.org/bedohswe/almatyd",
|
||||
description: "Open source server for Sugoma's RAC protocol ",
|
||||
tags: ["Abandoned", "RAC", "v1.0"],
|
||||
@ -129,15 +119,17 @@ export default function Projects() {
|
||||
This is a curated list of projects that is related to RAC protocol.
|
||||
There is a client and server implementations of RAC. Note that some
|
||||
projects are not available on Git services and should be downloaded
|
||||
from external sources.
|
||||
from external sources. They are marked with
|
||||
<InlineCode>external@</InlineCode> text at the beginning of the author
|
||||
ID. If you want to add your project to this list, please make an issue
|
||||
on our GitHub repository.
|
||||
</Text>
|
||||
<Title id={"clients"}>Clients</Title>
|
||||
<Text>
|
||||
Here is a grid of all available client for RAC protocol with their
|
||||
respective repository link. Also, you can hover over the author
|
||||
username to go to it's GitHub profile page.
|
||||
respective repository link.
|
||||
</Text>
|
||||
<div className={"grid grid-cols-2 gap-4 w-full"}>
|
||||
<div className={"grid grid-cols-1 md:grid-cols-2 gap-4 w-full"}>
|
||||
{clients.map((client) => (
|
||||
<ProjectCard
|
||||
key={client.name}
|
||||
@ -145,7 +137,6 @@ export default function Projects() {
|
||||
externalDownload={client.externalDownload || undefined}
|
||||
externalLink={client.externalLink || undefined}
|
||||
authorId={client.authorId}
|
||||
authorGit={client.projectGit}
|
||||
projectGit={client.projectGit}
|
||||
description={client.description}
|
||||
tags={client.tags}
|
||||
@ -157,14 +148,13 @@ export default function Projects() {
|
||||
And here are the servers implementation! You can choose whatever you
|
||||
want and setup your own RAC server.
|
||||
</Text>
|
||||
<div className={"grid grid-cols-2 gap-4 w-full"}>
|
||||
<div className={"grid grid-cols-1 md:grid-cols-2 gap-4 w-full"}>
|
||||
{servers.map((server) => (
|
||||
<ProjectCard
|
||||
key={server.name}
|
||||
name={server.name}
|
||||
externalDownload={server.externalDownload}
|
||||
authorId={server.authorId}
|
||||
authorGit={server.projectGit}
|
||||
projectGit={server.projectGit}
|
||||
description={server.description}
|
||||
tags={server.tags}
|
||||
|
@ -4,7 +4,6 @@ import Link from "next/link";
|
||||
type ProjectProps = {
|
||||
name: string;
|
||||
authorId: string;
|
||||
authorGit: string;
|
||||
projectGit: string;
|
||||
description: string;
|
||||
externalLink?: string;
|
||||
@ -14,7 +13,6 @@ type ProjectProps = {
|
||||
|
||||
function ProjectCard({
|
||||
name,
|
||||
authorGit,
|
||||
externalDownload,
|
||||
projectGit,
|
||||
externalLink,
|
||||
@ -24,6 +22,7 @@ function ProjectCard({
|
||||
}: ProjectProps) {
|
||||
return (
|
||||
<Link
|
||||
target={"_blank"}
|
||||
href={
|
||||
externalDownload && externalDownload ? externalLink || "" : projectGit
|
||||
}
|
||||
@ -35,18 +34,9 @@ function ProjectCard({
|
||||
<h4 className={"text-2xl text-stone-300 font-rokkitt font-semibold"}>
|
||||
{name}
|
||||
</h4>
|
||||
{externalDownload ? (
|
||||
<p className={"text-stone-500"}>external download</p>
|
||||
) : (
|
||||
<Link
|
||||
href={authorGit}
|
||||
className={
|
||||
"text-stone-500 transition-colors duration-200 hover:text-stone-50"
|
||||
}
|
||||
>
|
||||
@{authorId}
|
||||
</Link>
|
||||
)}
|
||||
<p className={"text-stone-500"}>
|
||||
{externalDownload ? `external@${authorId}` : `@${authorId}`}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p className={"text-stone-400 mb-1"}>{description}</p>
|
||||
|
Loading…
x
Reference in New Issue
Block a user