Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/TrsstProject/trsst

Trsst protocol implementation draft
https://github.com/TrsstProject/trsst

Last synced: about 1 month ago
JSON representation

Trsst protocol implementation draft

Awesome Lists containing this project

README

        

trsst
=====

What is trsst?
------------------------------------

It depends on who you are.

- For most users, trsst looks like a microblogging social network -- a twitter clone -- where you can follow other people and news feeds.

- For other users, trsst looks like a stream-style RSS reader with built-in microblog publishing capabilities.

- And for a few, trsst looks like an extension to the Atom Publishing Protocol where anyone can anonymously create self-signed and/or self-encrypted feeds and entries and publish them to any participating server.

All of these are correct.

Download Alpha v0.2
------------------------------------

Current binaries are downloadable here:
https://github.com/TrsstProject/trsst/releases

License
------------------------------------

All Trsst Project source code is licensed under the Apache License, Version 2.0.
http://www.apache.org/licenses/LICENSE-2.0

Frequently Asked Questions
------------------------------------

The FAQ is currently kept here:
https://github.com/TrsstProject/trsst/wiki/Frequently-Asked-Questions

Development Howto
------------------------------------

Requires Java and Maven.

To build:

mvn clean install

To run:

java -jar target/trsst-client-0.2-SNAPSHOT-exe.jar

Usage:

post [] [--status ] [--encrypt ]
-a,--attach Attach the specified file, or - for std input
-b,--base Set base URL for this feed
-c,--content Specify entry content on command line
-e,--encrypt Encrypt entry for specified public key
-g,--tag Add a tag
-i,--icon Set as this feed's icon or specify url
-l,--logo Set as this feed's logo or specify url
-m,--mail Set this feed's author email
-n,--name Set this feed's author name
-p,--pass Specify passphrase on the command line
-r,--mention Add a mention
-s,--status Specify status update on command line
--strict Require SSL certs
--subtitle Set this feed's subtitle
-t,--title Set this feed's title
-u,--url Attach the specified url to the new entry
-v,--verb Specify an activitystreams verb for this entry
--vanity Generate feed id with specified prefix

pull ...
-d,--decrypt Decrypt entries as specified recipient id
-h,--host Set host server for this operation

push ...
-d,--decrypt Decrypt entries as specified recipient id
-h,--host Set host server for this operation

serve
--api Expose client API
--clear Turn off SSL
--gui Launch embedded GUI
--port Specify port
--tor Use TOR (experimental)

Example: start a server.

$ java -jar target/trsst-client-0.2-SNAPSHOT-exe.jar serve --port 8181

Services now available at: https://192.168.1.5:8181/feed

Example: create a new empty feed.

$ java -jar target/trsst-client-0.2-SNAPSHOT-exe.jar post

Starting temporary service at: http://192.168.1.5:51341
Generating new feed id...
New feed id created: M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1


2014-03-10T20:34:13.440Z

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvzJUjrJSRS0NHsKq1yHur5xdhH35ao4IVTDF_WuwZti3AiAt2gZ8Sehp83PV8yD9ONlw5-DiXYbgY5PUgJTVcQ

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE9FJDVs846H1ne1G5upDY8CIgF_HhmCILl-967JRQTjYTzRVwHMz5mFakwOKdYBcea9Q_1wLL1L-nqWznUh_uQg
urn:feed:M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1











GK1D1kLSydLFRXCHJnPk2p9LjUQ=



CGjdfB+n6uAjIDQ8UCp+GMyjlP4OazvIwzoHKZ2FL8dRGK7PVfLq/dPaGt2SysHHlmCKNhmvQ2BE
2+hQAUtQ7g==

Example: create a new post on a preexisting feed.

$ java -jar target/trsst-client-0.2-SNAPSHOT-exe.jar post --status "First Post" M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1

Starting temporary service at: http://192.168.1.5:51371
Obtaining keys for feed id: M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1
Using existing account id: M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1


2014-03-10T20:35:03.379Z
urn:feed:M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvzJUjrJSRS0NHsKq1yHur5xdhH35ao4IVTDF_WuwZti3AiAt2gZ8Sehp83PV8yD9ONlw5-DiXYbgY5PUgJTVcQ

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE9FJDVs846H1ne1G5upDY8CIgF_HhmCILl-967JRQTjYTzRVwHMz5mFakwOKdYBcea9Q_1wLL1L-nqWznUh_uQg











n/4ocrBhhFr/9+uIzmKkGQ0ufbk=



68l6RxoG8ZAs3QvRs3HNeQipHE/QYuRD9jhqfZzoJO2PzfdCJ9DU2/XdDEwFBJzp96fJjW/fmQWI
VEuQa+GBQw==


2014-03-10T20:35:03.379Z

urn:entry:M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1:144adb4ae53
2014-03-10T20:35:03.379Z
First Post
attribution, no derivatives, revoked if
deleted











