uhub ADC- En ADCS-Hubsoftware

uhub

uhub, uitgesproken als “you hub”, is een opensource Direct Connect-hubserver van Jan Vidar Krey. De ontwikkeling begon in 2007 en het project valt onder GNU General Public License version 3. Het is in C geschreven voor gemeenschappen die ADC-compatibele clients gebruiken, zoals DC++, AirDC++ en andere moderne Direct Connect-toepassingen.

Een hub is het ontmoetingspunt van een Direct Connect-gemeenschap. uhub houdt verbonden gebruikers bij, stuurt openbare en privéchat door, verspreidt zoekopdrachten en resultaten, past toegangsregels toe en helpt clients rechtstreekse verbindingen met elkaar op te zetten. De bestanden zelf lopen niet door uhub. Zodra twee gebruikers een bestand willen uitwisselen, vindt de overdracht normaal rechtstreeks tussen hun clients plaats. Daardoor kan een betrekkelijk kleine server veel meer deelactiviteit coördineren dan hij zelf zou kunnen doorsturen.

Dat is ook van belang voor browsergebaseerde of servergehoste clients. Een webclient die met uhub is verbonden kan chat, gebruikerslijsten en zoeken bieden, maar maakt peer-to-peer-overdrachten niet automatisch gewone webdownloads. De webclient of ondersteunende dienst moet het client-tot-client-proces nog steeds uitvoeren. uhub coördineert gebruikers en hun verbindingsaanvragen; het is geen bestandsopslagdienst, downloadproxy of webserver.

uhub is gebouwd rond een kleine, gebeurtenisgestuurde kern met laag geheugengebruik. Een privéhub kan op bescheiden hardware draaien, inclusief kleine Linux-systemen en embedded apparaten, terwijl grotere installaties duizenden verbonden gebruikers op krachtigere servers kunnen bedienen. Het ondersteunt IPv4 en IPv6, versleutelde verbindingen, geregistreerde accounts, operatorrechten, bans, floodbescherming, optionele plugins, bewaking en verschillende manieren om een hub mee te laten groeien met de gemeenschap.

Het project ontwikkelde zich in fasen. Versie 0.5.0 verscheen in 2014 als draagbare broncode voor Linux, macOS, BSD en Solaris. De ontwikkeling versnelde opnieuw in 2026. Versie 0.6.0 moderniseerde TLS-vereisten en de plugininterface. Versie 0.7.0 voegde bewaking, multiproceswerking en het koppelen van meerdere uhub-installaties tot één logische hub toe. Versie 0.7.1 verbeterde gebruikersopdrachten, authenticatie, verbindingslimieten en beveiligingscontroles. Versie 0.8.0 bracht geïsoleerde JavaScript-plugins, rijkere chatopmaak, uitgebreidere moderatie, selfservice-accountfuncties, snellere herkenning van dode verbindingen en herstelde Windows-builds.

Het officiële project noemt uhub nog steeds software van alfaniveau, niet een platform voor bedrijfskritische diensten. Dat maakt het niet slechts een demonstratie, maar een beheerder moet de gekozen release, plugins, clients, back-upproces en upgradeprocedure testen voordat een belangrijke openbare gemeenschap ervan afhankelijk wordt.

ADC- En ADCS-Bediening

uhub bedient gemeenschappen die ADC gebruiken, het moderne Direct Connect-protocol. Gebruikers verbinden met een ADC-compatibele client en voeren een adres in dat begint met adc:// of adcs://. ADC levert de gewone hubverbinding; ADCS voegt TLS-versleuteling tussen client en hub toe.

Een versleutelde ADCS-verbinding beschermt accountauthenticatie, chat, zoekopdrachten, gebruikersinformatie en ander verkeer met de hub. Een bestand wordt niet versleuteld door het via uhub te sturen. Rechtstreekse bestandsoverdrachten blijven afzonderlijke verbindingen tussen clients en zijn afhankelijk van hun mogelijkheden en instellingen.

Beheerders kunnen versleutelde en onversleutelde verbindingen toestaan of ADCS verplicht maken. Huidige uhub-versies ondersteunen TLS 1.2 en TLS 1.3 via OpenSSL of LibreSSL. Het gepubliceerde hubadres, de hostnaam, het certificaat en de luisterpoort moeten naar dezelfde dienst verwijzen. Een server kan een basisnetwerkverbinding accepteren en later toch de TLS-handshake, aanmelding, accountauthenticatie of ADC-onderhandeling weigeren.

uhub ondersteunt IPv4 en IPv6 en kan IPv6 verkiezen wanneer dat beschikbaar is. Zo kan één gemeenschap beide netwerktypen bedienen, al blijven rechtstreekse overdrachten afhankelijk van een compatibele route tussen de twee clients. uhub ondersteunt ook NAT-gerelateerde verbindingscoördinatie, maar kan firewall, router, providerbeperkingen of een verkeerd geconfigureerde client niet omzeilen.

