leraje

joined 1 year ago
 

cross-posted from: https://lemmy.ml/post/1611805

And I called it...Mullem.

Mullem? What's Mullem?

Multiple Lemmy's....Multi Lem's...Mullem

It's a way of having MultiReddit-like experience until (if) the Lemmy devs incorporate that feature into Lemmy.

What?

It's a way to view multiple Communities from multiple instances in one unified feed.

FAQ

Will this work in a Chromium (Chrome, Brave etc) based browser?

No idea. I don't have a Chromium based browser on any of my machines and I ain't going to install one just to test this. If you want to port it, be my guest.

Is this compatible with KBin?

Nope. Part of the code needs to look for '/c/' in a URL and as KBin uses '/m/' it'll just break. Don't try it, it WILL break. I will add this in future development.

Will this work on a mobile browser?

No, it would be unusable as the interface would be all over the place. Mullem uses a Sidebar for one thing. There are zero plans to make this work on a mobile browser so don't ask.

What Manifest version does Mullem use?

v2. I'll port this to v3 if Mozilla kill off v2.

Why haven't you set up a proper Git repository so I can see the code?

Can't be bothered. If you want to see the source, download the file, uncompress it and have at it. If you're really paranoid, run it through a virus checker.

Can I make changes? What License is this released under?

No license of any kind. Do what you want with it. But bear in mind the licenses of the three files bundled with it - jQuery, FeedEk.js and skeleton.css.

I'm American, can I change the date formatting?

Nope. Adding this option at some point though.

Can I change the colours?

Nope, working on it.

Are there size/Community/Mullem limitations?

Yes. Community and Mullem data gets placed in Local Storage which has a size limit. You'd have to add god knows how many Mullems and Communities though. Each entry is literal bytes.

