Nothing ever went wrong with plain-old markdown, right?
This commit is contained in:
parent
a0a1e88a85
commit
21454db8fb
17 changed files with 261 additions and 126 deletions
79
.gitignore
vendored
Normal file
79
.gitignore
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
# User-specific stuff
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
|
||||
# AWS User-specific
|
||||
.idea/**/aws.xml
|
||||
|
||||
# Generated files
|
||||
.idea/**/contentModel.xml
|
||||
|
||||
# Sensitive or high-churn files
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
|
||||
# Gradle
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
|
||||
# Gradle and Maven with auto-import
|
||||
# When using Gradle or Maven with auto-import, you should exclude module files,
|
||||
# since they will be recreated, and may cause churn. Uncomment if using
|
||||
# auto-import.
|
||||
# .idea/artifacts
|
||||
# .idea/compiler.xml
|
||||
# .idea/jarRepositories.xml
|
||||
# .idea/modules.xml
|
||||
# .idea/*.iml
|
||||
# .idea/modules
|
||||
# *.iml
|
||||
# *.ipr
|
||||
|
||||
# CMake
|
||||
cmake-build-*/
|
||||
|
||||
# Mongo Explorer plugin
|
||||
.idea/**/mongoSettings.xml
|
||||
|
||||
# File-based project format
|
||||
*.iws
|
||||
|
||||
# IntelliJ
|
||||
out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Cursive Clojure plugin
|
||||
.idea/replstate.xml
|
||||
|
||||
# SonarLint plugin
|
||||
.idea/sonarlint/
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
fabric.properties
|
||||
|
||||
# Editor-based Rest Client
|
||||
.idea/httpRequests
|
||||
|
||||
# Android studio 3.1+ serialized cache file
|
||||
.idea/caches/build_file_checksums.ser
|
||||
|
19
.idea/php.xml
generated
Normal file
19
.idea/php.xml
generated
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MessDetectorOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCSFixerOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PHPCodeSnifferOptionsConfiguration">
|
||||
<option name="highlightLevel" value="WARNING" />
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PhpStanOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
<component name="PsalmOptionsConfiguration">
|
||||
<option name="transferred" value="true" />
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
82
.idea/workspace.xml
generated
82
.idea/workspace.xml
generated
|
@ -4,12 +4,33 @@
|
|||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="7789d02f-8adc-400d-8827-901b6f4a2994" name="Changes" comment="Changed entire project to use Writerside instead." />
|
||||
<list default="true" id="18345731-10ed-4927-8692-8685f20e33be" name="Changes" comment="Removed stuff">
|
||||
<change afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/c.list" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/cfg/buildprofiles.xml" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/images/decentralized.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/images/peer2peer.png" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/s.tree" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/topics/LICENSE.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/topics/RPC-Communication.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/topics/Speficiations.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/topics/UUID-v4.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/topics/starter-topic.md" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/v.list" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Writerside/writerside.cfg" beforeDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="ComposerSettings">
|
||||
<execution />
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="InstanceColorv3">
|
||||
<option name="map">
|
||||
<map>
|
||||
|
@ -70,25 +91,62 @@
|
|||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectColorInfo"><![CDATA[{
|
||||
"associatedIndex": 6
|
||||
}]]></component>
|
||||
<component name="ProjectId" id="2lWgQfEpxIfOsaEIDScN13jtcTJ" />
|
||||
<component name="ProjectLevelVcsManager">
|
||||
<ConfirmationsSetting value="2" id="Add" />
|
||||
</component>
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
<option name="showMembers" value="true" />
|
||||
<option name="showVisibilityIcons" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"Writerside.Socialbox HTML.executor": "Run",
|
||||
"git-widget-placeholder": "master"
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"dart.analysis.tool.window.visible": "false",
|
||||
"git-widget-placeholder": "master",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
},
|
||||
"keyToStringList": {
|
||||
"stardust.markdown.MarkdownSplitEditorSuppressor:keyList": [
|
||||
"C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/LICENSE.md",
|
||||
"C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/RPC-Communication.md",
|
||||
"C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/Speficiations.md",
|
||||
"C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/UUID-v4.md",
|
||||
"C:/Users/Netkas/WritersideProjects/socialbox-standard/Writerside/topics/starter-topic.md"
|
||||
]
|
||||
}
|
||||
}]]></component>
|
||||
<component name="RunManager">
|
||||
<configuration name="Socialbox HTML" type="StardustRunConfiguration" factoryName="save-as-zip">
|
||||
<option name="folderPath" value="$PROJECT_DIR$" />
|
||||
<option name="instanceId" value="s" />
|
||||
<option name="instanceName" value="Socialbox" />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-js-predefined-d6986cc7102b-7c0b70fcd90d-JavaScript-PS-242.21829.154" />
|
||||
<option value="bundled-php-predefined-a98d8de5180a-4d9f4c849d09-com.jetbrains.php.sharedIndexes-PS-242.21829.154" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="18345731-10ed-4927-8692-8685f20e33be" name="Changes" comment="Removed stuff" />
|
||||
<created>1725301232290</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1725301232290</updated>
|
||||
<workItem from="1725301233351" duration="16000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="Changed entire project to use Writerside instead." />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Changed entire project to use Writerside instead." />
|
||||
<MESSAGE value="Removed stuff" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="Removed stuff" />
|
||||
</component>
|
||||
</project>
|
|
@ -281,4 +281,4 @@ under this License somewhere other than this MMC, and subsequently incorporated
|
|||
had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time
|
||||
before August 1, 2009, provided the MMC is eligible for relicensing.
|
||||
before August 1, 2009, provided the MMC is eligible for relicensing.
|
86
README.md
Normal file
86
README.md
Normal file
|
@ -0,0 +1,86 @@
|
|||
# About Socialbox
|
||||
|
||||
This project is the Socialbox standard documentation, this project is intended to describe the standard for which
|
||||
Socialbox servers and clients would use to communicate over the internet.
|
||||
|
||||
## What's Socialbox?
|
||||
|
||||
Socialbox is a decentralized platform for hosting social media instances, enabling users to register/authenticate on
|
||||
various instances and communicate with other users or communities across different instances without relying on a
|
||||
centralized server. This model aims to replace traditional services like Email, Reddit, and Twitter, allowing users
|
||||
to create communities for private, internal, or public purposes and engage in peer-to-peer communication, even if
|
||||
they are on different servers.
|
||||
|
||||

