All Projects → w0bm → w0bm.com

w0bm / w0bm.com

Licence: other
Moved to https://git.lat/w0bm/w0bm/

Programming Languages

PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to w0bm.com

community
This is the main CHAOSS community repository. Feel free to open an issue to discuss a topic of community interest! This repository also holds governance, mentorship, and other community-related documentation
Stars: ✭ 57 (+111.11%)
Mutual labels:  community
conference-diversity-and-inclusion
Diversity and Inclusion Guidelines for Conferences
Stars: ✭ 14 (-48.15%)
Mutual labels:  community
frontend.ro
Open-source tutorials and a community of developers which will help you get better.
Stars: ✭ 41 (+51.85%)
Mutual labels:  community
Code-of-conduct
Code de conduite de la communauté francophone de JavaScript (ECMAScript) et Node.js
Stars: ✭ 65 (+140.74%)
Mutual labels:  community
TopicFriends
TopicFriends. Connects people based on shared actionable interests and locations.
Stars: ✭ 30 (+11.11%)
Mutual labels:  community
virtualcoffee.io
Public site for Virtual Coffee
Stars: ✭ 112 (+314.81%)
Mutual labels:  community
fbvideos
🔗 Easily extract downloadable link of publicly available videos on facebook.
Stars: ✭ 28 (+3.7%)
Mutual labels:  videos
dmod
🌎 Innovating the Moderation industry. Moderator and Community Owner tools, resources, and improved accessibility.
Stars: ✭ 47 (+74.07%)
Mutual labels:  community
it52-rails
Сайт нижегородского IT-сообщества
Stars: ✭ 17 (-37.04%)
Mutual labels:  community
Community-Governance
The IOTA community creates a governance structure for the community treasury.
Stars: ✭ 36 (+33.33%)
Mutual labels:  community
gothanks
GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself.
Stars: ✭ 111 (+311.11%)
Mutual labels:  community
hackbunch
Hacktoberfest tracker for your community.
Stars: ✭ 11 (-59.26%)
Mutual labels:  community
launchpad
Resources to get started in Quantum Computing!
Stars: ✭ 21 (-22.22%)
Mutual labels:  community
Community-Programming-Book
Community written book on Programming Languages
Stars: ✭ 31 (+14.81%)
Mutual labels:  community
Cider
A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind. 🚀
Stars: ✭ 3,146 (+11551.85%)
Mutual labels:  community
isamuni
An information aggregator for Facebook groups
Stars: ✭ 14 (-48.15%)
Mutual labels:  community
Open-Translating
区块链技术指北(ChainONE)社区开源内容翻译计划。
Stars: ✭ 18 (-33.33%)
Mutual labels:  community
radiocom-flutter
This is an Flutter application for Community Media Stations.
Stars: ✭ 54 (+100%)
Mutual labels:  community
go2tv
Cast media files to UPnP/DLNA Media Renderers and Smart TVs.
Stars: ✭ 99 (+266.67%)
Mutual labels:  videos
meetup-presentations brisbane
R-Ladies Brisbane Chapter repository of presentations and host toolkit.
Stars: ✭ 16 (-40.74%)
Mutual labels:  community

This project is discontinued on GitHub

w0bm.com

w0bm

IRC Chat License

w0bm.com is a fun modern website featuring many different kind of videos in webm format. It was initially thought as a z0r.de without flash, but already surpassed that in our opinion.

The page is build on top of the Laravel Framework.

Contents

  1. Dependencies
  2. Installation

Dependencies

Our prefered distribution is Arch Linux, so all of the commands will be for Arch Linux and can be modified for the distro of your choice, the names of the packages may be different.

sudo pacman -S php php-fpm composer mariadb nginx ffmpeg imagemagick npm

w0bm requires at least PHP 7.1 to work!

Preparation

This includes recommended settings for w0bm to work!

Database

Before you can get started you need to set up mariadb, nginx and php.

