GithubHelp home page GithubHelp logo

insiderpreview / unit3d Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hdinnovations/unit3d-community-edition

0.0 1.0 0.0 15.71 MB

:rocket: The Nex-Gen Private Torrent Tracker

Home Page: https://unit3d.org

License: GNU Affero General Public License v3.0

PHP 63.75% Shell 0.02% CSS 1.38% JavaScript 6.66% HTML 28.19%

unit3d's Introduction

UNIT3D Logo

A Special Thanks To All Our Contributors


Discord chat

Table of Contents

  1. Introduction
  2. Some Features
  3. Requirements
  4. Installation
  5. Packages
  6. Security
  7. Contributing
  8. License
  9. Screenshots
  10. Homestead
  11. Patreon

Introduction

For the last year, 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.3, 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 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:

  1. Install OS

    Ubuntu Server 17.10 "Artful Aardvark" (64bits)

    or

    Ubuntu Server 16.04.4 LTS "Xenial Xerus" (64bits)

  2. Install MySQL:

    sudo apt-get install mysql-server

    mysql_secure_installation

  3. Get repositories for the latest software:

    sudo add-apt-repository -y ppa:nginx/development

    sudo add-apt-repository -y ppa:ondrej/php

    sudo apt-get update

  4. Then we'll install the needed software (Basics/NGINX/PHP):

    #Basics sudo apt-get install -y git tmux vim curl wget zip unzip htop

    #Nginx sudo apt-get install -y nginx

    #PHP 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

  5. 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

    sudo systemctl restart php7.2-fpm

  6. 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.

    sudo systemctl reload nginx

  7. Secure Nginx with Let's Encrypt

    https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

Main:

  1. 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.)
  2. Open a terminal and SSH into your server.
  3. cd to the sites root directory
  4. run php -r "readfile('http://getcomposer.org/installer');" | sudo php -- --install-dir=/usr/bin/ --filename=composer
  5. Edit your .env file with your APP, DB, REDIS and MAIL info.
  6. Run php artisan key:generate to generate your cipher key.
  7. Edit config/api-keys.php, config/app.php and config/other.php (These house some basic settings. Be sure to visit the config manager from staff dashboard after up and running.)
  8. Run php artisan migrate --seed (Migrates All Tables And Foreign Keys)
  9. 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. Like * * * * * php /var/www/html/artisan schedule:run >> /dev/null 2>&1 .
  10. Suggest that you run php artisan route:cache. (Keep in mind you will have to re-run it anytime changes are made to the routes/web.php but it is beneficial with page load times).
  11. sudo chown -R www-data: storage bootstrap public config
  12. Go to your sites URL.
  13. Login with the username UNIT3D and the password UNIT3D. (Or whatever you set in the .env if changed from defaults.) (This is the default owner account.)
  14. Enjoy using UNIT3D.

Packages

Here are some packages that are built for 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 Page User Profile (Light Theme) User Profile Page

Homestead

Install and Setup Homestead

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

  1. run cd ~/Homestead && vagrant up --provision
  2. run vagrant ssh
  3. cd to the unit3d project root directory
  4. copy .env.example to .env
  5. run php artisan key:generate
  6. run composer install
  7. run npm install
  8. run php artisan migrate:refresh --seed
  9. visit unit3d.site
  10. 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.

unit3d's People

Contributors

hdvinnie avatar veriopl avatar yinghuodt007 avatar poppabear8883 avatar drytak avatar laravel-shift avatar kaedroscl avatar scroogehd117 avatar barisyildizz avatar tomarrow avatar cbj4074 avatar mrg01 avatar georgee avatar codacy-badger avatar czingenberg avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.