- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
#setlinebreak(on)
*0Random-radiko.pl [#i3cef22b]
#sh("bash;highlight:[1,42,70,157,158,159,160,161,162,163,164,165,242]"){{
&size(24){最新は[[GitGub:https://github.com/sarami55/script]]をご覧ください。};
携帯偽装情報生成スクリプト
エリアIDあるいはステーションIDに対応する偽GPS位置などの
ダミー情報を生成して環境変数の代入文として出力する。
出力されたものは[[GetHLSRadiko.sh]]内での利用を想定している。
出力される環境変数は
APPVER=
USERID=
DEVICE=
GPSLocation=
USERAGENT=
偽GPS位置情報で各都道府県庁所在位置の緯度経度情報をもとにすこしノイズを入れている。
ほとんど、以下のブラウザアドオンを移植したものである。
[[https://github.com/jackyzy823/rajiko:https://github.com/jackyzy823/rajiko]]
jackyzy823さんに感謝します。
#sh("bash;highlight:[]"){{
#!/usr/bin/perl
###
### cf. https://github.com/jackyzy823/rajiko
### jackyzy823, thanks !!
###
### generate pseudo infos
###
### 0Random-radiko.pl [Station ID | Area ID]
###
###
%AreaID = (
"JP1" => ["北海道", 43.064615, 141.346807],
"JP2" => ["青森", 40.824308, 140.739998],
"JP3" => ["岩手", 39.703619, 141.152684],
"JP4" => ["宮城", 38.268837, 140.8721],
"JP5" => ["秋田", 39.718614, 140.102364],
"JP6" => ["山形", 38.240436, 140.363633],
"JP7" => ["福島", 37.750299, 140.467551],
"JP8" => ["茨城", 36.341811, 140.446793],
"JP9" => ["栃木", 36.565725, 139.883565],
"JP10" => ["群馬", 36.390668, 139.060406],
"JP11" => ["埼玉", 35.856999, 139.648849],
"JP12" => ["千葉", 35.605057, 140.123306],
"JP13" => ["東京", 35.689488, 139.691706],
"JP14" => ["神奈川", 35.447507, 139.642345],
"JP15" => ["新潟", 37.902552, 139.023095],
"JP16" => ["富山", 36.695291, 137.211338],
"JP17" => ["石川", 36.594682, 136.625573],
"JP18" => ["福井", 36.065178, 136.221527],
"JP19" => ["山梨", 35.664158, 138.568449],
"JP20" => ["長野", 36.651299, 138.180956],
"JP21" => ["岐阜", 35.391227, 136.722291],
"JP22" => ["静岡", 34.97712, 138.383084],
"JP23" => ["愛知", 35.180188, 136.906565],
"JP24" => ["三重", 34.730283, 136.508588],
"JP25" => ["滋賀", 35.004531, 135.86859],
"JP26" => ["京都", 35.021247, 135.755597],
"JP27" => ["大阪", 34.686297, 135.519661],
"JP28" => ["兵庫", 34.691269, 135.183071],
"JP29" => ["奈良", 34.685334, 135.832742],
"JP30" => ["和歌山", 34.225987, 135.167509],
"JP31" => ["鳥取", 35.503891, 134.237736],
"JP32" => ["島根", 35.472295, 133.0505],
"JP33" => ["岡山", 34.661751, 133.934406],
"JP34" => ["広島", 34.39656, 132.459622],
"JP35" => ["山口", 34.185956, 131.470649],
"JP36" => ["徳島", 34.065718, 134.55936],
"JP37" => ["香川", 34.340149, 134.043444],
"JP38" => ["愛媛", 33.841624, 132.765681],
"JP39" => ["高知", 33.559706, 133.531079],
"JP40" => ["福岡", 33.606576, 130.418297],
"JP41" => ["佐賀", 33.249442, 130.299794],
"JP42" => ["長崎", 32.744839, 129.873756],
"JP43" => ["熊本", 32.789827, 130.741667],
"JP44" => ["大分", 33.238172, 131.612619],
"JP45" => ["宮崎", 31.911096, 131.423893],
"JP46" => ["鹿児島", 31.560146, 130.557978],
"JP47" => ["沖縄", 26.2124, 127.680932],
);
%SIDtoAID = (
"HBC" => "JP1",
"NORTHWAVE" => "JP1",
"STV" => "JP1",
"AIR-G" => "JP1",
"JOIK" => "JP1",
"RAB" => "JP2",
"AFB" => "JP2",
"FMI" => "JP3",
"IBC" => "JP3",
"JOHK" => "JP4",
"DATEFM" => "JP4",
"TBC" => "JP4",
"ABS" => "JP5",
"YBC" => "JP6",
"RFC" => "JP7",
"FMF" => "JP7",
"FMGUNMA" => "JP10",
"NACK5" => "JP11",
"BAYFM78" => "JP12",
"QRR" => "JP13",
"JORF" => "JP13",
"JOAK" => "JP13",
"TBS" => "JP13",
"INT" => "JP13",
"FMJ" => "JP13",
"FMT" => "JP13",
"LFR" => "JP13",
"YFM" => "JP14",
"IBS" => "JP8",
"RADIOBERRY" => "JP9",
"CRT" => "JP9",
"FMPORT" => "JP15",
"FMNIIGATA" => "JP15",
"BSN" => "JP15",
"KNB" => "JP16",
"FMTOYAMA" => "JP16",
"MRO" => "JP17",
"HELLOFIVE" => "JP17",
"FMFUKUI" => "JP18",
"FBC" => "JP18",
"YBS" => "JP19",
"FM-FUJI" => "JP19",
"FMN" => "JP20",
"SBC" => "JP20",
"FMGIFU" => "JP21",
"GBS" => "JP21",
"SBS" => "JP22",
"K-MIX" => "JP22",
"TOKAIRADIO" => "JP23",
"CBC" => "JP23",
"JOCK" => "JP23",
"FMAICHI" => "JP23",
"ZIP-FM" => "JP23",
"RADIONEO" => "JP23",
"FMMIE" => "JP24",
"E-RADIO" => "JP25",
"KBS" => "JP26",
"ALPHA-STATION" => "JP26",
"CCL" => "JP27",
"FMO" => "JP27",
"ABC" => "JP27",
"MBS" => "JP27",
"OBC" => "JP27",
"802" => "JP27",
"JOBK" => "JP27",
"CRK" => "JP28",
"KISSFMKOBE" => "JP28",
"WBS" => "JP30",
"BSS" => "JP31",
"RSK" => "JP33",
"JOFK" => "JP34",
"RCC" => "JP34",
"HFM" => "JP34",
"KRY" => "JP35",
"FMY" => "JP35",
"JRT" => "JP36",
"RNC" => "JP37",
"FMKAGAWA" => "JP37",
"JOZK" => "JP38",
"RNB" => "JP38",
"JOEU-FM" => "JP38",
"RKC" => "JP39",
"KBC" => "JP40",
"JOLK" => "JP40",
"RKB" => "JP40",
"LOVEFM" => "JP40",
"CROSSFM" => "JP40",
"FMFUKUOKA" => "JP40",
"FMNAGASAKI" => "JP42",
"NBC" => "JP42",
"RKK" => "JP43",
"FMK" => "JP43",
"OBS" => "JP44",
"FM_OITA" => "JP44",
"MRT" => "JP45",
"MBC" => "JP46",
"MYUFM" => "JP46",
"ROK" => "JP47",
"RBC" => "JP47",
"FM_OKINAWA" => "JP47",
"HOUSOU-DAIGAKU" => "JP12",
"JOAB" => "JP13",
"JOAK-FM" => "JP13",
"RN1" => "JP13",
"RN2" => "JP13",
);
###### main
my ($ID) = @ARGV;
unless ($ID =~/^JP/) {
if (!defined($ID = $SIDtoAID{$ID})) {
die "Error! not Found Station ID\n";
}
}
$lat = $AreaID{$ID}->[1];
$long= $AreaID{$ID}->[2];
if ($lat == 0.0) {
die "Error! not Found AreaID\n";
}
#printf ("### %.6f,%.6f,gps\n", $lat, $long);
$dlat =(rand(1)/40.0) * ((rand(1) >0.5) ? -1.0 : 1.0);
$dlong=(rand(1)/40.0) * ((rand(1) >0.5) ? -1.0 : 1.0);
#printf ("### %.6f,%.6f\n", $dlat, $dlong);
$lat = $lat + $dlat;
$long =$long +$dlong;
$location = sprintf ("%.6f,%.6f,gps", $lat, $long);
@Ver = ("5.0.0", "5.0.1", "5.0.2",
"5.1.0", "5.1.1", "6.0.0",
"6.0.1", "7.0.0", "7.1.0",
"7.1.1", "7.1.2");
%VerMAP = (
"5.0.0" => { sdk => "21", builds => ["LRX21V", "LRX21T", "LRX21R", "LRX21Q",
"LRX21P", "LRX21O", "LRX21M", "LRX21L"]},
"5.0.1" => { sdk => "21", builds => ["LRX22C"]},
"5.0.2" => { sdk => "21", builds => ["LRX22L", "LRX22G"] },
"5.1.0" => { sdk => "22", builds => ["LMY47O", "LMY47M", "LMY47I", "LMY47E",
"LMY47D"] },
"5.1.1" => { sdk => "22", builds => ["LMY49M", "LMY49J", "LMY49I", "LMY49H",
"LMY49G", "LMY49F", "LMY48Z", "LYZ28N", "LMY48Y", "LMY48X",
"LMY48W", "LVY48H", "LYZ28M", "LMY48U", "LMY48T", "LVY48F",
"LYZ28K", "LMY48P", "LMY48N", "LMY48M", "LVY48E", "LYZ28J",
"LMY48J", "LMY48I", "LVY48C", "LMY48G", "LYZ28E", "LMY47Z",
"LMY48B", "LMY47X", "LMY47V"] },
"6.0.0" => { sdk => "23", builds => ["MMB29N", "MDB08M", "MDB08L", "MDB08K",
"MDB08I", "MDA89E", "MDA89D", "MRA59B", "MRA58X", "MRA58V",
"MRA58U", "MRA58N", "MRA58K"] },
"6.0.1" => { sdk => "23", builds => ["MOI10E", "MOB31Z", "MOB31T", "MOB31S",
"M4B30Z", "MOB31K", "MMB31C", "M4B30X", "MOB31H", "MMB30Y",
"MTC20K", "MOB31E", "MMB30W", "MXC89L", "MTC20F", "MOB30Y",
"MOB30X", "MOB30W", "MMB30S", "MMB30R", "MXC89K", "MTC19Z",
"MTC19X", "MOB30P", "MOB30O", "MMB30M", "MMB30K", "MOB30M",
"MTC19V", "MOB30J", "MOB30I", "MOB30H", "MOB30G", "MXC89H",
"MXC89F", "MMB30J", "MTC19T", "M5C14J", "MOB30D", "MHC19Q",
"MHC19J", "MHC19I", "MMB29X", "MXC14G", "MMB29V", "MXB48T",
"MMB29U", "MMB29R", "MMB29Q", "MMB29T", "MMB29S", "MMB29P",
"MMB29O", "MXB48K", "MXB48J", "MMB29M", "MMB29K"] },
"7.0.0" => { sdk => "24", builds => ["NBD92Q", "NBD92N", "NBD92G", "NBD92F",
"NBD92E", "NBD92D", "NBD91Z", "NBD91Y", "NBD91X", "NBD91U",
"N5D91L", "NBD91P", "NRD91K", "NRD91N", "NBD90Z", "NBD90X",
"NBD90W", "NRD91D", "NRD90U", "NRD90T", "NRD90S", "NRD90R",
"NRD90M"] },
"7.1.0" => { sdk => "25", builds => ["NDE63X", "NDE63V", "NDE63U", "NDE63P",
"NDE63L", "NDE63H"] },
"7.1.1" => { sdk => "25", builds => ["N9F27M", "NGI77B", "N6F27M", "N4F27P",
"N9F27L", "NGI55D", "N4F27O", "N8I11B", "N9F27H", "N6F27I",
"N4F27K", "N9F27F", "N6F27H", "N4F27I", "N9F27C", "N6F27E",
"N4F27E", "N6F27C", "N4F27B", "N6F26Y", "NOF27D", "N4F26X",
"N4F26U", "N6F26U", "NUF26N", "NOF27C", "NOF27B", "N4F26T",
"NMF27D", "NMF26X", "NOF26W", "NOF26V", "N6F26R", "NUF26K",
"N4F26Q", "N4F26O", "N6F26Q", "N4F26M", "N4F26J", "N4F26I",
"NMF26V", "NMF26U", "NMF26R", "NMF26Q", "NMF26O", "NMF26J",
"NMF26H", "NMF26F"] },
"7.1.2" => { sdk => "25", builds => ["N2G48H", "NZH54D", "NKG47S", "NHG47Q",
"NJH47F", "N2G48C", "NZH54B", "NKG47M", "NJH47D", "NHG47O",
"N2G48B", "N2G47Z", "NJH47B", "NJH34C", "NKG47L", "NHG47N",
"N2G47X", "N2G47W", "NHG47L", "N2G47T", "N2G47R", "N2G47O",
"NHG47K", "N2G47J", "N2G47H", "N2G47F", "N2G47E", "N2G47D"] },
);
@Model = (
"SC-02H", "SCV33", "SM-G935F", "SM-G935X", "SM-G935W8",
"SM-G935K", "SM-G935L", "SM-G935S", "SAMSUNG-SM-G935A",
"SM-G935VC",
"SM-G9350", "SM-G935P", "SM-G935T", "SM-G935U", "SM-G935R4",
"SM-G935V", "SC-02J", "SCV36", "SM-G950F", "SM-G950N", "SM-G950W",
"SM-G9500", "SM-G9508", "SM-G950U", "SM-G950U1", "SM-G892A",
"SM-G892U", "SC-03J", "SCV35", "SM-G955F", "SM-G955N", "SM-G955W",
"SM-G9550", "SM-G955U", "SM-G955U1", "SM-G960F", "SM-G960N",
"SM-G9600", "SM-G9608", "SM-G960W", "SM-G960U", "SM-G960U1",
"SM-G965F", "SM-G965N", "SM-G9650", "SM-G965W", "SM-G965U",
"SM-G965U1",
"SC-01J", "SCV34", "SM-N930F", "SM-N930X", "SM-N930K", "SM-N930L",
"SM-N930S", "SM-N930R7", "SAMSUNG-SM-N930A", "SM-N930W8",
"SM-N9300", "SGH-N037", "SM-N930R6", "SM-N930P", "SM-N930VL",
"SM-N930T", "SM-N930U", "SM-N930R4", "SM-N930V", "SC-01K",
"SCV37", "SM-N950F", "SM-N950N", "SM-N950XN", "SM-N950U",
"SM-N9500", "SM-N9508", "SM-N950W", "SM-N950U1",
"WX06K", "404KC", "503KC", "602KC", "KYV32", "E6782", "KYL22",
"WX04K", "KYV36", "KYL21", "302KC", "KYV36", "KYV42", "KYV37",
"C5155", "SKT01", "KYY24", "KYV35", "KYV41", "E6715", "KYY21",
"KYY22", "KYY23", "KYV31", "KYV34", "KYV38", "WX10K", "KYL23",
"KYV39", "KYV40",
"C6902", "C6903", "C6906", "C6916", "C6943", "L39h", "L39t",
"L39u", "SO-01F", "SOL23", "D5503", "M51w", "SO-02F", "D6502",
"D6503", "D6543", "SO-03F", "SGP511", "SGP512", "SGP521",
"SGP551", "SGP561", "SO-05F", "SOT21", "D6563", "401SO", "D6603",
"D6616", "D6643", "D6646", "D6653", "SO-01G", "SOL26", "D6603",
"D5803", "D5833", "SO-02G", "D5803", "D6633", "D6683", "SGP611",
"SGP612", "SGP621", "SGP641", "E6553", "E6533", "D6708", "402SO",
"SO-03G", "SOV31", "SGP712", "SGP771", "SO-05G", "SOT31", "E6508",
"501SO", "E6603", "E6653", "SO-01H", "SOV32", "E5803", "E5823",
"SO-02H", "E6853", "E6883", "SO-03H", "E6833", "E6633", "E6683",
"C6502", "C6503", "C6506", "L35h", "SOL25", "C5306", "C5502",
"C5503", "601SO", "F8331", "F8332", "SO-01J", "SOV34", "G8141",
"G8142", "G8188", "SO-04J", "701SO", "G8341", "G8342", "G8343",
"SO-01K", "SOV36", "G8441", "SO-02K", "602SO", "G8231", "G8232",
"SO-03J", "SOV35",
"605SH", "SH-03J", "SHV39", "701SH", "SH-M06",
"101F", "201F", "202F", "301F", "IS12F", "F-03D", "F-03E", "M01",
"M305", "M357", "M555", "M555", "F-11D", "F-06E", "EM01F",
"F-05E", "FJT21", "F-01D", "FAR70B", "FAR7", "F-04E", "F-02E",
"F-10D", "F-05D", "FJL22", "ISW11F", "ISW13F", "FJL21", "F-074",
"F-07D",
);
@Appversion = ("6.4.0", "6.3.8", "6.3.7", "6.3.6", "6.3.5");
$version = $Ver[Rand($#Ver+1)];
$sdk = $VerMAP{$version}{sdk};
$ref = $VerMAP{$version}{builds};
$build = $VerMAP{$version}{builds}->[Rand(scalar(@$ref))];
$model = $Model[Rand($#Model+1)];
$device = $sdk . "." . $model;
$Ua = "\'Dalvik/2.1.0 \(Linux; U; Android $version; $model/$build\)\'";
$Appver = $Appversion[Rand($#Appversion+1)];
$userid = sprintf("%0X", Rand(0xFFFFFFFF));
print "APPVER=$Appver\n";
print "USERID=$userid\n";
print "DEVICE=$device\n";
print "GPSLocation=$location\n";
print "USERAGENT=$Ua\n";
sub Rand {
my $v =$_[0];
return int(rand($v));
}
exit 0;
}}