This is a setup for a Tor based shared web hosting server

Overview

General Information:

This is a setup for a Tor based shared hosting server. It is provided as is and before putting it into production you should make changes according to your needs. This is a work in progress and you should carefully check the commit history for changes before updating.

Installation Instructions:

The configuration was tested with a standard Debian buster and Ubuntu 18.04 LTS installation. It's recommended you install Debian buster (or newer) on your server, but with a little tweaking you may also get this working on other distributions and/or versions. If you want to build it on a raspberry pi, please do not use the raspbian images as several things will break. Download an image for your pi model from https://raspi.debian.net/daily-images/ instead.

Uninstall packages that may interfere with this setup:

DEBIAN_FRONTEND=noninteractive apt-get purge -y apache2* dnsmasq* eatmydata exim4* imagemagick-6-common mysql-client* mysql-server* nginx* libnginx-mod* php7* resolvconf && systemctl disable systemd-resolved.service && systemctl stop systemd-resolved.service

If you have problems resolving hostnames after this step, temporarily switch to a public nameserver like 1.1.1.1 (from CloudFlare) or 8.8.8.8 (from Google)

rm /etc/resolv.conf && echo "nameserver 1.1.1.1" > /etc/resolv.conf

Install custom optimized binaries

./install_binaries.sh

