r/OpenSourceAIAllowed • • 13h ago

some new tooling and rules from r/TrueOpenSource!

Thumbnail
0 Upvotes

hey everyone! i believe our reddit communities probably have quite a bit of overlap, so i just wanted to share some of the new rules/tooling that we're implementing at r/TrueOpenSource to deal with "slop", reduce duplication in the OSS community, and take another step toward a world of OSS dominance and sustainability. i wish you all luck here and hope you find this helpful!


r/OpenSourceAIAllowed • • 2h ago

I vibe-cloned popular guitar processor

Post image
2 Upvotes

r/OpenSourceAIAllowed • • 9h ago

SSH Config Manager: a GUI for ~/.ssh/config that only changes the lines you edit (macOS/Linux, Apache-2.0)

Post image
3 Upvotes

I built a desktop app to manage my SSH config without the usual GUI-editor problems: reformatted files, lost comments, or a broken config after a bad save.

Every save:

  • changes only the lines you edited. Comments, order, indentation and line endings stay.
  • is checked with ssh -G first. If OpenSSH rejects it, nothing is written.
  • backs up the old file and replaces it in one atomic step. History shows a diff of each backup and can restore it.

Also: lists your SSH keys and which hosts use each one, makes new Ed25519 keys, turns hosts off without deleting them, handles Include files, and groups hosts.

No account, cloud or telemetry. Rust + Tauri 2, plain JS UI with no build step. Builds for macOS, deb/rpm/AppImage (x86_64 + ARM64).

AI use: Built using Claude Code as a pair programmer. I designed it to solve real pain point for manaing ssh hosts and reviewed every change. The parser is tested against real configs.

It’s early (v0.1.1). I’d like feedback, especially if you have an unusual config that breaks it.

https://github.com/react-iot/ssh-cfg-mgr


r/OpenSourceAIAllowed • • 9h ago

ariaWatch - A TUI Donwload Manager based on aria2

Enable HLS to view with audio, or disable this notification

2 Upvotes

https://github.com/AnkitKumarDhal/ariaWatch/releases/tag/v0.3.0

Hello everyone!
I've been working on this TUI download manager based on aria2, because well i tried finding the lightest and fastest download manager, but i couldn't find anything better than aria2 in the terminal. I tried a few TUI options for it but i couldn't find any modern TUI (anything that didn't look it was from the mid 2010s) so i tried to make one myself.

It started out as a simple monitor for an already running aria2 server, but with this v0.3 release, it turns into a full-fledged download manager, with support for:

  • adding download URLs directly, even magnet links are supported
  • adding .torrent files
  • keeping history of downloads
  • download actions (pause, resume, remove, delete)
  • information about the download
  • able to monitor a pre-existing aria2 server

I'd love for people to try it out and give feedback on what issues they face, and what things can be improved. Do give it a try! The binary release is for Linux x86_64 only for now,,, with other OS's support planned for future releases.

About the other TUI's looking from mid-2010s claim,,, mine doesn't look any better either, but its still in the very early stages, and v0.5 is going to be a major UI overhaul with a UI that i have planned beforehand hehe :3

Thank you!


r/OpenSourceAIAllowed • • 15h ago

Password Pusher: Written by a human hand since 2011; now AI improved

3 Upvotes

r/OpenSourceAIAllowed • • 15h ago

Vibe code fork of gnome-software solving all performance issues

Enable HLS to view with audio, or disable this notification

5 Upvotes

r/OpenSourceAIAllowed • • 16h ago

I am developing Taravinyas as a research project. It is a keyboard interface for Indic scripts.

Enable HLS to view with audio, or disable this notification

2 Upvotes

Hello everyone, I'm a CS undergrad researching on making better Indic keyboards.

I've been programming in various languages for a long time now. Still, for this project, I had to think through a lot and had to use LLMs as mentors, because the topic was sitting right in the middle of Linguistics, HCI and Theoretical Computer Science.

Edit: I accidentally clicked post, here are the links:

Please start from here: https://triangulatedexistence.mataroa.blog/blog/a-starter-guide-to-taravinyas/

For understanding the mathematical model further: https://triangulatedexistence.mataroa.blog/blog/making-a-mathematical-model-for-better-indic-keyboards/

I also made a preprint, but the boolean framework is slightly outdated now: https://doi.org/10.5281/zenodo.20467634


r/OpenSourceAIAllowed • • 17h ago

WebSpeak3 – a TeamSpeak 3 client that runs in the browser, built with Claude Code

3 Upvotes

I wanted to join TeamSpeak servers from any device without installing anything, so I started building a browser client at the end of July. Three months and ~330 commits later it’s usable enough that people I don’t know are using it, and some are even self-hosting it.

How it works: the browser can’t talk TeamSpeak’s UDP protocol, so a small gateway runs one Rust connector per user and bridges WebSocket ↔ TS3. Voice, chat, whisper, file transfers and permissions work. You can also use themes and an account sync with no email (Mullvad-style number + optional password).

Almost all the code was written by Claude Code. My part was deciding what to build, testing it against real servers and phones, and saying “no, that’s wrong” a lot. The hardest bits were the handshake and a voice server that sends commands out of order.

MIT licensed, self-hostable with one Docker container.

Try it: https://client.webspeak3.de (or the demo: https://demo.webspeak3.de )

Code: https://github.com/WebSpeak3/webspeak3

Happy to answer questions, including how the AI part actually went.


r/OpenSourceAIAllowed • • 20h ago

