Compare commits

..

22 Commits

Author SHA1 Message Date
2a0bf7b12e new pic - x11vnc 2022-11-10 11:06:36 +05:00
e81096c0a1 correct some workds - x11vnc 2022-11-10 11:03:38 +05:00
9ba8deb6d4 an attempt to add image - x11vnc 2022-11-10 11:00:04 +05:00
b0c9da68c3 Get ready info - x11vnc 2022-11-10 10:24:36 +05:00
ca0a4a6e78 Get ready - x11vnc 2022-11-10 10:18:06 +05:00
21364ee8ad fix caps - x11vnc 2022-11-10 10:10:35 +05:00
99d125ddc4 desc 1 - x11vnc 2022-11-10 10:09:36 +05:00
1d646a2945 readme test titile - x11vnc 2022-11-10 10:08:11 +05:00
b5ea01a380 some fixes to x11vnc 2022-11-10 08:57:01 +05:00
729f2ea8ea some fixes 2022-11-10 08:52:53 +05:00
3d660fa797 .00 2022-11-09 15:29:26 +05:00
336fccdaaa x_ 2022-11-09 15:28:13 +05:00
adf91b6ca7 clip 2022-11-09 15:24:38 +05:00
801ea06083 -p 2022-11-09 15:22:28 +05:00
157ea8d696 vnc-extended display.sh 2022-11-09 15:11:42 +05:00
e8a683c79d readme update - more typos 2022-06-07 01:15:48 +05:00
0b509705ca readme update - some typos 2022-06-07 01:12:05 +05:00
0a9b7e65f7 readme update - added notes and cron info 2022-06-07 01:08:00 +05:00
1fd15e5880 man i forgot how to heading on md 2022-06-07 00:52:49 +05:00
abc1614427 idk how to new line on md 2022-06-07 00:51:22 +05:00
13a9d0af4a changed sites-enabled to sites-available 2022-06-07 00:49:46 +05:00
535a4f8d54 readme added 2022-06-07 00:48:34 +05:00
6 changed files with 98 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/bash
CONFIG=/etc/nginx/sites-enabled/$1
CONFIG=/etc/nginx/sites-available/$1
DOMAIN=$2
IP=$(dig $DOMAIN +short)

View File

@@ -0,0 +1,39 @@
# NGINX ALLOW DYNAMIC IP
## Configure nginx config files to edit IP based on domain name
### Requirements
`dig` \
dig is most likely installed on your distro but incase it isn't install it first
### Usage
First, get the script and make it executable:
```bash
curl -O https://git.shihaam.dev/shihaam/sarmic/raw/branch/master/nginx-allow-dynamicip/nginx-allow-dynamicip.sh
chmod +x nginx-allow-dynamicip.sh
```
Make sure your nginx config server block contain "#DYNAMIC" after the IP you want to change dynamically\
Something like the following:
```nginx
#Block public access
allow 1.1.1.1; #DYNAMIC
deny all;
```
Excute the script as root (or with sudo) with 1st argument for config file and 2nd argument with domain of the IP you want to allow \
`sudo ./nginx-allow-dynamicip.sh db-sarlinode.shihaam.dev home.shihaam.me`
### Automate with cron
Run `crontab -e` as root as this script needs to edit nginx config file and restart nginx
```bash
sudo crontab -e
```
I have it configured to update once every hour like this
```bash
0 * * * * /home/shihaam/scripts/nginx-allow-dynamicip.sh freezer.shihaam.me home.shihaam.me
```
### Notes
It is important that your nginx config files are in `/etc/nginx/sites-available/` and symlinked to `/etc/nginx/sites-enabled/`,\
This is done by default on Debian and Ubuntu, I noticed this is not how it's configured by default on Arch Linux and CentOS, If you're using those you have bigger issues. Tested and verifed to work on Debian Linux.

View File

@@ -0,0 +1,12 @@
# Use another device as an auxiliary display for a xorg GNU/Linux
With x11vnc, you can use your another device as a display that extends or mirrors your xorg GNU/Linux desktop.
![extended-pic.jpg](img/extended-pic.jpg)
## Get ready.
- Before continuing, Make sure that your GNU/Linux system is running X Display server and connected to the same network.
- You can use x11vnc wirelessly, but to keep connection stable, Connect your another device to wired network other either by Ethernet or USB Tethering.
If you dont want to use other deivce keyboard, mouse or trackpad to control your GNU/Linux system you can enable view only mode in VNC settings.
![arandr-ss.png](img/arandr-ss.png)

View File

@@ -0,0 +1,46 @@
#!/bin/bash
dependency_check(){
for DEPENDENCY; do
if ! command -v "$DEPENDENCY" 1>/dev/null; then
printf "%s not found. Please install it.\n" "$DEPENDENCY" >&2
exit 2
fi
done
unset DEPENDENCY
}
dependency_check arandr x11vnc xrandr gtf
read -p 'Enter client width: ' CLIENT_WIDTH
read -p 'Enter client heigh: ' CLEINT_HEIGHT
read -p 'Enter client refresh rate: ' REFRESH_RATE
MODELINE=$(gtf $CLIENT_WIDTH $CLEINT_HEIGHT $REFRESH_RATE | grep Modeline | sed 's/Modeline//') #resolution of client machine (width, height, refreshrate)
RESOLUTION=$(echo $MODELINE | awk '{print $1}')
echo "---------------"
echo $MODELINE
echo "---------------"
read -p 'enter the above Modeline: ' MODELINE
xrandr --newmode $MODELINE
echo Checking avaible ports..
echo "---------------"
xrandr | grep disconnected | awk '{print $1}'
echo "---------------"
read -p 'Enter one of the ports to be used for VNC: ' PORT
echo Adding new display
xrandr --addmode $PORT $RESOLUTION
sleep 2
echo Activating new display
sleep 2
xrandr --output $PORT --mode $RESOLUTION
echo "---------------"
echo Configure the new diplay where you want
echo "---------------"
sleep 3
arandr >> /dev/null
GEO=$(xrandr | grep $PORT | awk '{print $3}')
echo Starting VNC Server
sleep 3
x11vnc -clip $GEO

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB