

GitHub - HDInnovations/UNIT3D: The Nex-Gen Private Torrent Tracker (Aimed For Mo...
source link: https://github.com/HDInnovations/UNIT3D
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
A Special Thanks To All Our Contributors
Table of Contents
- Introduction
- Some Features
- Requirements
- Installation
- Packages
- Security
- Contributing
- License
- Screenshots
- Homestead (For local developement)
- Patreon
Introduction
I have been developing a Nex-Gen Torrent Tracker Script called "UNIT3D." This is a PHP script based off the lovely Laravel Framework -- currently Laravel Framework 5.6.24, MySQL Strict Mode Compliant and PHP 7.1 Ready. The code is well-designed and follows the PSR-2 coding style. It uses a MVC Architecture to ensure clarity between logic and presentation. As a hashing algorithm of Bcrypt or Argon2 is used, to ensure a safe and proper way to store the passwords for the users. A lightweight Blade Templating Engine. Caching System Supporting: "apc,” "array,” "database,” "file," "memcached," and "redis" methods. Eloquent and much more!
Some Features
UNIT3D currently offers the following features:
- Internal Forums System
- Staff Dashboard
- Faceted Ajax Torrent Search System
- BON Store
- Torrent Request Section with BON Bounties
- Freeleech System
- Double Upload System
- Featured Torrents System
- Polls System
- Extra-Stats
- PM System
- Multilingual Support
- TwoStep Auth System
- DB + Files Backup Manager
- and MUCH MORE!
Requirements
- A Web server (NGINX is recommended)
- PHP 7.1.3 + is required (7.2 for Argon2 Support)
- Dependencies for PHP,
- php-curl -> This is specifically needed for the various APIs we have running.
- php-zip -> This is required for the Backup Manager.
- Crontab access
- A Redis server
- MySQL 5.7
- TheMovieDB API Key: https://www.themoviedb.org/documentation/api
- TheTVDB API Key: https://api.thetvdb.com/swagger
- OMDB API Key: http://www.omdbapi.com/
- A decent dedicated server. Dont try running this on some crappy server!
Processor: Intel Xeon E3-1245v2 - Cores/Threads: 4c/8t Frequency: 3.4GHz /3.8GHz RAM: 32GB DDR3 1333 MHz Disks: SoftRaid 2x240 GB SSD Bandwidth: 250 Mbps Traffic: Unlimited Is Under $50 A Month
Installation
Prerequisites Example:
-
Install OS
Ubuntu Server 17.10 "Artful Aardvark" (64bits)
or
Ubuntu Server 16.04.4 LTS "Xenial Xerus" (64bits)
-
Repositories
sudo add-apt-repository -y ppa:nginx/development sudo add-apt-repository -y ppa:ondrej/php sudo apt-get update
-
Required Software
Tools
sudo apt-get install -y git tmux vim curl wget zip unzip htop nano build-essential
Supervisor
sudo apt-get install supervisor
Redis
sudo apt-get install redis-server
Nginx
sudo apt-get install -y nginx
PHP
sudo apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml php7.2-fpm
NodeJS and NPM
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
Laravel Echo Server (for socket.io and broadcasting)
sudo npm install -g laravel-echo-server
-
Configure PHP
sudo nano /etc/php/7.2/fpm/php.ini
FIND
;cgi.fix_pathinfo=1
REPLACE WITH
cgi.fix_pathinfo=0
Save and close
Now restart php-fpm
sudo systemctl restart php7.2-fpm
-
Install MySQL
sudo apt-get install mysql-server
mysql_secure_installation
-
Configure Nginx
sudo nano /etc/nginx/sites-available/default
server { listen 80 default_server; root /var/www/html/public; index index.html index.htm index.php; server_name example.com; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; } }
Save and close.
Now restart nginx
sudo systemctl reload nginx
-
Secure Nginx with Let's Encrypt
Note: If you are using
ufw
or any other firewall you will need toallow
port6001
for the next step.With
ufw
you can do this simply by running:sudo ufw allow 6001
-
Initialize Laravel Echo Server
Run:
laravel-echo-server init
The cli tool will help you setup a laravel-echo-server.json file in the root directory of your project.
This file will be loaded by the server during start up. You may edit this file later on to manage the configuration of your server.
? Do you want to run this server in development mode?
=No
(Yes for debug or developement)? Which port would you like to serve from?
=6001
? Which database would you like to use to store presence channel members?
=redis
? Enter the host of your Laravel authentication server.
=http://your-domain.tld
? Will you be serving on http or https?
=http
orhttps
? Do you want to generate a client ID/Key for HTTP API?
=Yes
? Do you want to setup cross domain access to the API?
=No
You should see something like the following
appId: 73e82e6e1122cb58 key: 95eacbe008a722b247653afba0247c44 Configuration file saved. Run laravel-echo-server start to run server.
Note: DO NOT Run the start command !!!
The server should start automatically after loaded into Supervisor in the next section.
Note: If you are using SSL (HTTPS), you will want to make sure that the certificate files are readable by the user running the echo server.
For example if you are using
LetsEncrypt
for SSL, you may need to run a command like:sudo chown www-data /etc/letsencrypt -R
-
Configure Supervisor
sudo nano /etc/supervisor/conf.d/unit3d.conf
Example:
[program:unit3d-queue] process_name=%(program_name)s_%(process_num)02d command=php /var/www/html/artisan queue:work --sleep=3 --tries=3 autostart=true autorestart=true user=www-data numprocs=2 [program:unit3d-socket-io] process_name=%(program_name)s_%(process_num)02d command=/usr/bin/node /usr/bin/laravel-echo-server start --dir=/var/www/html autostart=true autorestart=true user=www-data numprocs=1
Notes:
command=php /var/www/html ...
change this to the absolute path to the root of your site files where theartisan
file resides.user=www-data
you will probably want to change to something like your web server be itapache
orwww-data
--dir=/var/www/html
change this to the absolute path to the root of your site filesOnce this is done, save and close!
Next lets load new config and start the process.
Run:
sudo supervisorctl reread && supervisorctl update
Make sure there running and all is good!
Run:
sudo supervisorctl
If you see something like following your good to go!
unit3d-queue:unit3d-queue_00 RUNNING pid 12838, uptime 0:00:10 unit3d-queue:unit3d-queue_01 RUNNING pid 12833, uptime 0:00:10 unit3d-socket-io:unit3d-socket-io_00 BACKOFF Exited too quickly (process log may have details) unit3d-socket-io:unit3d-socket-io_01 RUNNING pid 12828, uptime 0:00:10
Note: type
exit
at the prompt to exit supervisorctl
Main:
-
First grab the source-code and upload it to your web server. (If you have Git on your web server installed then clone it directly on your web server.)
-
Open a terminal and SSH into your server.
-
cd to the sites root directory
-
Run
sudo chown -R www-data: storage bootstrap public config && sudo find . -type d -exec chmod 0755 '{}' + -or -type f -exec chmod 0644 '{}' +
- Run
php -r "readfile('http://getcomposer.org/installer');" | sudo php -- --install-dir=/usr/bin/ --filename=composer
-
Rename
.env.example
to.env
and fill it with your APP, DB, REDIS and MAIL info. -
Run
composer install && composer require predis/predis && npm install && npm install --save-dev socket.io-client && npm run dev
-
Edit
config/api-keys.php
,config/app.php
andconfig/other.php
(These house some basic settings. Be sure to visit the config manager from staff dashboard after up and running.) -
Add
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
to crontab./path/to/artisan
becomes whatever directory you put the codebase on your server. Example* * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1
-
Run
php artisan key:generate
- Run
php artisan migrate --seed
- Run
sudo chown -R www-data: storage bootstrap public config
-
Go to your sites URL.
-
Login with the username
UNIT3D
and the passwordUNIT3D
. Note: whatever you set in the.env
if changed from defaults. -
Enjoy using UNIT3D.
Note:
If you recieve a error during npm install
regarding [email protected]
OR an error similar to ... binary doesn't seem to work correctly
please run the following command
wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb && sudo dpkg -i /tmp/libpng12.deb && rm /tmp/libpng12.deb && npm install && npm run dev
then try npm install
again.
Packages
Here are some packages that are built for UNIT3D.
- An artisan package to import a XBTIT database into UNIT3D.
- An artisan package to import a Gazelle database into UNIT3D.
- An artisan package to import a U-232 database into UNIT3D.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
License
UNIT3D is open-sourced software licensed under the GNU General Public License v3.0.
As per license do not remove the license from sourcecode or from footer in /resources/views/partials/footer.blade.php
Screenshots
User Profile (Galactic Theme)
User Profile (Light Theme)
Homestead (for local developement)
Example Homestead.yaml
folders: - map: ~/projects to: /home/vagrant/projects sites: ... - map: unit3d.site to: /home/vagrant/projects/www/unit3d/public databases: - homestead - unit3d
Example /etc/hosts
127.0.0.1 localhost
127.0.1.1 3rdtech-gnome
...
192.168.10.10 unit3d.site
- run
cd ~/Homestead && vagrant up --provision
- run
vagrant ssh
- cd to the unit3d project root directory
- copy
.env.example
to.env
- run
php artisan key:generate
- run
composer install
- run
npm install && npm run dev
- run
php artisan migrate:refresh --seed
- visit unit3d.site
- Login u:
UNIT3D
p:UNIT3D
Support me on patreon
You can support me on patreon if you are enjoying UNIT3D, this really keeps me up for fixing problems and adding new features. Also helps pay for the demo server + domain. Plus some beer to keep me sane.
Recommend
-
97
-
43
2003年,一群新西兰的爱好者以区区800美元拍摄了一部基于《黑客帝国》的真人短片《TheFanimatrix:RunProgram》。当时还不存在类似今天的流视频网站,因此制作完成之后如何发行成了一大挑战。他们把视频容量减少到150MB之后带宽对他们而言仍然过于昂贵。负责IT
-
47
README.md Rats on The Boat - BitTorrent search engine
-
37
README.MD GMDB
-
26
RapidBay Rapid bay is a self hosted video service/torrent client that makes playing videos from torrents as easy as: Opening the webapp on a phone/laptop/tablet. Searching for content....
-
25
README.md
-
15
README.md torrent-client
-
17
-
10
初级:如何通过 Torrent 下载 Ubuntu | Linux 中国如果你也困扰于受限数据或网络连接过慢,使用下载管理器或 torrent 将是一个更好的选择。来源:
-
13
July 11, 2022 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK