An open-source, decentralized, encrypted P2P social networking platform built using ASP.NET Core.
- Visual Studio 2017
- ASP.NET Core 2.0
- SQL Server 2016
- Node.js
- Gulp
-
Clone the repository:
git clone --recurse-submodules https://github.com/datasilk/connector
-
Run command
npm install
-
Run command
gulp default
-
In Visual Studio, publish the SQL project to SQL Server 2017 (or greater), with your own database name
-
Open
config.json
and make sure the database connection string for propertySqlServerTrusted
points to your database. -
Make sure you can test your website locally via HTTPS by running a command to install a local SSL certificate
dotnet dev-certs https --trust
and also, make sure IIS Express is set up to test locally via HTTPS
cd "C:\Program Files (x86)\IIS Express" IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:7000 -UseSelfSigned
NOTE: You may need to restart Visual Studio 2017 in order for this to work
-
Click Play in Visual Studio 2017
- Runs an ASP.NET Core web server that also acts as a node server
- Can connect to various root servers to retrieve a list of public node servers that you can subscribe to
- Can subscribe directly to a private node server that belongs to a close friend or relative
- Upon logging into your privately owned node server, it will retrieve updated content from subscribed node servers.
- Uses ChaCha20 encryption to protect all data shared across nodes
- Developed upon the Datasilk Core Template MVC project
In order to subscribe to a node, you must know the node IP Address or domain name either by browsing root servers for public node lists, or by getting that information from the friend who has an account on the node. Next, you'll need the username of the person/friend you wish to subscribe to. Upon sending your username along with your friend's username via REST to the desired node, a response will be returned with a private key (sent encrypted over HTTPS). That private key will forever be stored, linking your local user account with the remote user on the node server of choice and enabling HMAC+ChaCha20 encryption for any future messages. Once that user accepts your subscription request, you'll be able to securely view their timeline from your node's website portal.
All above projects (including this one) were concieved & developed by Mark Entingh, who has a strong passion for web development.