|
||||

|
||||
|
||||
## Why use Socialbox?
|
||||
|
||||
Email has been around for a long time, but it only allows us to send messages to each other but it's still great,
|
||||
because it allows Alice from example.com to email John at foobar.com even if both users are on different
|
||||
servers with the possibility of different features, but the underlying protocol still works to allow two users from
|
||||
different servers to communicate with each other.
|
||||
|
||||
But take Twitter or Reddit for example, users are constrained to create their accounts or boards on that one and only
|
||||
platform, if Reddit or anyone on that platform doesn't like that board, they could very well take it down and make it
|
||||
inaccessible to many users. Even worse if Reddit goes down entirely! Socialbox aims to fix this to allow users to
|
||||
explore the internet as it once was without being tied to a centralized service, so for example john@foobar.com may be
|
||||
able to post on cats@lol.com and interact with other users that doesn't necessarily come from lol.com or foobar.com.
|
||||
john@foobar.com may also subscribe to these channels and or boards and receive daily updates from their favorite
|
||||
sources and communities.
|
||||
|
||||
## Wouldn't I need to create a lot of accounts?
|
||||
|
||||
No! The idea is that one use may register for john@foobar.com but with that sole account john may access other
|
||||
Socialbox instances and interact on them without ever telling lol.com or any other foreign instance what John's
|
||||
password is. For example, if john@foobar.com authenticates to lol.com, it's up to lol.com to verify if john is actually
|
||||
john from foobar.com by talking to foobar.com directly, this way lol.com can verify that john from foobar.com is
|
||||
actually john.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under GNU Free Documentation License v1.3, see the [LICENSE](LICENSE.md) file for details.
|
||||
|
||||
|
||||
## Table of contents
|
||||
|
||||
<!-- TOC -->
|
||||
* [About Socialbox](#about-socialbox)
|
||||
* [What's Socialbox?](#whats-socialbox)
|
||||
* [Why use Socialbox?](#why-use-socialbox)
|
||||
* [Wouldn't I need to create a lot of accounts?](#wouldnt-i-need-to-create-a-lot-of-accounts)
|
||||
* [License](#license)
|
||||
* [Table of contents](#table-of-contents)
|
||||
* [Specifications](#specifications)
|
||||
* [UUID v4](#uuid-v4)
|
||||
* [RPC Communication](#rpc-communication)
|
||||
<!-- TOC -->
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
# Specifications
|
||||
|
||||
Specifications are used to define exactly how each part of the Socialbox standard works, from communication to privacy,
|
||||
security & limitations. Servers & Clients alike are expected to follow these specification at it's core for the
|
||||
best results and compatibility with other systems.
|
||||
|
||||
|
||||
## UUID v4
|
||||
|
||||
Anything on the Socialbox world that needs to be uniquely identified with a random identifier must use the UUID V4
|
||||
specification. UUID v4 is a randomly generated identifier that consists of 32 hexadecimal digits separated by hyphens.
|
||||
|
||||
> A version 4 UUID is randomly generated. As in other UUIDs, 4 bits are used to indicate version 4, and 2 or 3 bits to
|
||||
indicate the variant (102 or 1102 for variants 1 and 2 respectively). Thus, for variant 1 (that is, most UUIDs) a
|
||||
random version 4 UUID will have 6 predetermined variant and version bits, leaving 122 bits for the randomly generated
|
||||
part, for a total of 2122, or 5.3×1036 (5.3 undecillion) possible version-4 variant-1 UUIDs. There are half as many
|
||||
possible version 4, variant 2 UUIDs (legacy GUIDs) because there is one less random bit available, 3 bits being
|
||||
consumed for the variant.
|
||||
|
||||
Source: [Wikipedia](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random))
|
||||
|
||||
|
||||
## RPC Communication
|
||||
|
||||
To be completed...
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE categories
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/categories.dtd">
|
||||
<categories>
|
||||
<category id="wrs" name="Writerside documentation" order="1"/>
|
||||
</categories>
|
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE buildprofiles SYSTEM "https://resources.jetbrains.com/writerside/1.0/build-profiles.dtd">
|
||||
<buildprofiles xsi:noNamespaceSchemaLocation="https://resources.jetbrains.com/writerside/1.0/build-profiles.xsd"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
|
||||
<variables></variables>
|
||||
<build-profile instance="s">
|
||||
<variables>
|
||||
<noindex-content>false</noindex-content>
|
||||
</variables>
|
||||
</build-profile>
|
||||
|
||||
</buildprofiles>
|
Binary file not shown.
Before Width: | Height: | Size: 49 KiB |
Binary file not shown.
Before Width: | Height: | Size: 35 KiB |
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE instance-profile
|
||||
SYSTEM "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd">
|
||||
|
||||
<instance-profile id="s"
|
||||
name="Socialbox"
|
||||
start-page="starter-topic.md">
|
||||
|
||||
<toc-element topic="starter-topic.md"/>
|
||||
<toc-element topic="Speficiations.md">
|
||||
<toc-element topic="UUID-v4.md"/>
|
||||
<toc-element topic="RPC-Communication.md"/>
|
||||
</toc-element>
|
||||
<toc-element topic="LICENSE.md"/>
|
||||
</instance-profile>
|
|
@ -1,3 +0,0 @@
|
|||
# RPC Communication
|
||||
|
||||
To be completed...
|
|
@ -1,10 +0,0 @@
|
|||
# Specifications
|
||||
|
||||
Specifications are used to define exactly how each part of the Socialbox standard works, from communication to privacy,
|
||||
security & limitations. Servers & Clients alike are expected to follow these specification at it's core for the
|
||||
best results and compatibility with other systems.
|
||||
|
||||
## Contents
|
||||
|
||||
- [UUID v4](UUID-v4.md)
|
||||
- [RPC Communication](RPC-Communication.md)
|
|
@ -1,15 +0,0 @@
|
|||
# UUID v4
|
||||
|
||||
Anything on the Socialbox world that needs to be uniquely identified with a random identifier must use the UUID V4
|
||||
specification. UUID v4 is a randomly generated identifier that consists of 32 hexadecimal digits separated by hyphens.
|
||||
|
||||
---
|
||||
|
||||
A version 4 UUID is randomly generated. As in other UUIDs, 4 bits are used to indicate version 4, and 2 or 3 bits to
|
||||
indicate the variant (102 or 1102 for variants 1 and 2 respectively). Thus, for variant 1 (that is, most UUIDs) a
|
||||
random version 4 UUID will have 6 predetermined variant and version bits, leaving 122 bits for the randomly generated
|
||||
part, for a total of 2122, or 5.3×1036 (5.3 undecillion) possible version-4 variant-1 UUIDs. There are half as many
|
||||
possible version 4, variant 2 UUIDs (legacy GUIDs) because there is one less random bit available, 3 bits being
|
||||
consumed for the variant.
|
||||
|
||||
Source: [Wikipedia](https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random))
|
|
@ -1,38 +0,0 @@
|
|||
# About Socialbox
|
||||
|
||||
This project is the Socialbox standard documentation, this project is intended to describe the standard for which
|
||||
Socialbox servers and clients would use to communicate over the internet.
|
||||
|
||||
## What's Socialbox?
|
||||
|
||||
Socialbox is a decentralized platform for hosting social media instances, enabling users to register/authenticate on
|
||||
various instances and communicate with other users or communities across different instances without relying on a
|
||||
centralized server. This model aims to replace traditional services like Email, Reddit, and Twitter, allowing users
|
||||
to create communities for private, internal, or public purposes and engage in peer-to-peer communication, even if
|
||||
they are on different servers.
|
||||
|
||||

|
||||

|
||||
|
||||
## Why use Socialbox?
|
||||
|
||||
Email has been around for a long time, but it only allows us to send messages to each other but it's still great,
|
||||
because it allows Alice from example.com to send an email to John at foobar.com even if both users are on different
|
||||
servers with possibility of different features, but the underlying protocol still works to allow two users from
|
||||
different servers to communicate with each other.
|
||||
|
||||
But take Twitter or Reddit for example, users are constrained to creating their accounts or boards on that one and only
|
||||
platform, if Reddit or anyone on that platform doesn't like that board, they could very well take it down and make it
|
||||
inaccessible to many users. Even worse if Reddit goes down entirely! Socialbox aims to fix this to allow users to
|
||||
explore the internet as it once was without being tied to a centralized service, so for example john@foobar.com may be
|
||||
able to post on cats@lol.com and interact with other users that doesn't necessarily come from lol.com or foobar.com.
|
||||
john@foobar.com may also subscribe to these channels and or boards and receive daily updates from their favorite
|
||||
sources and communities.
|
||||
|
||||
## Wouldn't i need to create a lot of accounts?
|
||||
|
||||
No! The idea is that one use may register for john@foobar.com but with that sole account john may access other
|
||||
Socialbox instances and interact on them without ever telling lol.com or any other foreign instance what John's
|
||||
password is. For example, if john@foobar.com authenticates to lol.com, it's up to lol.com to verify if john is actually
|
||||
john from foobar.com by talking to foobar.com directly, this way lol.com can verify that john from foobar.com is
|
||||
actually john.
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE vars SYSTEM "https://resources.jetbrains.com/writerside/1.0/vars.dtd">
|
||||
<vars>
|
||||
<var name="product" value="Writerside"/>
|
||||
</vars>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ihp SYSTEM "https://resources.jetbrains.com/writerside/1.0/ihp.dtd">
|
||||
|
||||
<ihp version="2.0">
|
||||
<topics dir="topics" web-path="topics"/>
|
||||
<images dir="images" web-path="images"/>
|
||||
<instance src="s.tree"/>
|
||||
</ihp>
|
Loading…
Add table
Reference in a new issue