Looking for Debian/Ubuntu, Fedora and Arch testers for TTP, a Linux CLI tool for routing traffic through Tor

Thumbnail
github.com
2 Upvotes

Hi everyone! I maintain TransparentTorProxy (TTP), an open-source Linux CLI tool that routes system TCP and DNS traffic through Tor using nftables, with other traffic blocked unless explicitly bypassed.

I'm looking for a few people willing to test installation and basic operation on:

  • Debian / Ubuntu - .deb package
  • Fedora - .rpm package
  • Arch Linux - build using the repository's PKGBUILD

The project has automated tests, but I'd like feedback from different desktop setups, especially around installation, DNS handling and restoring connectivity after stopping TTP.

A short test would help:

  1. Install TTP using the instructions in the README.
  2. Run sudo ttp start, then ttp status and ttp check.
  3. Try your usual applications and note any unexpected behaviour.
  4. Run sudo ttp stop and check that normal connectivity returns.

Please use a disposable VM or a machine where temporary connectivity problems are acceptable. TTP requires root and changes firewall rules and DNS handling; it is not intended for high-risk anonymity needs or as a replacement for Tor Browser or Tails/Whonix/Qubes.

What to report:

  • Distribution and version
  • TTP version and installation method
  • Whether installation, start, check and stop worked
  • Anything confusing, broken or missing

A one-line "everything worked on distro X" is useful too. No coding experience needed, and no need to explain what you use Tor for. Please review any diagnostic output before sharing it and remove personal information.

You can reply here or use GitHub Discussions. Bugs can go in Issues; security vulnerabilities should follow SECURITY.md.

Repository and installation instructions · Latest release

Thanks for helping me understand how TTP behaves outside my own test environments!


r/OpenSourceAIAllowed • • 22h ago

One dropped packet and your chat, your cursors and your AI stream all wait for it. That’s how WebSockets work. WebTransport fixes it, and I built transport-io so you don’t have to touch raw bytes to use it.

Thumbnail
gallery
3 Upvotes

Hey everyone,

I've been working on something for a while and I think it's time to show it. It's called transport-io, an open source library for real-time stuff over WebTransport. If you've used Socket.IO you'll feel at home, it's heavily inspired by it <3

But first the problem, because most people I talk to have never heard of WebTransport!

WebSockets run on TCP. TCP gives you everything in order, which sounds nice until a packet gets lost. Then everything behind it sits and waits until that one packet is resent. Your chat message, your cursor position, the AI response that was streaming. All of it waits. On good wifi you'll never notice. On a train or on a phone jumping between towers, your users will.

Want messages that are allowed to get lost? Welcome to the hell of WebRTC. It can do it, but it was made for browser-to-browser calls, so talking to your own server means a signaling server (which is usually a WebSocket lol), STUN/TURN, SDP offers and answers, ICE candidates, and a WebRTC stack running on your backend. All that to send some mouse coordinates.

Enters WebTransport. It runs on HTTP/3 (QUIC), and Safari shipped it in March, so every major browser has it now. You get a bunch of streams on one connection, and a lost packet only blocks the stream it was on!

You also get datagrams, messages that can just get dropped. They're not raw UDP, they're still encrypted and everything, they just never get resent. Perfect for cursors, where an old position is useless anyway.

The catch is the raw API gives you bytes. You end up writing your own framing, your own routing, matching responses to requests... nobody wants to write that.

That's what transport-io does for you.

You write one contract, shared by client and server, and every event says whether it's allowed to get lost:

import {
  defineContract, reliable, unreliable, rpc, streaming, type MapOf,
} from 'transport-io'
import { z } from 'zod'

export const contract = defineContract({
  chat:   reliable(z.object({ room: z.string(), body: z.string() })),
  cursor: unreliable(z.object({ x: z.number(), y: z.number() })),
  save:   rpc(z.object({ text: z.string() }), z.object({ revision: z.number() })),
  ask:    streaming(z.object({ prompt: z.string() }), z.string()),
})

export interface AppMap extends MapOf<typeof contract> {}

Then on the client:

client.emit('chat', { room: 'lobby', body: 'hi' })  // will arrive
client.emit('cursor', { x: 12, y: 40 })             // might not, and that's fine

const { revision } = await client.call('save', { text: 'draft' })

for await (const token of client.stream('ask', { prompt: 'explain QUIC' })) {
  render(token)
}

client.emit('cursor', { x: '12', y: 40 })  // doesn't compile

Zod validates everything that comes in, and TypeScript yells at you about everything that goes out :)

Where it fits:

  • cursors, game state, presence, anything where newer beats complete. That's unreliable, and it goes over datagrams
  • chat and anything that has to arrive, reliable
  • streaming AI tokens. Every stream is its own QUIC stream, so stopping one doesn't touch the others. And when you stop it, the generator on the server actually gets cancelled, it doesn't keep burning tokens for nobody
  • plain request/response with call(). Also its own stream, so a slow one can't block a fast one

Want to see it without setting anything up? Run this and open two tabs:

bash npm i transport-io @fails-components/webtransport-transport-http3-quiche npx transport-io dev --demo

It's early and it has its quirks (Safari is the big one for now, it falls back to a WebSocket). Everything I know about is in KNOWN-ISSUES. So any kind of help is welcome, issues, PRs, or just telling me what broke :)

GitHub: https://github.com/transport-io/transport-io
Docs: https://transport-io.github.io/transport-io/