Each Mullem fetches a maximum of 100 items. So whilst a Mullem can theoretically contain hundreds of Communities (seriously though don't do that), the combined feed of all those Communities can never exceed 100 items.

Does this Add On respect my privacy?

Absolutely. It contains no tracking of any kind. It contains no adverts of any kind. It does not collect, store or transmit any information about you, your browser, your connection or your OS. The data you enter to create Mullems and add Communities to Mullems is stored in Local Storage in the browser you installed the Add On to and can be wiped at any time if you see fit.

What have you successfully tested on?

Plain vanilla Firefox v.114.0.2 and LibreWolf v.114.0.2-1 on Debian and Fedora

Installation

  1. It's here, on the Mozilla Add On Store
  2. When it's done, look at the main browser address bar. To the right of it, you might see the Mullem icon.
  3. If not, click the 'Extensions' icon (looks like a jigsaw puzzle piece)
  4. You'll see the Mullem extension listed in the drop down, click the cog icon to the right of it and click 'pin to toolbar'
  5. The Mullem extension icon should now be on your toolbar alongside the 'Extensions' icon.

Uninstall

  1. Right click the extension icon in the toolbar
  2. Click 'Remove Extension'
  3. Uninstalling will delete all Mullems and Communities. If you want to keep that data, then before uninstalling the add-on, go to 'about:config' in the browser. Search for 'keepUuidOnUninstall' and set it to 'true'. Then search for 'keepStorageOnUninstall' and set that to 'true' also.

Using Mullem

Click the Mullem extension icon and the Mullem sidebar will apear. You might need to manually adjust the width of the sidebar after adding Mullems and Communities.

First time?

If this is the first time you've used Mullem then you (obviously) have no Mullem's yet. So step 1 - create a Mullem. Let's say you want a Mullem for Politics so you can view multiple Lemmy political Communities in one feed.

  1. In the 'Create Mullem' section, enter 'Politics' in the 'Mullem Name' text box.
  2. Click the '+' button.
  3. You should now have a new Mullem called 'Politics' (all icon links to the right are explained later in this document but at this point, without any communities added to this Mullem, they do nothing, except the Delete icon, which will delete the Mullem)

Now you can add Communities to your Politics Mullem. To do this:

  1. Copy the link to the Community (e.g. https://sh.itjust.works/c/ukpolitics). NOT the federated link (e.g. https://lemmy.ml/c/[email protected]). Using the federated link may well break Mullem.
  2. In the 'Add Community To A Mullem' section, paste the Community link to the 'Add community URL' text box
  3. Choose the Mullem (Politics in this example) to assign this Community to
  4. Click the 'Add' button.
  5. Click the title of the 'Politics' Mullem, you should now see the Community you just added listed under it.
  6. Repeat for all the Communities you want to add to this Mullem

NB: A good place to search for Communities across all Lemmy instances, by subject, is browse.feddit

Management of Mullems and Communities

Communities

You can do 2 things with Communities you've added - delete them completely or move them to a different Mullem

  1. Click the Mullem name that contains the Community you want to manage
  2. When all the Communities for that Mullem are listed below, find the Community you want to manage and click the gear icon to its right
  3. When the popup box appears, to delete this Community, click the 'Delete' button.
  4. Or, to move this Community to a different Mullem, click the 'Move to' dropdown box then select the Mullem you want to move it to.
  5. Click the name of the Mullem you just moved it to and you should now see it listed there instead.

Mullems

You can delete Mullems by clicking the minus icon link on the top right of each Mullem. This will delete both the Mullem AND any Communities you have associated with it so if you want to keep a Community, move it to a new Mullem first (see step 4 in the section above).

Viewing the Mullem

As we've learnt, clicking the name of the Mullem reveals a list of all the Communities in that Mullem. To view all these Communities as one feed (i.e. view this Mullem), click on of the four icons to the right of the Mullem name. These are (from left to right), this Mullem sorted by Hot, this Mullem sorted by Active, this Mullem sorted by New and this Mullem sorted by Old.

The Mullem will now be generated and appear in a new tab, sorted depending on which of the four icons you clicked.

There is no auto-refresh so if you want to see any new posts, you'll need to refresh/reload the page in the normal way (CTRL + R, or F5 , or clicking the browser 'reload current page' icon to the left of the address bar).

The Code

There's nothing in this section about how to use Mullem, it's just an explanation of the code and a few provisos.

  • I'm not a JavaScript expert so I used jQuery. The code is far from perfect and someone more expert with JavaScript could probably optimise the shit out of this. If that's you, feel free.
  • This is my first Add On, so there's probably ways I could've made this better too.
  • The whole plugin, including images, weighs in at less than 236kb uncompressed and less than 57kb compressed.
  • I've used 3 things for this add-on - jQuery, a minified jQuery plugin called FeedEk.js to manage the RSS and skeleton.css to make my life easier.
  • The add-on grabs the RSS feed(s), sorts them in the requested way then presents them as one big feed. I used RSS rather than the Lemmy API as it's easier. The documentation of the API is a bit lacking. No diss intended, Lemmy devs are busy as hell right now.
  • Hardly any Lemmy instances have CORS enabled their RSS feeds (seriously instance Admins, please do this) meaning the jQuery RSS plugin (FeedEk.js) uses a proxy to grab the feeds. This is admittedly a concern. If their proxy fails, the feed fails and the add-on becomes useless. I'm looking at ways around this as a matter of urgency.
  • All Mullem and Community data is stored in Local Storage.

Road Map

  1. Option to format the date in the Mullems for Americans.
  2. Add ability to rename Mullems.
  3. Allow colour theming of.
  4. Support KBin Magazines
  5. Find a way to not rely on proxies to get around CORS issues

 

And I called it...Mullem.

Mullem? What's Mullem?

Multiple Lemmy's....Multi Lem's...Mullem

It's a way of having MultiReddit-like experience until (if) the Lemmy devs incorporate that feature into Lemmy.

What?

It's a way to view multiple Communities from multiple instances in one unified feed.

FAQ

Will this work in a Chromium (Chrome, Brave etc) based browser?

No idea. I don't have a Chromium based browser on any of my machines and I ain't going to install one just to test this. If you want to port it, be my guest.

Is this compatible with KBin?

Nope. Part of the code needs to look for '/c/' in a URL and as KBin uses '/m/' it'll just break. Don't try it, it WILL break. I will add this in future development.

Will this work on a mobile browser?

No, it would be unusable as the interface would be all over the place. Mullem uses a Sidebar for one thing. There are zero plans to make this work on a mobile browser so don't ask.

What Manifest version does Mullem use?

v2. I'll port this to v3 if Mozilla kill off v2.

Why haven't you set up a proper Git repository so I can see the code?

Can't be bothered. If you want to see the source, download the file, uncompress it and have at it. If you're really paranoid, run it through a virus checker.

Can I make changes? What License is this released under?

No license of any kind. Do what you want with it. But bear in mind the licenses of the three files bundled with it - jQuery, FeedEk.js and skeleton.css.

I'm American, can I change the date formatting?

Nope. Adding this option at some point though.

Can I change the colours?

Nope, working on it.

Are there size/Community/Mullem limitations?

Yes. Community and Mullem data gets placed in Local Storage which has a size limit. You'd have to add god knows how many Mullems and Communities though. Each entry is literal bytes.

Each Mullem fetches a maximum of 100 items. So whilst a Mullem can theoretically contain hundreds of Communities (seriously though don't do that), the combined feed of all those Communities can never exceed 100 items.

Does this Add On respect my privacy?

Absolutely. It contains no tracking of any kind. It contains no adverts of any kind. It does not collect, store or transmit any information about you, your browser, your connection or your OS. The data you enter to create Mullems and add Communities to Mullems is stored in Local Storage in the browser you installed the Add On to and can be wiped at any time if you see fit.

What have you successfully tested on?

Plain vanilla Firefox v.114.0.2 and LibreWolf v.114.0.2-1 on Debian and Fedora

Installation

  1. It's here, on the Mozilla Add On Store
  2. When it's done, look at the main browser address bar. To the right of it, you might see the Mullem icon.
  3. If not, click the 'Extensions' icon (looks like a jigsaw puzzle piece)
  4. You'll see the Mullem extension listed in the drop down, click the cog icon to the right of it and click 'pin to toolbar'
  5. The Mullem extension icon should now be on your toolbar alongside the 'Extensions' icon.

Uninstall

  1. Right click the extension icon in the toolbar
  2. Click 'Remove Extension'
  3. Uninstalling will delete all Mullems and Communities. If you want to keep that data, then before uninstalling the add-on, go to 'about:config' in the browser. Search for 'keepUuidOnUninstall' and set it to 'true'. Then search for 'keepStorageOnUninstall' and set that to 'true' also.

Using Mullem

Click the Mullem extension icon and the Mullem sidebar will apear. You might need to manually adjust the width of the sidebar after adding Mullems and Communities.

First time?

If this is the first time you've used Mullem then you (obviously) have no Mullem's yet. So step 1 - create a Mullem. Let's say you want a Mullem for Politics so you can view multiple Lemmy political Communities in one feed.

  1. In the 'Create Mullem' section, enter 'Politics' in the 'Mullem Name' text box.
  2. Click the '+' button.
  3. You should now have a new Mullem called 'Politics' (all icon links to the right are explained later in this document but at this point, without any communities added to this Mullem, they do nothing, except the Delete icon, which will delete the Mullem)

Now you can add Communities to your Politics Mullem. To do this:

  1. Copy the link to the Community (e.g. https://sh.itjust.works/c/ukpolitics). NOT the federated link (e.g. https://lemmy.ml/c/[email protected]). Using the federated link may well break Mullem.
  2. In the 'Add Community To A Mullem' section, paste the Community link to the 'Add community URL' text box
  3. Choose the Mullem (Politics in this example) to assign this Community to
  4. Click the 'Add' button.
  5. Click the title of the 'Politics' Mullem, you should now see the Community you just added listed under it.
  6. Repeat for all the Communities you want to add to this Mullem

NB: A good place to search for Communities across all Lemmy instances, by subject, is browse.feddit

Management of Mullems and Communities

Communities

You can do 2 things with Communities you've added - delete them completely or move them to a different Mullem

  1. Click the Mullem name that contains the Community you want to manage
  2. When all the Communities for that Mullem are listed below, find the Community you want to manage and click the gear icon to its right
  3. When the popup box appears, to delete this Community, click the 'Delete' button.
  4. Or, to move this Community to a different Mullem, click the 'Move to' dropdown box then select the Mullem you want to move it to.
  5. Click the name of the Mullem you just moved it to and you should now see it listed there instead.

Mullems

You can delete Mullems by clicking the minus icon link on the top right of each Mullem. This will delete both the Mullem AND any Communities you have associated with it so if you want to keep a Community, move it to a new Mullem first (see step 4 in the section above).

Viewing the Mullem

As we've learnt, clicking the name of the Mullem reveals a list of all the Communities in that Mullem. To view all these Communities as one feed (i.e. view this Mullem), click on of the four icons to the right of the Mullem name. These are (from left to right), this Mullem sorted by Hot, this Mullem sorted by Active, this Mullem sorted by New and this Mullem sorted by Old.

The Mullem will now be generated and appear in a new tab, sorted depending on which of the four icons you clicked.

There is no auto-refresh so if you want to see any new posts, you'll need to refresh/reload the page in the normal way (CTRL + R, or F5 , or clicking the browser 'reload current page' icon to the left of the address bar).

The Code

There's nothing in this section about how to use Mullem, it's just an explanation of the code and a few provisos.

  • I'm not a JavaScript expert so I used jQuery. The code is far from perfect and someone more expert with JavaScript could probably optimise the shit out of this. If that's you, feel free.
  • This is my first Add On, so there's probably ways I could've made this better too.
  • The whole plugin, including images, weighs in at less than 236kb uncompressed and less than 57kb compressed.
  • I've used 3 things for this add-on - jQuery, a minified jQuery plugin called FeedEk.js to manage the RSS and skeleton.css to make my life easier.
  • The add-on grabs the RSS feed(s), sorts them in the requested way then presents them as one big feed. I used RSS rather than the Lemmy API as it's easier. The documentation of the API is a bit lacking. No diss intended, Lemmy devs are busy as hell right now.
  • Hardly any Lemmy instances have CORS enabled their RSS feeds (seriously instance Admins, please do this) meaning the jQuery RSS plugin (FeedEk.js) uses a proxy to grab the feeds. This is admittedly a concern. If their proxy fails, the feed fails and the add-on becomes useless. I'm looking at ways around this as a matter of urgency.
  • All Mullem and Community data is stored in Local Storage.

Road Map

  1. Option to format the date in the Mullems for Americans.
  2. Add ability to rename Mullems.
  3. Allow colour theming of.
  4. Support KBin Magazines
  5. Find a way to not rely on proxies to get around CORS issues

[–] [email protected] 3 points 1 year ago (1 children)

Oh wow, I'd forgotten all about geek code.

[–] [email protected] 6 points 1 year ago

Are you being human trafficked?

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

Short stories is the answer. They do seem to mainly the province of horror and sci-fi but even if that's not a favoured genre(s) it's a way back in. Try Night Shift or Skeleton Crew by Stephen King (give The Mist a miss though, it's not really a 'short' short story). Take it a page at a time, stop reading the minute you start to lose interest, try again 15mins later. Remember it's fun activity not a competitive sport, take all the time you need, the books you want to read are going nowhere :)

[–] [email protected] 7 points 1 year ago (1 children)

You really need to re-read that book, but without the preconceived rightwing slant.

[–] [email protected] 4 points 1 year ago (1 children)

Are you trying to compare OP with Galileo?

[–] [email protected] 3 points 1 year ago (1 children)

If I'm referring people to a book I always use a link to its OpenLibrary entry. If I'm discussing a book, I do it on the Bookwyrm instance I'm on.

In short - use both :)

[–] [email protected] 1 points 1 year ago

Thank you, I'll look into that.

 

I have a self hosted server running yunohost that I use for a few services for my own use all of which require login to use so they're safe enough.

However I'm increasingly uncomfortable with the fact that anyone can discover my home IP via my domain name. Especially if I decided to install something like Lemmy or Mastodon.

Yunohost installs dyndns as part of it's setup but, aside from buying a fixed IP from a VPN provider that allows incoming connections I'm not sure what other options I have

I can't change very much on the modem router either. I can forward ports but that's about it.

I can add and manage new domains if necessary.

Any and all ideas welcome but, as you can guess from the fact I'm using yunohost, my networking knowledge is limited so please eli5 :)

[–] [email protected] 1 points 1 year ago

F. is no longer true. They recently removed support for this after lots of people abused the feature.

[–] [email protected] 2 points 1 year ago

Does docker need to be already installed on my local machine and my VPS?

[–] [email protected] 4 points 1 year ago

Forum packages have been around for at least 20 years. I'm terms of forum like features the only difference is federation.

[–] [email protected] 2 points 1 year ago (1 children)

After installing the wallet from getmonero, I went to localmonero.co and located a reputable seller in my country who accepted Amazon gift cards bought with cash.

I then bought an Amazon gift card using cash and kept the reciepts.

I then, as per requirements of the seller, took photos of the gift card number and the receipts to demonstrate the date and the fact I'd paid with cash. After sending these images to my PC I edited them in gimp to remove store identifying info from the receipts image, ran both images through a metadata removal tool and initiated the trade with the seller with the images. They accepted the trade and approx 20mins later the XMR was in my wallet

 

I'm looking at the official docs but I'm a bit confused. I want to install Lemmy on a VPS but the fourth bullet point in the documentation says:

"Install Ansible on your local machine (do not install it on your destination server)."

And then the Install instructions start going about how to install it.

If Ansible is on my local machine how am I supposed to use it to install Lemmy on a VPS?

[–] [email protected] 18 points 1 year ago

Its convenience. 99% don't care about anything apart from getting what they need. The blackout caused them inconvenience so its therefore annoying. Its the same attitude that can appear when workers take strike action.

 

I'm not familiar enough with Ansible or Docker to really risk installing Lemmy straight onto the VPS so I'm thinking of putting Yunohost on it.

If I chose the Hetzner Cloud package with 8GB RAM and 80Gb space, realistically, how many users could sign up before things got dangerous.

Hetzner is fine with yunohost installs and the hardware specs are good for it, I'm just wondering about Lemmy capacity in terms of numbers of users. I realise you'd only be able to guesstimate a ballpark figure.

Also, one way to cut down on space use is apparently object storage. I know I can use Backblaze for this - how exactly is this configured? Is there a setting in the lemmy config to point to external object storage providers?

view more: next ›