summaryrefslogtreecommitdiffstats
path: root/contrib/fjclip.py
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2017-01-04 08:34:16 -0500
committerLibravatar netblue30 <netblue30@yahoo.com>2017-01-04 08:34:16 -0500
commitceaee7d23c9650ccb4d88e3d07c42a3443b75839 (patch)
tree70a26f27c7c3337ecb71c289ee0847086b5a8048 /contrib/fjclip.py
parentallow non-seccomp setup for OverlayFS sandboxes (diff)
downloadfirejail-ceaee7d23c9650ccb4d88e3d07c42a3443b75839.tar.gz
firejail-ceaee7d23c9650ccb4d88e3d07c42a3443b75839.tar.zst
firejail-ceaee7d23c9650ccb4d88e3d07c42a3443b75839.zip
3 new Python scripts in contrib section
Diffstat (limited to 'contrib/fjclip.py')
-rwxr-xr-xcontrib/fjclip.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/contrib/fjclip.py b/contrib/fjclip.py
new file mode 100755
index 000000000..cd12cd289
--- /dev/null
+++ b/contrib/fjclip.py
@@ -0,0 +1,35 @@
1#!/usr/bin/env python
2
3import re
4import sys
5import subprocess
6import fjdisplay
7
8usage = """fjclip.py src dest. src or dest can be named firejails or - for stdin or stdout.
9firemon --x11 to see available running x11 firejails. firejail names can be shortened
10to least ambiguous. for example 'work-libreoffice' can be shortened to 'work' if no
11other firejails name starts with 'work'.
12warning: browsers are dangerous. clipboards from browsers are dangerous. see
13https://github.com/dxa4481/Pastejacking
14fjclip.py strips whitespace from both
15ends, but does nothing else to protect you. use a simple gui text editor like
16gedit if you want to see what your pasting."""
17
18if len(sys.argv) != 3 or sys.argv == '-h' or sys.argv == '--help':
19 print(usage)
20 exit(1)
21
22if sys.argv[1] == '-':
23 clipin_raw = sys.stdin.read()
24else:
25 display = fjdisplay.getdisplay(sys.argv[1])
26 clipin_raw = subprocess.check_output(['xsel','-b','--display',display])
27
28clipin = clipin_raw.strip()
29
30if sys.argv[2] == '-':
31 print(clipin)
32else:
33 display = fjdisplay.getdisplay(sys.argv[2])
34 clipout = subprocess.Popen(['xsel','-b','-i','--display',display],stdin=subprocess.PIPE)
35 clipout.communicate(clipin) \ No newline at end of file