lemmy.net.au

55 readers
2 users here now

This instance is hosted in Sydney, Australia and Maintained by Australian administrators.

Feel free to create and/or Join communities for any topics that interest you!

Rules are very simple

Mobile apps

https://join-lemmy.org/apps

What is Lemmy?

Lemmy is a selfhosted social link aggregation and discussion platform. It is completely free and open, and not controlled by any company. This means that there is no advertising, tracking, or secret algorithms. Content is organized into communities, so it is easy to subscribe to topics that you are interested in, and ignore others. Voting is used to bring the most interesting items to the top.

Think of it as an opensource alternative to reddit!

founded 1 year ago
ADMINS
13476
13477
13478
 
 

The letter argues that big tech companies have growing control over the operating systems of smart TVs and voice assistants, allowing them to act as “gatekeepers” funnelling users towards some content and away from others.

13479
 
 

They are slow and squishy. They have soft bodies and no shells. They have basically no way to defend themselves, from what I know.

I'd assume that there are some poisonous species, but other than that: how have these things not died out yet??

13480
 
 

Our home planet is struggling with a record energy imbalance, which is warming oceans to unprecedented levels, making weather more extreme and threatening health and food supplies, the World Meteorological Organization has warned.

The United Nations body confirmed 2015 to 2025 were the hottest 11 years ever measured, but a still bleaker message was that the rising temperature experienced by humans on the surface was only 1% of the faster-accumulating heat in the wider Earth system.

More than 90% of that excess is absorbed by the oceans, which experienced the highest heat content in history last year. The rate of ocean warming has more than doubled over the past two decades, compared with the average over the previous 45 years.

The authors of the latest annual State of the Global Climate report say this highlights the increasing vulnerability of a planet that is moving ever further out of balance as a result of human activity. The burning of oil, gas, coal and forests releases heat-trapping greenhouse gases such as carbon dioxide, methane and nitrous oxide, which are all at their highest level in at least 800,000 years.

Link to the report - https://wmo.int/publication-series/state-of-global-climate/state-of-global-climate-2025

13481
13482
 
 

When you look at existing self-hosted messengers, you usually see one of two things: either complex infrastructure that's hard to deploy (Matrix/Synapse), or minimalism with no encryption. ONYX is an attempt to find the middle ground: easy to deploy, real E2E encryption, and the ability to work entirely in a local network without internet at all.


Project architecture