Een openbare beheerder kan een hubnaam, beschrijving, eigenaar, website, netwerknaam en gepubliceerd adres opgeven. uhub kan zichzelf ook bij een compatibele hublist-registratiedienst aanmelden. Privéhubs kunnen registratie uit laten staan en alleen uitgenodigde of geregistreerde gebruikers toelaten.

Beheer En Uitbreidingen

  • Kleine En Grote Gemeenschappen: De standaardinstallatie draait als één gebeurtenisgestuurd proces en past bij veel privé- en openbare hubs. Beheerders kiezen het maximum aantal gebruikers, gasttoegang, verplichte accounts, limieten per adres en regels voor minimale share, uploadslots, zoektermen of het aantal andere hubs waarmee een gebruiker verbonden mag zijn.
  • Accounts En Moderatie: Authenticatieplugins kunnen accounts leveren voor leden, operators en beheerders. Afhankelijk van ingeschakelde plugins registreert een operator gebruikers of kunnen zij zichzelf registreren. Moderatie omvat beperkingen voor bijnaam, CID en IP, tijdelijke of permanente bans, banredenen, chatbeperkingen, floodcontroles, recente-gebruikersinformatie, onderwerpbeheer en operatoropdrachten. In 0.8.0 zijn geregistreerde accounts van het oude toegangscontrolebestand naar authenticatieplugins verplaatst; bestaande installaties moeten die gegevens bij een upgrade migreren.
  • Chat- En Gemeenschapsfuncties: uhub kan een instelbare hoeveelheid hoofdchathistorie bewaren, welkomstberichten tonen, hubregels publiceren, opdrachten tonen in compatibele clients en chat of privéberichten beperken per accountniveau. Versie 0.8.0 voegde de RTF0-rich-textuitbreiding toe. Ondersteunende clients tonen opgemaakte chat, berichten en externe afbeeldingen; oudere clients ontvangen platte tekst. Beheerders kunnen het laden van afbeeldingen vanaf externe URL’s uitschakelen.
  • Meer Dan Eén CPU-kern Gebruiken: uhub draait standaard in één proces. Een grotere installatie kan workers groter dan één instellen, zodat verscheidene workerprocessen een luisterpoort delen en als één hub verschijnen. workers=0 kiest één worker per beschikbare CPU-kern. Dat helpt als versleuteling of veel verbindingen één proces beperken; gebruikers hebben geen afzonderlijke adressen voor workers nodig.
  • Hubs Tussen Machines Koppelen: Federatie koppelt aparte uhub-installaties en laat ze als één grotere gemeenschap verschijnen. Gebruikers op verschillende knooppunten kunnen een zichtbare lijst delen, chatten, privéberichten uitwisselen, zoeken, resultaten ontvangen en rechtstreekse overdrachten over knooppuntgrenzen opzetten. Onderwerpen en actieve bans kunnen ook worden verspreid. Federatie is experimenteel en voor vertrouwde systemen; begrijp de beperkingen, test herverbinding en netwerksplitsing, en bescherm de gedeelde gegevens van gekoppelde servers.
  • Plugins: uhub houdt veel optionele functies buiten de kern en laadt ze met plugins. Meegeleverde plugins leveren SQLite- of bestandsauthenticatie, logging, chathistorie, welkomstberichten, onderwerpopdrachten, zelfregistratie, floodreacties, opdrachtmenu’s en beperkte chat. Native C-plugins hebben brede toegang tot de draaiende hub en moeten overeenkomen met de plugin-API van de geïnstalleerde release. Versie 0.8.0 voegde JavaScript-plugins via QuickJS toe. JavaScript-uitbreidingen draaien beperkt zonder gewone bestandsysteem- of netwerktoegang en zijn geschikt voor aangepaste opdrachten en gebeurtenisfuncties zonder C te compileren.
  • Bewaking: Versie 0.7.0 voegde een optioneel Prometheus-compatibel metrics-endpoint toe. Het kan verbonden gebruikers, verbindingen, overgedragen hubverkeer, berichtentellingen en event-loop-timing melden. Het endpoint staat standaard uit en vereist een bearertoken. Gebruik HTTPS, loopback of een vertrouwd beheernetwerk zodat het token niet via gewone HTTP uitlekt.
  • Verbindingsherstel: Huidige releases controleren inactieve verbindingen periodiek om gebruikers te verwijderen van wie de netwerksessie zonder nette afmelding verdween. Dat vermindert weigeringen bij herverbinding doordat de hub de oude sessie nog actief acht en verbetert herstel na onderbroken wifi-, NAT-, firewall- en clientverbindingen zonder normale actieve gebruikers anders te behandelen.
  • Installatie En Platformen: De officiële repository biedt broncode en releasepakketten. De documentatie behandelt Linux, macOS, BSD en Windows, met pakketten voor gangbare x86-64- en ARM64-systemen. Debian- en Ubuntu-gebruikers kunnen ook de door het project gekoppelde, door de gemeenschap onderhouden pakketbron gebruiken. Bouwen uit bron vereist een actuele C-compiler, CMake, SQLite-ontwikkelbestanden en een ondersteunde OpenSSL- of LibreSSL-versie.
  • Configuratie En Back-ups: De hoofdinstellingen staan in uhub.conf; accountgegevens, toegangsregels, plugins, certificaten en gerelateerde bestanden kunnen apart staan. Een volledige back-up omvat ze allemaal plus de geïnstalleerde release, dienstdefinitie en pluginversies. Test vóór een upgrade de nieuwe versie op een andere poort of systeem en bevestig aanmelding, accounts, moderatie, chat, zoeken, plugins, TLS, bewaking, herstartgedrag en clientcompatibiliteit.

