This site is based on the activity pub protocol. It is still a work in progress. You can get the source code here. https://github.com/FChannel0 I hope it provides some interest.
What part of ActivityPub is used? In what way is it federated?
All of the structures are based on activitypub. Each board is an actor which has a inbox, outbox, following, followers box. You access an instances posts by going to their outbox. If you go to https://fchan.xyz/prog/outbox you will see all the posts on this site. Users can then take those post for their own instances. eg. You have an instances myimageboard.com/g I can follow that instances and then I will see all of its posts from its outbox. I can then merge it with theses posts. Interacting with posts that are not on your instances. I will make another instances tomorrow to better showcase it. So what makes it federated is that each instances has its own posts, but others can access them and post to them instead of it all being only on one site side not, quoting another post is bugged for the moment.... its appending http://https:// to it.
I have fixed the double post problem when replying to some threads, also click a quoted link in a post should route correctly now when the post is not from the local instance. I have increase the file size limit to 7MB. I still have to fix the proper reply count and attachment count, also showing the correct file size of the attachment.
Cache system almost in place. This should help load time greatly.
Caching is in place. Post counts are going to be fucked again. Will fix soon. I dont notice a huge difference on my side from the caching from before, maybe others will. I will investigate other ways to cut down requests to improve performance
>>fprog-B2C6A732 its actually shit. Its not caching all post but only a select few. Didnt catch this on local setup. Looking into why its not caching all posts. Logic is off somewhere.
All images have been resized to have a tumbnail images so browsing the site with mobile should not kill your data and load times should be better with the smaller thumbnails, movies preload off and audio preload off. Caching actually was working.
>>fprog-AF085BFA (OP) It seems catalog page doesn't load thread thumbnails and instead load the full image. I can see the thumbnails slowly loaded on catalog for big image.
>>fprog-AF085BFA (OP) Why is PostgreSQL preferred over the cutey SQLite?
>>fb-A83F6EAC → ah right, file locks (https://www.sqlite.org/whentouse.html
I am working on consolidating the server and client program. There is redundancy with the client having to talk to the server when the server can just run the front end when someone requests the webpage. And when they want the activitypub ld+json they can request it by setting the content-type to application/ld+json; profile="https://www.w3.org/ns/activitystreams" I am doing this because it will be far easier to cache on the server side than client side for posts. The current bottleneck is pulling the feeds from the followers which I want to get rid off. Caching your followers outboxes and getting updates when they make new posts and updating your cache should allow for a smoother experience getting rid of this bottleneck Also, this will get rid of the dumb fchan.xyz subdomain and it will just be fchan.xyz where you can go to fchan.xyz/outbox fchan.xyz/following fchan.xyz/followers. I hope to have it done by this weekend. Thank you for visiting, I will make this platform better with time. And anyone who wants to help out where they can is appreciated. Posting here is help enough.
>>fprog-FF53781G like
>>fprog-FF53781G I am proficient in for loops. How can I help?
>>fprog-FF53781G I don't know where suggestions go so I'll just throw it out here. I propose a place to list other instances, maybe a board /shill/ or something? Also theme support would be nice. I don't know any code, otherwise I'd help, sorry
>>fprog-6DGBCC91 You can make a loop that with each iteration you either make content, share content or tell someone about FChannel >>fprog-G9G69783 Suggestions are welcome here in this thread for time being until a better spot is available. I plan to provide an index of instances running fchan as they come online. I'm hesitant to make many boards at the moment because the userbase is still growing and the current boards available have not been outgrown.
Im about 80% done with the caching of the posts for boards you follow and combining the server/client. Its taking a little more time than I was expecting. Since its such a big code revision I am not rushing so not to break more things on the live servers. Hopefully by this weekend it will be wrapped up. Real life obligations have been taking some of the time away from fully developing this platform. Thank you for checking back, theses improvements will make FChan a lot better and I would feel confident sharing it more and having others run their own servers.
New version is in place with caching. If an instance goes down or is offline the posts are still avaiable from the local cache. Only the attachments will be broken because those are not saved locally. I added a red board theme and fixed the post and image counts. There are bound to be bugs I missed. It seems to load a little better, I will see what can be tweaked more.
>>fprog-9E59GG8F Also I am in the process of transferring from the instance.xyz to just instance.xyz. I have to update the database to reflect the change. The current fchan.xyz nd 0x00000000.xyz are temporary.
load time improvements should be noticed. they have been cut down from 3-5 second load time for large posts counts such as https://0x00000000.xyz/b to about 1 second. more improvements soon(tm)
OP I've been following this for months but I don't see the /g/ threads much anymore. Do we have a Matrix room or IRC channel up? Giving feedback and seeing updates isn't great via imageboard.
>>fb-KTXNI4FY → Thanks, I just saw the other thread with the same question oops.
>The HTTP GET method may be dereferenced against an object's id property to retrieve the activity. Servers MAY use HTTP content negotiation as defined in [RFC7231] to select the type of data to return in response to a request, but MUST present the ActivityStreams object representation in response to application/ld+json; profile="https://www.w3.org/ns/activitystreams", and SHOULD also present the ActivityStreams representation in response to application/activity+json as well. Please add presentation with application/activity+json.
Add to Fediverse list: https://en.wikipedia.org/wiki/Fediverse Read about Zot protocol: https://zotlabs.org/help/en/developer/zot_protocol
Based instance fediverse list: https://fediblock.org/blocklist/
Add board creation
Look at modern imageboard engine. Not 4chan. https://gitgud.io/fatchan/jschan ## Goals - Oldschool look, newschool features - Work with javascript disabled - Support using anonymizers such as Tor, Lokinet or I2P - Be usable on mobile - Simple static file serving ## Features - [x] User created boards ala infinity - [x] Multiple files per post - [x] Basic antispam & multiple captcha options - [x] Read-only JSON api - [x] Multi-select moderation actions - [x] Websocket update threads w/o polling - [x] Webring w/proxy support (compatible with [lynxchan](https://gitlab.com/alogware/LynxChanAddon-Webring) & [infinity](https://gitlab.com/Tenicu/infinityaddon-webring) versions) - [x] Manage everything from the web panel - [x] Works properly with anonymizer networks
I am curious as to what benefits or differences FChannel provides in comparison to NNTPchan? https://github.com/martindale/nntpchan Also I'm a little confused how the federated aspect of it works on a larger scale. For example, if there are 10 servers, all whom run a /g/, and they federate with each other, would there be 10x /g/ board listings at the top of their sites?
Any chance anyone could submit a PR to add support for FChannel to KurobaEX? https://github.com/K1rakishou/Kuroba-Experimental
>>fprog-RD7CEKI8 nntpchan uses nntp protocol FChannel uses activitypub nntpchan is more mature, but you have to go through more hoops to access FChannel is new, but has direct access for users If there are 10 instances all with g, each instances just follows the other g instances in theirs. For example, if you look at the /b/ board. fchan.xyz has a /b/ that follows 0x00000000.xyz/b 0xChan has all of fchans boards consolidated into its one /b/ board There will not be duplicate boards in the menu.
>>fprog-8LYV28F6 >Multiple files Who needs this?
>>fprog-33METGNO Ok, albums I guess.
>>fprog-CO62FROA >For example, if you look at the /b/ board. fchan.xyz has a /b/ that follows 0x00000000.xyz/b Ok so, if I self-host an instance, and I dislike what content comes from one host, can I choose to block that instance I assume? Then it will show content in /g/ from all instances I federate with, except that one I un-federated with? If this is the case, it sounds good but may need a little work. For one, currently it doesn't seem as if there is any way to identify which posts originate from which instance. I also think it would be beneficial to be able to filter posts in a thread by instance/see only local posts. So if I go on /g/, I can choose to only see posts that originate from one instance, and hide all others. These would be big tweaks that would make it feel more federated to the end user, rather than one massive cluster of instances, which long term can get out of hand when other instances come along posting shit nobody wants to see or spamming, etc.
>>fprog-ETZWRC3U Also, what's the deal with blue/red boards? Currently I see no way to identify whether a board is blue/red from the web interface? Also in a federated aspect, could someone setup a /g/ instance that's blue, and another that's red? In theory, I see no reason why not. Instances could just choose to hide the red instances if they don't want to see that content, or blur it, etc. They can also just choose to un-federate with all red instances. I think having a list of public instances and mark which have red would be beneficial as well.
>>fprog-N9OP5U6T - hover over the post id to see the original link - the activitypub inbox can obviously tell where a post comes from, see HTTP protocol
can you please add a fucking newline after the post ID when the reply form is opened? so that I can start typing without having to press Enter every time?
>>fprog-4X22VPYH yeah this is a big one, along with redirecting to the thread itself, not back to the board
>>fprog-RJZB2Z08 noko test
>>fprog-RJZB2Z08 >noko You see, futaba standard behaviour is to return to the board, and the "noko" option keeps you on the thread. Yes it's retarded. Anyway noko doesn't seem to work here.
>>fprog-4X22VPYH >can you please add a fucking newline after the post ID when the reply form is opened? added >>fprog-QGBDCR4M noko fixed
>>fprog-CBK42L17 wtf, its not added...... was in my testing enviroment.. new line will be added shortly.
>>fprog-BSV8TJEN nvm, i am tripping. probably didnt refresh my browser to newer version
>>fprog-CBK42L17 based devfag, thank you
>>fprog-9FA9AC6F Based question I also wanna know this.
>>fprog-E2V80RCN pen spotted
>>fb-COX6W8E0 → What should a peertube interaction even look like on an fchan instance?
>>fb-COX6W8E0 → wouldnt that lose the anonymity of a image board? i dont even get why people tripfag because if they want attention they could just post on pleroma or something
>>fb-COX6W8E0 → after the pen fiasco, i don't think we should
>>fb-COX6W8E0 → if you want to communicate with pleroma go to /pen/ from fchan
>>fprog-H1N8LHHP you could omit names and activitypub addresses and just make any sort of identification impossible, cosmetically. i'm just thinking it would bring more discussion in.
>>fprog-387IYIFA think youtube comments from 4chan. linking youtube videos on a chan website is already a thing so it would just eliminate a step and be more interactive. >>fprog-H1N8LHHP what >>fprog-JTNVA9ZG said >>fprog-825Q4W7W >>fprog-JTNVA9ZG pen is a containment board for a few freaks. its literally just s4s. more people could interact with different boards and contribute, /pen/ aren't the only people on pleroma
how many instances of Fchan are there right now? will the whole thing stay up even if developer's shitty Pentium 2 box that is hosting fchan.xyz and 0x00000000.xyz goes down?
>>fprog-JK4OYUNW There are approximately 5,817,172,827 Fchan instances as we speak.
>>fprog-6CC0DQKP i would argue to do the inverse; make activitypub members use their activitypub username as their author name, with an activitypub logo displayed aside the name; name is also a link to activitypub profile
>>fprog-BTXJ87VL when i integrate activitypub instances that have usernames the name is going to be replace with redacted or namefag, there will still be a link to their profile via the post id, but will not be visible in the thread name field. if you see namefag instead of anonymous its someone who posted outside of fchan with a user account. still some testing before this happens. layed the foundations to have fchan more complaint with other federated instances such as using a webfinger, having pem keys for each actor, and using the signature header as verification with pem keys.
>>fprog-6KX8CJLR BASED DEVCHAD. i really like this approach, can't wait
>>fprog-6KX8CJLR Loks Interesting, I like it
>>fprog-7E132B59 >Suggestions are welcome here in this thread for time being until a better spot is available. I suggest either thread title or ID in the window <title> as currently inactive tabs from a /board/ all have the same title. Pic related.
>>fprog-BQVQPSGG There's a matrix channel now, probably a better place for that rather than just this thread.
>>fprog-3SSACLQ5 you should make an irc channel too tbh (hate matrix). there's bridges you can install with good docs
>>fprog-4XP2XJD8 yeah i'm on board with this too. IRC would be good.
>>fprog-AF085BFA (OP) i noticed that if you try to reference a thread in another board with 3 '>' the reply fails to post
>>fprog-4XP2XJD8 >>fprog-3P82S2G5 created #fchannel on irc.libera.chat which should be bridged with the matrix channel. >>fprog-HXTU4SVY cross referencing other posts needs to be implemented, quoting a post only checks the current thread for the post it is referencing. the tripple > needs to be supported in the parsing. thanks for reporting, i need to fix this asap because cross referencing needs to be supported. i also created a /meta/ board so that suggestions and general discussion about the site can be made so it doesn't overshadow other topic discussions in the current boards. new board suggestions that you would like to see are welcome to be made there. i made it hidden, but if its thought to be better if easily viewed by all, it can be added to the main board menu. i didnt want it to distract from other boards and be a more behind the scenes discussion i.e. meta https://fchan.xyz/meta
dev you should report in here: https://node9.org/item/853cada9-add4-43f6-b079-4d1b1c998b25 so that fchan gets listed in https://socialhub.activitypub.rocks/c/software/14
>>fprog-AF085BFA (OP) Captcha Discussion: We all know the current captcha isnt the best and it needs to be harded. Captchas are always a pain to deal with and the amount that are unreadable is too damn high. When making FChan I knew some form of verifying a user from bot was need, so captchas are necessary to have without further gathering user data. There has been a suggestion with a pull request to harden the captchas with the same ones you see in many places. I initially found it difficult to read these captchas and I am sure other users would too if there are already invalid captchas happening with the current weak version. So before I pull the merge request I wanted to ask the users their input since you will be interacting with them mostly. On the PR you can see the type of captcha suggested. https://github.com/FChannel0/FChannel-Server/pull/28 Also pic related. The other route is to modify the current captcha and harden it a bit. I have been preemptively thinking about this and I made a v2 of the current captcha that takes care of some of its weak points. Using a custom captcha you can do things unique to the site instead of same generic one you see everyone else. Also it can be customized to ease some of the pain, eg with the v2 its case insensitive and you do not have to use the shift key for symbols (or letters). If the captcha is FJR$# you can type in fhr43 I will post the v2 of the custom captcha in the next few posts. It still can use some work to be sure its more secure such as line confetti overlays that you see everywhere to obscure the text more. The main threat is OCR, while it can be trained it is easy to obscure its reading accuracy. So my reasoning for going with a "custom" captcha is it can be customized and unique to the site even though it might be "less" secure Or if users prefer proven "secure" captchas, less readable, more generic. I wont mind going that way either. It would be the simplest path.
>>fprog-6LJF8O5V
>>fprog-ZFP1LNTR new version of current captcha
>>fprog-8O0NM93I
>>fprog-Z1G33RAF use this instead: https://github.com/steambap/captcha
>>fprog-Z1G33RAF nice captcha get. i think this one's better than >>fprog-ZFP1LNTR imo
i have an irc net you can use for devchats if you want pick a channel name and append ?channels=name to the url https://2hu-ch.org/_irc/
i think this one could work: https://2hu-ch.org/_irc/?channels=general
>>fprog-LL2XIM67 no
>>fprog-RXZA60ZZ yes
Why does fchan's CSS suck so much? >>LINKING to a post ain't even highlighted and blends incredibly well with the text.
>>fprog-00R793UC >Linking to a post ain't even highlighted it is upon hover, but throw in a pr if you want to change it. Thats literally like a one line change
>>fprog-00R793UC >>fprog-X20TI6GA There is already styling but it is ignored in favor of a:link, a:visited, a:active { Changing it to a:link:not(.reply), a:visited, a:active { works but there is probably a better way to do it.
how can i get federation to work with pleroma?
>>fprog-7B783FM0 i would say ask this on /meta/
This may be a more appropriate question for meta, but I was wondering if we know that deletes propagate between instances? I just janny'd some spam posts and do not see them from a few sites I know federate with each other.
>>fprog-1M7ZWB2Y deletes propograte if the source of the thread is deleted from the instance it originates from. so if a post gets posted on penchan and federates with everyone else, if penchan deleted the post it gets deleted from all instances that follow that board. if the thread does not originate from the instant that deletes it, it is just a local delete to that instance.
>>fprog-7B783FM0 currently how the activity structs are used they are not in sync with pleroma. so there has to be a conversion to pleromas standard. one example is plreoma uses preferedUsername@instance where fchannel uses name@instance so right now you can go to a pleroma instance and do @[email protected] and it will attempt create a new posts. but some conversions do need to happen first to successfully write. i have been able to send a message from pleroma and have it write to the database and was able to do a follow req from pleroma and have it write to the database. this could bring up the discussion of how replying to a post should be formatted right now it requires the full URL. how can it be streamlined? @7B783FM:[email protected] might be excessive to write. @[email protected] is shorter, but referencing specific post swill be needed. maybe @[email protected]/prog and @7B783FM for local.
>>fprog-AF085BFA (OP) just curious what are these for?
>>fprog-7J459F7X :o BOTNET
>>fprog-7J459F7X so users visiting a federated site automatically mine crypto for the FChannel software owner. don't tell anyone though.
>>fprog-TQS8TYJX i have been mining ETH on everyone this entire time
>>fprog-7J459F7X i had the plan when starting this project of allowing users to add a crypto wallet to their post to promote shilling. if someone makes some type of contribution and they attach a wallet address to their posts others can choose to donate or w.e to that address.
>Unchecked runtime.lastError: Invalid color name. prog:1 >Error handling response: TypeError: Cannot destructure property 'h' of 'undefined' as it is undefined. at chrome-extension://hhckidpbkbmoeejbddojbdgidalionif/components/video_toolbar.js:310:46
Feature requests (that I can think of right now): -Better .gif thumbnail handling (a lot of gif thumbnails are kinda shitty) -Make the reply captcha optional -A feature to block certain keywords, to prevent spam bots from posting their spam
>>fprog-S6DS0YJR >Make the reply captcha optional To what end? (I am not devchan just asking) All your other ideas make sense tho
>>fprog-S6DS0YJR >-Better .gif thumbnail handling (a lot of gif thumbnails are kinda shitty) this is a imagemagick issue with resizing gifs. the alternative is making it so thumbnails are not animated and are static until enlarged and then the gif will play. this will probably be less desirable, but it will stop the appearance of broken gifs. >-A feature to block certain keywords, to prevent spam bots from posting their spam yes, I have a keyword blocklist hardcoded on fchan to test with recent spam but ill add it to the repo code so admins can add their own regex to filter spam from the management page.
>>fprog-LQZECT7A Captcha per post is annoying and not necessary. It should be optional for site admins.
instance admin should update to v0.0.9 to have access to the post blacklist in the admin page. this will allow you to create regex statements to block predictable spam. who knows if the spammers will adapt and make variations. the one that is spamming the most has a predictable format that you can easily make a regex statement for. when entering the regex statement you do not enter them between // like some regex. escape characters like your normally would. it was not fully tested for all edge cases so please let me know if things go wonky. there is a test case comment section to test your regex statement. if it doesn't get added then the regex failed. if it gets added then it passed. it could throw errors on server side if the regex cannot compile.
>>fprog-77EXN28W insane shizo not even him pen hasn't even visited the site in 2 months
Also it would be cool if you could open images from .onion instances on clearnet instances. Right now there is no media proxy for that and it just tries to open the image directly from the .onion URL which obviously doesn't work.
>>fprog-Z4W7ZSEQ It would be nice but it's not fair on other admins since if someone posts CP while I'm asleep it's now their ass on the line. An idea I had was to let the user specify a Tor2Web gateway like onion.ws but all of the ones I can find check the referer to prevent hotlinking.
>>fprog-JLKPOV6Z → Simple: make it optional. "Do you want to media proxy retrieve files from .onion instances?" in the settings. Plus there's already the "always spoilered thumbnails" feature built-in.
Test.
>>fprog-Z4W7ZSEQ or do the saner approach and proxy your browser's traffic through tor
add auto follow option for boards update to version v0.0.10 to be able to use them. it has not been extensively tested, so errors could occur please report if you run into any.
instance admins !!!!!! UPDATE TO v0.0.11 if you are on v0.0.10 !!!!!!! there was a bug with the logic for the auto follow that was fixed in v0.0.11 if you are using v0.0.10 update ASAP before your instance follows or gets any other followers
>>fprog-AF085BFA (OP) so if someone starts spamming illegal things at the indevidual level (not a specific instance), how should all the federated instances react? Could the admins from another instance moderate the board the illegal stuff was posted on?
>>fprog-N2WEX65A → media is not replicated to each instance. an instance can just go offline if it is being attacked by spergs and do not want to deal with it. other instances can carry on just fine. ideally more instances than spergs. instances can locally delete posts. origin instances when deleting posts deletes it for all instances.
Fchannel instances that are no longer active should automatically disappear from the front page and from your follow list.
>>fprog-5DCYDVE7 what makes something inactive? does hosting the network make it active?
>>fprog-0UOYK4SL An instance no longer being online for 24/48 hours?
is there thread archivimng logic in Fchan? how would that evem work? what would be the criteria for makimg thread archived across all instances?
>>fprog-HEL2SCR2 added, after 24 hrs of not being able to send a request to an instance the instance removes the instance, but not the posts. >>fprog-WVGKJ7ZU added just now actually. works by archiving the oldest 165th+ post since other instances it might not be archived it can still be post to, its just archived locally to the instance where it exceeded 165th post in update time. if you view the archive page there can be new posts from other instances, it is just archived on the current instance. go to the instance it is active on if you want to interact with that thread
Instance admins should update to v0.0.14 -Cross posting should work -Removed most javascript dependencies to where you can view and post without javascript enabled. Some things like reporting and quoting post need to be made more useable without javascript though. -Inactive instances get removed after 48 hrs, checks if you can request the actor from the instance every 24hrs -Archive system is in place -Out of sync following/followers fixed. If you have an out of sync follow where you are following someone, but they do not have you in their followers you will need to unfollow and re-follow again to fix the sync issue. Trying to unfollow a board that has gone offline is not possible atm. either wait until the 48 hrs where you cannot make a request and the board is removed or wait until i add a force remove or run some sql commands.
>>fprog-2WV26LMU thank you, mased devchad, for keeping this project active
>>fprog-LUJOAP30 s/m/b/ my brain had hiccups
>>fprog-2WV26LMU i feel like the news box is a good place to report this, why not use that more? the archive is a fairly important thing to add to the news imo
latest commit to Fchannel-server was a month ago is dev ded? was he suicided by bioluminescent government agents because Fchan was becoming a threat to globohomo?
>>fprog-YSVPGDW0 Yes.
>>fprog-YSVPGDW0 >>fmeta-8WU5LHU8 →
>>fprog-AF085BFA (OP) Problem with it is that you can't actually talk to everywhere from anywhere. fchan.xyz is the biggest instance and it doesn't follow every other one so you have to use fchan.xyz or one of the few it follows in order to talk to anyone making it effectively centralised. for example, I posted >>fg-U5ODX6QZ → but nobody saw it. This place uses a paradigm that works for social media (ActivityPub) and transplants it onto imageboards with each board being treated like a user. That's what causes this problem. So I think there should be an option for boards to automatically follow back other boards which follow them, enabled by default. You can always unfollow boards individually if you want.
>>0P7DRPEL >So I think there should be an option for boards to automatically follow back other boards which follow them, enabled by default. I agree, that makes sense too bad that dev is dead, so someone else will have to make that work
>>0P7DRPEL Auto following was added back in July, I just added a /g/ board and 2hu, poopchan, and fchan followed back automatically. https://github.com/FChannel0/FChannel-Server/issues/43 Following and unfollowing were broken in v0.0.10 which is when CyberiaChan was created (I think), pen, poop and 2hu all think they are following cyberia but they don't show up in chan.clubcyberia.co/g/followers, and except for fchan, cyberia doesn't show up in the followers any of the boards it's following chan.clubcyberia.co/g/following. The cyberia admin should be able to fix it by unfollowing and refollowing.
>>OKLL4MAN Forgot to mention that they may need to unfollow and follow poop and 2hu again if they don't show up in cyberias followers, and that the penchan admin will have to refollow manually since they don't have auto follow.
>>fprog-AF085BFA (OP) do you take/need donations? Consider registering fchan or your github page with Brave Rewards, or putting up a crypto donation address somewhere. In fact, I have an idea for a feature you could add to make this project more sustainable: instead of filling out a captcha, site owners should be able to require a small crypto donation (preferably in a privacy-preserving coin with low tx fees, like Monero) before posting. Similar to a 4chan Pass. So let's say a site owner decides that users have to pay 0.0001 XMR to make one post on his instance of fchan. The site generates a Monero subaddress, to which the user sends 0.1 XMR, enabling him to make 1000 posts. Or maybe make unlimited posts for 100 days, you get the idea. He then uses the subaddress or another unique identifier as his password (perhaps stored in a cookie) to post on the site without having to fill out a captcha. This would of course require a Monero view-only wallet to run on the server so that the site can register the user's incoming payment. This would help paying for server/bandwith/domain costs without resorting to advertising (as if any advertisers would want to sell us ads anyway).
>>fprog-SXB3WVOC why not Bitcoin Lightning? I think its perfect for this usecase. Only problem might be browser integration, but that might be solvable with a suitable extension?
>>fprog-B6IPOQ28 which currency to use is not a very important point of discussion, I think. Ideally, site operators should be able to choose between different currencies that they accept. At some point this might include CBDC's, depending on how that whole thing pans out. That said, several things make Monero a good candidate: - It's ASIC-resistant and mined with CPU. Anyone with a mid-range desktop computer from the last 5 years can realistically get his hands on some XMR by mining, without having to sign up with a crypto exchange - It's more censorship-resistant than any transparent public ledger (BTC wallets are routinely blacklisted by exchanges based on who they transact with; BTC mining companies will eventually be pressured into not mining transactions made from/to certain addresses) - Has low fees at L1, doesn't require setting up or relying on someone else's LN server - Better privacy than Bitcoin/LN (this is according to LN developers)
>>fprog-SXB3WVOC >crypto donation address somewhere bottom of README fchanpass is most likely the future for quality control and providing instance support. up to this point i didnt want any walls to be in the way to post like registeration, passswords, paying. but it might be a positive for all in the long run. if you make the crypto donation and still make undesriable posts, atleast support the monitoring time needed for an instance to clean up posts. theres a lot that can be done before that though, there isnt a massive userbase to where you have to put some type of barrier to entry for quality control.
>>fprog-K10X2THG very nice. Another project worth looking into for inspiration/federation is Anedak Chat, a dApp which saves all posts on the Kadena blockchain. https://kadena.moe
>>fprog-SXB3WVOC >>fprog-7NN98XF0 >>fprog-6X19OD15 nigga post this shit on 2hu-ch.org/cc stop shitting up /prog/
>>fprog-AF085BFA (OP) sad times my dudes it is over, devchan is dead. Does not post here and does not commit to repo time to fork the repo and continue development
>>fprog-UP0DW5WW yes i am dead. summer just ended and i had little motivation to work on fchannel since i was occupied doing other things. summer is over and will have designated hours ill be putting in work. what i have been working on is moving the routing to the framework that was recommended in /meta/ gofiber while cleaning up the code structure since it has none at the moment. i have a long list of things that need to be implemented, but to not clean up the code base first and just keep patching thing together will cause even more headaches down the line.
>>fprog-OGU4NI74 welcome back speaking of being dead, did you consider reducing "bus factor" of FChannel-Server? So that development can be continued without forking in case that you have to go away for much longer?
>>fprog-Q3QSJBZ8 do you think running websites is free? Fchan either becomes financially sustainable or it's dead in the water.
>>fprog-OGU4NI74 devchan, how's the progress on this? maybe push it to github on another branch? >>fprog-VMIEY1TU such as a github org?
>>fprog-J9A3QJTH it's a work in progress changing the routing and template requirements to gofiber. it's a mess atm. i can make a new branch for this transition progress.
>>fb-35EZBIPD please do! i'll help out when i have time, the HTTP code is a complete mess and i'd like to see that changed
>>fprog-X3PL8FPX Have you seen the rest of the fediverse? Hundreds of people spend their own money to run websites for other people at a loss because it's fun and they like the project. The server fitchan.xyz runs on is a net loss, has never and will never make me any money, and it's not going down any time soon. >>fprog-J9A3QJTH >such as a github org? Even though it's uploaded to github it's not a github organization and only devchan has write access to the repo. If he dies or disappears no one can access it ever again and the only way to continue development is to make a new repo.
>>fb-EU20B4QO >it's not a github organization that's what i was suggesting, for devchan to move the repo to a github org or something along those lines since devchan is already prone to disappearing for weeks at a time, development could continue in his absence if there's people he considers trustworthy enough to also have write access eh, devchan give us your thoughts captcha: $AWW
>>fprog-SFXAW982 You can also just clone the repo locally and make changes to your instance while he is MIA, then PR changes when he is back. Though I guess that doesn't help other admins much. Does git have a way to selectively merge commits from forks?
>>fprog-S1RUEDG2 You can probably add forks as remotes and pull from them, but I don’t know for sure. It sounds like you should be able to easily do this though.
>>fprog-SFXAW982 Oh, then yes I agree. >>fprog-S1RUEDG2 We are already doing this. We just want to make sure that we don't lose access to the repo if he dies or disappears forever. If that happens things splinter very quickly as people set up their own replacement repos, development doesn't happen in a central place anymore, forks diverge to the point of incompatibility, etc. Projects die very quickly when that happens. >>fprog-KYS3LFGM It's possible but it's a huge pain in the ass. There's a reason everybody uses web frontends for PRs.
>>fprog-7NN98XF0 >At some point this might include CBDC's, depending on how that whole thing pans out. terrible idea. why the fuck would we want some shitty glowcoin? link related https://www.telegraph.co.uk/business/2021/06/21/bank-england-tells-ministers-intervene-digital-currency-programming/ (https://archive.ph/740Rb)
>>fprog-1PYSXKB4 >why the fuck would we want some shitty glowcoin? For the same reason why you'd want Dollars, Pounds or Euros right now: Because it'll be the legal tender that you need to buy stuff and pay your taxes. It'll be state-enforced shitcoins. And I repeat: which currency to use is not an important discussion we need to have. Ideally it should be easy to add support for different currencies so that the instance operator will be the one who decides what he accepts. The important thing is that it becomes financially feasible to run an fchan instance even if it grows to tens/hundreds of thousands of users, and ideally also make it worthwhile for the main dev(s) to sacrifice much of their time over the course of several years.
https://fchan.xyz/prog/53P73TQJ No.
>>fprog-J9A3QJTH there is a fiber branch pushed to the repo. only index, board posts and board post are hooked up with things still needing to be converted to gofiber ctx. most routes are stubbed out. if there are any PR to the dev branch they will have to be transfered to the fiber branch to stay current.
>>fprog-9E1PPWFH based. i'll take a look later this week
alright, i've started a huge reorganization and cleanup of the code that was in the fiber branch, hoping to get it actually somewhat functioning enough to display the index within the next week or two i may PR when i reach feature parity of what was in the initial fiber conversion it doesn't build (yet) but it's in hopes that the codebase can finally move away from multiple thousand line long files with everything in the main package
>>fprog-RK7SVI7N progress update: 10 commits in, much closer to building now. still need to move some things but most of the database stuff has been moved to its own package no guarantees but possibly by the end of the week it'll build and display the index once again i would also like to note that CheckError calls are being stripped out when i see them it's better to just pass an error back instead of panicking
>>fprog-XVL4Z2I8 thanks devbabe, we wuv you!! :hug:
>>fprog-E7ROC115 god just imagine all the steamy hot sex dev-sama has with devbabe
>>fprog-H5FVER69 its pretty great
huge progress update: it now compiles, and displays the index page and just about nothing more CheckError has been entirely removed, which has forced me to rewrite a good portion of the code and i'm not entirely sure about what the effects are just yet but this can be dealt with later, the thing barely works as is in it's current state i'll continue hooking up more things as the time passes and eventually PR for now, those interested can look at the code in https://github.com/KushBlazingJudah/FChannel-Server and if any changes happen in devchan's repo i'll try to reflect them in mine so, tl;dr, it works but i plan on doing more work to it >>fprog-E7ROC115 >>fprog-H5FVER69 >>fprog-YZKOFLS2 i slacked off because of this
>>fprog-5CTOUVQ5 naisu! >i slacked off because of this what does this one mean
>>fprog-5CTOUVQ5 based
>>fprog-5CTOUVQ5 leaving my fork in it's current state until i find the time and interest again, i ain't got much of either now right now it is unstable but works for a extremely simple read-only view of threads and if you try hard enough, board pages (append ?page=0) much work still needs to be done, if (You) wish to continue off where i left, cool. farewell for now, don't die on me yet also there's a bug that seemingly drops posts without notifying the user that it failed sometimes
one request give me the option to see post dates in ISO8601 format fuck your burger format where I don't know what is day and what is month
>>fprog-3T5L2X5G >also there's a bug that seemingly drops posts without notifying the user that it failed sometimes Not sure if it's the same bug but I've noticed that the floating reply box will "reopen" after refreshing or navigating, it's deceptive because while the "Replying to Thread No." header and comment field are remembered but the actual inReplyTo value isn't.
are these legit activitystreams object types, spec doesn't mention them https://www.w3.org/TR/activitystreams-vocabulary/#object-types sorry if dumb question
what happens when a board receives a post in its inbox whose inReplyTo attribute references a post it doesn't know about? does it just get dropped? example instance 1 has /a/ and /b/ instance 2 has /jp/ /b/ is following /jp/ /jp/ and /a/ follow each other someone makes a thread on /a/ and it appears on /jp/ (cuz /jp/ follows /a/) then someone replies on /jp/. /b/ is following /jp/ so /b/ gets the reply in its inbox. but /b/ doesn't know about the thread on /a/ because it's not following /a/. at this point what does /b/ do with the reply? does it get dropped or does the parent thread get recursively resolved?
>>fprog-BMBMUNYI there is nothing that says you cannot make your own object types. >>fprog-3TV40BN3 dont expect things to play so nice at this stage.
>>fprog-GPM5CTYP how many users does this site get?
>>fprog-I8QJKHRI 0-1 users
Can confirm. It is safe to assume that all posts made at any given day have the same author.
>>fprog-TL8G9L9Z maybe we are all the same shizophrenic
>>fprog-I8QJKHRI >>fprog-EKJXNIMO >>fprog-TL8G9L9Z >>fprog-PSM879K5 why would i say this
>>fb-KR1Y9WDV because we are all one shizophrenic having a conversation between multiple selves...meds now!
>>fprog-JFFBESKM My mind is already federated, meds can't stop me anymore!
Happy Birthday FChan! youre a little retarded but thats ok if anyone was here one year ago you have been able to see the progress this platform has made even with the absent of constant development i feel its in a good spot so far, but still more to improve. i want to thank all those that have submited pull requests, submited issues they have ran into and anyone who has told others about fchan/fchannel. /cumg/ was the most consistent advertiser of fchannel.big thank you to everyone that is running an instance to keep the federated network strong without them we would live in a centralized pile of shit what i hope can be developed this year: more user friendly interfaces for moderation such as better managing how jannies can help moderate boards instead of relying on a single main admin furthur improving the federation protocol to prevent data loss such as re-delivery of posts if an instance happends to not recieve a post. and a few other things. cleaning up and documenting code base so it is easier for others to contribute. this is slightly in the works with the fiberanon moving to the fiber framework in the fiber branch (thank you for working on this) seeing if any dependicies can be removed to keep fchannel lean, redis will eventually be removed since it really isnt needed. and i am sure many other things need improvment just cant think of a comprehensive list atm until next year thank you for the support and interest there is a long road ahead but the path is there. p.s. and as much as the penfags turn my brain into mush their spread of retardation using fchannel is appreciated
>>fprog-FFDKBPYY Happy Birthday!
>>fprog-FFDKBPYY Oh shit it's a year already? Congrats devchan!
>>fprog-FFDKBPYY late happy birthday! i think its time we gave fchan a macscot. I remember making a thread about it a couple months ago. Something about a spider ...
>>fprog-EKJXNIMO sussy
>>fprog-FFDKBPYY >/cumg/ was the most consistent advertiser of fchannel. i think this is a nice way to spread the word without cancerous spamming on other chans, we could have interesting threads and direct people to them, letting them explore fchannel on their own. generals might be a good way to start, if we could get people running other generals to add fchannel to the list of threads on other chans, it will bring more traffic here.
>>fprog-AF085BFA (OP) is dev dead? last commit to fchan repo was almost half a year ago
>>fprog-K4RNFONA probably, pretty sure I saw them on IRC (unrelated channel) and they did not seem happy I recognized the "fchan" name
>>fprog-K4RNFONA They posted like 19 days ago >>fprog-FFDKBPYY
>>fprog-PPV7BM96 >they isn't devchad a man and not a faggot?
>>fprog-ST9MPY8X she's a beautfil girl leave her alone!!!
>>fprog-FFDKBPYY happy (late) birthday devchad!11!!1!! ur software rocks keep up the good work :DDD!!11! <3 <3
>>fprog-FFDKBPYY We're happy to be here devchad
>>fprog-AF085BFA (OP) devchad please trick someone into helping you write code and maintaining the project please don't let fchan die
i am going put in a real attempt to improve the code base from its current state. WSJ has made great effort in improving the project structure in the fiber branch and that is where i am going to be working on with development going forward. if you previously wanted to help with improvements to FChannel i encourage you to get familiar with the fiber branch structure and make changes there. currently all the pages are stubbed out and not working fully but i will be connecting the pieces back together in a more maintainable manner than the current mess that is the development/master branch. if you have practical feedback of features that should be added short term reiterate them here. unimportant stuff will be ignored for the time being. i want to focus a lot of the short term future improvements to things that help instance operators manage their boards. fluff for end users will likely be postponed unless someone chooses to implement those things. not...fully...dead...yet...
for those that hate github ill be hosting a separate git repo here: https://git.fchannel.org ill explore ways others can easily contribute directly to that repo.
>>fprog-YN830UJI >>fprog-PF5H8EH3 Awesome. What are you planning for improving instance management? Any plans to make the Matrix room a bit more lively?
>>fprog-P3TN4OZS -janny interface/managment -flush out email integration so instances can get emails/texts when new posts are created and moderate them from there without having to check their instance directly. -edit board descriptions and posts -explore ways to prevent repeated spammers without having to fully track everyones ip's because they will just jump to multiple different ones anyway. -allow instances to have a network of trust list to where other instances can delete posts that do not originate from their instance and it will delete from all other instances too. having a more distributed moderation support. -improve management pages usability. i was using matrix on an old device that was replaced and havent bothered recovering my account details. i kind of prefer xmpp for development/fchannel related things but no one knows about it or joins.
>>fprog-YN830UJI It would be nice if it was possible to set a static "Mod key"
huh, here i was forgetting that this even existed and all of a sudden i see a lot of activity on the git repository. cool. i'm glad to see that it hasn't died yet! i apologize for disappearing and not returning. i will still not be very active, but considering this is the first time i've checked this thread in roughly 6 months, i will probably be here more often i see devchad has merged my fiber branch into upstream, i want to point out that there's a good chance i fucked something up by removing the checkerror function, in fact i'm fairly certain i did but i can't remember what since it's been a long time (sorry). i was also really in over my head at the time by compartmentalizing some functions into packages, it's probably a good thing that it's been undone (sorry again). i've worked on several other huge projects of my own since then and realized some of my old faults, the learning experience may suck but once you throw away thousands of lines of code, you do learn a lot from your mistakes of what worked and what didn't. as for now, i may start fucking around in this area once again. i kinda miss it. i need to learn the innards of this more. i woke up inspired today after seeing the changes and wrote myself a textboard engine with the goal of federating with fchan and possibly improving it by ripping and tearing code from my project, somehow someway. however, i do not want to promise anything at all. in either case, godspeed. thank you devchad for keeping this up. i'll be around.
>>fprog-F72835LO ill add this >>fprog-X7RZNZRV >there's a good chance i fucked something up by removing the checkerror function yeah this fucked up a lot of things. and has made actually debugging harder, but its probably good in the long run to make better logging so its fine. what has really been making things break a lot is everything returning an error, but again this is probably a better design decision that will improve to code base. appreciate the effort you put in trying to organize things. i am making good progress on getting it put back together, hopefully sooner than later the basic fchannel functionality is in place so i can start implementing new usability features and the code base is easier to navigate so others can help contribute if they desire.
>>fprog-ZICNBHCA >i was using matrix on an old device that was replaced and havent bothered recovering my account details. i kind of prefer xmpp for development/fchannel related things but no one knows about it or joins. I don't think anyone will switch to XMPP just because you lost creds to your Matrix account.
>>fprog-APLP3IKW dont have to. just saying thats where ill be checking for the most part and prefer development discussion there. ill still check the matrix channel its just the matrix platform has lost most my interest. this post got me to re-install a matrix client on my devices again.
>>APLP3IKW I don't think either of them are a good idea for discussing software development. It's not a very transparent system.
>>fprog-ZICNBHCA >i kind of prefer xmpp for development/fchannel related things but no one knows about it or joins. That's probably because the rooms.fchannel.org is unreachable.
>>fprog-W0KGEJO5 if the list of rooms does not show up try [email protected] to join directly
i'm implementing the activitypub side of things now on my textboard, and wow, fchannel doesn't follow the spec in some places and is making it quite tough since the library i'm using shits the bed. would've handwritten it but i'm lazy and running out of spare time there's currently one thing that can be done without breaking federation with all other instances, luckily for you it's kinda easy and involves the replies. simply add a "type": "OrderedCollection" in the replies struct. that is all. breaking federation but also improves support at the same time, make attributedTo a Person and not just arbitrary text. here's everything else which is entirely up for debate and completely optional, this list is bound to expand: - having replies be an OrderedCollection works but *technically* it's supposed to be a collection. this breaks federation with old instances by renaming "orderedItems" to just "items" - save a lot of bandwidth with inReplyTo by simply using the post links instead of the entire post itself. the posts it replies to likely are in the same thread anyway
wew my post was silently dropped again >>fprog-E7X20UNK until a couple of these issues are solved (and the fiber branch is stabilized enough to run in a public setting), fchannel compatibility with my textboard will just not happen due to a broken activitypub implementation on fchannel's side. however, since this is half the goal of my textboard, when i finish the activitypub side of things on my end i will see what must be done to ensure it plays ball with fchannel. when that time comes, and fiber branch is stable, i will probably play around with the activitypub portions in fchannel to get it working *enough*. worse case scenario, i imagine a switch to a proper activitypub library like i'm using right now instead of the handwritten structs that are used right now (which may make federating to other places more possible because of proper json-ld support) i'm just trying to bounce ideas off of people that are here
>>fprog-9BIKRG96 > i imagine a switch to a proper activitypub library like i'm using right now not going to happen. that takes out all the fun out of writing your own programs. fchannel will update over time to be fully complaint with other activitypub standards. its goal was always to get in a stable state first and then integrating with something like pleroma.
>>fprog-R5DO5ND2 ah, understandable. i've done projects from this approach before and it is indeed funner. i just went straight for the library purely out of laziness, but since i was also looking for other people's thoughts on this, the extent of implementing it was a shitty 200 line proof of concept that didn't touch the codebase i'll work my away around what i can discern from fchannel's code and not worry about being compliant with the spec and i'll roll my own like it's done here in which case, disregard everything i've said in my previous two posts until the times comes when it is useful
>>fprog-LDY1HTFR it is helpful information to hear where FChannel is differing. i am sure there are many frameworks that do all the lifting for you, but all that there is to implement something with activitypub is looking at the docs. there is no "standard" outside what the main activitypub projects choose to follow. when creating FChannel i went solely off the docs from activitiypub.rocks i did not look at what other projects were doing to be complaint with them. but as FChannel matures its only natural to adopt those standards. they just are not there right now. ive already probed some pleroma instances to see what they are doing for their standard and there isnt too many more steps to be able to communicate with them or from them to here. its just FChannel needs base features and usability first. in hindsight sure, probably should have just followed their standards but i didnt. and here we are.
yes, you raise good points. i'll mature my implementation as you mature yours. speaking of which, i am able to parse the outbox of /prog/ and import it into my database with minimal effort (all i had to do was take note of the activitypub id!) now using yet another shitty 200 loc program. content/attachments are dropped since its a textboard; they are a non-goal. i'm working on being able to serialize back into the outbox; this requires a little bit more work on the database end, especially for replies, but nothing major.
Good to see server-side development getting back on track. I will add some more hype by saying I have been making steady progress on FBI2, so the fluff for end users is on me. And it's very based of you to write your own ActivityPub functions. (I'm doing the same lol)
>write your own ActivityPub functions it's fun but not at the same time thanks to golang's encoding/json making shit kinda painful to deal with, and json-ld. i very quickly found out the hard way why fchannel's implementation is the way it is. what language are you doing your project in? i recall the last iteration was in lua, using that again? i imagine you make good use of duck typing if so. i will most likely have to rethink my current structures for activitypub, however for what it is right now, good progress is being made. with a little bit of luck, i won't need to do all too much other than write some functions that make unmarshalling/marshalling 10x less painful if at all possible. but, i did eventually get fchannel to read from my outbox, and i'm most of the way there to getting it to follow me properly. i hope i can get this in a good enough state to publicize it before things become busy once more.
>i recall the last iteration was in lua, using that again? It's a mix of C and Lua now. I wrote the HTTP server in C - which handles the lower-level HTTP things - and it has a Lua state, so the code concerning the FChannel functionalities and frontend is in Lua. >duck typing Had to look that up lmao it is one of the hackiest concepts I have ever heard. Yes, I am being very liberal with what the client accepts, so even if the new server version is incompatible with the current, it won't be too hard to fix since I'm treating the AP's data more like raw JSON data than object data. To be honest, I'm currently more concerned with getting it to work in a decent manner than doing things "right". And yes, I know full well that when comes the time it is finished and the only thing left to do is refactoring it to use a real AP library instead of my ad-hoc hacks, I will just shrug it off as too much pointless work and move on to another project. Maybe finish that alternative server prototype, federating with different server software will be an interesting problem to solve. >golang's encoding/json making shit kinda painful to deal with, and json-ld I dunno about that, the JSON parser I got for Lua seems to just fuggin werk for me. ...except it crashes the entire program when a file fails to parse instead of simply returning nil, which is a pain in the ass when an outbox fails to download for whatever reason. I will probably just fix it myself, I already distribute the dependencies with the project anyway, so no biggie there. /Used to/ distribute, I suppose. The computer where I hosted my site and repos died for good a while back, so I'm currently internet homeless. I have thought about buying an SBC, but I think I will just use a VM.
>refactoring it to use a real AP library not quite, it’s lua. you could probably get away with checking the type of and inferring some stuff with that compared to using a real AP library. >federating with other servers i’m targeting anything that currently supports fchannel, with a small amount of improvements where possible without breaking federation too much. i’m glad that fchannel reads from it as is. i would rather use the spec but fchannel doesn’t follow it in some places, so the most i can do is work with what i have. would it be hard for you to upload a copy of FBI 1 to a file sharing site? it would be useful to see if it can parse my outbox. >json just works golang and lua are very different beasts. lua is nice because you don’t need to enforce types, it just works with whatever you want to put in. golang is not the same, structs have a more or less enforced type. if you decode a string into where it expects a number, lua won’t care until you try to do any numeric operation, golang complains immediately. alternatively set the type to interface{} and it’ll accept anything, but you need to cast the type first. you can decode structs, or map[string]instance{} (like lua’s tables, except you index by string). structs are good because, well, you know C. maps are slow. anyways, i did try out my idea. it works wonderfully, but has the con that it’s 4x as slow marshalling/demarshalling /prog/‘s outbox, however my hands are more or less tied with that and i’ll still use this new one anyway since it doesn’t suck as much
>would it be hard for you to upload a copy of FBI 1 to a file sharing site? Instead I'm gonna do the autistic thing and concatenate a .pax.xz into a .png (pic related). Just run >split merge.png -b 695563 and it will spit two files, the big one (695563 bytes) is the picture, the other (48368 bytes) is the .pax.xz archive. >golang is not the same, structs have a more or less enforced type. Things like that are why I prefered to do the core of the program in C and the data processing in Lua.
Welp, apparently devchad was one step ahead of file embedding fuckery, so although the server received the full merged file (you can see it has a filesize of 726.50 KB) it will only send the 679 KB of the image when attempting to download, or maybe this is just my browser? Anyway have a cockfile link instead, it will last 24h. https://a.cockfile.com/QVxOcF.xz
cool! thanks anon! i've had to change a few places that reads a note's replies.orderedItems since my outbox tosses away replies if there's nothing to put in it, compared to fchannel that keeps it there even when empty. other than that, it reads just fine. it's not your browser by the way. that's just how it gets served for whatever reason. asides from that, i can post to and from fchannel now! and to other instances of my textboard! i'm sure i haven't accounted for all edge cases, however it works, more or less. fchannel is a little weird with how it follows things, which kinda sucks but it is what it is. i've never gotten deletion to work with fchannel either, i'll have to debug this later but overall, it works. just not well. i still have some things to smooth out on the backend, and i need to figure out how to delete things, but with a little bit of luck i'll be able to spin up a shitty tor instance soon.
i took time out of my day to take a picture, only for my post to be silently dropped and i forgot to select it again
>i've had to change a few places that reads a note's replies.orderedItems There are some other attributes that can be absent without causing problems, I guess I never did the same to replies.orderedItems since it was never a problem. Once you get you instance online, I will test FBI2 with it and fix any incompatibilities such as that, I plan to make it work with any type of server software, regardless of how strictly or loosely it follows the specs. >i need to figure out how to delete things When I was working on the headless server, I just wrote a little tool to manage this sort of thing on the DB (creating/deleting boards/posts and other types of admin functions). It wasn't very scalable, but it worked well enough for testing purposes or maybe even a very small instance (about the size of the other instances apart from fchan.xyz). When the time comes, I can write a janitorial interface for FBI2 that let's you login to a remote instance and delete posts or whathaveyou there. Of course, the servers would need to agree on an API to recruit jannies first.
>https://fchan.xyz/prog/2NOWD19J Nice! How did you make different ID systems work? Do the values just change depending on which server is making the request?
>fbi2 tool i'm not sure if that would very much useful in all honesty. useful for a moderation tool for a single person sure but i fail to see a use outside of it. you also misunderstood, i was referring how to delete threads from a federation point of view. i may just be misusing fchannel too which is why it may just not work. looking into the code it seems like it returns 400 bad request in a couple of cases and i could very well be in one of them after wiping the database numerous times but somehow staying logged in >how did you make different ID systems work? internally, all posts are tracked with a sequential number, like any other imageboard. stored in a database entry along with a post is its unique activitypub id. when a post is submitted and a regexp matches on a numeric cite (>>1337), it rewrites the content submitted by the user by replacing all instances of the numerical cite with the familiar fchan format, >> + activitypub id. for example, submitting something with ">>1337" will replace all instances of ">>1337" with ">> https://fchan.xyz/prog/I7QS3F7W" excluding spaces. it is later formatted, for the textboard it still uses the numerical form but internally is actually activitypub. the internal representation is served through the outbox so it's about as seamless as it could be. it does not change depending on who is making the request or who a post is being sent to, the activitypub representation is always used unless it's being displayed to the end user.
mostly all code has been moved to their new locations and gone through cleaning up most nasty stuff. still little bits here and there that can be improved. going to work on the management pages now please share feedback if there is anything in particular you expect from the management pages for instances and boards. still need to fully test everything thoroughly. will refactor areas that still have messy logic when i come across it. good to see other projects we all might be able to federate with soon(tm) once everything gets stable i am going to have a logo and additional themes contest where ill give someone XMR for improving those. maybe that will attract new users too. but want to get to v0.1.0 first.
>>fprog-1256197B → >i think i check if a post comes from an instance that follows us wrong, i wrote a todo about it though >>fprog-HTRNM5KV skimming through some commits i see some places that could use a small little bit of further improvement. i need to take a nice sit down and read through it a bit again now that you're mostly finished moving everything around. i do have one (small) request, and i might just get around to doing it myself: implement the undo activity for following. sending repeated follow requests in hopes of the other end adding and removing you from the list is a bad assumption. i have a couple little things i also need to think about as a result of building my textboard, but i plan to sleep on them a bit before doing any work >good to see other projects we all might be able to federate with soon(tm) the future is now! but it's still not great, i have kinks to work out, however it works enough to be public in its current state even if it's a little rough on the backend. any chance you can follow my /prog/, to embrace the dream?
>>fprog-98KNAVTP >skimming through some commits i see some places that could use a small little bit of further improvement. the routing functions are the most fucked and can have large improvements and i havent touched those yet. thanks for feedback, yes the following in current state is not good. for example penchan has autofollow on and we are out of sync so when i follow them they unfollow fchan and when fchan unfollows them they follow back. this is one of the first things ill be improving/fixing.
>>fprog-98KNAVTP >any chance you can follow my /prog/ forgot to follow, following now.
>>fprog-2F0FFE65 → Dunno if this is more of a fchan than a feditalk problem but sending threads from feditalk to fchan fails on the development branch because of this line https://github.com/FChannel0/FChannel-Server/blob/development/outboxPost.go#L557 https://paste.ee/r/fMx0p/0
>>UAKVJ1JA Ah, I wrote this against master. Seems like it master doesn't care if inreplyto doesn't exist, which it doesn't when threads are created from feditext. I'll write a hack fix in a few hours to allow thread creation to work.
>>UAKVJ1JA Alternatively apply this patch to fchannel right now in the meantime: https://paste.ee/r/0CQIz/0 Should work? I think?
>>fprog-GF5YDGY3 applied
>>fprog-AF085BFA (OP) Any news?
Cute board :3 Why don't you use go-fed activitypub library? https://github.com/superseriousbusiness/gotosocial uses it
I try to follow @[email protected] from my mastodon account and it doesn't work. Does it only federate with other fchan instances?
>>fprog-Z4L44NZ4, >>fprog-9UN4OY9A see >>fprog-R5DO5ND2
>>fprog-9UN4OY9A currently no. expect a bumpy ride for the time being. if you read past posts it will happen after some things have been reworked.
>>fprog-476AD3A1 >>fprog-HE7KJWBS Cool. Your approach is quite special. But it works and it has that retro 2000s vibe which is very nice. I'm building a federated chan myself, but it will be more focused on interop with the rest of the fediverse, rather than classic imageboard features.
>>fprog-U0RL4DS8 enjoy getting federated only with instances that host primarily bots and trannies
fiber branch is almost ready to go live on fchan and 0xchan. i have been able to get federation working locally with development branch (old) with the fiber branch (new). going to finish some managment additions before doing to full transition to `live` build but i would say a week or so i beleive others can upgrade their fchannel instances and real development can start instead of the refactoring processes.
making good progress on much needed improvements for delivery of posts. before there was no checks and forwarding to followers so that the post correcelty federates. that should be fixed now. still have to test it live to see if it completly works. i just want to add in one last thing before actually saying the fiber branch is done. and that is retrying to send to instance if instance is down. this usually happens with tor instances that there is a timeout and there is no fallback to try and redeliver. so i am going to make it so that there is some kind of redeliver mechanism it it fails. thinking about 5 or so times with an exponential time delay inbetween fails. im pretty happy with the changes so far. a lot of this stuff should have been done long ago, but oh well its getting done now.
>>fprog-TPZSVWP1 0xchan is running fiber branch testing it for a few days to see if everything works as expected
>>fb-Q978ZUNQ testing reply from onion to see if timeout
>>fprog-55BX1CY9 → it seems to be working, will have to monitor timeout issues to see if it becomes a problem
>>fb-V744DAKW testing fast redirect when new post
FChan and OxChan are both running the fiber branch. going to test/monitor for the next couple days to see if anything breaks. if not going to merge everything into master branch and call it v0.1.0 then will remove development branch and replace it with 0.1.1-rc which is where new development will start. ill make a post of all the changes when i do that to inform/catalog what was done and what will be worked on in 0.1.1
i am going to say i am done with the refactoring to the fiber framework and cleaned up the repos from the old stale states. deleted development branch. if you currently were using it, it is recommeneded to nuke it and just start fresh with the 0.1.1-rc branch where new development will start. if you used the master branch you should be able to just pull the new changes and be good to go. converting to new version: * move your config file that is in the root directory to /config/config-init to use your previous instance and database settings * if you were on the development branch and start fresh on 0.1.1-rc move your ./pem and ./public dir to the new branch dir before running it for the first time also do the above of copying your config file to /config/config-init. (or if you use a new directory for the new release version move your ./pem ./public dir and config file to the correct locations) (char limit breaking up into multiple posts)
>>fprog-JQPH9AW9 things that were changed: * cleaned/organized all code for better maintanablilty while moving to the fiber framework * better error handling so the logs are not flooded with panic debug info * minor design tweaks for better viewing * report is javascript free * improved report viewing in admin pages * edit board summary * added issuing of janny access keys * added new config value to config-init "modkey" set this to w.e you want for persistent modkey even after server restart. share this with your jannies so they can log in with their access key. (look at config-init in the root dir for reference) * removed redis dependecy * better activitystream delivery for the case where everyone is not following everyone but they are following a common actor. this will help with missing posts that i am sure some have noticed. * better activitystream delivery to where if an instance cannot be reached it will try to redeliver the activity object for 10min. * if you want to get email notifications on posts to your instance for moderation set the email config values and emailnotify. * many other things cleaned up and improved things that i want to improve and start working on for 0.1.1 * work on pleroma support/wider activitypub compliance * more moderation tools where needed (feedback) * better solution of current known instances * fix archive bug * fix auto-follow bugs * new captcha or other solution * other....
>>fprog-JQPH9AW9 >>fprog-T2S33N6U Nice.
removed current instances from being fchan dependent and added a new bot to check for instances at https://fchannel.org/instance-index.html if you want to make it better the code is at https://git.fchannel.org/fchannel-index.git this was an issue where if fchan ever went down the instance index was completly useless, this make its so if fchan ever goes down there still can be an active instance index. others can use the program to get an instance index independently. it is not robust right now to check if something is a legitimate fchannel/activitypub instance so there are false postives as you will see with 26ch someone followed. but that will be fixed in the next day or so. just through it together today.
Did something break on fchan? I can't post there anymore, the posts are silently dropped. On FBI2 I got a "Bad request" response, I'm not sure why, but I think it was working before.
>>fprog-E8H0R07O → are you posting from fchan via tor or from FCham? something could have broke from the change to v0.1.0
>>fprog-CXUBVJ2D From here, Usagi fchan just sent me a 500 but the post still went through.
Also why am I getting my followers queried on every post?
>>fprog-A093AEF7 before a post would only be sent to the board your posting to. now followers are checked to send the post to them too.
>>fprog-CXUBVJ2D yea i was posting from tor
Even though >>fprog-J6JXVD02 went through with no problem, when I tried o reply to >>fprog-OFF4C8HU → with an attachment, it failed again. Maybe that was the problem? Oh, and by the way, looks like FChannel isn't showing the little arrow on crossposts anymore.
>>fprog-J6JXVD02 >>fprog-TYLRUUL0 if youre talking about feditext then yeah with the change to fiber something could have broke. i checked usagi, 0x, fchan and they seem to be federating. i have seen others post images too. i will need more details to track down the issue.
i've been slacking on my work on feditext because i've been working on other things (mostly workflow related), but i think i'll temporarily log errors next time i get around to working on it. i'm sure half of the issue is on my end anyway but i can't easily discern anything from logs. federation seems to be working just fine i have a whole list of items that i plan to work on anyway whenever i get around to it
wrote a commit to print the body of failed requests to stderr, lets see if everything works out fine
>>fprog-M5N4HDIA i made the scraper multithreaded (15 seconds to crawl entire network now, didn't have patience to let the old one finish) and a bit shorter, take a look at https://github.com/KushBlazingJudah/fchannel-index and pull it in if everything looks good not sure how i feel about just querying followers long term, if either of us become compatible with the wider fediverse then how would we decide which is an fchannel instance or not?
>>fprog-FE06683D ill have to do something similar i tried to post from mobile and it seemed like it didnt post but the inreplyto field was not set correctly. more testing needs to be done
Hi from Pen/prog/ just updated to the newest commit, very happy fchan is back being worked on
>send request to 0x chan to create a new thread >HTML content: 403 Media is required for new posts >HTTP response: HTTP/1.1 200 OK
while trying to create a thread on kyogi using fbi2 i had the same problem i was having on fchan earlier if i send no attachment, i get a "Media is required for new posts" error, but if i send an attachment i simply get "bad request" i thought it was fchan blocking attachments for torposters, but now idk
dev-sama please check Matrix room some faggot is asking for technical assistance, and I have no idea what he is asking or how to help, because I don't run my own Fchan server
Do posts get dropped if they're too long? FBI2 anon made a post here and it propagated successfully to dis.usagi.reisen but no fchan instance, however I hear back from all of them. Just no error is sent back. >tfw I thought I turned the post text limit down I'm assuming that's what the problem is anyway, post is quite long and post text limit here is 4000 chars.
>>fprog-EA511231 Well, I'll just repost the gist of it since FChannel can't cope with the length of my changelog.
>>fprog-A043E214 i updated the text length to 4500 also still have to figure out the issue with posts being dropped. if anyone can reply with the steps they took when their posts get dropped that would help. ill look into the issue with replying and it asking for an attachment when using CIA formally FBI. if you are running a FChannel instance i recommend updating to latest commit there were a few annoying fixed made. some posts are setting the inReplyTo to NaN for some reason and i need to figure out why that is happening. ive had it happen when trying to post from mobile, but never had it happen when posting from desktop.
>fchan.xyz is down >fchannel instance list doesn't even list it bros... this is not daijoubu...
>fchan.xyz is down >we can still see posts >we can still shitpost future is now
>>6DFL4KFO not really, i don't think usagi is federating properly the previous two posts are not visible anywhere else not sure if this affects other instances, i'll post from two other instances to see if things work
test post from awoo
>>fprog-A07BB6E7 test post from kyogi
something is certainly fucked, but i'm not sure if it's just with usagi or not because other instances aren't federating properly awoo was the only one able to federate to everyone successfully i think logs may be useful, after scrubbing ips of course. maybe fchan left a helpful error in there
>>fprog-A07BB6E7 gonna post from here since this one actually federates i attempted to post to dis.usagi.reisen which should've reached 4 instances but none received the post something is horribly wrong and logs may be extremely useful if anything is in them
fig
lol
>>UAKVJ1JA test... fail -_-
and now?
>>UAKVJ1JA reply
>>fprog-ASNQ3Q60 and to penchan
>>D6BOW24R >>6267KEKV >>fprog-D8BD06BD >>fprog-ASNQ3Q60 >>fprog-GTI362SA → >>fprog-7YEG48X8 Relevent logs https://pastebin.com/tQEnXBR2 ParseOutboxRequest Add FollowersTo: AddFollowersTo:44 : GetCollection:129 : Get "/followers": unsupported protocol scheme ""
>>XWIHT0X2 great, thanks. i'm gonna attempt to recreate a scenario similar, where the original instance for a thread is down and hopefully track down the issue
>>TY0P8WQN reproduced the bug in an isolated environment, tracked down the error thanks to logs and i'm writing a fix for it now. the actual problem at hand is solved but i also want to solve the related problem of the /followers error, which can introduce this bug will post the patch here when it's done and i'll create a PR too tl;dr fchan gets a list of each following board's followers, however if it fails to contact even one of them it completely dies. my two-line fix prevents this from happening and logs it to the console.
>>11AQTW3D >>XWIHT0X2 https://github.com/FChannel0/FChannel-Server/pull/69.patch try this patch
applied
>>EP3YIWOB nice, looks like it’s working
>>fprog-AF085BFA (OP)
f
All trademarks and copyrights on this page are owned by their respective parties.
v0.2.0-c793a28