#include <tunables/global>

/volume*/@appstore/VideoStation/ui/cgi/advanced_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/cgi/advanced_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/dtv_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/dvb-adapter>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/set-index-status>
	#include <abstractions.pkg/VideoStation/synodtvd>

	capability mknod,

	/volume*/@appstore/VideoStation/ui/cgi/dtv_manage.cgi		r,

	/usr/syno/synoman/webapi/.auth								rwk,
	/var/packages/VideoStation/scripts/*.sh						rix,
	/var/packages/VideoStation/scripts/**/*.sh					rix,
	/volume*/@appstore/VideoStation/scripts/*.sh				rix,
	/volume*/@appstore/VideoStation/scripts/**/*.sh				rix,
	/volume*/@appstore/VideoStation/etc/Kernel*/				r,
	/volume*/@appstore/VideoStation/etc/Kernel*/**				rwk,
	/volume*/@appstore/VideoStation/scripts/Hotplug/**			r,
	/lib/firmware/*												rwk,
	/lib/udev/devicetable/usb.DVB.*.table						rwk,
	/lib/udev/script/usb-dvb-util.sh							rwkix,
	/usr/syno/sbin/syno_dvb_admin.sh                                                        rwkix,
	/lib/udev/script/backports_dvb/*.sh                                                     rwkix,
	/lib/udev/script/backports_dvb/DTV_enabled                                              rwk,
	/lib/modules/*.ko											rwk,
	/etc/httpd/sites-enabled/*VideoStation.*.conf				rwk,
	/volume*/@appstore/VideoStation/bin/**						rix,
	/volume*/@appstore/VideoStation/etc/HDHomeRun_channelmap/*	rk,
}

/volume*/@appstore/VideoStation/ui/cgi/folder_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/file-read>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/set-index-status>

	/volume*/@appstore/VideoStation/ui/cgi/folder_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
	/run/synovideometadatad.pid									r,
}

/volume*/@appstore/VideoStation/ui/cgi/library_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>

	/volume*/@appstore/VideoStation/ui/cgi/library_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/privilege_manage.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/cgi/privilege_manage.cgi	r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/cgi/session.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/cgi/session.cgi			r,

	/usr/syno/synoman/webapi/.auth								rwk,
}

/volume*/@appstore/VideoStation/ui/controller/webapi/device.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/device.cgi					r,
}

/volume*/@appstore/VideoStation/ui/controller/webapi/password.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/password.cgi				r,
}

/volume*/@appstore/VideoStation/ui/controller/webapi/playback.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/playback.cgi				r,
}

/volume*/@appstore/VideoStation/ui/controller/webapi/volume.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/controller-api>

	/volume*/@appstore/VideoStation/ui/controller/webapi/volume.cgi					r,
}

/volume*/@appstore/VideoStation/ui/controller/ui/cgi/vtestreaming.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/vte>

	/volume*/@appstore/VideoStation/ui/controller/ui/cgi/vtestreaming.cgi	r,
}

/volume*/@appstore/VideoStation/ui/controller/ui/cgi/extm3u.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/controller/ui/cgi/extm3u.cgi	r,
}

/volume*/@appstore/VideoStation/ui/public_sharing/uistrings.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/public_sharing/uistrings.cgi	r,

	/volume*/@appstore/VideoStation/ui/texts/**						r,
}

/volume*/@appstore/VideoStation/ui/public_sharing/index.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/public-url>

	/volume*/@appstore/VideoStation/ui/public_sharing/index.cgi		r,

	/volume*/@appstore/VideoStation/ui/public_sharing/index.html	r,
	/volume*/@appstore/VideoStation/ui/texts/**						r,
	/var/packages/VideoStation/INFO									r,
}

/volume*/@appstore/VideoStation/ui/webapi/audiotrack.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/ffmpeg>

	/volume*/@appstore/VideoStation/ui/webapi/audiotrack.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/channellist.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/dvb-adapter>

	/volume*/@appstore/VideoStation/ui/webapi/channellist.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/channelscan.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/dvb-adapter>
	#include <abstractions.pkg/VideoStation/frequency>

	/volume*/@appstore/VideoStation/ui/webapi/channelscan.cgi			r,

	/volume*/@appstore/VideoStation/bin/hdhomerun_config				rix,
	/volume*/@appstore/VideoStation/etc/HDHomeRun_channelmap/*			rk,
}

/volume*/@appstore/VideoStation/ui/webapi/collection.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/public-url>

	/volume*/@appstore/VideoStation/ui/webapi/collection.cgi	r,

	/proc/**/attr/current										w,
}

/volume*/@appstore/VideoStation/ui/webapi/dtvcontrol.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/dtvcontrol.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/dtvstatistic.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/dtvstatistic.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/dtvstreaming.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/file-read>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/dtvstreaming.cgi	r,

	/volume*/@appstore/VideoStation/lib/**						mr,
	/volume*/@appstore/VideoStation/ui/webapi/*.{api,auth}  	rwk,
	/usr/syno/etc/packages/VideoStation/**						rwk,
	/volume*/{,usbshare*/}@tmp/VideoStation/{,**}							rwk,
}

/volume*/@appstore/VideoStation/ui/webapi/dvbsscan.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/frequency>

	/volume*/@appstore/VideoStation/ui/webapi/dvbsscan.cgi			r,
}

/volume*/@appstore/VideoStation/ui/webapi/folder.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/file-read>

	/volume*/@appstore/VideoStation/ui/webapi/folder.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/homevideo.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/poster>
	#include <abstractions.pkg/VideoStation/file-delete>

	/volume*/@appstore/VideoStation/ui/webapi/homevideo.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/info.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/info.cgi			r,

	/var/packages/VideoStation/INFO								r,
}

/volume*/@appstore/VideoStation/ui/webapi/library.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/library.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/metadata.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/metadata.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/movie.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/poster>
	#include <abstractions.pkg/VideoStation/file-delete>

	/volume*/@appstore/VideoStation/ui/webapi/movie.cgi			r,
}

/volume*/@appstore/VideoStation/ui/webapi/pluginsearch.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/metadata-plugin>

	capability chown,

	network    inet  stream,

	/volume*/@appstore/VideoStation/ui/webapi/pluginsearch.cgi				r,

	/bin/busybox															rix,
	/volume*/@appstore/VideoStation/ui/webapi/								r,
	/volume*/@appstore/VideoStation/scripts/sql/pluginsearchresult.sqlite	r,
	/volume*/{,usbshare*/}@tmp/@synovideostation/{,**}										rwk,
}

/volume*/@appstore/VideoStation/ui/webapi/poster.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/poster>
	#include <abstractions.pkg/VideoStation/file-read>

	capability fowner,
	capability chown,

	/volume*/@appstore/VideoStation/ui/webapi/poster.cgi		r,

	/volume*/**/@eaDir/{,**}									rwk,
}

/volume*/@appstore/VideoStation/ui/webapi/programlist.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/dvb-adapter>

	/volume*/@appstore/VideoStation/ui/webapi/programlist.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/rater.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/rater.cgi			r,
}

/volume*/@appstore/VideoStation/ui/webapi/schedule_recording.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/dvb-adapter>

	/volume*/@appstore/VideoStation/ui/webapi/schedule_recording.cgi	r,
}

/volume*/@appstore/VideoStation/ui/webapi/sharing.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/public-url>

	/volume*/@appstore/VideoStation/ui/webapi/sharing.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/subtitle.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/ffmpeg>
	#include <abstractions.pkg/VideoStation/plugin-base>

	capability fowner,
	capability chown,
	capability mknod,

	/volume*/@appstore/VideoStation/ui/webapi/subtitle.cgi									r,

	/volume*/@appstore/VideoStation/subtitle_plugins/syno_opensubtitles/loader.sh			ix,
	/volume*/@appstore/VideoStation/subtitle_plugins/syno_opensubtitles/**					rwk,
	/volume*/@appstore/VideoStation/subtitle_plugins/syno_shooter/loader.sh					ix,
	/volume*/@appstore/VideoStation/subtitle_plugins/syno_shooter/**						rwk,
	/volume*/@appstore/VideoStation/bin/**													ix,
	/volume*/@appstore/VideoStation/lib/{,**}												mr,
	/volume*/**/@eaDir/{,**}																rwkl,
	/volume*/**/*.srt																		rwkl,
	/volume*/**/*.srt{,.tmp}																rwkl,
	/volume*/**/*.srt{,.tmp}/**																rwkl,
	/volume*/**/*.tmp																		rwkl,
}

/volume*/@appstore/VideoStation/ui/webapi/tuner.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/tuner.cgi			r,
}

/volume*/@appstore/VideoStation/ui/webapi/tvrecord.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/file-delete>

	/volume*/@appstore/VideoStation/ui/webapi/tvrecord.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/tvshow.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/poster>

	/volume*/@appstore/VideoStation/ui/webapi/tvshow.cgi					r,

	/volume*/@appstore/VideoStation/bin/**									ix,
}

/volume*/@appstore/VideoStation/ui/webapi/tvshow_episode.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/poster>
	#include <abstractions.pkg/VideoStation/file-delete>

	/volume*/@appstore/VideoStation/ui/webapi/tvshow_episode.cgi			r,
}

/volume*/@appstore/VideoStation/ui/webapi/video.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/file-delete>
	#include <abstractions.pkg/VideoStation/file-read>

	capability setuid,
	capability setgid,

	/volume*/@appstore/VideoStation/ui/webapi/video.cgi						r,

	/usr/syno/etc.defaults/mimetypes.txt									r,
}

/volume*/@appstore/VideoStation/ui/webapi/vtestreaming.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/vte>

	/volume*/@appstore/VideoStation/ui/webapi/vtestreaming.cgi		r,
}

/volume*/@appstore/VideoStation/ui/webapi/watchstatus.cgi {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>

	/volume*/@appstore/VideoStation/ui/webapi/watchstatus.cgi		r,
}

/volume*/@appstore/VideoStation/sbin/synodtvd {
	#include <abstractions.pkg/VideoStation/synodtvd>
}

/volume*/@appstore/VideoStation/sbin/synovideoindexd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/metadata-plugin>
	#include <abstractions.pkg/VideoStation/ffmpeg>

	capability mknod,

	/volume*/@appstore/VideoStation/bin/**									ix,
	/volume*/**/@eaDir/**/{,*.jpg}											rwk,
}

/volume*/@appstore/VideoStation/sbin/synovideometadatad {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions/share>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/index-queue>
	#include <abstractions.pkg/VideoStation/metadata-plugin>
	#include <abstractions.pkg/VideoStation/ffmpeg>

	capability chown,
	capability mknod,

	network    inet  dgram,
	network    inet  stream,

	/volume*/**/*.vsmeta													rwk,
	/volume*/**/@eaDir/**/{,*.jpg}											rwk,
}

/volume*/@appstore/VideoStation/sbin/synovpcd {
	#include <abstractions/base>
	#include <abstractions/base-cgi>
	#include <abstractions.pkg/VideoStation/base>
	#include <abstractions.pkg/VideoStation/vte>

	capability block_suspend,
	capability fowner,

	/volume*/**/@eaDir/{,**}												rwkl,
	/usr/syno/etc.defaults/mimetypes.txt									r,
	/etc/{dhclient,dhcpc}/{,**}												r,
	/usr/share/samba/codepages/{,**}										r,
}