Set up mariadb (assuming you don't already have a database running)

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

After that you can start the database server, you can also directly enable the service so it starts automatically if your system needs a reboot for exmaple.

sudo systemctl start mysqld

sudo systemctl enable mysqld

Now you can log into your freshly installed database, the user root doesn't have a password, so just issue the command below and hit enter when it asks you for a password.

mysql -u root -p

Now create the actual database and the user for it

CREATE DATABASE w0bm;
GRANT ALL ON w0bm.* TO w0bm@localhost IDENTIFIED BY 'w0bm';

PHP/PHP-FPM

Open the php config file

sudo nvim /etc/php/php.ini

and edit the following settings

post_max_size = 500M
upload_max_filesize = 100M
extension=pdo_mysql.so

Then edit the php-fpm config file

sudo nvim /etc/php/php-fpm.d/www.conf

Change the default user/group to the user who owns the w0bm directory, we run w0bm as w0bm.

user = w0bm
group = w0bm

Next set up php-fpm to use a unix sock.

listen = /run/php-fpm/php-fpm.sock
listen.owner = w0bm
listen.group = w0bm

sudo systemctl start php-fpm

sudo systemctl enable php-fpm

NGINX

First you have to create a config file in /etc/nginx/conf.d/

sudo nvim /etc/nginx/conf.d/w0bm.conf

This config is for the use with a reverse proxy intended.

#w0bm.com Configuration
server {
    listen 80;
    listen [::]:80;
    server_name w0bm.com www.w0bm.com v4.w0bm.com;
    include letsencrypt.conf;
    large_client_header_buffers 4 32k;
    return 301 https://w0bm.com$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name w0bm.com www.w0bm.com v4.w0bm.com;
    access_log /var/log/nginx/w0bm/w0bm-access.log;
    root /home/w0bm/w0bm.com/public;
    error_log /var/log/nginx_w0bm_error.log;
    index index.php;
    client_max_body_size 500M;
    gzip on;
    ssl on;
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;
    ssl_session_timeout 1d;
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
    ssl_stapling on;
    ssl_stapling_verify on;
    large_client_header_buffers 4 32k;
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi.conf;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
        #fastcgi_param GEOIP_ADDR $remote_addr;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
    }
    location ~* \.(?:css|js)$ {
        gzip on;
        expires 1y;
        add_header Cache-Control "public";
    }
    location ~* \.(?:jpg|jpeg|gif|png|ico|svg)$ {
        expires 1M;
        access_log off;
        add_header Cache-Control "public";
    }
    location / {
        if ($http_user_agent ~* 'MSIE ([1-9]|10)\.') {
            return 302 https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support;
        }
        try_files $uri $uri/ /index.php?$args;
    }
}

#CDN Configuration
server {
    listen 80;
    listen [::]:80;
    server_name b.w0bm.com v4.b.w0bm.com;
    return 301 https://$server_name$request_uri;
    large_client_header_buffers 4 32k;
    return 301 https://b.w0bm.com$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name b.w0bm.com;
    access_log /var/log/nginxw0bm/cdn-access.log;
    error_log /var/log/nginx/w0bm/cdn-error.log;
    root /home/w0bm/w0bm.com/public/b;
    ssl on;
    ssl_certificate /path/to/your/cert.pem;
    ssl_certificate_key /path/to/your/key.pem;
    large_client_header_buffers 4 32k;
}

Installation

git clone https://github.com/w0bm/w0bm.com.git

cd w0bm.com

./composer.phar dump-autoload

./composer.phar install --no-scripts

(make sure you have enough RAM for the installation, otherwise use swap)

touch .env

php artisan key:generate

nvim .env

APP_KEY=
APP_ENV=production
APP_DEBUG=false

DB_HOST=localhost
DB_DATABASE=w0bm
DB_USERNAME=w0bm
DB_PASSWORD=w0bm

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

RECAPTCHA_PUBLIC=
RECAPTCHA_PRIVATE=

mkdir public/b

cd public/b

Now put some random webm in the folder and name it 1.webm

Modify database/seeds/DatabaseSeeder.php and uncomment all the different seeders. (Initially you'll need all)

Run php artisan migrate and then php artisan db:seed

Run php artisan tags to initially tag all videos

Start the development server with php artisan serve

Check your website at http://localhost:8000/1

Log in with Username=admin and Password=password

To transpile and minify your modified w0bmscript.js you need to have this projects dependencies installed (dependencies installable with npm i). Then run npm run build.

Contributing

Make your changes, test them locally (PLEASE!!! preferable write some unit tests aswell) and make a pull request.

Folder structure:

  • Models: app/Models/
  • Routes: app/Http/routes.php
  • Controllers: app/Http/Controllers
  • Views: resources/views
  • JS and CSS: public/{css,js}
  • Database: database/migrations

License

The Laravel framework is open-sourced software licensed under the MIT license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].