/prog/ - Programming


Mark sensitive

File: designedwithnotepad.jpg (3.16 KB)
Interfacing with Fchan Anonymous 04/19/21(Mon)09:32:07 No. fprog-F6926VVH [Report]

I'm making my own chan, because there weren't enough chans already. So how can I make it interface with fchan? How does it work in a nutshell? I send POST requests to fchan, fchan sends POST requests to me? We keep seperate databases? Verification?

Anonymous 04/19/21(Mon)12:31:34 No. fprog-FT4WJDB6 [Report] >>fprog-6021YAEK

On another note, how do you deal with different tones on different sites? Whereas 4chan might regularly use variations on "faggot" and "nigger", your site might not. Just don't federate, I guess?

Anonymous 04/19/21(Mon)17:02:35 No. fprog-40CR9XKY [Report] >>fprog-6021YAEK

FChannel uses the activitypub protocol so the main thing to integrate is the ability to have "actors" actors are a way to find an inbox, outbox, follow and followers. Actors could probably be hard coded spoofed if you dont want to support activitypub fully, but cant gaurentee anything. To make a post to fchan.xyz you would make a POST request with an authorization header field of >Authorization: Basic <your hashed authorization key to verify> and a json body of an activity stream similar to >{ > "@context": "https://w3.org/ns/activitystreams" > "type": "Create" > "actor": "https://fchan.xyz/prog" > "to": "https://0x00000000.xyz/b" > "published": "2021-04-19T00:00:00Z" > "object": { > "type": "Note" > "id": "https://fchan.xyz/prog/OWKDL87J" > "actor": "https://fchan.xyz/prog" > "attributedto": "Anonymous" > "name": "This is the subject name of this Note" > "content": "This is an activity stream json object content body" > "inreplyto": "https://fchan.xyz/b/FH83KLD0" > "published": "2021-04-19T00:00:00Z" > "updated": "2021-04-19T00:00:00Z" > } >} You will make this post request set to the board(Actor) you are wanting to post to such as https://0x00000000.xyz/b/inbox What this activity stream does is have 2 parts. It has an outer shell which is the activity stream. This one is a Create activitystream with an actor of https://fchan.xyz/prog who created it and its being sent to https://0x00000000.xyz/b This outer shell wraps an inner object which is the actual post message to be sent, hopefully the fields are self explanatory. Outer shell is like a package, inner object is like the payload Once 0x00000000 receives this message they are going to check the authorization header and send a get request to https://fchan.xyz/prog/authorization?code=<your hashed authorization key to verify> if it can be verified it accepts the post if not it does nothing and responds with a rejected actvitystream

Anonymous 04/19/21(Mon)17:09:32 No. fprog-6021YAEK [Report] >>fprog-3UVRAL3H

>>fprog-40CR9XKY these were removed >Authorization: Basic [your hashed authorization key to verify] and >authorization header and send a get request to https://fchan.xyz/prog/authorization?code=[your hashed authorization key to verify] for your imageboard to interface, you would need an actor that has an authorization gateway with https://actor/authorization that accepts a field of code which will accept the authorization of the post >>fprog-FT4WJDB6 when you query the posts from your database you can parse the results before showing them for view and remove any words you do not want to show on your instance. im sure more can be explained better, just let me know if there are specifics you want expanded upon.

Anonymous 04/19/21(Mon)17:57:14 No. fprog-3UVRAL3H [Report] >>fprog-G8EFB5NE

>>fprog-6021YAEK I see, so on instance Origin, to duplicate a thread over to instance Target, is to send the following json with the header: [code] Authorization: Basic 1337DEADBEEF8086 { "@context": "https://w3.org/ns/activitystreams" "type": "Create" "actor": "ORIGIN BOARD URL" "to": "TARGET BOARD URL" "published": "ORIGIN THREAD CREATIONDATE" "object": { "type": "Note" "id": "ORIGIN THREAD URL" "actor": "TARGET BOARD URL" "attributedto": "ORIGIN THREAD TRIPCODE" "name": "ORIGIN THREAD TITLE" "content": "ORIGIN THREAD BODY" "inreplyto": "???" "published": "ORIGIN THREAD CREATIONDATE" "updated": "ORIGIN THREAD CREATIONDATE" } } [/code] Then (ORIGIN THREAD URL)/authorization listens for a get with GET["code"]="1337DEADBEEF8086". ORIGIN then returns 200 OK? But what is "inreplyto"? Surely you can quote multiple replies at once.

Anonymous 04/19/21(Mon)17:58:52 No. fprog-G8EFB5NE [Report]

>>fprog-3UVRAL3H I meant "content": { "body": "ORIGIN THREAD BODY", "media": "ORIGIN MEDIA URL" }

Anonymous 04/21/21(Wed)16:40:59 No. fprog-94ZZB3JU [Report] >>fprog-XOE40NYE

>>fprog-F6926VVH (OP) > The HTTP Signatures extension, while not officially part of the ActivityPub standard has been acting as a de-facto standard for authentication on the Fediverse. We recommend that unless and until another authentication mechanism offering the same benefits as HTTP Signatures becomes available and generally adopted that HTTP Signatures be implemented in ActivityPub software and HTTP Signature validation of messages should then be assumed. Thoughts? https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/ Seems like this would be a nice way to make fchan "generic" enough to federate with other federations entirely, instead of just other fchan instances.

Anonymous 04/22/21(Thu)14:22:00 No. fprog-XOE40NYE [Report] >>fprog-ARWGGSPK

>>fprog-94ZZB3JU >federate with other federations entirely, instead of just other fchan instances. should this even be a thing? I fail to see what this would be good for

Anonymous 04/22/21(Thu)18:23:46 No. fprog-ARWGGSPK [Report] >>fprog-DOJ72ZI8

>>fprog-XOE40NYE federating with other anarchic federated platforms, what's so bad?

Anonymous 04/22/21(Thu)18:48:02 No. fprog-DOJ72ZI8 [Report] >>fprog-B80MCOQQ

>>fprog-ARWGGSPK do anonymous imageboards fit in with microblog type systems that usually have a login attached to each post? how would a post from or to peertube look without a user login? would it be a post dedicated to that video?

File new.png (13.36 KB)
Anonymous 04/24/21(Sat)09:36:44 No. fprog-B80MCOQQ [Report] >>fprog-VJ1IU688

>>fprog-DOJ72ZI8 AFAI have been told the boards are the actors, aka "users". PreferredUsername is probably set to "anonymous" or something. So you would "follow" the "user" fchan.xyz/prog/ and then see "anonymous" post on your feed.

Anonymous 04/24/21(Sat)09:45:57 No. fprog-VJ1IU688 [Report] >>fprog-8C2S6A3I

>>fprog-B80MCOQQ That's how fchan works, but how would fchan federate with pleroma, mastodon, peertube etc where the original quote was referencing the mastodon url posted about auth standards.

Anonymous 04/24/21(Sat)10:08:56 No. fprog-8C2S6A3I [Report]

>>fprog-VJ1IU688 as of now, not. fchan needs to abide by their rules and setup if it wants to federate. The http request signature and a simple shared key for all boards seem pretty easy to add though. There's probably an opensll library available for go.

Anonymous 04/25/21(Sun)00:14:31 No. fprog-9VIPQZ85 [Report]

Being closer to what other federated services do sounds like a decent idea. I'm also having trouble imagining what crossposting between something like pleroma and fchan would be like but maybe someone will come up with an inventive interface that would make it work?

[Post a Reply] 13 / 1

[Home] [Rules] [FAQ]

All trademarks and copyrights on this page are owned by their respective parties.