--- bnbt-8.0-2.orig/USERS +++ bnbt-8.0-2/USERS @@ -0,0 +1,54 @@ +BNBT supports user logins and signups. There are several things you should know before using this feature. + +======================= +CREATING THE FIRST USER +======================= + +If your tracker does not have any users, it will offer full access to guests. This is NOT what you want your tracker to be doing; it only does this so someone (i.e. you) can create the first user. When you start your tracker for the first time, make sure nobody can access it except for yourself. Open your tracker in your favourite web browser, access the /users.html page, and create a new user WITH FULL ACCESS! Once your tracker has a user, it will only offer restricted access to guests, so make sure the new user has full access. + +If you screw up and need to start over, shutdown your tracker and delete the users.bnbt file. You can start again from there. + +========================= +AUTHENTICATION & SECURITY +========================= + +BNBT uses HTTP authentication, but currently it only supports 'Basic' authentication. This means your login and password will be sent as plain text over the network. A future version of BNBT should support 'Digest' authentication as well, which is somewhat more secure. + +BNBT will never store each user's actual password in the users file. Instead, it stores an MD5 hash of the "A1" value, which is simply a combination of the user's username, password, and the BNBT realm. This should allow BNBT to use 'Digest' authentication in the future. Note that if you change the BNBT realm (bnbt_realm), your users file will become invalid (i.e. nobody's passwords will work anymore). + +============= +ACCESS LEVELS +============= + +BNBT uses something called a bitfield to store access levels. You may have seen one of these before in some games (Quake 2 comes to mind, as does Admin Mod for Half-Life). It works like this, + +1 = view access (basic) +2 = dl access (downloader) +4 = comments access (poster) +8 = upload access (uploader) +16 = edit access (moderator) +32 = admin access (admin) +64 = signup access + +To come up with an access level, simply add up the values for the features you wish to offer. For example, if you want a user to be able to view the tracker, download files, and upload files, their access level would be, + +1 + 2 + 8 = 11 + +You need to know how to set access levels because BNBT uses two config values to set the default access level for guests (users who are not logged in) and members (users who signed up through the signup page). Simply set bnbt_guest_access and bnbt_member_access to the access levels you wish each group to have. Since BNBT stores each user's access level seperately, if you change bnbt_member_access existing users will not be affected; only new users will receive the new access level. + +=============== +DISABLING USERS +=============== + +If you don't wish to support users on your tracker, you should follow these steps. It is impossible to completely remove users from your tracker unless you downgrade to a previous version (e.g. BNBT Beta 6.7) since all the admin features of BNBT rely on user authentication. However, you can make it look like your tracker doesn't support users. + +1.) set bnbt_guest_access = +2.) set bnbt_member_access = 0 +3.) configure your tracker to use a style sheet by setting bnbt_style_sheet = +4.) make sure your style sheet contains the following text, + +p.login { display: none; } + +5.) start your tracker, go to /users.html, and create an admin account for yourself + +Make sure you remove all the extra links from your header.html file, and you should be set. If you want to access the admin features of the tracker, simply access /login.html and enter the login information for the user you created in step 5. \ No newline at end of file --- bnbt-8.0-2.orig/README +++ bnbt-8.0-2/README @@ -0,0 +1,53 @@ +======================================== +BNBT Beta 8.0 (a C++ BitTorrent tracker) +======================================== + +http://bnbt.go-dedicated.com/ + +BNBT was written by Trevor Hogan. BNBT is a complete port of the original Python BitTorrent tracker to C++ using the STL for data storage and basic network sockets for network communication. BNBT is fast, efficient, customizable, easy to use, powerful, and portable. BNBT is covered under the GNU Lesser General Public License (LGPL). + +============= +DOCUMENTATION +============= + +THIS IS IMPORTANT! PLEASE READ THE DOCUMENTATION! + +The documentation for this release is available in the bnbt/doc directory. Updated documentation is available at http://bnbt.go-dedicated.com/doc/. + +===== +NOTES +===== + +NAT checking is not implemented yet. + +========= +CHANGELOG +========= + +Beta 8.0 Release 2 + - fixed a serious crash bug with tracker links on secondary trackers + - fixed a bug where BNBT would constantly refresh the static header and footer (credit Elandal) + - fixed a query error with stats dumping when mysql_override_dstate was off + - mysql.h is now include as mysql/mysql.h on some systems + - and stdio.h is now included by default on all systems + - fixed a major bug where some internal databases would be needlessly copied and deleted + - added the "bnbt_max_recv_size" config value + +Beta 8.0 + - supressed connection reset errors + - supressed deflate errors (on Z_OK) + - added MySQL support + * added the "mysql_host" config value + * added the "mysql_database" config value + * added the "mysql_user" config value + * added the "mysql_password" config value + * added the "mysql_port" config value + * added the "mysql_refresh_allowed_interval" config value + * added the "mysql_refresh_stats_interval" config value + * added the "mysql_override_dstate" config value + * added BNBTPHP (example PHP frontend) + - added the "bnbt_robots_txt" config value + - removed the zlib source code folder + - fixed a bug where deleted torrents would sometimes recover their tag data on restart + - externally linked torrents are now linked even more correctly + - pruned the changelog \ No newline at end of file --- bnbt-8.0-2.orig/bnbt-example.cfg +++ bnbt-8.0-2/bnbt-example.cfg @@ -0,0 +1,91 @@ +allowed_dir = +announce_interval = 1800 +bind = +bnbt_access_log_dir = +bnbt_allow_comments = 0 +bnbt_allow_info_link = 0 +bnbt_allow_scrape = 1 +bnbt_allow_search = 1 +bnbt_allow_sort = 1 +bnbt_allow_torrent_downloads = 1 +bnbt_archive_dir = +bnbt_charset = iso-8859-1 +bnbt_comment_length = 800 +bnbt_comments_file = +bnbt_compression_level = 6 +bnbt_count_unique_peers = 1 +bnbt_debug = 0 +bnbt_delete_invalid = 0 +bnbt_delete_own_torrents = 1 +bnbt_dump_xml_file = +bnbt_dump_xml_interval = 600 +bnbt_error_log_dir = +bnbt_external_torrent_dir = +bnbt_file_dir = +bnbt_file_expires = 180 +bnbt_flush_interval = 100 +bnbt_force_announce_on_download = 0 +bnbt_force_announce_url = +bnbt_guest_access = 67 +bnbt_max_conns = 64 +bnbt_max_peers_display = 500 +bnbt_max_recv_size = 524288 +bnbt_max_torrents = 0 +bnbt_member_access = 79 +bnbt_name_length = 32 +bnbt_parse_on_upload = 1 +bnbt_per_page = 20 +bnbt_realm = BNBT +bnbt_refresh_static_interval = 10 +bnbt_robots_txt = +bnbt_show_added = 1 +bnbt_show_average_dl_rate = 0 +bnbt_show_average_left = 0 +bnbt_show_average_ul_rate = 0 +bnbt_show_completed = 0 +bnbt_show_file_comment = 1 +bnbt_show_file_contents = 0 +bnbt_show_gen_time = 1 +bnbt_show_info_hash = 0 +bnbt_show_left_as_progress = 1 +bnbt_show_max_left = 0 +bnbt_show_min_left = 0 +bnbt_show_num_files = 1 +bnbt_show_share_ratios = 1 +bnbt_show_size = 1 +bnbt_show_stats = 1 +bnbt_show_transferred = 0 +bnbt_show_uploader = 0 +bnbt_static_footer = +bnbt_static_header = +bnbt_style_sheet = +bnbt_tag_file = tags.bnbt +bnbt_tlink_bind = +bnbt_tlink_connect = +bnbt_tlink_password = +bnbt_tlink_port = 5204 +bnbt_tlink_server = 0 +bnbt_upload_dir = +bnbt_users_file = users.bnbt +bnbt_users_per_page = 50 +dfile = dstate.bnbt +downloader_timeout_interval = 2700 +image_bar_fill = +image_bar_trans = +keep_dead = 0 +max_give = 200 +min_request_interval = 18000 +mysql_database = bnbt +mysql_host = +mysql_override_dstate = 0 +mysql_password = +mysql_port = 0 +mysql_refresh_allowed_interval = 0 +mysql_refresh_stats_interval = 600 +mysql_user = +parse_allowed_interval = 0 +port = 6969 +response_size = 50 +save_dfile_interval = 300 +show_names = 1 +socket_timeout = 15 --- bnbt-8.0-2.orig/debian/dirs +++ bnbt-8.0-2/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin --- bnbt-8.0-2.orig/debian/docs +++ bnbt-8.0-2/debian/docs @@ -0,0 +1,3 @@ +README +USERS +bnbt-example.cfg --- bnbt-8.0-2.orig/debian/control +++ bnbt-8.0-2/debian/control @@ -0,0 +1,17 @@ +Source: bnbt-8.0 +Section: utils +Priority: optional +Maintainer: Alex de Landgraaf +Build-Depends: debhelper (>= 4.0.0) +Standards-Version: 3.6.0 + +Package: bnbt-8.0 +Architecture: any +Depends: libc6 +Description: BitTorrent tracker + BNBT is a complete port of the original Python BitTorrent + tracker to C++ for speed and efficiency. BNBT also offers many + additional features beyond the original Python BitTorrent tracker, + plus it's easy to use and customizable. + . + BNBT is covered under the GNU Lesser General Public License (LGPL). --- bnbt-8.0-2.orig/debian/rules +++ bnbt-8.0-2/debian/rules @@ -0,0 +1,100 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #/usr/bin/docbook-to-man debian/bnbt-8.0.sgml > bnbt-8.0.1 + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/bnbt-8.0. + #$(MAKE) install DESTDIR=$(CURDIR)/debian/bnbt-8.0 + install $(CURDIR)/bnbt $(CURDIR)/debian/bnbt-8.0/usr/bin + install $(CURDIR)/bnbtmysql $(CURDIR)/debian/bnbt-8.0/usr/bin + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_python +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure --- bnbt-8.0-2.orig/debian/changelog +++ bnbt-8.0-2/debian/changelog @@ -0,0 +1,6 @@ +bnbt-8.0 (2-1) unstable; urgency=low + + * Initial Debianified Release. + + -- Alex de Landgraaf Sun, 29 Aug 2004 17:16:05 +0200 + --- bnbt-8.0-2.orig/debian/compat +++ bnbt-8.0-2/debian/compat @@ -0,0 +1 @@ +4 --- bnbt-8.0-2.orig/debian/copyright +++ bnbt-8.0-2/debian/copyright @@ -0,0 +1,10 @@ +This package was debianized by Omega User on +Sun, 29 Aug 2004 17:16:05 +0200. + +It was downloaded from http://bnbt.go-dedicated.com/ + +Upstream Author(s): Trevor Hogan + +Copyright: + +BNBT is covered under the GNU Lesser General Public License (LGPL). \ No newline at end of file