- Put 'DeveloperCertificates' base64 data from provision profile into separate file.
- Convert base64 to binary form.
cat cert.b64 | base64 -D > cert.bin
- Extract cert info
cat cert.bin | openssl x509 -subject -dates -inform der
cat cert.b64 | base64 -D > cert.bin
cat cert.bin | openssl x509 -subject -dates -inform der
| NOTE: Easier way is the X86 way, described on https://www.genymotion.com/help/desktop/faq/#google-play-services | |
| Download the following ZIPs: | |
| ARM Translation Installer v1.1 (http://www.mirrorcreator.com/files/0ZIO8PME/Genymotion-ARM-Translation_v1.1.zip_links) | |
| Download the correct GApps for your Android version: | |
| Google Apps for Android 6.0 (https://www.androidfilehost.com/?fid=24052804347835438 - benzo-gapps-M-20151011-signed-chroma-r3.zip) | |
| Google Apps for Android 5.1 (https://www.androidfilehost.com/?fid=96042739161891406 - gapps-L-4-21-15.zip) | |
| Google Apps for Android 5.0 (https://www.androidfilehost.com/?fid=95784891001614559 - gapps-lp-20141109-signed.zip) |
| var inputStream : NSInputStream? | |
| var outputStream : NSOutputStream? | |
| func connect() { | |
| var readStream : Unmanaged<CFReadStream>? | |
| var writeStream : Unmanaged<CFWriteStream>? | |
| let host : CFString = NSString(string: self.host) | |
| let port : UInt32 = UInt32(self.port) | |
| CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, host, port, &readStream, &writeStream) |
| #include <errno.h> | |
| #include <stdio.h> | |
| #include <unistd.h> | |
| #include <netinet/tcp.h> | |
| #include <netinet/in.h> | |
| #include <arpa/inet.h> | |
| #include <sys/socket.h> | |
| int main(int argc, char **argv) { | |
| int s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); |
Create a template service file at /etc/systemd/system/[email protected]. The template parameter will correspond to the name
of target host:
[Unit]
Description=Setup a secure tunnel to %I
After=network.target| $ clickhouse-client | |
| ClickHouse client version 0.0.53720. | |
| Connecting to localhost:9000. | |
| Connected to ClickHouse server version 1.1.53981. | |
| :) CREATE TABLE test.funnel (userID UInt64, eventType Enum8('A' = 1, 'B' = 2), EventTime Date, Age UInt8) ENGINE = Memory | |
| CREATE TABLE test.funnel | |
| ( | |
| userID UInt64, |
| # linux send h264 rtp stream: | |
| gst-launch-1.0 -v ximagesrc ! video/x-raw,framerate=20/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! rtph264pay ! udpsink host=127.0.0.1 port=5000 | |
| # Macos send h264 rtp stream: | |
| gst-launch-1.0 -v avfvideosrc capture-screen=true ! video/x-raw,framerate=20/1 ! videoscale ! videoconvert ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! rtph264pay ! udpsink host=127.0.0.1 port=5000 | |
| # receive h264 rtp stream: | |
| gst-launch-1.0 -v udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink |
| #!/usr/bin/env bash | |
| # mount configfs | |
| mount -t configfs none /sys/kernel/config | |
| # load libcomposite module | |
| modprobe libcomposite | |
| # create a gadget | |
| mkdir /sys/kernel/config/usb_gadget/g1 | |
| # cd to its configfs node | |
| cd /sys/kernel/config/usb_gadget/g1 |
По мотивам статьи: https://habr.com/ru/post/354282/
Сервер, естественно, должен иметь IP, не входящий в заблокированные РКН подсети. Лучше — стоять вне РФ.
Желательно обеспечить базовый уровень безопасности: https://www.linode.com/docs/security/securing-your-server/
Или заморочиться: https://www.cisecurity.org/cis-benchmarks/