[공유]Liux 가설 BT Tracker 서버 수기

6906 단어 linux
링크
 
현재 개 원 된 Bt tracker 프로젝트 는 공식 Tracker 는  www.taoer.com  python 언어 사용 하기
www.bittorrent.com/  c++trackerxbtt.sf.net
windows 아래 tracker  sourceforge.net/cvs/?group_id=94951이 건 개원 이 아 닌 것 같은 데?신경 쓰 지 마 세 요.어차피 windows 로 서버 를 만 들 필요 도 없어 요.
또 하나의 논단 을 소개 한다.http://www.isohunt.com/forum/
제 가 사용 하 는 것 은 c++의 xbt tracker 입 니 다.다음은 이 예 를 들 어 제 가설 과정 을 설명 하 겠 습 니 다.
우선 BT tracker 는 xbt 홈 페이지 와  www.bitcomet.com/tracker/index-zh.htm  CVS 방식 으로 소스 코드 를 다운로드 한 다 는 설명 이 있어 요.
cvs -z3 -d:pserver:[email protected]:/cvsroot/xbtt co xbt/misc xbt/XBT\\Tracker 이렇게 하면 xbt tracker 와 관련 된 소스 코드 를 다운로드 할 수 있 습 니 다.
cvs -z3 -d:pserver:[email protected]:/cvsroot/xbtt co xbt 이렇게 하면 xbt 의 모든 소스 코드 를 다운로드 할 수 있 습 니 다.그 중에서 유용 한 것 은 misc 와 XBT Tracker 디 렉 터 리 입 니 다.
실행 후,당신 은 xbt 이름 의 디 렉 터 리 를 얻 을 수 있 습 니 다.또 무엇 을 망 설 이 고 있 습 니까?cd 는 XBT Tracker 디 렉 터 리 에 들 어가 서 xbt 라 는 이름 을 새로 만 듭 니 다.tracker.conf 의 파일 형식 은 다음 과 같 습 니 다.데이터베이스 이름 호스트 주소 mysql 사용자 이름 mysql 암호 표 이름 접두사 다음 mysql 명령 행 도구 로 mysql 데이터베이스/usr/local/mysql/bin/mysql-hlocalhost-urot-p-P3306-S/tmp/mysql.3306.sock\#당신 의 mysql 설정 에 따라 여기 도 달라 집 니 다\#가장 간단 한 것:mysql-urot-p
그리고 database tracker 를 만 듭 니 다.\#이 곳 의 tracker 는 설정 파일 의 데이터베이스 이름 use tracker 로 바 꿉 니 다.\.xbt_tracker.sql;exit;
자,데이터 베 이 스 를 편리 하 게 끝 냈 습 니 다.다음은 tracker 를 하 겠 습 니 다.chmod 0755 Make.sh./make.sh.
다음 오류 가 발생 하면:In file included from.../misc/sql/database.h:13,from server.h:8,from connection.cpp:6:../misc/sql/sqlresult.h:16:25: mysql/mysql.h: No such file or directoryIn file included from ../misc/sql/database.h:13,from server.h:8,from connection.cpp:6:
이 동작 을 실행 하 십시오 cd../miscln-s/usr/local/mysql/include/mysql/mysql../XBT\\Tracker/./make.sh
밖으로 나 가지 않 으 면 집행 에 성공 할 것 이다.
그리고 현재 디 렉 터 리 에서 xbt 가 하나 더 나 오 는 것 을 발견 할 수 있 습 니 다.tracker 파일 이 맞습니다.이 파일 을 실행 합 니 다./xbttracker
이 오류 가 발생 하면:./xbttracker: error while loading shared libraries: libmysqlclient.so.12: cannot open shared object file: No such file or directory
이렇게 cd/usr/lib/ln-s/usr/local/mysql/lib/mysql/ibm ysqlclient.so.12 libmysqlclient.so.12cd-./xbttrackerok 이 성공 적 으로 실행 되 었 습 니 다.
위의 ln 명령 은 my sql 설정 경로 에 따라 스스로 수정 해 야 합 니 다.
당신 의 mysqluse tracker 에 다시 들 어가 기;SELECT * FROM xbt_tracker;비어 있 으 면;다음 sql 문 구 를 실행 합 니 다.
INSERT INTO xbt_config (name,value) VALUES ('announce_interval', '1800'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_connect', '1'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_announce', '1'); INSERT INTO xbt_config (name,value) VALUES ('anonymous_scrape', '1'); INSERT INTO xbt_config (name,value) VALUES ('auto_register', '1'); INSERT INTO xbt_config (name,value) VALUES ('clean_up_interval', '60'); INSERT INTO xbt_config (name,value) VALUES ('daemon', '1'); INSERT INTO xbt_config (name,value) VALUES ('debug', '0'); INSERT INTO xbt_config (name,value) VALUES ('gzip_announce', '1'); INSERT INTO xbt_config (name,value) VALUES ('gzip_debug', '1'); INSERT INTO xbt_config (name,value) VALUES ('gzip_scrape', '1'); INSERT INTO xbt_config (name,value) VALUES ('listen_check', '0'); INSERT INTO xbt_config (name,value) VALUES ('listen_ipa', '*'); INSERT INTO xbt_config (name,value) VALUES ('listen_port', '2710'); INSERT INTO xbt_config (name,value) VALUES ('log_access', '0'); INSERT INTO xbt_config (name,value) VALUES ('log_announce', '0'); INSERT INTO xbt_config (name,value) VALUES ('log_scrape', '0'); INSERT INTO xbt_config (name,value) VALUES ('pid_file', 'xbt_config.pid'); INSERT INTO xbt_config (name,value) VALUES ('read_config_interval', '300'); INSERT INTO xbt_config (name,value) VALUES ('read_db_interval', '60'); INSERT INTO xbt_config (name,value) VALUES ('redirect_url', ''); INSERT INTO xbt_config (name,value) VALUES ('scrape_interval', '0'); INSERT INTO xbt_config (name,value) VALUES ('table_announce_log', 'xbt_announce_log'); INSERT INTO xbt_config (name,value) VALUES ('table_files', 'xbt_files'); INSERT INTO xbt_config (name,value) VALUES ('table_files_updates', 'xbt_files_updates'); INSERT INTO xbt_config (name,value) VALUES ('table_files_users', 'xbt_files_users'); INSERT INTO xbt_config (name,value) VALUES ('table_ipas', 'xbt_ipas'); INSERT INTO xbt_config (name,value) VALUES ('table_scrape_log', 'xbt_scrape_log'); INSERT INTO xbt_config (name,value) VALUES ('table_users', 'xbt_users'); INSERT INTO xbt_config (name,value) VALUES ('update_files_method', '1'); INSERT INTO xbt_config (name,value) VALUES ('write_db_interval', '60');

