Skip to content

Commit b3c35f0

Browse files
minimini
authored andcommitted
fixed build debian package script
1 parent d17cd75 commit b3c35f0

File tree

3 files changed

+65
-36
lines changed

3 files changed

+65
-36
lines changed

build_debian_package.sh

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ function create_debian_folder() {
1717
if [ -d ${DEB_PKG_ROOT} ]; then
1818
rm -rf ${DEB_PKG_ROOT}
1919
fi
20-
mkdir -pv ${DEB_PKG_ROOT}/{DEBIAN,etc/{gwc,default,systemd/user},usr/sbin}
20+
mkdir -pv ${DEB_PKG_ROOT}/DEBIAN
21+
mkdir -pv ${DEB_PKG_ROOT}/etc/gwc,
22+
mkdir -pv ${DEB_PKG_ROOT}/etc/default,systemd/user
23+
mkdir -pv ${DEB_PKG_ROOT}/etc/systemd/user
24+
mkdir -pv ${DEB_PKG_ROOT}/usr/sbin
2125

2226
cat > ${DEB_PKG_ROOT}/DEBIAN/control<< EOF
2327
Package: gst-webrtc-camera
@@ -58,9 +62,8 @@ EOF
5862
GWC_USER_PATH=/home/\${SUDO_USER}/.config/gwc/webroot
5963
USER_SYSTEMD=/home/\${SUDO_USER}/.config/systemd/user/default.target.wants
6064
61-
if [ ! -d \${USER_SYSTEMD} ]; then
62-
mkdir -pv \${USER_SYSTEMD}
63-
fi
65+
mkdir -pv \${USER_SYSTEMD}
66+
mkdir -pv \${GWC_USER_PATH}
6467
6568
chown \${SUDO_USER}:\${SUDO_USER} -R /home/\${SUDO_USER}/.config
6669
@@ -137,13 +140,19 @@ EOF
137140
Description=Gstreamer webrtc camera
138141
Documentation=https://github.com/yjdwbj/gst-webrtc-camera
139142
After=multi-user.target
143+
StartLimitIntervalSec=20
144+
StartLimitBurst=2
145+
140146
141147
[Service]
142148
ExecStart=/usr/sbin/gwc
143-
Restart=no
149+
150+
151+
Restart=on-failure
152+
RestartSec=5s
144153
Type=simple
145-
StandardOutput=append:/tmp/gwc.log
146-
StandardError=append:/tmp/gwc.log
154+
StandardOutput=append:/var/log/gwc.log
155+
StandardError=append:/var/log/gwc.log
147156
148157
149158
[Install]

webroot/index.html

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@
4242
}
4343
</style>
4444
<div class="d-flex">
45-
<a class="btn btn-primary align-self-start m-2" href="webrtc.html" id="switch-pc" role="button" style="display: none">Show WebRTC</a>
46-
<a class="btn btn-sm btn-primary align-self-start m-2" href="webrtc.html" id="switch-mobile" role="button" style="display: none">Show WebRTC</a>
45+
<a class="btn btn-primary align-self-start m-2" href="webrtc.html" id="switch-pc" role="button"
46+
style="display: none">Show WebRTC</a>
47+
<a class="btn btn-sm btn-primary align-self-start m-2" href="webrtc.html" id="switch-mobile" role="button"
48+
style="display: none">Show WebRTC</a>
4749
<h2 class="text-center align-self-center flex-fill" id="title-pc" style="display: none">Gsteramer HLS 直播流服务</h2>
4850
<h5 class="text-center align-self-center flex-fill" id="title-mobile" style="display: none">Gsteramer HLS 直播流服务</h5>
4951
</div>
@@ -95,11 +97,11 @@ <h5 class="text-center align-self-center flex-fill" id="title-mobile" style="dis
9597
});
9698
}
9799

98-
window.mobileAndTabletCheck = function() {
99-
let check = false;
100-
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);
101-
return check;
102-
};
100+
window.mobileAndTabletCheck = function () {
101+
let check = false;
102+
(function (a) { if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true; })(navigator.userAgent || navigator.vendor || window.opera);
103+
return check;
104+
};
103105

104106
window.addEventListener('load', (event) => {
105107
console.log("page is fully loaded!");
@@ -128,19 +130,28 @@ <h5 class="text-center align-self-center flex-fill" id="title-mobile" style="dis
128130
function onServerMessage(event) {
129131
var msg;
130132

131-
$.getJSON('https://api.ipify.org?format=json', function (data) {
132-
let info = {
133-
client: {
134-
ip: data.ip,
135-
username: document.querySelector('meta[name="user"]').content,
136-
useragent: navigator.userAgent,
137-
path: document.location.pathname,
138-
origin: document.location.origin
139-
}
140-
};
141-
websocketConnection.send(JSON.stringify(info));
133+
$.ajax({
134+
url: 'https://ipinfo.io/ip',
135+
method: 'GET',
136+
dataType: 'text', // or 'html', 'xml', 'text' based on expected response
137+
success: function (data) {
138+
let info = {
139+
client: {
140+
ip: data,
141+
username: document.querySelector('meta[name="user"]').content,
142+
useragent: navigator.userAgent,
143+
path: document.location.pathname,
144+
origin: document.location.origin
145+
}
146+
};
147+
websocketConnection.send(JSON.stringify(info));
148+
},
149+
error: function (xhr, status, error) {
150+
console.error("AJAX Error:", error);
151+
}
142152
});
143153

154+
144155
try {
145156
msg = JSON.parse(event.data);
146157
} catch (e) {

webroot/webrtc.js

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -554,17 +554,26 @@ window.onload = function () {
554554
if (reconnectTimerId)
555555
clearTimeout(reconnectTimerId);
556556

557-
$.getJSON('https://api.ipify.org?format=json', function (data) {
558-
let info = {
559-
client: {
560-
ip: data.ip,
561-
username: document.querySelector('meta[name="user"]').content,
562-
useragent: navigator.userAgent,
563-
path: document.location.pathname,
564-
origin: document.location.origin
565-
}
566-
};
567-
websocketConnection.send(JSON.stringify(info));
557+
558+
$.ajax({
559+
url: 'https://ipinfo.io/ip',
560+
method: 'GET',
561+
dataType: 'text', // or 'html', 'xml', 'text' based on expected response
562+
success: function (data) {
563+
let info = {
564+
client: {
565+
ip: data,
566+
username: document.querySelector('meta[name="user"]').content,
567+
useragent: navigator.userAgent,
568+
path: document.location.pathname,
569+
origin: document.location.origin
570+
}
571+
};
572+
websocketConnection.send(JSON.stringify(info));
573+
},
574+
error: function (xhr, status, error) {
575+
console.error("AJAX Error:", error);
576+
}
568577
});
569578
})
570579
.catch((err) => {

0 commit comments

Comments
 (0)