Component Technology
Client Flutter (Android, Windows, macOS, Linux)
Server Node.js — Express + express-ws + ws
Database MariaDB + Redis (sessions, cache)
File storage S3-compatible (AWS SDK v3)
Transport WebSocket (wss://) + HTTP/REST
Encryption X25519 + XChaCha20-Poly1305 + AES-256-GCM

LAN mode: works without internet

One of the key features of ONYX is the ability to communicate in a local network without internet at all. A custom device auto-discovery mechanism handles this entirely.

Discovery protocol via UDP broadcast

Every client broadcasts a JSON packet to 255.255.255.255:45678 every 5 seconds:

{
  "username": "alice",
  "timestamp": 1710000000000,
  "pubkey": "<X25519 public key, base64>"
}

All other clients listen on that port and update two local tables:

  • username → source IP address
  • username → X25519 public key

No mDNS, no manual IP entry — just pure UDP broadcast. The public key is included directly in the broadcast packet, so encrypted communication can start immediately without an additional handshake.

Media transfer in LAN

Media files go through a separate channel on port 45679, split into ~32 KB chunks. Each chunk is encrypted independently with AES-256-GCM, which allows decryption and rendering to begin before the full file is received.


Encryption: two layers on elliptic curves

No RSA anywhere in the project — only a modern elliptic curve stack.

E2EE scheme for private chats

  1. Key exchange: X25519 ECDH with an ephemeral key pair per session
  2. Key derivation: HKDF-SHA256 with a context label (onyx-lan-v2 for LAN, separate labels for E2EE chats)
  3. Encryption: XChaCha20-Poly1305 AEAD

Packet format:

[pubkey 32B] [nonce 12B] [ciphertext] [mac 16B]

Why XChaCha20-Poly1305 and not AES-GCM?

AES-GCM requires hardware acceleration (AES-NI) for decent performance. XChaCha20-Poly1305 runs in constant time on any hardware — important for mobile devices without AES-NI. It also has a wider nonce (192 bits vs 96 for GCM), which reduces collision risk in long sessions.

AES-256-GCM is used for LAN media transfers — chunked delivery, and hardware acceleration is available on most desktops.


Multi-device and E2EE

When a new device connects to an account, it sends an authorization request to a trusted device. The trusted device must explicitly approve the new one — only then does the key exchange happen. The server never has access to decrypted content, even when adding a new device.

Multi-device sync

When a message arrives, the server sends it to each of your devices separately — encrypted with that device's specific public key. Technically these are different encrypted messages for each device, just with the same plaintext inside.

One honest limitation: only incoming messages sync across devices. Outgoing messages are visible only on the device they were sent from. Full bidirectional sync with E2EE requires either a "copy to self" encryption mechanism or server-side plaintext storage — both are worse tradeoffs.


Why Flutter and not Electron or native development

The requirement from day one: one codebase for Windows, macOS, Linux and Android. Three options were considered:

Option Problem
Native development 3–5 separate codebases, constant desync
Electron +150–200 MB RAM, DOM rendering
Flutter Single codebase, Skia/Impeller, real 60fps

Flutter Desktop required writing 10+ separate optimization modules (fps_booster, fps_optimizer, fps_stimulator, message_load_optimizer, chat_preloader) — Flutter on desktop lags noticeably without tuning. But the result is smooth UI across all four platforms from one repo.


Desktop-specific integrations

  • System tray — app minimizes to tray instead of closing.
  • Single-instance — prevents multiple copies via IPC. A second launch focuses the existing window.
  • Custom titlebar — system titlebar hidden, custom header with drag zone
  • Windows-native notifications — separate module, not Flutter overlay
  • Autostart on system boot

Security beyond E2EE

  • PIN + biometrics — Face ID / fingerprint via Flutter Secure Storage
  • Proxy supportproxy_manager.dart, routing through any proxy
  • Secure storage — all sensitive data through OS secure storage (Keychain / Android Keystore)
  • Active session management — all connected devices visible, any session can be terminated remotely — but only from a trusted device

Self-hosted groups and channels

Two types of groups and channels in ONYX — fundamentally different models.

Built-in (via ONYX server)

Standard groups and channels work through the central ONYX server and are not encrypted — a deliberate tradeoff for reliable sync. Suitable for open communities where E2EE is not a requirement.

External (self-hosted)

Anyone can run their own instance — on a VPS, home server, or local network:

Use case Description
Local network File sharing and chat within office/home network, no internet
Private community Closed group on your VPS, join by invite
Public channel You host it, subscribers read posts
  • Group — two-way, all participants can write
  • Channel — one-way broadcast, only admins publish

Connect to any external server directly from the app — enter the instance address and join.

Deploying your own instance

Server software — ONYX Server: github.com/wardcore-dev/onyx-server


Favorites: local notes and storage

ONYX has a dedicated Favorites tab — not a "Saved Messages" clone, but a proper local notebook. Create any number of favorite chats, each with its own avatar and name, as separate categories: passwords, ideas, saved media, links.

Everything is stored locally on the device — nothing sent to the server, nothing synced. The server knows nothing about your favorites.


Accounts: anonymity, multi-account and deletion

  • Registration — username and password only. No phone number, no email.
  • Username — chosen once, permanent. Can never be changed. You can change your display name, but not the username itself.
  • Multi-account — register and hold any number of accounts, switch freely.
  • Account deletion — delete at any time with all media and server-side data. No traces left.

Current state

Project is in working beta. Development is ongoing. Happy to answer questions in the comments.

Try it out

13483
 
 

Source for this article is Israeli news. Sharing because this is the the complete opposite of what has been said to us by american media the last few hours while the markets get manipulated. We will find out in the coming hours/days but figured to share what this other side is reporting

13484
 
 

On 5 March, a post appeared on the X account of Iran’s late supreme leader, Ali Khamenei, managed by his staff after he was killed in an Israeli airstrike on 28 February. The tweet featured a stark piece of propaganda: a gleaming, oversized missile arcing across the sky as a city below is engulfed in flames. The caption read: “Khorramshahr moments are on the horizon.”

The Khorramshahr missile, Iran’s most advanced ballistic missile, is believed to be capable of carrying a cluster warhead dispersing up to 80 submunitions. Since that post, it has come to loom large in Israeli threat assessments, a persistent concern for a country equipped with a multi-layered missile defence system that is widely regarded as the world’s most sophisticated.

The latest attack using cluster munitions occurred on Sunday, when an Iranian ballistic missile struck central Israel, injuring 15 people.

According to the Israel Defense Forces, roughly half of the missiles launched from Iran since the escalation have carried cluster warheads.

The Guardian, which reviewed the impact of dozens of Iranian strikes alongside statements from Israeli officials, has identified at least 19 ballistic missiles carrying cluster warheads that penetrated Israeli airspace and struck urban areas since the beginning of the war with Iran on 28 February. Those attacks have killed at least nine people and wounded dozens, reflecting a broader shift in Iran’s tactics that appears to have exposed a vulnerability in Israel’s air defences. Since the start of the war, Iran’s cluster munitions – which disperse dozens of bomblets mid-air – have tested Israel’s highly advanced, multi-tier missile defence network, including Iron Dome, which is designed to counter threats across ranges, altitudes and speeds, exposing gaps that interception alone has struggled to close.

13485
 
 

Satellite images of Tehran show toxic fires caused by Israeli bombings on oil depots were still burning days after the strikes, which have caused fears of serious health complications for millions of residents in the Iranian capital.

Clouds of smoke from bombings on 7 March on multiple facilities blanketed the city with pollutants ranging from soot to oil particles to sulphur dioxide. Hours later, a passing storm showered Tehran with poisonous, oil-filled rain.

The Guardian spoke to residents who described having headaches, eye and skin irritation and difficulty breathing. Experts have warned those symptoms could be just the beginning, with longterm risks of cardiovascular disease, cognitive impairment, DNA damage and cancer.

Four fuel facilities in and around the capital were hit, with Shahran depot in the north-west spewing a thick column of smoke into the atmosphere. The Aqdasieh oil depot in the north-east, Tehran refinery in the south and Shahid Dolati facility in the west were also hit.

13486
 
 
13487
 
 
13488
 
 

I called my dog Beanis earlier without thinking. As a term of affection. I think..

Anyway I might have been beanisposting too hard. Prolly have to take a day off. I dunno its a big call but I can't risk beanout.

13489
13490
 
 
13491
1
Cyber Resilience Act - Open source (digital-strategy.ec.europa.eu)
submitted 1 month ago by testman@lemmy.ml to c/opensource@lemmy.ml
13492
13493
13494
 
 

Coca-Cola Canada Bottling Limited cited a rare legal principle that allows it to terminate an injured worker

13495
 
 
13496
 
 
13497
 
 

A new investigation says Banksy’s true identity has finally been uncovered after years of speculation, identifying the anonymous street artist as “Robin Gunningham” of Bristol and reporting that he later used the name David Jones to avoid detection.

13498
 
 
13499
 
 

Iran's Foreign Ministry issued a statement saying no dialogue is taking place between the two sides and characterizing Trump's announcement as part of efforts to lower energy prices and buy time for military planning.

13500
 
 
view more: ‹ prev next ›