All Projects → tomershvueli → Homepage

tomershvueli / Homepage

Licence: mit
A simple, standalone, self-hosted PHP page that is your window to your server and the web.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Homepage

Bon
🍮 A small, simple/minimal self hosted URL shortener written in Go (Golang).
Stars: ✭ 12 (-94.87%)
Mutual labels:  minimal, self-hosted
Riot
Simple and elegant component-based UI library
Stars: ✭ 14,596 (+6137.61%)
Mutual labels:  minimal
Webpack Nano
A teensy, squeaky 🐤 clean Webpack CLI
Stars: ✭ 199 (-14.96%)
Mutual labels:  minimal
Viewscreen
Viewscreen - a personal video streaming server
Stars: ✭ 215 (-8.12%)
Mutual labels:  self-hosted
Route
Simple isomorphic router
Stars: ✭ 199 (-14.96%)
Mutual labels:  minimal
Cargo
🚂🚋🚋 A browser with almost no UI.
Stars: ✭ 221 (-5.56%)
Mutual labels:  minimal
Podgrab
A self-hosted podcast manager/downloader/archiver tool to download podcast episodes as soon as they become live with an integrated player.
Stars: ✭ 194 (-17.09%)
Mutual labels:  self-hosted
Minwiz
Minimal starter kit for under 2 KB sites
Stars: ✭ 228 (-2.56%)
Mutual labels:  minimal
Magnetissimo
Web application that indexes all popular torrent sites, and saves it to the local database.
Stars: ✭ 2,551 (+990.17%)
Mutual labels:  self-hosted
Olauncher
Minimal AF (ad-free) launcher app for Android. Available at Play Store and F-Droid.
Stars: ✭ 211 (-9.83%)
Mutual labels:  minimal
Common
A simple, clean and minimal prompt.
Stars: ✭ 213 (-8.97%)
Mutual labels:  minimal
Mu
The μ css framework — a 1 ko css file.
Stars: ✭ 202 (-13.68%)
Mutual labels:  minimal
Magnetico
Autonomous (self-hosted) BitTorrent DHT search engine suite.
Stars: ✭ 2,626 (+1022.22%)
Mutual labels:  self-hosted
Secure Wireguard Implementation
A guide on implementing a secure Wireguard server on OVH (or any other Debian VPS) with DNSCrypt, Port Knocking & an SSH-Honeypot
Stars: ✭ 200 (-14.53%)
Mutual labels:  self-hosted
Archie
A minimal Hugo Theme
Stars: ✭ 226 (-3.42%)
Mutual labels:  minimal
Styled React Boilerplate
Minimal & Modern boilerplate for building apps with React & styled-components
Stars: ✭ 198 (-15.38%)
Mutual labels:  minimal
Goploader
Easy file sharing with server-side encryption, curl/httpie/wget compliant
Stars: ✭ 205 (-12.39%)
Mutual labels:  self-hosted
Logarr
“Logarr” is a self-hosted PHP web app that consolidates, formats, and displays log and text files for easy analysis and monitoring.
Stars: ✭ 216 (-7.69%)
Mutual labels:  self-hosted
Wakapi
📊 A minimalist, self-hosted WakaTime-compatible backend for coding statistics
Stars: ✭ 232 (-0.85%)
Mutual labels:  self-hosted
Shaarli Material
Shaarli Material is a theme for Shaarli, the famous personal, minimalist, super-fast, database free, bookmarking service.
Stars: ✭ 228 (-2.56%)
Mutual labels:  self-hosted

Homepage

Mentioned in Awesome Selfhosted

This project is a simple, standalone, self-hosted PHP page that is meant to be your window to your server and the web.

It is your minimalist corner of the internet. The background will update with a gorgeous (and royalty free) image from Unsplash, or a custom source every 20 seconds. With it, a simple menu is available to you with your most frequented links.

All the assets needed are part of the repo so it can run offline (though it won't fetch pretty background images for you).

This project uses:

  • Apache
  • PHP and PHP cURL
  • jQuery
  • Bootstrap CSS
  • Mousetrap.js
  • Font Awesome
  • Unsplash

Screenshots

Homepage w/o Menu: Homepage w/o Menu

Homepage with Menu Toggled: Homepage with Menu

To Use

Copy the config.sample.json file and rename to config.json. Be sure to update the fields as you see appropriate. You have the option to use the Unsplash API to fetch background images, or use a custom URL and JSON selector. If you choose to use Unsplash, will need to create a developer profile at Unsplash to use the background image functionality properly.

Configure Homepage

  • unlock_pattern => Choose unlock pattern from Mousetrap
  • clock_format => Choose pattern format from PHP's date function
  • hover_color => The CSS color for menu items when hovered over. Defaults to #999.
  • time_to_refresh_bg => Time, in milliseconds, until it will fetch the next background image. Defaults to 20000.
  • show_menu_on_page_load => Boolean as to whether the menu should be shown when you first load the page. Defaults to false.
  • idle_timer => Set a number of milliseconds here if you'd like to automatically hide the menu after a certain time of inactivity. Leave this attribute out entirely if you don't want an idle timer.
  • items => Array of objects for links to be displayed. The menu will be in a grid of 3 icons per row on desktop. Object shape:
    • link => Insert any link you'd like, or {{cur}} for the current URL of the page, i.e. {{cur}}:32400/web/.
    • icon => Icon to be displayed, choose icons from Font Awesome.
    • img => Image to be displayed in place of an icon. Place image in hp_assets/img directory. Image will be displayed in size 80px x 80px.
    • alt => Value for title of anchor tag.
    • new_tab => Optional boolean value for whether link should open in new tab or current tab.

NOTE: PHP cURL is required for fetching external images.

Unsplash Background Images

  • unsplash_client_id => Get Unsplash client ID from Unsplash

NOTE: There have been reports that applying for a Normal API upgrading from a demo API will result in Unsplash shutting down your API key entirely. I suggest sticking to the demo API key and setting the time_to_refresh_bg config variable to 90000. This will ensure that you don't surpass the 50 hourly requests that Unsplash provides for demo API keys. Or feel free to use a custom background image (see below).

Custom Background Images

  • custom_url => Input a custom URL that will return proper JSON
  • custom_url_headers => Add any headers that may be needed to complete a cURL request to the aforementioned URL properly
  • custom_url_selector => Input a proper PHP array selector to be used on the JSON received above. For example, if I were to fetch from Github's user API with a 'custom_url' of 'https://api.github.com/users/octocat', the 'custom_url_selector' would simply be ['avatar_url']. [{random}] can be replaced for a random index in an array.

Supporting

If you enjoy homepage and want to support the project, you can buy me a Ko-Fi!

ko-fi

Or, feel free to contribute to homepage by creating a PR to expand on features that you think are missing!

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