Publik källkod

From distributed.net
Jump to: navigation, search

Här är den publika källkoden till distributed.net:s program!

Mängder av saker har ändrats sedan den förra uppdateringen, men den mest synliga ändringen är nog tillägget av koden till MacOS och Dan Oetting's senaste Altivec-kärna. Lycka till med kompileringen! :)

  • De gamla tarkiven finns här

Här nedan följer källkoden till några andra program som distributed.net har gjort tillgängliga för allmänheten:

En kort FAQ-sammanställning:

Kan jag bygga en fungerande distributed.net-klient med den här källkoden?

Nej. Även om det finns med buffert-uppdateringsrutiner i den här källkoden, är de inte kompatibla med de buffertfiler som genereras av en officiell klient.

OK, jag tankade just ner dem, vad ska jag göra nu?

Om du har ett skalfönster uppe i Unix, skriv "./configure list". Du får upp en lista med hårdvaror som finns tillgängliga. Om din hård/mjukvara inte finns med, se hur konfigureringsskriptet är gjort, och skriv dit en egen rad i listan, det är inte alltför svårt. När väl Configure har skapat en Make-fil till dig, är det bara att skriva "make" och hela rasket sätter igång och kompileras.

Om du har oturen att inte ha tillgång till underbarelsen Unix, får du se efter hur du skapar en Make-fil eller en projektfil för ditt system. Kolla i makefile.vc (MS Visual C++), makefile.wat (Watcom för DOS, NetWare, Win16, OS/2, Win32cli), smakefile (Amiga), Platforms/beos/* (BeOS med CodeWarrior antar jag), make-vms.com (VMS).

Vad gör NASM?

Det står för Network-wide Assembler. Det är en portningsbar x86-assembler, med MS/Intel-liknande syntax. NASM:s hemsida har adressen http://nasm.sourceforge.net/.

OK, nu har jag en körbar fil, hur fungerar den?

Skriv bara "./rc5des --help" och upp får du en lista över tillgängliga val och kommandon.

Om jag kan få min källkod att gå igenom en kompilator korrekt, betyder det att det finns en klient för min maskintyp nu?

Se på webbsidan för portningar och följ direktiven där.

Jag kan inte få min <sätt-in-din-favoritkompilator-under-valfritt-OS-och-hårdvara-här>att fungera med den här källkoden!

Maila till bovine@distributed.net or email submission form, och så kan vi kanske hitta på en bra lösning tillsammans.

Jag skulle vilja använda delar av den här källkoden till mina egna projekt.

Maila till Jeff Lawson, Dave Avery om ditt projekt. För det mesta vill vi att du krediterar DCTI och det arbete som vi (eller våra kodare) har gjort, i din källkod och i den körbara filen, samt att framtida förbättringar skickas till oss.

Jag har skapat min egen kärna som är snabbare än er!

Strålande! Vi välkomnar förbättringar som vi kan integrera i framtida releaser av klienten. Om du tror att du förstår koden som publiceras här, och tycker det är kul att pilla med den här typen av kod, skriv till folket ovanför, och berätta för dem! Vi tycker om folk som är duktiga på att programmera och skulle vilja ge oss en hjälpande hand med något specifikt område i klientkoden.

Varför följer inte distributed.net helt och hållet open-source-konceptet i samtliga delar av källkoden?

Även om vi delger allmänheten stora delar av koden till klienter m.m. på den här sidan, är det nödvändigt att hålla delar av koden oåtkomlig för vem som helst. Vi skulle helst av allt vilja släppa även resterande delar av koden till vem som helst, men i dagsläget kan vi tyvärr inte det.

Med handen på hjärtat ska vi säga att det inte är helt säkert att släppa ens den körbara filen av ett program - det finns ändå alltid risk för sabotage, m.m. genom att vem som helst med kunskaper kan disassemblera eller patcha om binärfiler. Det här är ganska enkelt faktiskt, men vi ber dig ändå att inte försöka. Säkerhet genom obskyrhet är ingen säkerhet alls, men vi påstår inte heller att det skulle vara så.

Källkoden på den här sidan innehåller alla algoritmer som är av intresse. De enda delarna som inte finns med här är den som behandlar filaccess och nätverks-socket-hantering, vilket inte egentligen är speciellt spännande, när allt kommer omkring. Beräkningskärnan och de plattformsspecifika optimeringarna är de som finns med i koden, och är det som du kan tänkas få nytta av om du är intresserad av hur klienten fungerar, eller hur du kan öka hastigheten på klienten för just din processor.

Ett dokument som behandlar många av de här ämnena finns tillgängligt för läsning, och diskuterar vidare de generella problem med Autentisering av kodkärnor.