gsx - A GTK+ Scour Exchange client Copyright (C) 2000 Jonas Frantz This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. My email : jonas.frantz@helsinki.fi gsx 0.90e README ---------------- 1. What is gsx ? ---------------- gsx is a Scour Exchange client written in GTK+ for linux. It is multithreaded to maximize efficiency. gsx is capable of searching for and downloading files from remote clients. An user hotlist is also available. gsx also features the ability to discontinue and resume download. From version 0.90e it also features a preview media option while downloading. 2. gsx source files ------------------- comm.c - Contains functions for connecting to, communicating, listening to host and interpreting the messages. config.c - Contains functions for reading and writing configuration files, also contains functions for creating a new or using an old account download.c - Contains functions which are used for initializing, recieving, aborting, quitting downloads and more. preview.c - Contains function which realize previewing of downloading files. Thanks to Michael Walker. hotlist.c - Contains functions for maintaining the hotlist. login.c - Contains functions for logging on receiving confirmations and so on. main.c - Main file, sets up main window and initializes program. md5.c - Contains function for calculating MD5 of a block of data. resume.c - Contains functions for discontinuing and resuming a download. search.c - Contains functions for searching for files matching certain conditions, and visualising search results. strings.c - Contains some global strings which are used for setting up main window and other functions. tcpip.c - Contains lowlevel functions for communicating with TCP/IP md5.h - Header file for md5.c parameters.h - Global headerfile, contains all default setting and some static strings. tcpip.h - Header file for TCP/IP functions and settings. 3. Installation --------------- To compile gsx you have to have GTK+ devel installed. To compile and install gsx run: make make install (as root) This will install the compiled version to /usr/local/bin 4. Files, filenames and directory structure used ------------------------------------------------ The configuration files are located in ~/.gsx and they are : Config - This file contains settings as username, password and so on. Setup - This file contains window setup as size, search options. Hotlist - This file contains the usernames of the users on your hotlist. Download - This file contains the data of the discontinued downloads. First column is filename, the second is MD5 and the third one is current size. gsx creates directories named incomplete and discontinued in you specified download directory : incomplete - Here currently downloaded files are stored, when they are completely downloaded they are moved to the download directory. discontinued - Here discontinued files are stored while waiting to be resumed. They are stored here according to their MD5, when resumed they are moved to the incomplete directory under their true filename. 5. Bugfixes and bugreports -------------------------- If you find any bugs you are welcome to send a bugreport (which describes how to reproduce the bug. Bugfixes are also welcome. 6. Acknowledgements ------------------- For calculating md5 gsx uses a modified version originally written by L. Peter Deutsch. The writing of the TCP/IP code was influenced by EasyTcpIp library written by Marcelo Gornstein (marcelog@mail.ru). Michael Walker contributed the preview media code included in 0.90e.