Á¤¸» ¿¹Àü¿¡, °³¹ß 1µµ ¸ð¸£´ø ½ÃÀý(
ÇÑ 2017³âµµ ÁîÀ½...?
)
¿¡
¾î¶»°Ôµç Æ®·¡Ä¿ ¼¹ö¸¦ Çѹø ±¸ÃàÇØ º¸°í ½Í¾î¼
´©±º°¡°¡ php·Î ¸¸µç
Á¶ÀâÇÑ(?) Å䷻Ʈ Æ®·¡Ä¿ ¶óÀ̺귯¸®¸¦ °¡Áö°í »ðÁúÇÏ¸é¼ °á±¹ ±¸Ãà¿¡ ¼º°øÇß¾ú´Âµ¥¿ä,
¼º´Éµµ º°·Î ¾È³ª¿À°í ¿À·ÎÁö http ±â¹Ý Æ®·¡Ä¿¸¸ µ¿ÀÛÇß¾ú´ø°Ô ±â¾ïÀÌ ³ª³×¿ä...
Áö±ÝÀº °³¹ßÀÚ·Î ¹ä¹ú¾î¸Ô°í Àֱ⵵ ÇÏ°í, ³ª¸§ ¸¸µé ¼ö ÀÖ°Ú´Ù ½Í¾î¼
°¢Àâ°í Á¶±Ý¾¿ ½Ã°£ÅõÀÚ¸¦ ÇÑ °á°ú,
¹ö±× ¼öÁ¤, ºÎÇÏ Å×½ºÆ® µîÀ» °ÅÃļ ³ª¸§ ¾ÈÁ¤ÀûÀ¸·Î Àß µ¿ÀÛÇÏ´Â Å䷻Ʈ Æ®·¡Ä¿ ¼¹ö°¡ ¿Ï¼ºµÈ °Å °°¾Æ °øÀ¯ µå·Á º¾´Ï´Ù!
Á¦°¡ Á÷Á¢ ±¸ÇöÇغ» Æ®·¡Ä¿ ¼¹öÀÔ´Ï´Ù. (C# .Net Core 3.1 ·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù)
ÀÏ¹Ý BitTorrent(
https://www.bittorrent.com/ko
) ±â¹Ý Æ®·¡Ä¿ ÇÁ·ÎÅäÄÝ(
HTTP, UDP
),
À¥ºê¶ó¿ìÀú¿ë WebTorrent(
https://webtorrent.io
) ±â¹Ý Æ®·¡Ä¿ ÇÁ·ÎÅäÄÝ(
Websocket
)
¸ðµÎ Áö¿øÇÕ´Ï´Ù.
¾Æ·¡´Â ±êÇé ¼Ò½ºÄÚµå ¸µÅ© ÀÔ´Ï´Ù. (C#ÀÌ °¡´ÉÇϽŠ°³¹ßÀںеéÀº ¾ó¸¶µçÁö ¼öÁ¤Çϼż »ç¿ëÇϼŵµ µË´Ï´Ù)
https://github.com/uploaderaruku/Hybrid_TorrentTracker-ServerApplication
³ª¸§ ºÎÇÏÅ×½ºÆ®µµ ´Ù °ÅÃÆ°í, ¹ö±×µîµµ ¾î´ÀÁ¤µµ ¼öÁ¤µÈ »óȲÀÔ´Ï´Ù.
¸Þ¸ð¸® ´©¼ö¹®Á¦³ª µµÁß¿¡ ²¨Áö°Å³ª ÇÏ´Â ¹®Á¦ ¾øÀÌ
Àß µ¿ÀÛÇϴ°ÍÀ» È®ÀÎÇÏ¿´½À´Ï´Ù.
(Windows10, Linux Ubuntu 20.04 ¿¡¼ µ¿ÀÛ È®ÀÎ)
Ȥ½Ã³ª Å䷻Ʈ Æ®·¡Ä¿ ¼¹ö ±¸Ãà¿¡ °ü½É ÀÖÀ¸½Å ºÐµéÀº Âü°íÇØÁֽøé ÁÁÀ»°Å °°¾Æ¿ä.
º°µµÀÇ DB (Mysql, MariaDBµîÀÇ ¿ÜºÎ DB) ´Â »ç¿ëÇÏÁö ¾Ê°í, ¿À·ÎÁö ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸® »ó¿¡
¸ðµç Å䷻ƮÀÇ Á¤º¸¸¦ ÀúÀåÇϹǷÎ, º°µµÀÇ DB¼³Á¤ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
5¸¸°³ Å䷻Ʈ ÆÄÀϱâÁØ, ¸Þ¸ð¸®(Ram) »ç¿ë·® 400~500MBÁ¤µµ ¸Ô´Â°Å °°½À´Ï´Ù.
¹Ù·Î ½ÇÇàÇغ¸°í ½ÍÀ¸½Å ºÐµéÀº ¾Æ·¡ ¸µÅ©·Î µé¾î°¡¼Å¼ Assets¿¡ ½ÇÇàÆÄÀÏ ¹ÞÀ¸½Ã¸é µË´Ï´Ù. (windows, linux¿ë)
https://github.com/uploaderaruku/Hybrid_TorrentTracker-ServerApplication/releases/tag/release-1.0.5
À©µµ¿ì¶ó¸é ±×³É
Torrent.Tracker.Server.exe ¹ÞÀ¸¼Å¼ ½ÇÇàÇÏ½Ã¸é ²ý,
¸®´ª½º¶ó¸é
Torrent.Tracker.Server_linux_x64, startTorrentTrackerServer_linux.sh ÀÌ°Å µÎ°³ ¹ÞÀ¸½Ã°í³ª¼
ÇØ´ç °æ·Î¿¡¼
' sudo sh startTorrentTrackerServer_linux.sh start '
¶ó´Â ¸í·É¾î¸¦ ½ÇÇàÇϰųª
¶Ç´Â Torrent.Tracker.Server_linux_x64 À̰͸¸ ¹ÞÀ¸¼Å¼
' sudo chmod +x Torrent.Tracker.Server_linux_x64 && sudo ./Torrent.Tracker.Server_linux_x64 '
¶ó´Â ¸í·É¾î¸¦ ½ÇÇàÇÏ½Ã¸é ½ÇÇàµË´Ï´Ù.
Æ®·¡Ä¿ ¼¹ö ±âº» ¹ÙÀεù Æ÷Æ®´Â
default bind http(tcp) port = 5000,
default bind udp port = 8081,
default bind websocket(tcp) port = 8081
À¸·Î ¼³Á¤µÇ¾îÀÖ°í,
ÀÏ´Ü Æ®·¡Ä¿ ¼¹ö¸¦ Çѹø ½ÇÇàÇϸé serverConfig.json ¶ó´Â ¼³Á¤ÆÄÀÏÀÌ »ý±â´Âµ¥,
ÀÌ ¼³Á¤ÆÄÀÏÀ» ÅëÇØ Æ÷Æ®¹øÈ£¸¦ º¯°æÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù.
{
"Tracker_Server_WorkerThreadCount": 0, //±¼¸± ½º·¹µå ¼ö (0À̶ó¸é ±âº»°ª, cpu core¼ö x 2)
"Web_And_Http_Tracker_Listen_PORT_NUM": 5000, //À¥¼¹ö ¹× HTTP±â¹Ý Æ®·¡Ä¿¼¹ö PORT
"UDP_Tracker_Listen_PORT_NUM": 8081, //UDP±â¹Ý Æ®·¡Ä¿¼¹ö PORT
"Websocket_Tracker_Listen_PORT_NUM": 8081, //Websocket±â¹Ý Æ®·¡Ä¿¼¹ö PORT
"Tracker_MaxNumWant": 100, //ÃÖ´ë ÇÇ¾î ¿äû¼ö
"Tracker_Interval": 180, //Æ®·¡Ä¿ ¿äû °£°Ý (ÃÊ). ÀÌ ¼öÄ¡°¡ ³·À»¼ö·Ï ´õ ÀÚÁÖ ÆÐŶÀÌ ¿Ô´Ù°¬´ÙÇϹǷΠ¼¹ö ºÎÇÏ »ó½Â
"WebTracker_Interval": 60, //À¥Æ®·¡Ä¿ ¿äû °£°Ý (ÃÊ). ÀÌ ¼öÄ¡°¡ ³·À»¼ö·Ï ´õ ÀÚÁÖ ÆÐŶÀÌ ¿Ô´Ù°¬´ÙÇϹǷΠ¼¹ö ºÎÇÏ »ó½Â
"WebTracker_Min_Interval": 30, //À¥Æ®·¡Ä¿ ÃÖ¼Ò ¿äû °£°Ý (ÃÊ).
"TelegramBot_Enable": false, //¼¹ö »óŸ¦ ÁÖ±âÀûÀ¸·Î º¸°íÇÏ´Â ÅÚ·¹±×·¥ º¿ È°¿ë¿©ºÎ
"TelegramBot_API_Key": "", //ÅÚ·¹±×·¥º¿ API Å° (bot Æ÷ÇÔµÈ ¹®ÀÚ¿)
"TelegramBot_TargetChatID": "", //ÅÚ·¹±×·¥º¿ÀÇ ¸Þ½ÃÁö¸¦ ¹ÞÀ» äÆùæ ID
"TelegramBot_disable_web_page_preview": true //true·Î °íÁ¤
}
±âº»¼³Á¤±âÁØ
¼¹ö ½ÇÇàÇϽðí, Å䷻Ʈ Ŭ¶óÀ̾ðÆ®(uTorrent, Transmissionµî)¿¡ ¾Æ·¡¿Í °°Àº ÇüÅÂÀÇ ÁÖ¼Ò¸¦ Ãß°¡ÇÏ½Ã¸é µË´Ï´Ù.
´Ü, ¿ÜºÎ¿¡¼µµ Á¢¼ÓÇÒ °æ¿ì, localhostºÎºÐÀº ÀûÀýÈ÷ ¿ÜºÎ µµ¸ÞÀÎ ÁÖ¼Ò·Î º¯°æÇÏ½Ç ÇÊ¿ä°¡ ÀÖ°í
portºÎºÐµµ °øÀ¯±â¸¦ »ç¿ëÇϽŴٸé ÀûÀýÇÑ Æ÷Æ®Æ÷¿öµù ¼³Á¤ÀÌ ÇÊ¿äÇÕ´Ï´Ù.
http://localhost:5000/announce
udp://localhost:8081/announce
ws://localhost:8081/ws/announce
¡¡
¡¡
Æ®·¡Ä¿ ¼¹ö °ü·Ã °£´ÜÇÑ Åë°èÁ¤º¸¸¦ º¼ ¼ö ÀÖ´Â Statistics Page ¸µÅ© ÁÖ¼ÒÀÔ´Ï´Ù.
http://localhost:5000/stats
À§¿Í °°Àº ÇüÅÂÀÇ Á¤º¸¸¦ È®ÀÎ ÇÒ¼ö ÀÖ½À´Ï´Ù.
³ª¸§ ¸ÖƼ½º·¹µåµµ Áö¿øÇÏ°í cpuÄھ ´Ù °¥±¼¼ö ÀÖ°Ô ¸¸µé¾îÁø, °í¼º´É(?) ÁöÇâ Æ®·¡Ä¿ ¼¹öÀ̹ǷÎ
¹º°¡ ±âÁ¸¿¡ ¿î¿µÇϽôø Æ®·¡Ä¿ ¼¹ö°¡ ´À¸®´Ù°Å³ª ÇϽô ºÐµéÀº À¯¿ëÇÒ¼öµµ ÀÖÀ»°Å °°³×¿ä