fghpP3mG0nzB5Sj4kyqlNbRGsDY=



ys+J0FryCApGD/juC20q9YrbVTIH5wQqmhgvuFmYZdBlhEVpIUg6XaFNbjc4eiAnxMs5r1qACp9n
NB1GrL7MuQ==


Example: create an encrypted post on a preexisting feed.

$ java -jar target/trsst-client-0.2-SNAPSHOT-exe.jar post --status "Secret Post" M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1
-- encrypt MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEQn1eOiToQlurH0gIE0AsBTJNBF1jrOSSIr8i4RSRdvx7dtkD1hre0vgPabJMLH9QktK6AYhl31xkf3xqp_mPxw

Starting temporary service at: http://192.168.1.5:51384
Obtaining keys for feed id: M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1
Using existing account id: M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1


2014-03-10T20:37:10.244Z
urn:feed:M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvzJUjrJSRS0NHsKq1yHur5xdhH35ao4IVTDF_WuwZti3AiAt2gZ8Sehp83PV8yD9ONlw5-DiXYbgY5PUgJTVcQ

MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE9FJDVs846H1ne1G5upDY8CIgF_HhmCILl-967JRQTjYTzRVwHMz5mFakwOKdYBcea9Q_1wLL1L-nqWznUh_uQg











5KBNuLZ9TTbN0UL65hFSjLN+myE=



aCS1AhKl29Pdlcgs6SRhI6oNhEWpak1/8Ft8CrgwTF/qjh7Bcy3H7UjiBC97YI2bHZcedV5Z0BRf
htGt6UCGUQ==



urn:entry:M4QovUyLYdyMy2ZB4s7BwLztwYcyJqrJ1:144adb69de4
2014-03-10T20:37:10.244Z
2014-03-10T20:37:10.244Z

ys+J0FryCApGD/juC20q9YrbVTIH5wQqmhgvuFmYZdBlhEVpIUg6XaFNbjc4eiAnxMs5r1qACp9n
NB1GrL7MuQ==
Encrypted content




BO8MZ3_KSnwnTD3g0apIsP6GnmzF4RrXMhVXV7VgcqBYuITqfAcKwR6s0rjb0BBGRrtxuiiqz6dIDbRGcTSuxVdIgTPcWMvDsixO-I6wnQTT5KXl6_DhoIO_perg9ap0cT-dTi6qS-mKdaN0ADqf3E6vTsgpGTt3h_8mNQCYo9baJbobFgdmzjRi75KIMyXijA





BAr8zcyj6SrI0T70_-U44V4edUxB9jNNaNLfFumWrL-yj_DoOm-DcDy4lwW3SnjqeFb-_at-72bb-mPrmaMnbAk6CVVfHDgg4pRDTriBQiCxwX8VDlCA5ileCdX0qi40c2NTgsEGS7IWwmnHwfIGj5_C7bmeyiIEhB9PiU_v7t-KRXrNPblcNarZ3Gbsu71SJw





nxTxeHPGnONdAEvpWtClWbA7C5SQsAdjFeleXDnMrOPb8YqTuAy_Uc4d39ycT7aoMmZlH1VWPfWyjJq43azenQbtmluNaw1ABxRvI8yWfNJZYb6fIxDQLL4en_bQ9GW5Z2epJuPU0IxU4gj99YZ_hOjyO5jpOnUO7shoTt8CRvRdtoEqI8QGT8-nmJyIg4wNMeLRTEcQ503dekG8ks6TrFGkrYAa5nlDMxrlAe_2etfr1eBDctgHkk18gCFTjO18Ydjx955DzsbZHqmnqok4eom6SNVdkHXWjQMt4bhWgJWFDjnwpaYoiqcms8upDNope6G98sib8vNX6Muw8liEq787xy4LMLbS6fbMPHzHDYV7yZV1xKA4YRKV99mWkENnhmjGrNjMrV5WVmBg_8VU2h4FicGkYtBl3mPD_Q967-CyTJlwdNWmtrECascazcdSROI7fpB0ZDnE9gdNPUlUC6YACXemjYRCY1OFyOwiVBFX8UhqR9CLsb0KzQtC_WOavNpGneZoPEO3hGVyQusawYb4ESZumuDPLSYkm6TTiRBxxlgCgmWu45zBNidOmDy2ARzq_f-aEozbKyzDJEy7hR-jXWbRrxvVUV24eiJd0gV8c7AEJYT6edXnO2PXbEjR3Itl-JOBec4k8Y2dTkUDXvdO1u1hk6uZ_oD1-RizQVo














1Izt6hPxvZExmTWiSPT5QbMuoKs=



iUFSwxDvxti1hjDFgmux7NPrk3PEEFAnhNnNqlad2VB42iir2Xl8RPcEZA1Sne7Rc51b376E9Iy0
qT5shelegQ==