–부분 매개 변수 설명 autoregister 가 자동 으로 등록 되 어 열 리 면 tracker 는 모든 torrent 를 추적 하고 닫 으 면 xbt 만 추적 합 니 다.files 표 에 있 는 insert into xbtfiles (info_hash, ctime) values (’‘, null); // insertupdate xbt_files set flags = 1 where info_hash = ‘‘; // delete
anonymous_announce anonymousannounce 가 열 리 면 tracker 는 모든 사용자 에 게 서 비 스 를 제공 합 니 다.닫 으 면 tracker 는 xbt 에 만 제공 합 니 다.users 의 사용자
torrent_pass 필드 는 xbtusers 표 의 내용 은 32 비트 길이 의 문자 announce URL 내용 입 니 다.이렇게 보 입 니 다:torrentpass: //announce
실행 후,tracker 설정 도 완료 되 었 습 니 다.
서 비 스 를 다시 시작 할 지 안 할 지 확실 하지 않 습 니 다 killall-TERM xbttracker./xbt_tracker
시작 하면 현재 디 렉 터 리 에 xbt 라 는 이름 을 만 듭 니 다.tracker.pid 파일,서버 가 멈 추 면 이 파일 도 사라 집 니 다.이 파일 을 통 해 스 크 립 트 를 작성 합 니 다.
#!/bin/bash
xbt_tracker_path=”/usr/local/xbt/XBT Tracker”file_name=”xbt_tracker.pid”
if [ ! -f “$xbt_tracker_path/$file_name” ]; then
echo “Not found pid file $xbt_tracker_path/$file_name”;echo “Starting xbt tracker server …”;“$xbt_tracker_path/xbt_tracker”;fi;
crontab 표 에 넣 어서 이 스 크 립 트 를 정기 적 으로 실행 합 니 다.tracker down 이 떨 어 진 상태 에서 자동 으로 시작 할 수 있 습 니 다.
over this.

좋은 웹페이지 즐겨찾기