To get the latest mariadb version, you should follow these instructions to add the official repository for your distribution: (https://downloads.mariadb.org/mariadb/repositories/)

Add torproject to our repositories:

curl --socks5-hostname 127.0.0.1:9050 -sSL http://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc > /etc/apt/trusted.gpg.d/torproject.asc
echo "deb tor://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/torproject.org/ `lsb_release -cs` main" >> /etc/apt/sources.list
apt-get update && apt-get upgrade

Note that debian also has an onion service package archive, so you may want to edit /etc/apt/sources.list to load from there instead:

deb tor://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian `lsb_release -cs` main

Create encryption keys for mariadb

mkdir -p /etc/mysql/encryption/
echo "1;"$(openssl rand -hex 32) > /etc/mysql/encryption/keyfile
openssl rand -hex 128 > /etc/mysql/encryption/keyfile.key
openssl enc -aes-256-cbc -md sha1 -pass file:/etc/mysql/encryption/keyfile.key -in /etc/mysql/encryption/keyfile -out /etc/mysql/encryption/keyfile.enc
rm /etc/mysql/encryption/keyfile

Copy (and modify according to your needs) the site files in var/www to /var/www, usr/local to /usr/local and the configuration files in etc to /etc after installation has finished. Then restart some services:

systemctl daemon-reload && systemctl restart bind9.service && systemctl restart [email protected]

Now there should be an onion domain in /var/lib/tor/hidden_service/hostname:

cat /var/lib/tor/hidden_service/hostname

Replace the default domain with your domain in the following files:

/etc/postfix/sql/alias.cf
/etc/postfix/sender_login_maps
/etc/postfix/main.cf
/var/www/skel/www/index.hosting.html
/var/www/common.php
/etc/postfix/canonical
/etc/postfix-clearnet/canonical

In /etc/postfix(-clearnet)/canonical don't change the line that has hosting.danwin1210.me in it. It is a clearnet/tor address rewriting rule, and if you have your own clearnet domain, you should copy this and modify your copy to preserve sending mail to my host via tor and not via clearnet.

This setup has two postfix instances, one for receiving and sending mail to other .onion services and one for rewriting addresses to pass them on to a clearnet facing mail relay. You may or may not want to create the second instance by running

postmulti -e init
postmulti -I postfix-clearnet -e create
postmulti -i clearnet -e enable
postmulti -i clearnet -p start

If you created an instance, uncomment the clearnet relay related config in etc/postfix/main.cf and make sure to copy and modify the configuration files from etc/postfix-clearnet too

If you encountered the following issue: postfix: fatal: chdir(/var/spool/postfix-clearnet): No such file or directory you can just copy the chroot from the default postfix instance like this cd /var/spool/ && cp -a postfix/ postfix-clearnet/

After copying (and modifying) the posfix configuration, you need to create databases out of the mapping files (also each time you update those files):

postalias /etc/aliases
postmap /etc/postfix/canonical /etc/postfix/sender_login_maps /etc/postfix/transport
postmap /etc/postfix-clearnet/canonical /etc/postfix-clearnet/sasl_password /etc/postfix-clearnet/transport #only if you have a second instance

To save temporary files in memory, add the following to /etc/fstab:

tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/log/nginx tmpfs rw,user,noatime 0 0

To harden the system and hide pids from non-root users, also add the following:

proc /proc proc defaults,hidepid=2 0 0

As time syncronisation is important, you should configure ntp servers in /etc/systemd/timesyncd.conf and make them match with the entries in /etc/rc.local iptables configuration

Enable the PHP-FPM default instances and nginx:

systemctl enable php7.4-fpm@default
systemctl enable php8.0-fpm@default
systemctl enable nginx

Edit /etc/fstab and add the noatime,usrjquota=aquota.user,jqfmt=vfsv1 option to the /home mountpoint and noatimeto /. Then initialize quota:

mount -o remount /home
quotacheck -cMu /home
quotaon /home

Install sodium_compat for v3 hidden_service support

cd /var/www && composer install

For web base database administration, check out the latest phpmyadmin and adminer:

cd /var/www/html/ && git clone -b STABLE https://github.com/phpmyadmin/phpmyadmin/ && cd phpmyadmin && composer install --no-dev && yarn
cd /var/www/html/ && git clone https://github.com/vrana/adminer/ && cd adminer && git submodule update --init

Once installed create a mysql user for phpmyadmin and cofigure it in /var/www/html/phpmyadmin/config.inc.php and fill $cfg['blowfish_secret'] with random characters:

mysql
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'MY_PASSWORD';
CREATE DATABASE phpmyadmin;
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'%';
FLUSH PRIVILEGES;
quit
mysql phpmyadmin < /var/www/html/phpmyadmin/sql/create_tables.sql

For web based mail management grab the latest squirrelmail and install it in /var/www/html/squirrelmail:

cd /var/www/html/ && git clone https://github.com/RealityRipple/squirrelmail && cd squirrelmail && mkdir -p /var/www/data/squirrelmail/data /var/www/data/squirrelmail/attach && chown www-data:www-data -R /var/www/data && ./configure

Once it is downloaded, it will ask you for configuration. Things to change are:

D. > select dovecot
2. Server Settings > 1. Domain > Set your own .onion domain here
2. Server Settings > B. Update SMTP settings > 7. SMTP Authentication -> y -> plain -> n User are authenticated using their username + password
4. General Options > 1. Data Directory > /data/squirrelmail/data/
4. General Options > 2. Attachment Directory > /data/squirrelmail/attach/
4. General Options > 9. Allow editing of identity > n Users should not be able to fake email addresses > y They should be able to change display name > y They should be able to set a reply to mail > y additional headers are not required
10. Language settings > 4. Enable aggressive decoding
11. Tweaks > 2. Ask user info on first login > n (commonly confuses users)
11. Tweaks > 5. Use php iconv functions > y

Create a mysql user with all permissions for our hosting management:

mysql
CREATE USER 'hosting'@'%' IDENTIFIED BY 'MY_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'hosting'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
quit

Then edit the database configuration in /var/www/common.php and /etc/postfix/sql/alias.cf

Last but not least setup the database by running

php /var/www/setup.php

Enable systemd timers to regularly run various managing tasks:

systemctl enable hosting-del.timer && systemctl enable hosting.timer

Final step is to reboot wait about 5 minutes for all services to start and check if everything is working by creating a test account.

Comments
  • Nginx wont start

    Nginx wont start

    i did what ever you said in readme.txt , so in the last step i reboot the machine . now nginx is not running , and when i tried to run it it :

    #> service nginx restart ; journalctl -xe

    the output is : -- Unit nginx.service has begun starting up. Jun 07 15:09:59 static php[6022]: No Connection to MySQL database! Jun 07 15:09:59 static php[6023]: No Connection to MySQL database! Jun 07 15:09:59 static install[6025]: /usr/bin/install: cannot change owner and permissions of ‘/var/run/nginx’: No such file or directory Jun 07 15:09:59 static systemd[1]: nginx.service: Control process exited, code=exited status=1 Jun 07 15:09:59 static systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- Unit nginx.service has failed.

    -- The result is failed. Jun 07 15:09:59 static systemd[1]: nginx.service: Unit entered failed state. Jun 07 15:09:59 static systemd[1]: nginx.service: Failed with result 'exit-code'.

    then i created files by my self :

    #> mkdir -p /var/run/nginx/ ; touch /var/run/nginx/susspend

    and now i have this error

    -- Unit nginx.service has begun starting up. Jun 07 15:11:07 static php[6042]: No Connection to MySQL database! Jun 07 15:11:07 static install[6044]: /usr/bin/install: cannot change owner and permissions of ‘/var/run/nginx’: Read-only file system Jun 07 15:11:07 static systemd[1]: nginx.service: Control process exited, code=exited status=1 Jun 07 15:11:07 static systemd[1]: Failed to start A high performance web server and a reverse proxy server. -- Subject: Unit nginx.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- Unit nginx.service has failed.

    -- The result is failed. Jun 07 15:11:07 static systemd[1]: nginx.service: Unit entered failed state. Jun 07 15:11:07 static systemd[1]: nginx.service: Failed with result 'exit-code'.

    what should i do ?

    what is wroing with this even ? ( "Jun 07 15:11:07 static php[6042]: No Connection to MySQL database!" ) ???

    i'm waiting for your replies :)

    opened by maj0rmil4d 33
  • first demo with the new frontent

    first demo with the new frontent

    first demo with the new frontent, the main site will also where in the same design http://yzombq2l4b6mnyw2icm23faq34nv2fjjfpm44v6thg43gsiefc3qfwid.onion

    opened by 01123581321345589144233 10
  • Nginx cannot start

    Nginx cannot start

    Jul 12 04:28:56 debian systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 12 04:28:56 debian systemd[31694]: nginx.service: Failed to execute command: No such file or directory Jul 12 04:28:56 debian systemd[31694]: nginx.service: Failed at step EXEC spawning /usr/sbin/nginx: No such file or direJul 12 04:28:56 debian systemd[1]: nginx.service: Control process exited, code=exited, status=203/EXEC Jul 12 04:28:56 debian systemd[1]: nginx.service: Failed with result 'exit-code'. Jul 12 04:28:56 debian systemd[1]: Failed to start A high performance web server and a reverse proxy server. ~

    opened by TangLiChun 5
  • .ssh ownership

    .ssh ownership

    https://github.com/DanWin/hosting/blob/db626a54a4f5e3ed4673b88834d6fda3e63f5152/var/www/cron.php#L33

    I don't understand why www-data should have extra privileges on .ssh.

    Thanks

    opened by setharnold 5
  • Ungültiger Anwender „_tor-a“

    Ungültiger Anwender „_tor-a“

    I have setup your system, and i try to create a new hidden service but the onion domain was not found. And i found out the process are not starting. Thats my link http://ommmmmmiq65cbweoseups4pndieajosfgk7jzwraotrn6sxhqy6ik6qd.onion

    Dec 25 19:24:09 #### systemd[1]: Starting Anonymizing overlay network for TCP (instance a)...

    -- Subject: A start job for unit [email protected] has begun execution -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- A start job for unit [email protected] has begun execution.

    -- The job identifier is 16467. Dec 25 19:24:09 #### install[15913]: /usr/bin/install: Ungültiger Anwender „_tor-a“ Dec 25 19:24:09 #### systemd[1]: [email protected]: Control process exited, code=exited, status=1/FAILURE -- Subject: Unit process exited -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- An ExecStartPre= process belonging to unit [email protected] has exited.

    -- The process' exit code is 'exited' and its exit status is 1. Dec 25 19:24:09 gugu1 systemd[1]: [email protected]: Failed with result 'exit-code'. -- Subject: Unit failed -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- The unit [email protected] has entered the 'failed' state with result 'exit-code'. Dec 25 19:24:09 gugu1 systemd[1]: Failed to start Anonymizing overlay network for TCP (instance a). -- Subject: A start job for unit [email protected] has failed -- Defined-By: systemd -- Support: https://www.debian.org/support

    -- A start job for unit [email protected] has finished with a failure.

    -- The job identifier is 16467 and the job result is failed.

    _**

    opened by 01123581321345589144233 4
  • make error

    make error

    i ran into a problem while running ./install_binaries.sh

    [ 30%] Built target aom_dsp_common [ 30%] Built target aom_dsp_encoder make: *** [Makefile:130: all] Error 2

    it stopped at 30% please fix this thanks

    opened by NagatoYuki4 3
  • fatal: unable to access 'https://aomedia.googlesource.com/aom/': Could not resolve host: aomedia.googlesource.com FAIL: 1

    fatal: unable to access 'https://aomedia.googlesource.com/aom/': Could not resolve host: aomedia.googlesource.com FAIL: 1

    when i used the command ./install_binaries.sh and i got this error.

    rm -f ./so_locations
    rm -rf .libs _libs
    rm -f *.o
    rm -f *.lo
    rm -f *.tab.c
    test -z "" || rm -f 
    test . = "." || test -z "" || rm -f 
    rm -f libssh2_config.h stamp-h1
    rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    rm -f ./.deps/agent.Plo
    rm -f ./.deps/agent_win.Plo
    rm -f ./.deps/bcrypt_pbkdf.Plo
    rm -f ./.deps/blowfish.Plo
    rm -f ./.deps/channel.Plo
    rm -f ./.deps/comp.Plo
    rm -f ./.deps/crypt.Plo
    rm -f ./.deps/global.Plo
    rm -f ./.deps/hostkey.Plo
    rm -f ./.deps/keepalive.Plo
    rm -f ./.deps/kex.Plo
    rm -f ./.deps/knownhost.Plo
    rm -f ./.deps/libgcrypt.Plo
    rm -f ./.deps/mac.Plo
    rm -f ./.deps/mbedtls.Plo
    rm -f ./.deps/misc.Plo
    rm -f ./.deps/openssl.Plo
    rm -f ./.deps/packet.Plo
    rm -f ./.deps/pem.Plo
    rm -f ./.deps/publickey.Plo
    rm -f ./.deps/scp.Plo
    rm -f ./.deps/session.Plo
    rm -f ./.deps/sftp.Plo
    rm -f ./.deps/transport.Plo
    rm -f ./.deps/userauth.Plo
    rm -f ./.deps/version.Plo
    rm -f ./.deps/wincng.Plo
    rm -f Makefile
    make[1]: Leaving directory '/home/mistrysiddh/hosting/libssh2/src'
    Making distclean in tests
    make[1]: Entering directory '/home/mistrysiddh/hosting/libssh2/tests'
    Making distclean in ossfuzz
    make[2]: Entering directory '/home/mistrysiddh/hosting/libssh2/tests/ossfuzz'
    rm -rf .libs _libs
    test -z "" || rm -f 
    rm -f *.o
    rm -f *.lo
    rm -f *.tab.c
    test -z "" || rm -f 
    test . = "." || test -z "" || rm -f 
    rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    rm -f ./.deps/libstandaloneengine_a-standaloneengine.Po
    rm -f ./.deps/ssh2_client_fuzzer-ssh2_client_fuzzer.Po
    rm -f Makefile
    make[2]: Leaving directory '/home/mistrysiddh/hosting/libssh2/tests/ossfuzz'
    make[2]: Entering directory '/home/mistrysiddh/hosting/libssh2/tests'
     rm -f simple
    rm -rf .libs _libs
     rm -f ssh2
    rm -f *.o
    test -z "simple.log mansyntax.sh.log ssh2.sh.log" || rm -f simple.log mansyntax.sh.log ssh2.sh.log
    test -z "simple.trs mansyntax.sh.trs ssh2.sh.trs" || rm -f simple.trs mansyntax.sh.trs ssh2.sh.trs
    test -z "test-suite.log" || rm -f test-suite.log
    rm -f *.lo
    rm -f *.tab.c
    test -z "" || rm -f 
    test . = "." || test -z "" || rm -f 
    rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    make[2]: Leaving directory '/home/mistrysiddh/hosting/libssh2/tests'
    rm -f ./.deps/simple.Po
    rm -f ./.deps/ssh2.Po
    rm -f Makefile
    make[1]: Leaving directory '/home/mistrysiddh/hosting/libssh2/tests'
    Making distclean in docs
    make[1]: Entering directory '/home/mistrysiddh/hosting/libssh2/docs'
    rm -rf .libs _libs
    rm -f *.lo
    test -z "" || rm -f 
    test . = "." || test -z "" || rm -f 
    rm -f Makefile
    make[1]: Leaving directory '/home/mistrysiddh/hosting/libssh2/docs'
    Making distclean in example
    make[1]: Entering directory '/home/mistrysiddh/hosting/libssh2/example'
    rm -rf .libs _libs
     rm -f direct_tcpip ssh2 scp scp_nonblock scp_write scp_write_nonblock sftp sftp_nonblock sftp_write sftp_write_nonblock sftp_mkdir sftp_mkdir_nonblock sftp_RW_nonblock sftp_write_sliding sftpdir sftpdir_nonblock ssh2_exec ssh2_agent ssh2_agent_forwarding ssh2_echo sftp_append subsystem_netconf tcpip-forward x11
    rm -f *.o
    rm -f *.lo
    rm -f *.tab.c
    test -z "" || rm -f 
    test . = "." || test -z "" || rm -f 
    rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    rm -f ./.deps/direct_tcpip.Po
    rm -f ./.deps/scp.Po
    rm -f ./.deps/scp_nonblock.Po
    rm -f ./.deps/scp_write.Po
    rm -f ./.deps/scp_write_nonblock.Po
    rm -f ./.deps/sftp.Po
    rm -f ./.deps/sftp_RW_nonblock.Po
    rm -f ./.deps/sftp_append.Po
    rm -f ./.deps/sftp_mkdir.Po
    rm -f ./.deps/sftp_mkdir_nonblock.Po
    rm -f ./.deps/sftp_nonblock.Po
    rm -f ./.deps/sftp_write.Po
    rm -f ./.deps/sftp_write_nonblock.Po
    rm -f ./.deps/sftp_write_sliding.Po
    rm -f ./.deps/sftpdir.Po
    rm -f ./.deps/sftpdir_nonblock.Po
    rm -f ./.deps/ssh2.Po
    rm -f ./.deps/ssh2_agent.Po
    rm -f ./.deps/ssh2_agent_forwarding.Po
    rm -f ./.deps/ssh2_echo.Po
    rm -f ./.deps/ssh2_exec.Po
    rm -f ./.deps/subsystem_netconf.Po
    rm -f ./.deps/tcpip-forward.Po
    rm -f ./.deps/x11.Po
    rm -f Makefile
    make[1]: Leaving directory '/home/mistrysiddh/hosting/libssh2/example'
    make[1]: Entering directory '/home/mistrysiddh/hosting/libssh2'
    rm -rf .libs _libs
    rm -f *.lo
    test -z "libssh2.pc" || rm -f libssh2.pc
    test . = "." || test -z "" || rm -f 
    test -z "win32/libssh2.dsp ChangeLog" || rm -f win32/libssh2.dsp ChangeLog
    rm -f libtool config.lt
    rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
    rm -f cscope.out cscope.in.out cscope.po.out cscope.files
    make[1]: Leaving directory '/home/mistrysiddh/hosting/libssh2'
    rm -f config.status config.cache config.log configure.lineno config.status.lineno
    rm -f Makefile
    fatal: unable to access 'https://aomedia.googlesource.com/aom/': Could not resolve host: aomedia.googlesource.com
    FAIL: 1
    
    
    opened by mrfoxie 3
  • install-binaries nginx make fail

    install-binaries nginx make fail

    using the script, by accident i see the line causing isse.it was because of libatomic.even tho it is installed on the system "make" fails with error like libatomic not found.

    debian 10 fresh install.cant exactly copy the error but it was libatomics-ops libs not found issue.as soon as script stops i will post here exact error just in case.

    Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster

    opened by hardcod3dd 3
  • update Tor sources to v3

    update Tor sources to v3

    Source of this commit:

    • https://onion.torproject.org/
    • http://xao2lxsmia2edq2n5zxg6uahx6xox2t7bfjw6b5vdzsxi7ezmqob6qid.onion/

    Keep an eye for the v3 of Debian.

    • https://onion.debian.org/

    v2 deprecation timeline

    • https://blog.torproject.org/v2-deprecation-timeline
    opened by nyxnor 2
  • issue when generating a .onion address

    issue when generating a .onion address

    every time i try to generate a .onion address i get this on cd /hosting i get this

    cat: /var/lib/tor/hidden_service/hostname: No such file or directory

    opened by christ-chan64 2
  • php-qrcode requires php 7.2

    php-qrcode requires php 7.2

    debian 10.6 x64

    chillerlan/php-qrcode[3.1.0, ..., 3.3.0] require php ^7.2 -> your php version (8.0.0-dev) does not satisfy that requirement.

    tried to change composer.json to ^4.3 as seen on github repo of php-qrcode.seems like fixes the issue

    opened by hardcod3dd 2
  • Replace the default .onion domain with your domain:

    Replace the default .onion domain with your domain:

    output : cat: /var/lib/tor/hidden_service/hostname: No such file or directory sed: can't read /etc/postfix/sql/alias.cf: No such file or directory sed: can't read /etc/postfix/sender_login_maps: No such file or directory sed: can't read /var/www/skel/www/index.hosting.html: No such file or directory sed: can't read /var/www/common.php: No such file or directory sed: can't read /etc/postfix/canonical: No such file or directory sed: can't read /etc/postfix-clearnet/canonical: No such file or directory sed: can't read /var/www/html/squirrelmail/config/config.php: No such file or directory

    opened by d4sec 1
  • Edit /etc/fstab and add the noatime,usrjquota=aquota.user,jqfmt=vfsv1 option to the /home mountpoint and noatimeto /.

    Edit /etc/fstab and add the noatime,usrjquota=aquota.user,jqfmt=vfsv1 option to the /home mountpoint and noatimeto /.

    PROBLEM: I have only one small problem with the installation and that is editing "/etc/fstab". Maybe someone can tell me where to insert the following task.

    TASK:

    Edit /etc/fstab and add the noatime,usrjquota=aquota.user,jqfmt=vfsv1 option to the /home mountpoint and noatimeto /. Then initialize quota:

    CONTENTS OF MY FILE "/etc/fstab":

    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # systemd generates mount units based on this file, see systemd.mount(5).
    # Please run 'systemctl daemon-reload' after making changes here.
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda1 during installation
    UUID=6ce4028b-e979-4f8d-8fae-fe006fb23d06 /               ext4    errors=remount-ro >
    # swap was on /dev/sda5 during installation
    UUID=c0d84d53-ea06-4ba7-a6ed-4895cd8197c8 none            swap    sw              0 >
    /dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
    
    tmpfs /tmp tmpfs defaults,noatime 0 0
    tmpfs /var/log/nginx tmpfs rw,user,noatime 0 0
    proc /proc proc defaults,hidepid=2 0 0
    
    opened by hubsmarttv 1
  • cc1: warning: command-line option ‘-Wextra-semi’ is valid for C++/ObjC++ but not for C

    cc1: warning: command-line option ‘-Wextra-semi’ is valid for C++/ObjC++ but not for C

    too many type errors: cc1: warning: command-line option ‘-Wextra-semi’ is valid for C++/ObjC++ but not for C ^Cmake[2]: *** [CMakeFiles/aom_dsp_common_avx2_intrinsics.dir/build.make:82: CMakeFiles/aom_dsp_common_avx2_intrinsics.dir/aom_dsp/x86/aom_convolve_copy_avx2.c.o] Interrupt make[2]: *** [CMakeFiles/aom_dsp_common_sse2_intrinsics.dir/build.make:82: CMakeFiles/aom_dsp_common_sse2_intrinsics.dir/aom_dsp/x86/aom_convolve_copy_sse2.c.o] Interrupt

    How to fix it? ps: lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye

    opened by sergrych 0
  • Port forwarding service

    Port forwarding service

    Instead of opening hosting service and cleaning up illegal sites, I have a better idea. This will profitable and safe than hosting service.

    1. Needs of "Port forwarding" There are only 2 services on the internet which offers port forwarding. Portmap.io and Tunnelbear(both are paid service).

    Here's how it works. User connects to Portmap.io using SSH client or OpenVPN client. The server send the request back to the client.

    1. Why this is safe than hosting service Since your server hold no illegal data, no one can sue you.

    2. Price Create a free account on portmap.io and have a look.

    If you start reverse port porwarding service (e.g clearnet->server---ssh--->mypc,localhost:8080) people who needs port forwareder might buy your monthly(or yearly) subscription.

    There's a discussion about it on crimeflare, but it's locked at this moment due to someone attacking it.

    opened by DanWin 3
Owner
Daniel Winzen
Daniel Winzen
Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Raspberry Pi wifi hotspot with an offline-first community portal. Optionally shares internet access over Tor.

Martti Malmi 17 Dec 15, 2022
Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting

Simple, modern looking server status page with administration and some nice features, that can run even on shared webhosting

Server status project 363 Dec 28, 2022
Tars is a high-performance RPC framework based on name service and Tars protocol, also integrated administration platform, and implemented hosting-service via flexible schedule.

TARS - A Linux Foundation Project TARS Foundation Official Website TARS Project Official Website WeChat Group: TARS01 WeChat Offical Account: TarsClou

THE TARS FOUNDATION PROJECTS 9.6k Jan 1, 2023
Calibre OPDS (and HTML) PHP Server : web-based light alternative to Calibre content server / Calibre2OPDS to serve ebooks (epub, mobi, pdf, ...)

COPS COPS stands for Calibre OPDS (and HTML) Php Server. See : COPS's home for more details. Don't forget to check the Wiki. Why ? In my opinion Calib

Sébastien Lucas 1.3k Jan 1, 2023
This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

PHP-introduction This project processes a small database with php all on a web server. This project uses XAMPP to run the web server and the database.

Tyler Jacques 1 Jan 6, 2022
David Pratama 1 Oct 13, 2021
Run the following commands in your terminal to setup the project

Run the following commands in your terminal to setup the project You must have the LAMP installed on your system git clone https://github.com/Bashar-A

null 1 Nov 6, 2021
Production ready scalable Magento setup utilizing the docker

Magento docker image Requirements This docker image expects 2 other linked containers to work . Mysqldb or Mariadb linked as 'db' Memcached linked as

Paim pozhil 49 Jun 21, 2021
composer plugin for a better frontend setup

node-composer composer plugin for a better frontend setup PHP projects mostly are Web-Applications. Many Web-Applications also need a frontend part wh

Marius Büscher 5 Jul 26, 2022
My solution use PHP with a class for easy setup

My solution use PHP with a class for easy setup. It accepts requests with the get method just passing the username and password as well as the ip and http port of the Proxmox server. Just needing a web server.

Full Monitoring 2 Jan 15, 2022
BreadBooru is a light, quick, and easy to setup imageboard with themes, images, and video support

BreadBooru a bad imageboard, that has nothing to do with (dan/gel)booru, and yet still has booru in the name BreadBooru is a light, quick, and easy to

bread 2 Jan 22, 2022
Setup Docker Para Projetos Laravel 9 com PHP 8

Setup Docker Para Projetos Laravel 9 com PHP 8

EspecializaTi 56 Dec 6, 2022
Easy XHProf setup to profile your laravel application!

Introduction Laravel XHProf provides you with a simple setup to profile your laravel application with the well known XHProf php extension originally d

Zacharias Creutznacher 122 Dec 23, 2022
KodExplorer is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser.

KodExplorer is a file manager for web. It is also a web code editor, which allows you to develop websites directly within the web browser.

warlee 5.5k Feb 10, 2022
For server-to-server comms from PHP to CloudKit.

CloudKit-PHP Today I found this fantastic gist by Mauricevb that demonstrates how to communicate with CloudKit from PHP. I already had a previous proj

Tim Oliver 1 Oct 14, 2021
A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP

General A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP Contacts You can cont

NhanAZ's PocketMine-MP Plugins 10 Sep 27, 2022
Php-rpc-server - JSON RPC server implementation for PHP.

JSON RPC Server implementation for PHP. The json-rpc is a very simple protocol. You can see this by reading the protocol specification. This library i

null 4 Sep 28, 2022
EXT:server-timing adds Server-Timing Header with usefull information

EXT:server_timing - see your performance installation composer require kanti/server-timing at the moment there is nothing to configure Server timings

Matthias Vogel 4 Oct 26, 2022
A Simplistic Plugin to Implement Server Claims to your Minecraft: Bedrock Server.

Claims This plugin allows administrators to create, edit, list, and teleport to land claims on a PocketMine server. These claims have a variety of cus

Santana 5 Jun 10, 2023