Officiële uhub-Bronnen

De officiële uhub-website, documentatie, nieuwsarchief, repository, releases en issutracker bieden de betrouwbaarste projectinformatie. Gebruik documentatie die bij de geïnstalleerde versie past, want configuratie, authenticatie, plugins, moderatie en schaalgedrag veranderden aanzienlijk in de 0.6-, 0.7- en 0.8-reeksen.

De GitHub-repository bevat broncode, voorbeeldconfiguratie, pluginvoorbeelden, bouwinstructies, tests en de volledige wijzigingsgeschiedenis. De documentatiesite is geschikter voor wie een hub wil installeren of beheren zonder de bron te lezen. Dien reproduceerbare fouten en functieverzoeken bij de issutracker in met exacte release, besturingssysteem, configuratiedetails, relevante plugins, logs en stappen om het probleem te reproduceren.

LabelLinkBeschrijving
uhub-Projectwebsitehttps://www.uhub.org/Officieel overzicht van doel, gebruikers, functies, downloads en actuele projectlinks van uhub.
uhub-Documentatiehttps://www.uhub.org/doc/Index voor installatie, configuratie, TLS, plugins, bewaking, hubkoppeling, architectuur en ontwikkeling.
Aan De Slaghttps://www.uhub.org/doc/getstarted.htmlStappen voor bouwen of installeren, configureren, dienst starten, client verbinden, gebruikers registreren en meerdere workers inschakelen.
Configuratiereferentiehttps://www.uhub.org/doc/config.htmlDoorzoekbare referentie voor listeners, hubidentiteit, gebruikerslimieten, floodcontroles, TLS, bewaking, bestanden, workers en federatie.
Hubkoppeling En Federatiehttps://www.uhub.org/doc/linking.htmlLegt meerdere CPU-kernen en koppeling van losse uhub-instanties tussen machines uit, met grenzen en veiligheid.
Plugindocumentatiehttps://www.uhub.org/doc/plugins/index.htmlIndex van plugins voor authenticatie, logging, chatgeschiedenis, welkom, moderatie, registratie en optioneel gedrag.
TLS-Documentatiehttps://www.uhub.org/doc/config-ssl.htmlInstructies voor certificaten en versleutelde ADCS-verbindingen met OpenSSL of LibreSSL.
Bewakingsdocumentatiehttps://www.uhub.org/doc/metrics.htmlOptioneel Prometheus-endpoint, statistieken, authenticatietoken en aanbevolen veilige toegang.
Projectnieuws En Releasegeschiedenishttps://www.uhub.org/news.htmlGedateerde aankondigingen over de belangrijkste wijzigingen in uhub 0.5, 0.6, 0.7 en 0.8.
uhub-Repositoryhttps://github.com/janvidar/uhubOfficiële broncode, bouwen, voorbeeldconfiguratie, plugins, tests, technische documentatie, licentie en bijdragen.
uhub-Releaseshttps://github.com/janvidar/uhub/releasesVersiegebonden pakketten en notities over functies, upgradevereisten, beveiligingsoplossingen en compatibiliteit.
uhub-Issuetrackerhttps://github.com/janvidar/uhub/issuesOfficiële plaats voor reproduceerbare fouten, functieverzoeken en bekende projectproblemen.
uhub Dev Central adcs://adc.uhub.org:1511 uhub-configuratie, plug-ins, ADC-gedrag, interoperabiliteit en actuele ontwikkelbuilds.

Bovenliggende Pagina

Reacties

Nog Geen Reacties. Start Het Gesprek.

Reactie Toevoegen

Reacties hier vereisen een account. Meld u aan om mee te praten of registreer een account.